Skip to main content
Firstlight / NativePHP

Firstlight / Docs

Native controls, Laravel validate/submit/authorize on native screens, and how Firstlight complements NativePHP Mobile UI.

View source
Confirmation Dialog

Confirmation Dialog

Confirmation Dialog asks the user to confirm or cancel one consequential action using the platform's native presentation and action ordering.

<firstlight:confirmation-dialog
    :visible="$confirmingDeletion"
    title="Delete appointment?"
    message="This action cannot be undone."
    confirm-label="Delete"
    cancel-label="Keep appointment"
    tone="destructive"
    @press="deleteAppointment"
    @dismiss="cancelDeletion"
/>

Both handlers should set $confirmingDeletion to false. The confirmation handler also performs the action; the dismissal handler only cancels the request.

Props and events

  • visible: server-controlled presentation request; defaults to false.
  • title: required visible heading and accessible dialog name.
  • message: required explanation of the decision or consequence.
  • confirm-label: confirmation action text; defaults to the package chrome string Confirm. See Localize chrome.
  • cancel-label: cancellation action text; defaults to the package chrome string Cancel.
  • tone: default or destructive; defaults to default.
  • @press: required callback for explicit confirmation.
  • @dismiss: required callback for cancellation, back, or outside dismissal.
  • class: external EDGE layout only.

The component always presents one confirm action and one cancel action. It does not support arbitrary action lists, icons, loading or disabled states, native:model, per-platform styling, or an undismissable mode. Use Alert Dialog when the user only needs to acknowledge a message.

Behavior and accessibility

One user outcome produces one callback. Programmatic closure produces none. After a user dismisses the dialog, copy-only publications do not reopen it; a later server transition from false to true presents a new decision.

iOS uses SwiftUI confirmationDialog; Android uses Material 3 AlertDialog. Their native controls own modal focus, action order, destructive expression, Dynamic Type or font scaling, dark appearance, contrast, reduced motion, and right-to-left behavior. Use specific action labels such as Delete rather than generic text when the consequence can be named.

Screenshots

Platform Light Dark
iOS Confirmation Dialog on iOS in light mode Confirmation Dialog on iOS in dark mode
Android Confirmation Dialog on Android in light mode Confirmation Dialog on Android in dark mode

Served from firstlightui/nativephp and cached for a fast first read.