page ConfirmationDialogcomponent { seo { title = "ConfirmationDialog component" description = "Reusable confirmation dialog component." } view {
W WRNexusJS
overlays component

ConfirmationDialog

Reusable confirmation dialog component.

@wrnexus/ui 0.2.647 props1 slots1 events

Usage

Components are auto-discovered. Use the component directly in any .wrn view:

<ConfirmationDialog title="Confirm action" description="Are you sure you want to continue?" confirmLabel="Confirm" cancelLabel="Cancel" danger="false" />

Legacy mount name: data-component="ConfirmationDialog".

Props and attributes

PropTypeRequirementDefault
titlestringOptional"Confirm action"
descriptionstringOptional"Are you sure you want to continue?"
confirmLabelstringOptional"Confirm"
cancelLabelstringOptional"Cancel"
dangerbooleanOptionalfalse
openbooleanOptionalfalse
classstringOptional""

Slots

  • confirm

Events

  • click

Source contract

Installed source: components/ConfirmationDialog.wrn

component ConfirmationDialog {
  props {
    title = "Confirm action"
    description = "Are you sure you want to continue?"
    confirmLabel = "Confirm"
    cancelLabel = "Cancel"
    danger = false
    open = false
    class = ""
  }
  state visible = open
  view {
    <div data-show="visible" class="wire-overlay {class}" role="presentation"><section role="alertdialog" aria-modal="true" aria-labelledby="confirmation-title" aria-describedby="confirmation-description" class="wire-dialog"><h2 id="confirmation-title" class="wire-dialog__title">{title}</h2><p id="confirmation-description" class="wire-dialog__description">{description}</p><div class="wire-dialog__actions"><button type="button" class="wire-btn wire-btn--ghost" @click="visible = false">{cancelLabel}</button><button type="button" class="wire-btn {danger ? 'wire-btn--danger' : 'wire-btn--primary'}"><slot name="confirm">{confirmLabel}</slot></button></div></section></div>
  }
}
} }