Dialog
The props declared for Dialog, generated from the types @proyecto-viviana/ui ships.
Import
import { Dialog } from "@proyecto-viviana/ui";Props
| Prop | Type | Default | Description |
|---|---|---|---|
size | 'S' | 'M' | 'L' | 'XL' | 'sm' | 'md' | 'lg' | 'fullscreen' | — | The size of the dialog. |
isDismissible | false | true | — | Whether the dialog can be dismissed by clicking outside, Escape, or the close button. |
isDismissable | false | true | — | Alias for isDismissible, retained for older Solid Spectrum examples. |
isKeyboardDismissDisabled | false | true | — | Whether pressing Escape closes the dialog. |
styles | StyleString | (() => StyleString | undefined) | — | Spectrum-defined generated classes. |
class | string | — | Additional CSS class name. |
UNSAFE_className | string | — | Additional CSS class name matching Spectrum's escape hatch prop. |
UNSAFE_style | JSX.CSSProperties | — | Additional inline style matching Spectrum's escape hatch prop. |
title | string | — | The legacy title prop; prefer `<Heading slot="title">` for S2 parity. |
children | number | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement | ((props: DialogRenderProps) => JSX.Element) | — | The children content. |
onClose | () => void | — | Callback when dialog should close. |
slot | string | false | — | A slot name for the component. HTML `slot` may be `false` to omit. solidaria-components |
id | string | — | The element's unique identifier. solidaria |
aria-describedby | string | — | Identifies the element (or elements) that describes the object. solidaria |
aria-details | string | — | Identifies the element (or elements) that provide a detailed, extended description for the object. solidaria |
aria-label | string | — | Defines a string value that labels the current element. solidaria |
aria-labelledby | string | — | Identifies the element (or elements) that labels the current element. solidaria |
role | 'dialog' | 'alertdialog' | 'dialog' | The role of the dialog element. solidaria |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
CloseButton props
| Prop | Type | Default | Description |
|---|---|---|---|
size | 'S' | 'M' | 'L' | 'XL' | 'M' | The size of the CloseButton. |
staticColor | 'white' | 'black' | 'auto' | — | The static color style to apply. Useful when the Button appears over a color background. |
isDisabled | false | true | — | Whether the button is disabled. |
onPress | () => void | — | Handler called when the button is pressed. |
styles | StyleString | (() => StyleString | undefined) | — | Spectrum-defined generated classes. |
UNSAFE_className | string | — | Not yet documented |
UNSAFE_style | JSX.CSSProperties | — | Not yet documented |
aria-label | string | — | Not yet documented |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
CustomDialog props
| Prop | Type | Default | Description |
|---|---|---|---|
size | 'S' | 'M' | 'L' | 'fullscreen' | 'fullscreenTakeover' | — | Not yet documented |
isDismissible | false | true | — | Not yet documented |
isDismissable | false | true | — | Not yet documented |
padding | 'default' | 'none' | — | Not yet documented |
children | number | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement | ((props: DialogRenderProps) => JSX.Element) | — | The children content. |
class | string | — | Additional CSS class name. |
slot | string | false | — | A slot name for the component. HTML `slot` may be `false` to omit. solidaria-components |
title | string | — | The legacy title prop; prefer `<Heading slot="title">` for S2 parity. |
id | string | — | The element's unique identifier. solidaria |
onClose | () => void | — | Callback when dialog should close. |
aria-describedby | string | — | Identifies the element (or elements) that describes the object. solidaria |
aria-details | string | — | Identifies the element (or elements) that provide a detailed, extended description for the object. solidaria |
aria-label | string | — | Defines a string value that labels the current element. solidaria |
aria-labelledby | string | — | Identifies the element (or elements) that labels the current element. solidaria |
role | 'dialog' | 'alertdialog' | 'dialog' | The role of the dialog element. solidaria |
styles | StyleString | (() => StyleString | undefined) | — | Spectrum-defined generated classes. |
UNSAFE_className | string | — | Additional CSS class name matching Spectrum's escape hatch prop. |
UNSAFE_style | JSX.CSSProperties | — | Additional inline style matching Spectrum's escape hatch prop. |
isKeyboardDismissDisabled | false | true | — | Whether pressing Escape closes the dialog. |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
DialogFooter props
| Prop | Type | Default | Description |
|---|---|---|---|
children* | JSX.Element | — | Footer content, typically buttons. |
class | string | — | Additional CSS class. |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
DialogRender props
| Prop | Type | Default | Description |
|---|---|---|---|
close* | () => void | — | Not yet documented |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
DialogTrigger props
| Prop | Type | Default | Description |
|---|---|---|---|
trigger | number | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement | — | Button to trigger the dialog. |
content | (close: () => void) => JSX.Element | — | The dialog content - receives close function. |
children | number | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement | — | Composition API matching React Spectrum/React Aria DialogTrigger. |
isOpen | false | true | — | Whether the dialog is controlled. |
defaultOpen | false | true | — | Whether the dialog opens by default. |
onOpenChange | (isOpen: boolean) => void | — | Callback when open state changes. |
isDismissible | false | true | — | Whether clicking outside the dialog closes it. |
isDismissable | false | true | — | Alias for isDismissible, retained for older Solid Spectrum examples. |
isKeyboardDismissDisabled | false | true | — | Whether pressing Escape closes the dialog. |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
FullscreenDialog props
| Prop | Type | Default | Description |
|---|---|---|---|
variant | 'fullscreen' | 'fullscreenTakeover' | — | Not yet documented |
children | number | boolean | RenderedElement | ArrayElement | (string & {}) | Node | JSX.ArrayElement | ((props: DialogRenderProps) => JSX.Element) | — | The children content. |
class | string | — | Additional CSS class name. |
slot | string | false | — | A slot name for the component. HTML `slot` may be `false` to omit. solidaria-components |
title | string | — | The legacy title prop; prefer `<Heading slot="title">` for S2 parity. |
id | string | — | The element's unique identifier. solidaria |
onClose | () => void | — | Callback when dialog should close. |
aria-describedby | string | — | Identifies the element (or elements) that describes the object. solidaria |
aria-details | string | — | Identifies the element (or elements) that provide a detailed, extended description for the object. solidaria |
aria-label | string | — | Defines a string value that labels the current element. solidaria |
aria-labelledby | string | — | Identifies the element (or elements) that labels the current element. solidaria |
role | 'dialog' | 'alertdialog' | 'dialog' | The role of the dialog element. solidaria |
styles | StyleString | (() => StyleString | undefined) | — | Spectrum-defined generated classes. |
UNSAFE_className | string | — | Additional CSS class name matching Spectrum's escape hatch prop. |
UNSAFE_style | JSX.CSSProperties | — | Additional inline style matching Spectrum's escape hatch prop. |
isKeyboardDismissDisabled | false | true | — | Whether pressing Escape closes the dialog. |
Declared in packages/viviana-ui/src/dialog/Dialog.tsx.
Props marked solidaria or solidaria-components come from the headless layer underneath and behave the same in both registers. Components that wrap a DOM element also accept that element's standard attributes, which are left out here on purpose — listing them would bury the props that are actually ours.