Pages are now available as full-screen example templates that showcase real-world use cases and best practices for composing interfaces with the aFP Design System.
<afp-dialog>Since 1.0.0
stable
This component uses the light DOM, so its markup and styles are part of the regular document flow.
A modal dialog overlay that displays contextual content.
Dialog
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Close
Dialog
<afp-dialogid="dialogExample1"><divslot="header">Dialog</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-buttondata-dialog="close">Close</afp-button></div></afp-dialog><afp-buttononclick="dialogExample1.show()">Dialog</afp-button>
<afp-dialog[id]="'dialogExample1'"><divslot="header">Dialog</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-button[data-dialog]="'close'">Close</afp-button></div></afp-dialog><afp-button[onclick]="'dialogExample1.show()'">Dialog</afp-button>
<AfpDialogid="dialogExample1"><divslot="header">Dialog</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButtondata-dialog="close">Close</AfpButton></div></AfpDialog><AfpButtononclick="dialogExample1.show()">Dialog</AfpButton>
<AfpDialog:id="'dialogExample1'"><divslot="header">Dialog</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButton:data-dialog="'close'">Close</AfpButton></div></AfpDialog><AfpButton:onclick="'dialogExample1.show()'">Dialog</AfpButton>
Use the closeable attribute to show a close button in the dialog header and allow closing by clicking the backdrop or Escape. You can also use data-dialog="close" on elements to close the dialog.
Closeable
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Close
Closeable
<afp-dialogid="dialogExample2"closeable><divslot="header">Closeable</div><afp-buttonappearance="filled"slot="actions"><afp-iconname="gear"></afp-icon></afp-button>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-buttondata-dialog="close">Close</afp-button></div></afp-dialog><afp-buttononclick="dialogExample2.show()">Closeable</afp-button>
<afp-dialog[id]="'dialogExample2'"closeable><divslot="header">Closeable</div><afp-button[appearance]="'filled'"[slot]="'actions'"><afp-icon[name]="'gear'"></afp-icon></afp-button>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-button[data-dialog]="'close'">Close</afp-button></div></afp-dialog><afp-button[onclick]="'dialogExample2.show()'">Closeable</afp-button>
<AfpDialogid="dialogExample2"closeable><divslot="header">Closeable</div><AfpButtonappearance="filled"slot="actions"><AfpIconname="gear"></AfpIcon></AfpButton>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButtondata-dialog="close">Close</AfpButton></div></AfpDialog><AfpButtononclick="dialogExample2.show()">Closeable</AfpButton>
<AfpDialog:id="'dialogExample2'"closeable><divslot="header">Closeable</div><AfpButton:appearance="'filled'":slot="'actions'"><AfpIcon:name="'gear'"></AfpIcon></AfpButton>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButton:data-dialog="'close'">Close</AfpButton></div></AfpDialog><AfpButton:onclick="'dialogExample2.show()'">Closeable</AfpButton>
Use the noHeader (noheader) attribute to create a dialog without the default header styling.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Close
Without Header
<afp-dialogid="dialogExample3"noheader>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-buttondata-dialog="close">Close</afp-button></div></afp-dialog><afp-buttononclick="dialogExample3.show()">Without Header</afp-button>
<afp-dialog[id]="'dialogExample3'"noheader>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-button[data-dialog]="'close'">Close</afp-button></div></afp-dialog><afp-button[onclick]="'dialogExample3.show()'">Without Header</afp-button>
<AfpDialogid="dialogExample3"noheader>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButtondata-dialog="close">Close</AfpButton></div></AfpDialog><AfpButtononclick="dialogExample3.show()">Without Header</AfpButton>
<AfpDialog:id="'dialogExample3'"noheader>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButton:data-dialog="'close'">Close</AfpButton></div></AfpDialog><AfpButton:onclick="'dialogExample3.show()'">Without Header</AfpButton>
Use the noFooter (nofooter) attribute to create a dialog without the default footer styling.
Without Footer
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Close
Without Footer
<afp-dialogid="dialogExample4"closeablenofooter><divslot="header">Without Footer</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-buttondata-dialog="close">Close</afp-button></div></afp-dialog><afp-buttononclick="dialogExample4.show()">Without Footer</afp-button>
<afp-dialog[id]="'dialogExample4'"closeablenofooter><divslot="header">Without Footer</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-button[data-dialog]="'close'">Close</afp-button></div></afp-dialog><afp-button[onclick]="'dialogExample4.show()'">Without Footer</afp-button>
<AfpDialogid="dialogExample4"closeablenofooter><divslot="header">Without Footer</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButtondata-dialog="close">Close</AfpButton></div></AfpDialog><AfpButtononclick="dialogExample4.show()">Without Footer</AfpButton>
<AfpDialog:id="'dialogExample4'"closeablenofooter><divslot="header">Without Footer</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButton:data-dialog="'close'">Close</AfpButton></div></AfpDialog><AfpButton:onclick="'dialogExample4.show()'">Without Footer</AfpButton>
Use the duration attribute to set a custom animation duration in milliseconds. Set to 0 to disable animations.
Custom Duration
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Close
Custom Duration
<afp-dialogid="dialogExample5"duration="0"closeable><divslot="header">Custom Duration</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-buttondata-dialog="close">Close</afp-button></div></afp-dialog><afp-buttononclick="dialogExample5.show()">Custom Duration</afp-button>
<afp-dialog[id]="'dialogExample5'"[duration]=0closeable><divslot="header">Custom Duration</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><afp-button[data-dialog]="'close'">Close</afp-button></div></afp-dialog><afp-button[onclick]="'dialogExample5.show()'">Custom Duration</afp-button>
<AfpDialogid="dialogExample5"duration="0"closeable><divslot="header">Custom Duration</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButtondata-dialog="close">Close</AfpButton></div></AfpDialog><AfpButtononclick="dialogExample5.show()">Custom Duration</AfpButton>
<AfpDialog:id="'dialogExample5'":duration=0closeable><divslot="header">Custom Duration</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
<divclass="afp-cluster afp-gap-xs"slot="footer"><AfpButton:data-dialog="'close'">Close</AfpButton></div></AfpDialog><AfpButton:onclick="'dialogExample5.show()'">Custom Duration</AfpButton>
Use CSS custom properties to customize the dialog's appearance.
Customization
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
Custom Dialog
<afp-dialogstyle="--afp-dialog-width: 20rem;--afp-dialog-scale: 0.1;"id="dialogExample7"nofootercloseable><divslot="header">Customization</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
</afp-dialog><afp-buttononclick="dialogExample7.show()">Custom Dialog</afp-button>
<afp-dialog[style]="'--afp-dialog-width: 20rem; --afp-dialog-scale: 0.1;'"[id]="'dialogExample7'"nofootercloseable><divslot="header">Customization</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
</afp-dialog><afp-button[onclick]="'dialogExample7.show()'">Custom Dialog</afp-button>
<AfpDialogstyle="--afp-dialog-width: 20rem;--afp-dialog-scale: 0.1;"id="dialogExample7"nofootercloseable><divslot="header">Customization</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
</AfpDialog><AfpButtononclick="dialogExample7.show()">Custom Dialog</AfpButton>
<AfpDialog:style="'--afp-dialog-width: 20rem; --afp-dialog-scale: 0.1;'":id="'dialogExample7'"nofootercloseable><divslot="header">Customization</div>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
</AfpDialog><AfpButton:onclick="'dialogExample7.show()'">Custom Dialog</AfpButton>