@ecopages/radiant-ui 0.1.0-rc.7 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -3
- package/dist/components/ui/alert/alert.d.ts +2 -4
- package/dist/components/ui/alert/alert.script.d.ts +25 -15
- package/dist/components/ui/autocomplete/autocomplete.css +1 -2
- package/dist/components/ui/autocomplete/autocomplete.d.ts +8 -3
- package/dist/components/ui/autocomplete/autocomplete.script.d.ts +29 -4
- package/dist/components/ui/avatar/avatar.css +10 -8
- package/dist/components/ui/avatar/avatar.d.ts +3 -1
- package/dist/components/ui/breadcrumb/breadcrumb.d.ts +11 -11
- package/dist/components/ui/breadcrumb/breadcrumb.script.d.ts +10 -10
- package/dist/components/ui/calendar/calendar.css +10 -5
- package/dist/components/ui/calendar/calendar.script.d.ts +24 -21
- package/dist/components/ui/calendar/index.js +1 -1
- package/dist/components/ui/calendar/index.js.map +3 -3
- package/dist/components/ui/carousel/carousel-autoplay.d.ts +22 -0
- package/dist/components/ui/carousel/carousel-swipe.d.ts +17 -0
- package/dist/components/ui/carousel/carousel-window.d.ts +63 -0
- package/dist/components/ui/carousel/carousel.css +71 -18
- package/dist/components/ui/carousel/carousel.d.ts +8 -4
- package/dist/components/ui/carousel/carousel.script.d.ts +73 -40
- package/dist/components/ui/carousel/index.js +1 -1
- package/dist/components/ui/carousel/index.js.map +4 -4
- package/dist/components/ui/checkbox/checkbox.d.ts +11 -0
- package/dist/components/ui/checkbox/checkbox.script.d.ts +31 -8
- package/dist/components/ui/checkbox/index.js +1 -1
- package/dist/components/ui/checkbox/index.js.map +4 -4
- package/dist/components/ui/checkbox-group/checkbox-group.d.ts +4 -2
- package/dist/components/ui/checkbox-group/checkbox-group.script.d.ts +39 -20
- package/dist/components/ui/checkbox-group/index.js +1 -1
- package/dist/components/ui/checkbox-group/index.js.map +4 -4
- package/dist/components/ui/combobox/combobox.css +9 -1
- package/dist/components/ui/combobox/combobox.d.ts +12 -4
- package/dist/components/ui/combobox/combobox.script.d.ts +74 -25
- package/dist/components/ui/combobox/index.d.ts +2 -2
- package/dist/components/ui/combobox/index.js +1 -1
- package/dist/components/ui/combobox/index.js.map +4 -4
- package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +6 -2
- package/dist/components/ui/cycle-toggle/cycle-toggle.script.d.ts +35 -4
- package/dist/components/ui/cycle-toggle/index.js +1 -1
- package/dist/components/ui/cycle-toggle/index.js.map +3 -3
- package/dist/components/ui/date-field/date-field.css +13 -17
- package/dist/components/ui/date-field/date-field.d.ts +10 -8
- package/dist/components/ui/date-field/date-field.script.d.ts +35 -52
- package/dist/components/ui/date-field/index.js +1 -1
- package/dist/components/ui/date-field/index.js.map +4 -4
- package/dist/components/ui/date-input/date-input-segment-dom.d.ts +24 -0
- package/dist/components/ui/date-input/date-input.css +50 -0
- package/dist/components/ui/date-input/date-input.d.ts +8 -0
- package/dist/components/ui/date-input/date-input.script.d.ts +137 -0
- package/dist/components/ui/date-input/index.d.ts +2 -0
- package/dist/components/ui/date-input/index.js +2 -0
- package/dist/components/ui/date-input/index.js.map +7 -0
- package/dist/components/ui/date-range-picker/date-range-picker.css +18 -19
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +11 -9
- package/dist/components/ui/date-range-picker/date-range-picker.script.d.ts +42 -51
- package/dist/components/ui/date-range-picker/index.js +1 -1
- package/dist/components/ui/date-range-picker/index.js.map +4 -4
- package/dist/components/ui/dialog/dialog.css +18 -14
- package/dist/components/ui/dialog/dialog.d.ts +6 -0
- package/dist/components/ui/dialog/dialog.script.d.ts +43 -10
- package/dist/components/ui/dialog/index.js +1 -1
- package/dist/components/ui/dialog/index.js.map +4 -4
- package/dist/components/ui/disclosure/disclosure-group.script.d.ts +19 -3
- package/dist/components/ui/disclosure/disclosure.css +3 -6
- package/dist/components/ui/disclosure/disclosure.d.ts +23 -7
- package/dist/components/ui/disclosure/disclosure.script.d.ts +31 -7
- package/dist/components/ui/disclosure/index.d.ts +1 -1
- package/dist/components/ui/disclosure/index.js +1 -1
- package/dist/components/ui/disclosure/index.js.map +4 -4
- package/dist/components/ui/field/field-description.d.ts +1 -0
- package/dist/components/ui/field/field-error.d.ts +2 -2
- package/dist/components/ui/field/field.d.ts +4 -4
- package/dist/components/ui/field/field.script.d.ts +54 -24
- package/dist/components/ui/field/index.js +1 -1
- package/dist/components/ui/field/index.js.map +4 -4
- package/dist/components/ui/form/control-protocol.d.ts +38 -1
- package/dist/components/ui/form/form-context.d.ts +3 -0
- package/dist/components/ui/form/form.d.ts +6 -0
- package/dist/components/ui/form/form.script.d.ts +29 -12
- package/dist/components/ui/form/index.d.ts +2 -1
- package/dist/components/ui/form/index.js +1 -1
- package/dist/components/ui/form/index.js.map +4 -4
- package/dist/components/ui/grid/grid.d.ts +4 -3
- package/dist/components/ui/grid/grid.script.d.ts +19 -11
- package/dist/components/ui/hover-card/hover-card.css +12 -101
- package/dist/components/ui/hover-card/hover-card.d.ts +7 -2
- package/dist/components/ui/hover-card/hover-card.script.d.ts +36 -5
- package/dist/components/ui/hover-card/index.js +1 -1
- package/dist/components/ui/hover-card/index.js.map +4 -4
- package/dist/components/ui/input/index.js +1 -1
- package/dist/components/ui/input/index.js.map +4 -4
- package/dist/components/ui/input/input.css +1 -1
- package/dist/components/ui/knob/index.js +1 -1
- package/dist/components/ui/knob/index.js.map +3 -3
- package/dist/components/ui/knob/knob.css +6 -1
- package/dist/components/ui/knob/knob.d.ts +4 -4
- package/dist/components/ui/knob/knob.script.d.ts +55 -20
- package/dist/components/ui/label/index.js +1 -1
- package/dist/components/ui/label/index.js.map +4 -4
- package/dist/components/ui/label/label.d.ts +2 -1
- package/dist/components/ui/listbox/index.d.ts +2 -2
- package/dist/components/ui/listbox/index.js +1 -1
- package/dist/components/ui/listbox/index.js.map +4 -4
- package/dist/components/ui/listbox/listbox.css +14 -0
- package/dist/components/ui/listbox/listbox.d.ts +16 -2
- package/dist/components/ui/listbox/listbox.script.d.ts +55 -12
- package/dist/components/ui/menu-button/index.js +1 -1
- package/dist/components/ui/menu-button/index.js.map +4 -4
- package/dist/components/ui/menu-button/menu-button.d.ts +2 -2
- package/dist/components/ui/menu-button/menu-button.script.d.ts +30 -27
- package/dist/components/ui/menubar/index.js +1 -1
- package/dist/components/ui/menubar/index.js.map +4 -4
- package/dist/components/ui/menubar/menubar.script.d.ts +41 -15
- package/dist/components/ui/meter/index.js +1 -1
- package/dist/components/ui/meter/index.js.map +3 -3
- package/dist/components/ui/meter/meter.css +27 -2
- package/dist/components/ui/meter/meter.script.d.ts +19 -14
- package/dist/components/ui/navigation-menu/index.d.ts +1 -1
- package/dist/components/ui/navigation-menu/index.js +1 -1
- package/dist/components/ui/navigation-menu/index.js.map +4 -4
- package/dist/components/ui/navigation-menu/navigation-menu.css +32 -34
- package/dist/components/ui/navigation-menu/navigation-menu.d.ts +34 -5
- package/dist/components/ui/navigation-menu/navigation-menu.script.d.ts +93 -12
- package/dist/components/ui/number-field/index.js +1 -1
- package/dist/components/ui/number-field/index.js.map +4 -4
- package/dist/components/ui/number-field/number-field.css +1 -1
- package/dist/components/ui/number-field/number-field.d.ts +8 -19
- package/dist/components/ui/number-field/number-field.script.d.ts +30 -9
- package/dist/components/ui/pagination/index.d.ts +1 -1
- package/dist/components/ui/pagination/index.js +1 -1
- package/dist/components/ui/pagination/index.js.map +3 -3
- package/dist/components/ui/pagination/pagination.css +50 -13
- package/dist/components/ui/pagination/pagination.d.ts +33 -9
- package/dist/components/ui/pagination/pagination.script.d.ts +29 -9
- package/dist/components/ui/popover/index.js +1 -1
- package/dist/components/ui/popover/index.js.map +4 -4
- package/dist/components/ui/popover/popover.d.ts +17 -1
- package/dist/components/ui/popover/popover.script.d.ts +57 -9
- package/dist/components/ui/radio-group/index.js +1 -1
- package/dist/components/ui/radio-group/index.js.map +4 -4
- package/dist/components/ui/radio-group/radio-group.d.ts +2 -2
- package/dist/components/ui/radio-group/radio-group.script.d.ts +35 -16
- package/dist/components/ui/select/index.d.ts +2 -2
- package/dist/components/ui/select/index.js +1 -1
- package/dist/components/ui/select/index.js.map +4 -4
- package/dist/components/ui/select/select.css +8 -6
- package/dist/components/ui/select/select.d.ts +18 -9
- package/dist/components/ui/select/select.script.d.ts +74 -26
- package/dist/components/ui/shared/calendar-popover-behavior.d.ts +27 -0
- package/dist/components/ui/shared/control-toggle.css +8 -4
- package/dist/components/ui/shared/field-label.d.ts +5 -0
- package/dist/components/ui/shared/listbox-host-controller.d.ts +41 -0
- package/dist/components/ui/shared/listbox-option.d.ts +4 -0
- package/dist/components/ui/shared/multi-value.d.ts +23 -1
- package/dist/components/ui/shared/numeric-range.d.ts +8 -0
- package/dist/components/ui/shared/popover.css +10 -99
- package/dist/components/ui/sidebar/index.d.ts +2 -1
- package/dist/components/ui/sidebar/index.js +1 -1
- package/dist/components/ui/sidebar/index.js.map +4 -4
- package/dist/components/ui/sidebar/sidebar-trigger.d.ts +12 -0
- package/dist/components/ui/sidebar/sidebar-trigger.script.d.ts +52 -31
- package/dist/components/ui/sidebar/sidebar.css +67 -61
- package/dist/components/ui/sidebar/sidebar.d.ts +9 -4
- package/dist/components/ui/sidebar/sidebar.script.d.ts +42 -20
- package/dist/components/ui/slider/index.js +1 -1
- package/dist/components/ui/slider/index.js.map +4 -4
- package/dist/components/ui/slider/slider.css +5 -5
- package/dist/components/ui/slider/slider.d.ts +20 -10
- package/dist/components/ui/slider/slider.script.d.ts +103 -27
- package/dist/components/ui/switch/index.js +1 -1
- package/dist/components/ui/switch/index.js.map +4 -4
- package/dist/components/ui/switch/switch.css +28 -22
- package/dist/components/ui/switch/switch.d.ts +13 -0
- package/dist/components/ui/switch/switch.script.d.ts +34 -8
- package/dist/components/ui/table/index.js +1 -1
- package/dist/components/ui/table/index.js.map +4 -4
- package/dist/components/ui/table/table.d.ts +9 -7
- package/dist/components/ui/table/table.script.d.ts +55 -12
- package/dist/components/ui/tabs/tabs.css +18 -12
- package/dist/components/ui/tabs/tabs.d.ts +7 -4
- package/dist/components/ui/tabs/tabs.script.d.ts +39 -9
- package/dist/components/ui/tag-group/index.js +1 -1
- package/dist/components/ui/tag-group/index.js.map +4 -4
- package/dist/components/ui/tag-group/tag-group.d.ts +19 -7
- package/dist/components/ui/tag-group/tag-group.script.d.ts +58 -10
- package/dist/components/ui/textarea/index.js +1 -1
- package/dist/components/ui/textarea/index.js.map +4 -4
- package/dist/components/ui/textarea/textarea.css +1 -1
- package/dist/components/ui/toast/index.js +1 -1
- package/dist/components/ui/toast/index.js.map +4 -4
- package/dist/components/ui/toast/toast.css +35 -32
- package/dist/components/ui/toast/toast.script.d.ts +17 -31
- package/dist/components/ui/toast/toaster.script.d.ts +24 -12
- package/dist/components/ui/toc/toc.script.d.ts +19 -8
- package/dist/components/ui/toolbar/toolbar.d.ts +5 -0
- package/dist/components/ui/toolbar/toolbar.script.d.ts +24 -4
- package/dist/components/ui/tooltip/index.js +1 -1
- package/dist/components/ui/tooltip/index.js.map +4 -4
- package/dist/components/ui/tooltip/tooltip.css +14 -94
- package/dist/components/ui/tooltip/tooltip.d.ts +7 -0
- package/dist/components/ui/tooltip/tooltip.script.d.ts +36 -6
- package/dist/components/ui/tree/tree.d.ts +4 -3
- package/dist/components/ui/tree/tree.script.d.ts +28 -15
- package/dist/components/ui/treegrid/treegrid.d.ts +5 -3
- package/dist/components/ui/treegrid/treegrid.script.d.ts +33 -14
- package/dist/components/ui/window-splitter/index.d.ts +1 -1
- package/dist/components/ui/window-splitter/index.js +1 -1
- package/dist/components/ui/window-splitter/index.js.map +3 -3
- package/dist/components/ui/window-splitter/window-splitter.d.ts +10 -1
- package/dist/components/ui/window-splitter/window-splitter.script.d.ts +26 -8
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/lib/icons/check.d.ts +3 -0
- package/dist/lib/icons/chevron-down.d.ts +0 -1
- package/dist/lib/icons/index.d.ts +2 -0
- package/dist/lib/icons/x.d.ts +5 -0
- package/dist/lib/intl-date/index.d.ts +4 -2
- package/dist/lib/intl-date/segment-editing.d.ts +34 -0
- package/dist/lib/intl-date/segments.d.ts +26 -4
- package/dist/lib/non-empty.d.ts +6 -0
- package/dist/lib/unique-id.d.ts +11 -0
- package/dist/lib/viewport/breakpoints.d.ts +6 -0
- package/dist/lib/viewport/mobile-layout.d.ts +15 -0
- package/dist/styles/primitives.css +14 -11
- package/dist/styles/radiant-ui-core.css +10 -0
- package/dist/styles/radiant-ui.css +40 -11
- package/dist/styles/style-dependencies.json +38 -13
- package/dist/styles/styles.css +485 -252
- package/dist/styles/tailwind.css +40 -101
- package/dist/styles/tokens/presets/colors/aurora.css +2 -0
- package/dist/styles/tokens/presets/colors/basalt.css +2 -0
- package/dist/styles/tokens/presets/colors/ember.css +2 -0
- package/dist/styles/tokens/presets/colors/glacier.css +2 -0
- package/dist/styles/tokens/semantic.css +1 -0
- package/dist/styles/tokens/system.css +11 -3
- package/dist/styles/tokens/typography/default.css +8 -0
- package/package.json +27 -13
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
rui-dialog {
|
|
4
|
-
--dialog-
|
|
4
|
+
--rui-dialog-max-width: 28rem;
|
|
5
|
+
--rui-dialog-padding: var(--space-inset);
|
|
6
|
+
--rui-dialog-radius: var(--radius-container);
|
|
7
|
+
--rui-dialog-surface: var(--background);
|
|
8
|
+
--rui-dialog-shadow: var(--shadow-modal);
|
|
9
|
+
--rui-dialog-inset-x: 1rem;
|
|
5
10
|
display: contents;
|
|
6
11
|
}
|
|
7
12
|
@layer components {
|
|
@@ -25,15 +30,14 @@ rui-dialog {
|
|
|
25
30
|
position: relative;
|
|
26
31
|
z-index: var(--z-index-modal, var(--z-modal));
|
|
27
32
|
width: 100%;
|
|
28
|
-
max-width: var(--container-md, 28rem);
|
|
29
|
-
border-radius: var(--radius-container, var(--radius-container));
|
|
30
|
-
background-color: var(--color-background, var(--background));
|
|
31
|
-
padding: var(--spacing-inset, var(--space-inset));
|
|
32
33
|
color: var(--color-on-background, var(--on-background));
|
|
33
|
-
--tw-shadow: var(--shadow-modal);
|
|
34
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
35
34
|
--tw-outline-style: none;
|
|
36
35
|
outline-style: none;
|
|
36
|
+
max-inline-size: var(--rui-dialog-max-width);
|
|
37
|
+
padding: var(--rui-dialog-padding);
|
|
38
|
+
border-radius: var(--rui-dialog-radius);
|
|
39
|
+
background-color: var(--rui-dialog-surface);
|
|
40
|
+
box-shadow: var(--rui-dialog-shadow);
|
|
37
41
|
}
|
|
38
42
|
.rui-dialog__close {
|
|
39
43
|
position: absolute;
|
|
@@ -85,9 +89,14 @@ rui-dialog {
|
|
|
85
89
|
}
|
|
86
90
|
@media (max-width: 600px) {
|
|
87
91
|
.rui-dialog {
|
|
88
|
-
padding-inline: var(--dialog-
|
|
92
|
+
padding-inline: var(--rui-dialog-inset-x);
|
|
89
93
|
}
|
|
90
94
|
}
|
|
95
|
+
@property --tw-border-style {
|
|
96
|
+
syntax: "*";
|
|
97
|
+
inherits: false;
|
|
98
|
+
initial-value: solid;
|
|
99
|
+
}
|
|
91
100
|
@property --tw-shadow {
|
|
92
101
|
syntax: "*";
|
|
93
102
|
inherits: false;
|
|
@@ -153,11 +162,6 @@ rui-dialog {
|
|
|
153
162
|
inherits: false;
|
|
154
163
|
initial-value: 0 0 #0000;
|
|
155
164
|
}
|
|
156
|
-
@property --tw-border-style {
|
|
157
|
-
syntax: "*";
|
|
158
|
-
inherits: false;
|
|
159
|
-
initial-value: solid;
|
|
160
|
-
}
|
|
161
165
|
@property --tw-font-weight {
|
|
162
166
|
syntax: "*";
|
|
163
167
|
inherits: false;
|
|
@@ -165,6 +169,7 @@ rui-dialog {
|
|
|
165
169
|
@layer properties {
|
|
166
170
|
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
167
171
|
*, ::before, ::after, ::backdrop {
|
|
172
|
+
--tw-border-style: solid;
|
|
168
173
|
--tw-shadow: 0 0 #0000;
|
|
169
174
|
--tw-shadow-color: initial;
|
|
170
175
|
--tw-shadow-alpha: 100%;
|
|
@@ -179,7 +184,6 @@ rui-dialog {
|
|
|
179
184
|
--tw-ring-offset-width: 0px;
|
|
180
185
|
--tw-ring-offset-color: #fff;
|
|
181
186
|
--tw-ring-offset-shadow: 0 0 #0000;
|
|
182
|
-
--tw-border-style: solid;
|
|
183
187
|
--tw-font-weight: initial;
|
|
184
188
|
}
|
|
185
189
|
}
|
|
@@ -6,6 +6,8 @@ export type RuiDialogTitleProps = JsxElementProps<HTMLDivElement>;
|
|
|
6
6
|
* Dialog title for the visible dialog name.
|
|
7
7
|
*
|
|
8
8
|
* @cssclass rui-dialog__title - Dialog title; `aria-labelledby` target.
|
|
9
|
+
*
|
|
10
|
+
* @remarks Stamps `[data-dialog-title]` and `data-ref="title"`.
|
|
9
11
|
*/
|
|
10
12
|
export declare function RuiDialogTitle({ children, class: className, ...props }: RuiDialogTitleProps): JsxRenderable;
|
|
11
13
|
export type RuiDialogBodyProps = JsxElementProps<HTMLDivElement>;
|
|
@@ -13,6 +15,8 @@ export type RuiDialogBodyProps = JsxElementProps<HTMLDivElement>;
|
|
|
13
15
|
* Dialog body content.
|
|
14
16
|
*
|
|
15
17
|
* @cssclass rui-dialog__body - Dialog body; `aria-describedby` target.
|
|
18
|
+
*
|
|
19
|
+
* @remarks Stamps `[data-dialog-body]` and `data-ref="description"`.
|
|
16
20
|
*/
|
|
17
21
|
export declare function RuiDialogBody({ children, class: className, ...props }: RuiDialogBodyProps): JsxRenderable;
|
|
18
22
|
export type RuiDialogActionsProps = JsxElementProps<HTMLDivElement>;
|
|
@@ -27,6 +31,8 @@ export type RuiDialogCloseProps = JsxElementProps<HTMLButtonElement>;
|
|
|
27
31
|
* Close control for the dialog surface.
|
|
28
32
|
*
|
|
29
33
|
* @cssclass rui-dialog__close - Dismiss button; dispatches `data-dialog-close` click.
|
|
34
|
+
*
|
|
35
|
+
* @remarks Stamps `[data-dialog-close]` and `data-ref="close"`.
|
|
30
36
|
*/
|
|
31
37
|
export declare function RuiDialogClose({ children, class: className, aria, ...props }: RuiDialogCloseProps): JsxRenderable;
|
|
32
38
|
export type RuiDialogViewProps = Omit<JsxCustomElementAttributes<RuiDialogElement, RuiDialogProps>, 'title'> & {
|
|
@@ -15,33 +15,66 @@ export type RuiDialogCloseDetail = {
|
|
|
15
15
|
reason: 'escape' | 'backdrop' | 'dismiss';
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
|
-
* `<rui-dialog>` —
|
|
18
|
+
* `<rui-dialog>` — modal dialog behavior: focus trap, dismiss, and accessible naming.
|
|
19
|
+
*
|
|
20
|
+
* The custom element is a behavior host: it does not render the composed tree.
|
|
21
|
+
* Import the script and place light-DOM children that match the contract below,
|
|
22
|
+
* or use the `RuiDialog` view helpers which stamp the same targets.
|
|
19
23
|
*
|
|
20
24
|
* Implements the WAI-ARIA APG Dialog (Modal) pattern, and the Alert and Message
|
|
21
|
-
* Dialogs pattern when `alert` is set.
|
|
22
|
-
*
|
|
25
|
+
* Dialogs pattern when `alert` is set.
|
|
26
|
+
*
|
|
27
|
+
* ## Light-DOM contract
|
|
28
|
+
*
|
|
29
|
+
* Required:
|
|
30
|
+
* - `[data-ref="root"]` — dialog chrome wrapper. Host toggles `hidden` when `open` is false.
|
|
31
|
+
* - `[data-ref="backdrop"]` — scrim behind the surface. Click dismisses (`rui-close` reason `backdrop`).
|
|
32
|
+
* - `[data-ref="dialog"]` — modal panel. Host sets `aria-labelledby` (from title),
|
|
33
|
+
* `aria-label` (from `label` when there is no title), and `aria-describedby` (from body).
|
|
34
|
+
* The view seeds `role="dialog"` or `role="alertdialog"`, `aria-modal="true"`, and `tabIndex="-1"`.
|
|
35
|
+
*
|
|
36
|
+
* Optional:
|
|
37
|
+
* - `[data-dialog-title]` — visible name. Host assigns `id` and wires `aria-labelledby` when text is present.
|
|
38
|
+
* - `[data-dialog-body]` — supplementary description. Host assigns `id` and wires `aria-describedby`.
|
|
39
|
+
* - `[data-dialog-close]` — dismiss control. Click emits `rui-close` with reason `dismiss`.
|
|
40
|
+
*
|
|
41
|
+
* Provide either `[data-dialog-title]` with text or the `label` attribute for an accessible name.
|
|
42
|
+
* Do not fight host-owned `aria-labelledby`, `aria-label`, `aria-describedby`, or `hidden` on `[data-ref="root"]`.
|
|
43
|
+
*
|
|
44
|
+
* Nested hosts: none.
|
|
23
45
|
*
|
|
24
46
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
|
|
25
47
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/
|
|
26
48
|
*
|
|
27
49
|
* @element rui-dialog
|
|
28
|
-
* @
|
|
29
|
-
* @
|
|
30
|
-
* @
|
|
31
|
-
* @
|
|
50
|
+
* @attr {boolean} open - Whether the dialog is open. Default: `false`.
|
|
51
|
+
* @attr {boolean} alert - Uses `role="alertdialog"` for workflow-interrupting confirmations. Default: `false`.
|
|
52
|
+
* @attr {string} label - Accessible name when there is no visible title.
|
|
53
|
+
* @fires rui-close - Emitted when the dialog is dismissed; `detail.reason` is `escape`, `backdrop`, or `dismiss`.
|
|
54
|
+
*
|
|
55
|
+
* @cssprop --rui-dialog-max-width - Surface max inline size. Default: `28rem`.
|
|
56
|
+
* @cssprop --rui-dialog-padding - Surface padding. Default: `--space-inset`.
|
|
57
|
+
* @cssprop --rui-dialog-radius - Surface corner radius. Default: `--radius-container`.
|
|
58
|
+
* @cssprop --rui-dialog-surface - Surface fill. Default: `--background`.
|
|
59
|
+
* @cssprop --rui-dialog-shadow - Surface shadow. Default: `--shadow-modal`.
|
|
60
|
+
* @cssprop --rui-dialog-inset-x - Viewport inline inset below 600px. Default: `1rem`.
|
|
61
|
+
*
|
|
62
|
+
* @remarks
|
|
63
|
+
* Minimum tree: `[data-ref="root"]` > backdrop + `[data-ref="dialog"]` with optional title, body, and close.
|
|
64
|
+
* BEM classes live on the view `DialogShell` and helpers; the host never queries them.
|
|
32
65
|
*/
|
|
33
66
|
export declare class RuiDialog extends RadiantElement {
|
|
34
67
|
open: boolean;
|
|
35
68
|
alert: boolean;
|
|
36
69
|
label: string;
|
|
37
|
-
rootTarget: HTMLElement;
|
|
38
70
|
dialogTarget: HTMLElement;
|
|
39
71
|
titleTarget: HTMLElement;
|
|
40
72
|
descriptionTarget: HTMLElement;
|
|
41
73
|
closeEvent: EventEmitter<RuiDialogCloseDetail>;
|
|
42
74
|
private previouslyFocused;
|
|
43
|
-
private
|
|
44
|
-
private
|
|
75
|
+
private readonly uid;
|
|
76
|
+
private get titleId();
|
|
77
|
+
private get descriptionId();
|
|
45
78
|
protected onConnected(): void;
|
|
46
79
|
syncOpenState(): void;
|
|
47
80
|
private focusInitial;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{RadiantElement as $t,bound as pe,customElement as me,event as be,onEvent as nt,onUpdated as he,prop as rt,query as K}from"@ecopages/radiant";var se="a[href], button, input, select, textarea, [tabindex]";function ue(t){return!t.hasAttribute("disabled")&&t.getAttribute("tabindex")!=="-1"}function It(t){return Array.from(t.querySelectorAll(se)).filter(ue)}var At,xt,Ct,Lt,Rt,Ot,wt,St,kt,Gt,Nt,Ut,Vt,jt,Bt,Ft,qt,Ht;function ce(t,e,i,o,u,f){var D,l,W,X,V,Y,O,ct=Symbol.metadata||Symbol.for("Symbol.metadata"),dt=Object.defineProperty,Z=Object.create,ft=[Z(null),Z(null)],gt=e.length;function j(n,h,m){return function(r,a){h&&(a=r,r=t);for(var _=0;_<n.length;_++)a=n[_].apply(r,m?[a]:[]);return m?a:r}}function T(n,h,m,r){if(typeof n!="function"&&(r||n!==void 0))throw new TypeError(h+" must "+(m||"be")+" a function"+(r?"":" or undefined"));return n}function pt(n,h,m,r,a,_,x,b,v,y,bt){function P(c){if(!bt(c))throw new TypeError("Attempted to access private element on non-instance")}var tt=[].concat(h[0]),ht=h[3],et=!x,w=a===1,_t=a===3,vt=a===4,B=a===2;function F(c,C,Dt){return function(H,Tt){return C&&(Tt=H,H=n),Dt&&Dt(H),s[c].call(H,Tt)}}if(!et){var s={},it=[],I=_t?"get":vt||w?"set":"value";if(v?(y||w?s={get:Kt(function(){return ht(this)},r,"get"),set:function(c){h[4](this,c)}}:s[I]=ht,y||Kt(s[I],r,B?"":I)):y||(s=Object.getOwnPropertyDescriptor(n,r)),!y&&!v){if((l=ft[+b][r])&&(l^a)!==7)throw Error("Decorating two elements with the same name ("+s[I].name+") is not supported yet");ft[+b][r]=a<3?1:a}}for(var g=n,q=tt.length-1;q>=0;q-=m?2:1){var yt=T(tt[q],"A decorator","be",!0),Et=m?tt[q-1]:void 0,ot={},S={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:D,addInitializer:function(c,C){if(c.v)throw new TypeError("attempted to call addInitializer after decoration was finished");T(C,"An initializer","be",!0),_.push(C)}.bind(null,ot)};if(et)l=yt.call(Et,g,S),ot.v=1,T(l,"class decorators","return")&&(g=l);else if(S.static=b,S.private=v,l=S.access={has:v?bt.bind():function(c){return r in c}},vt||(l.get=v?B?function(c){return P(c),s.value}:F("get",0,P):function(c){return c[r]}),B||_t||(l.set=v?F("set",0,P):function(c,C){c[r]=C}),g=yt.call(Et,w?{get:s.get,set:s.set}:s[I],S),ot.v=1,w){if(typeof g=="object"&&g)(l=T(g.get,"accessor.get"))&&(s.get=l),(l=T(g.set,"accessor.set"))&&(s.set=l),(l=T(g.init,"accessor.init"))&&it.unshift(l);else if(g!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else T(g,(y?"field":"method")+" decorators","return")&&(y?it.unshift(g):s[I]=g)}return a<2&&x.push(j(it,b,1),j(_,b,0)),y||et||(v?w?x.splice(-1,0,F("get",b),F("set",b)):x.push(B?s[I]:T.call.bind(s[I])):dt(n,r,s)),g}function mt(n){return dt(n,ct,{configurable:!0,enumerable:!0,value:D})}return f!==void 0&&(D=f[ct]),D=Z(D??null),V=[],Y=function(n){n&&V.push(j(n))},O=function(n,h){for(var m=0;m<i.length;m++){var r=i[m],a=r[1],_=7&a;if((8&a)==n&&!_==h){var x=r[2],b=!!r[3],v=16&a;pt(n?t:t.prototype,r,v,b?"#"+x:de(x),_,_<2?[]:n?X=X||[]:W=W||[],V,!!n,b,h,n&&b?function(y){return ge(y)===t}:u)}}},O(8,0),O(0,0),O(8,1),O(0,1),Y(W),Y(X),l=V,gt||mt(t),{e:l,get c(){var n=[];return gt&&[mt(t=pt(t,[e],o,t.name,5,n)),j(n,1)]}}}function de(t){var e=fe(t,"string");return typeof e=="symbol"?e:e+""}function fe(t,e){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var o=i.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Kt(t,e,i){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:i?i+" "+e:e})}catch{}return t}function ge(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(t!==null?typeof t:"null"));return t}var Mt,zt=class extends $t{static{({e:[Ct,Lt,Rt,Ot,wt,St,kt,Gt,Nt,Ut,Vt,jt,Bt,Ft,qt,Ht,At],c:[Mt,xt]}=ce(this,[me("rui-dialog")],[[rt({type:Boolean,reflect:!0,defaultValue:!1}),0,"open"],[rt({type:Boolean,reflect:!0,defaultValue:!1}),0,"alert"],[rt({type:String,defaultValue:""}),0,"label"],[K({ref:"root"}),0,"rootTarget"],[K({ref:"dialog"}),0,"dialogTarget"],[K({selector:"[data-dialog-title]"}),0,"titleTarget"],[K({selector:"[data-dialog-body]"}),0,"descriptionTarget"],[be({name:"rui-close",bubbles:!0,composed:!0}),0,"closeEvent"],[[pe,he(["open","label"])],2,"syncOpenState"],[nt({document:!0,type:"keydown"}),2,"onDocumentKeydown"],[nt({ref:"backdrop",type:"click"}),2,"onBackdropClick"],[nt({selector:"[data-dialog-close]",type:"click"}),2,"onCloseClick"]],0,void 0,$t))}open=(At(this),Ct(this));alert=(Lt(this),Rt(this));label=(Ot(this),wt(this));rootTarget=(St(this),kt(this));dialogTarget=(Gt(this),Nt(this));titleTarget=(Ut(this),Vt(this));descriptionTarget=(jt(this),Bt(this));closeEvent=(Ft(this),qt(this));previouslyFocused=(Ht(this),null);titleId=`rui-dialog-title-${Math.random().toString(36).slice(2,9)}`;descriptionId=`rui-dialog-desc-${Math.random().toString(36).slice(2,9)}`;onConnected(){this.syncOpenState()}syncOpenState(){this.rootTarget?.toggleAttribute("hidden",!this.open),this.dialogTarget&&(this.titleTarget?.textContent?.trim()?(this.titleTarget.id=this.titleId,this.dialogTarget.setAttribute("aria-labelledby",this.titleId),this.dialogTarget.removeAttribute("aria-label")):this.label&&(this.dialogTarget.setAttribute("aria-label",this.label),this.dialogTarget.removeAttribute("aria-labelledby")),this.descriptionTarget?(this.descriptionTarget.id=this.descriptionId,this.dialogTarget.setAttribute("aria-describedby",this.descriptionId)):this.dialogTarget.removeAttribute("aria-describedby"),this.open?(this.previouslyFocused=document.activeElement,queueMicrotask(()=>this.focusInitial())):(this.previouslyFocused?.focus?.(),this.previouslyFocused=null))}focusInitial(){(this.getFocusable()[0]??this.dialogTarget)?.focus()}getFocusable(){return this.dialogTarget?It(this.dialogTarget):[]}dismiss(e){this.open&&(this.open=!1,this.closeEvent.emit({reason:e}))}onDocumentKeydown(e){if(!this.open)return;if(e.key==="Escape"){e.preventDefault(),this.dismiss("escape");return}if(e.key!=="Tab")return;let i=this.getFocusable();if(!i.length){e.preventDefault(),this.dialogTarget.focus();return}let o=i[0],u=i[i.length-1],f=document.activeElement;e.shiftKey&&f===o?(e.preventDefault(),u.focus()):!e.shiftKey&&f===u&&(e.preventDefault(),o.focus())}onBackdropClick(){this.dismiss("backdrop")}onCloseClick(){this.dismiss("dismiss")}static{xt()}};import{jsx as p,jsxs as Wt}from"@ecopages/jsx/jsx-runtime";function Jt(t,e){return e===void 0||t?.label!==void 0?t:{...t,label:e}}function k(...t){return t.filter(Boolean).join(" ")}function Xt({children:t,class:e,...i}){return p("div",{...i,"data-dialog-title":!0,"data-ref":"title",class:k("rui-dialog__title",e),children:t})}function Yt({children:t,class:e,...i}){return p("div",{...i,"data-dialog-body":!0,"data-ref":"description",class:k("rui-dialog__body",e),children:t})}function Zt({children:t,class:e,...i}){return p("div",{...i,class:k("rui-dialog__actions",e),children:t})}function Pt({children:t,class:e,aria:i,...o}){return p("button",{...o,aria:Jt(i,"Close"),type:"button","data-dialog-close":!0,"data-ref":"close",class:k("rui-dialog__close",e),children:t??"\xD7"})}function Qt({alert:t,children:e,open:i}){return Wt("div",{"data-ref":"root",class:"rui-dialog",hidden:i?void 0:!0,children:[p("div",{"data-ref":"backdrop",class:"rui-dialog__backdrop"}),p("div",{"data-ref":"dialog",class:"rui-dialog__surface",tabindex:-1,role:t?"alertdialog":"dialog","aria-modal":"true",children:e})]})}function _e({title:t,actions:e,children:i,open:o,alert:u,...f}){return t!=null||e!=null?p("rui-dialog",{...f,open:o,alert:u,children:Wt(Qt,{open:o,alert:u,children:[p(Pt,{}),t!=null?p(Xt,{children:t}):null,i!=null?p(Yt,{children:i}):null,e!=null?p(Zt,{children:e}):null]})}):p("rui-dialog",{...f,open:o,alert:u,children:p(Qt,{open:o,alert:u,children:i})})}var E="__rui-dialog-host",$="rui-dialog-open",z="rui-dialog-close",M="rui-dialog-toggle",at="rui-dialog-action";function te(t){return"id"in t&&t.id!=null&&t.id!==""}var G=!1,J=null,N=null,d=null;function st(t){let e=t.trim();if(!e)return null;let i=document.getElementById(e);return i?.localName==="rui-dialog"?i:null}function ve(){let t=document.createElement("button");return t.type="button",t.setAttribute("data-dialog-close",""),t.setAttribute("data-ref","close"),t.className="rui-dialog__close",t.setAttribute("aria-label","Close"),t.textContent="\xD7",t}function ye(t){let e=document.createElement("div");return e.setAttribute("data-dialog-title",""),e.setAttribute("data-ref","title"),e.className="rui-dialog__title",e.textContent=t,e}function Ee(t){let e=document.createElement("div");e.setAttribute("data-dialog-body",""),e.setAttribute("data-ref","description"),e.className="rui-dialog__body";let i=document.createElement("p");return i.textContent=t,e.append(i),e}function De(t){let e=document.createElement("div");e.className="rui-dialog__actions";for(let i of t){let o=document.createElement("button");o.type="button",o.className=`rui-button rui-button--${i.variant??"filled"} rui-button--${i.size??"md"}`,o.setAttribute("data-dialog-action",i.value??""),i.closeOnClick===!1&&o.setAttribute("data-dialog-action-close","false"),o.textContent=i.label,e.append(o)}return e}function Te(t){let e=document.createElement("div");e.dataset.ref="root",e.className="rui-dialog";let i=document.createElement("div");i.setAttribute("data-ref","backdrop"),i.className="rui-dialog__backdrop";let o=document.createElement("div");return o.setAttribute("data-ref","dialog"),o.className="rui-dialog__surface",o.tabIndex=-1,o.setAttribute("role",t?"alertdialog":"dialog"),o.setAttribute("aria-modal","true"),e.append(i,o),e}function U(){N?.remove(),N=null}function Ie(t){U();let e=document.createElement("rui-dialog");e.id=E,e.alert=!!t.alert,e.label=t.label??"",e.open=!0;let i=Te(e.alert),o=i.querySelector('[data-ref="dialog"]');if(!o)throw new Error("Failed to create the dialog surface.");return o.append(ve()),t.title&&o.append(ye(t.title)),t.body&&o.append(Ee(t.body)),t.actions?.length&&o.append(De(t.actions)),e.append(i),(J??document.body).appendChild(e),N=e,e}function ee(t){if(!(!d||d===t))if(d===E)U();else{let e=st(d);e&&(e.open=!1)}}function L(t){A();let e=st(t);e&&(ee(t),e.open=!0,d=t)}function Ae(t){A(),ee(E),Ie(t),d=E}function Q(t){if(typeof t=="string"){L(t);return}if(te(t)){L(t.id);return}Ae(t)}function R(t){A();let e=t??d;if(e){if(e===E)U();else{let i=st(e);i&&(i.open=!1)}d===e&&(d=null)}}function ut(t){if(A(),d===t){R(t);return}L(t)}function ie(t){let e=t.detail;if(typeof e=="string"){Q(e);return}e&&typeof e=="object"&&Q(e)}function oe(t){let e=t.detail;R(e?.id)}function ne(t){let e=t.detail;e?.id&&ut(e.id)}function re(t){let e=t.target;if(!e?.closest)return;let i=e.closest("[data-dialog-action]");if(i&&N?.contains(i)){t.preventDefault();let D={value:i.getAttribute("data-dialog-action")||void 0||void 0};N.dispatchEvent(new CustomEvent(at,{detail:D,bubbles:!0,composed:!0})),i.getAttribute("data-dialog-action-close")!=="false"&&R(E);return}let o=e.closest("[data-dialog-open]");if(o){let f=o.getAttribute("data-dialog-open")?.trim();f&&(t.preventDefault(),L(f));return}let u=e.closest("[data-dialog-close]");if(u){if(u.closest("rui-dialog")?.hasAttribute("open"))return;t.preventDefault(),R()}}function ae(t){let e=t.target?.closest?.("rui-dialog");if(!e)return;let i=e.id||null;i&&d===i&&(i===E&&U(),d=null)}function le(t={}){return G?(t.mount&&(J=t.mount),lt):(G=!0,J=t.mount??document.body,document.addEventListener($,ie),document.addEventListener(z,oe),document.addEventListener(M,ne),document.addEventListener("click",re),document.addEventListener("rui-close",ae),lt)}function A(){G||le()}function lt(){G&&(document.removeEventListener($,ie),document.removeEventListener(z,oe),document.removeEventListener(M,ne),document.removeEventListener("click",re),document.removeEventListener("rui-close",ae),U(),J=null,d=null,G=!1)}function xe(){return d}function Ce(t){A(),Q(t)}function Le(t){A(),R(t)}function Re(t){A(),ut(t)}function Oe(t){A();let e=t?.trim()||void 0;return{open:o=>{if(e){L(e);return}if(o!=null){if(typeof o=="string"){L(o);return}Q(o)}},close:o=>{R(o??e)},toggle:o=>{let u=o??e;u&&ut(u)},get openId(){return d}}}export{at as RUI_DIALOG_ACTION_EVENT,z as RUI_DIALOG_CLOSE_EVENT,E as RUI_DIALOG_HOST_ID,$ as RUI_DIALOG_OPEN_EVENT,M as RUI_DIALOG_TOGGLE_EVENT,_e as RuiDialog,Zt as RuiDialogActions,Yt as RuiDialogBody,Pt as RuiDialogClose,Mt as RuiDialogElement,Xt as RuiDialogTitle,Le as closeDialog,Oe as createDialogHandle,xe as getOpenDialogId,le as installDialogs,Ce as openDialog,Re as toggleDialog,lt as uninstallDialogs};
|
|
1
|
+
import{RadiantElement as Kt,bindTo as ye,bound as Ee,customElement as De,event as Ie,onEvent as ot,onUpdated as Ae,prop as rt,query as nt}from"@ecopages/radiant";var fe="a[href], button, input, select, textarea, [tabindex]";function ge(t){return!t.hasAttribute("disabled")&&t.getAttribute("tabindex")!=="-1"}function xt(t){return Array.from(t.querySelectorAll(fe)).filter(ge)}var pe=/^[A-Za-z][A-Za-z0-9_-]*$/;function Tt(t){return pe.test(t)}function me(t){let e=t.trim();if(Tt(e))return e;let i=`rui-${e}`;return e&&Tt(i)?i:"rui"}function Ct(t){let e=typeof crypto.randomUUID=="function"?crypto.randomUUID().replace(/-/g,""):Array.from(crypto.getRandomValues(new Uint8Array(16)),i=>i.toString(16).padStart(2,"0")).join("");return`${me(t)}-${e}`}var Rt,wt,Lt,St,kt,Ot,Nt,Gt,Ut,jt,Vt,Bt,qt,Ft,$t,zt;function be(t,e,i,o,u,g){var D,l,Z,J,j,Q,S,dt=Symbol.metadata||Symbol.for("Symbol.metadata"),ft=Object.defineProperty,W=Object.create,gt=[W(null),W(null)],pt=e.length;function V(r,h,m){return function(n,a){h&&(a=n,n=t);for(var _=0;_<r.length;_++)a=r[_].apply(n,m?[a]:[]);return m?a:n}}function I(r,h,m,n){if(typeof r!="function"&&(n||r!==void 0))throw new TypeError(h+" must "+(m||"be")+" a function"+(n?"":" or undefined"));return r}function mt(r,h,m,n,a,_,T,b,v,y,ht){function Y(c){if(!ht(c))throw new TypeError("Attempted to access private element on non-instance")}var P=[].concat(h[0]),_t=h[3],tt=!T,k=a===1,vt=a===3,yt=a===4,B=a===2;function q(c,R,It){return function($,At){return R&&(At=$,$=r),It&&It($),s[c].call($,At)}}if(!tt){var s={},et=[],A=vt?"get":yt||k?"set":"value";if(v?(y||k?s={get:Ht(function(){return _t(this)},n,"get"),set:function(c){h[4](this,c)}}:s[A]=_t,y||Ht(s[A],n,B?"":A)):y||(s=Object.getOwnPropertyDescriptor(r,n)),!y&&!v){if((l=gt[+b][n])&&(l^a)!==7)throw Error("Decorating two elements with the same name ("+s[A].name+") is not supported yet");gt[+b][n]=a<3?1:a}}for(var p=r,F=P.length-1;F>=0;F-=m?2:1){var Et=I(P[F],"A decorator","be",!0),Dt=m?P[F-1]:void 0,it={},O={kind:["field","accessor","method","getter","setter","class"][a],name:n,metadata:D,addInitializer:function(c,R){if(c.v)throw new TypeError("attempted to call addInitializer after decoration was finished");I(R,"An initializer","be",!0),_.push(R)}.bind(null,it)};if(tt)l=Et.call(Dt,p,O),it.v=1,I(l,"class decorators","return")&&(p=l);else if(O.static=b,O.private=v,l=O.access={has:v?ht.bind():function(c){return n in c}},yt||(l.get=v?B?function(c){return Y(c),s.value}:q("get",0,Y):function(c){return c[n]}),B||vt||(l.set=v?q("set",0,Y):function(c,R){c[n]=R}),p=Et.call(Dt,k?{get:s.get,set:s.set}:s[A],O),it.v=1,k){if(typeof p=="object"&&p)(l=I(p.get,"accessor.get"))&&(s.get=l),(l=I(p.set,"accessor.set"))&&(s.set=l),(l=I(p.init,"accessor.init"))&&et.unshift(l);else if(p!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else I(p,(y?"field":"method")+" decorators","return")&&(y?et.unshift(p):s[A]=p)}return a<2&&T.push(V(et,b,1),V(_,b,0)),y||tt||(v?k?T.splice(-1,0,q("get",b),q("set",b)):T.push(B?s[A]:I.call.bind(s[A])):ft(r,n,s)),p}function bt(r){return ft(r,dt,{configurable:!0,enumerable:!0,value:D})}return g!==void 0&&(D=g[dt]),D=W(D??null),j=[],Q=function(r){r&&j.push(V(r))},S=function(r,h){for(var m=0;m<i.length;m++){var n=i[m],a=n[1],_=7&a;if((8&a)==r&&!_==h){var T=n[2],b=!!n[3],v=16&a;mt(r?t:t.prototype,n,v,b?"#"+T:he(T),_,_<2?[]:r?J=J||[]:Z=Z||[],j,!!r,b,h,r&&b?function(y){return ve(y)===t}:u)}}},S(8,0),S(0,0),S(8,1),S(0,1),Q(Z),Q(J),l=j,pt||bt(t),{e:l,get c(){var r=[];return pt&&[bt(t=mt(t,[e],o,t.name,5,r)),V(r,1)]}}}function he(t){var e=_e(t,"string");return typeof e=="symbol"?e:e+""}function _e(t,e){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var o=i.call(t,e||"default");if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ht(t,e,i){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:i?i+" "+e:e})}catch{}return t}function ve(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(t!==null?typeof t:"null"));return t}var Mt,Xt=class extends Kt{static{({e:[Lt,St,kt,Ot,Nt,Gt,Ut,jt,Vt,Bt,qt,Ft,$t,zt,Rt],c:[Mt,wt]}=be(this,[De("rui-dialog")],[[[rt({type:Boolean,reflect:!0,defaultValue:!1}),ye({ref:"root",bool:"hidden",invert:!0})],0,"open"],[rt({type:Boolean,reflect:!0,defaultValue:!1}),0,"alert"],[rt({type:String,defaultValue:""}),0,"label"],[nt({ref:"dialog"}),0,"dialogTarget"],[nt({selector:"[data-dialog-title]"}),0,"titleTarget"],[nt({selector:"[data-dialog-body]"}),0,"descriptionTarget"],[Ie({name:"rui-close",bubbles:!0,composed:!0}),0,"closeEvent"],[[Ee,Ae(["open","label"])],2,"syncOpenState"],[ot({document:!0,type:"keydown"}),2,"onDocumentKeydown"],[ot({ref:"backdrop",type:"click"}),2,"onBackdropClick"],[ot({selector:"[data-dialog-close]",type:"click"}),2,"onCloseClick"]],0,void 0,Kt))}open=(Rt(this),Lt(this));alert=(St(this),kt(this));label=(Ot(this),Nt(this));dialogTarget=(Gt(this),Ut(this));titleTarget=(jt(this),Vt(this));descriptionTarget=(Bt(this),qt(this));closeEvent=(Ft(this),$t(this));previouslyFocused=(zt(this),null);uid=Ct("rui-dialog");get titleId(){return`${this.uid}-title`}get descriptionId(){return`${this.uid}-desc`}onConnected(){this.syncOpenState()}syncOpenState(){this.dialogTarget&&(this.titleTarget?.textContent?.trim()?(this.titleTarget.id=this.titleId,this.dialogTarget.setAttribute("aria-labelledby",this.titleId),this.dialogTarget.removeAttribute("aria-label")):this.label&&(this.dialogTarget.setAttribute("aria-label",this.label),this.dialogTarget.removeAttribute("aria-labelledby")),this.descriptionTarget?(this.descriptionTarget.id=this.descriptionId,this.dialogTarget.setAttribute("aria-describedby",this.descriptionId)):this.dialogTarget.removeAttribute("aria-describedby"),this.open?(this.previouslyFocused=document.activeElement,queueMicrotask(()=>this.focusInitial())):(this.previouslyFocused?.focus?.(),this.previouslyFocused=null))}focusInitial(){(this.getFocusable()[0]??this.dialogTarget)?.focus()}getFocusable(){return this.dialogTarget?xt(this.dialogTarget):[]}dismiss(e){this.open&&(this.open=!1,this.closeEvent.emit({reason:e}))}onDocumentKeydown(e){if(!this.open)return;if(e.key==="Escape"){e.preventDefault(),this.dismiss("escape");return}if(e.key!=="Tab")return;let i=this.getFocusable();if(!i.length){e.preventDefault(),this.dialogTarget.focus();return}let o=i[0],u=i[i.length-1],g=document.activeElement;e.shiftKey&&g===o?(e.preventDefault(),u.focus()):!e.shiftKey&&g===u&&(e.preventDefault(),o.focus())}onBackdropClick(){this.dismiss("backdrop")}onCloseClick(){this.dismiss("dismiss")}static{wt()}};import{jsx as f,jsxs as Pt}from"@ecopages/jsx/jsx-runtime";function Zt(t,e){return e===void 0||t?.label!==void 0?t:{...t,label:e}}function C(...t){return t.filter(Boolean).join(" ")}import{jsx as Jt,jsxs as xe}from"@ecopages/jsx/jsx-runtime";var Qt="http://www.w3.org/2000/svg";function at({class:t,size:e="sm",...i}){return xe("svg",{...i,class:C("rui-icon",e==="md"&&"rui-icon--md",t),viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",children:[Jt("path",{d:"m18 6-12 12"}),Jt("path",{d:"m6 6 12 12"})]})}function Wt(){let t=document.createElementNS(Qt,"svg");t.setAttribute("class","rui-icon"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.setAttribute("stroke","currentColor"),t.setAttribute("stroke-width","2"),t.setAttribute("stroke-linecap","round"),t.setAttribute("stroke-linejoin","round"),t.setAttribute("aria-hidden","true");for(let e of["m18 6-12 12","m6 6 12 12"]){let i=document.createElementNS(Qt,"path");i.setAttribute("d",e),t.append(i)}return t}function te({children:t,class:e,...i}){return f("div",{...i,"data-dialog-title":!0,"data-ref":"title",class:C("rui-dialog__title",e),children:t})}function ee({children:t,class:e,...i}){return f("div",{...i,"data-dialog-body":!0,"data-ref":"description",class:C("rui-dialog__body",e),children:t})}function ie({children:t,class:e,...i}){return f("div",{...i,class:C("rui-dialog__actions",e),children:t})}function oe({children:t,class:e,aria:i,...o}){return f("button",{...o,aria:Zt(i,"Close"),type:"button","data-dialog-close":!0,"data-ref":"close",class:C("rui-dialog__close",e),children:t??f(at,{})})}function Yt({alert:t,children:e,open:i}){return Pt("div",{"data-ref":"root",class:"rui-dialog",hidden:i?void 0:!0,children:[f("div",{"data-ref":"backdrop",class:"rui-dialog__backdrop"}),f("div",{"data-ref":"dialog",class:"rui-dialog__surface",tabindex:-1,role:t?"alertdialog":"dialog","aria-modal":"true",children:e})]})}function Te({title:t,actions:e,children:i,open:o,alert:u,...g}){return t!=null||e!=null?f("rui-dialog",{...g,open:o,alert:u,children:Pt(Yt,{open:o,alert:u,children:[f(oe,{}),t!=null?f(te,{children:t}):null,i!=null?f(ee,{children:i}):null,e!=null?f(ie,{children:e}):null]})}):f("rui-dialog",{...g,open:o,alert:u,children:f(Yt,{open:o,alert:u,children:i})})}var E="__rui-dialog-host",z="rui-dialog-open",H="rui-dialog-close",K="rui-dialog-toggle",lt="rui-dialog-action";function re(t){return"id"in t&&t.id!=null&&t.id!==""}var N=!1,X=null,G=null,d=null;function ut(t){let e=t.trim();if(!e)return null;let i=document.getElementById(e);return i?.localName==="rui-dialog"?i:null}function Ce(){let t=document.createElement("button");return t.type="button",t.setAttribute("data-dialog-close",""),t.setAttribute("data-ref","close"),t.className="rui-dialog__close",t.setAttribute("aria-label","Close"),t.append(Wt()),t}function Re(t){let e=document.createElement("div");return e.setAttribute("data-dialog-title",""),e.setAttribute("data-ref","title"),e.className="rui-dialog__title",e.textContent=t,e}function we(t){let e=document.createElement("div");e.setAttribute("data-dialog-body",""),e.setAttribute("data-ref","description"),e.className="rui-dialog__body";let i=document.createElement("p");return i.textContent=t,e.append(i),e}function Le(t){let e=document.createElement("div");e.className="rui-dialog__actions";for(let i of t){let o=document.createElement("button");o.type="button",o.className=`rui-button rui-button--${i.variant??"filled"} rui-button--${i.size??"md"}`,o.setAttribute("data-dialog-action",i.value??""),i.closeOnClick===!1&&o.setAttribute("data-dialog-action-close","false"),o.textContent=i.label,e.append(o)}return e}function Se(t){let e=document.createElement("div");e.dataset.ref="root",e.className="rui-dialog";let i=document.createElement("div");i.setAttribute("data-ref","backdrop"),i.className="rui-dialog__backdrop";let o=document.createElement("div");return o.setAttribute("data-ref","dialog"),o.className="rui-dialog__surface",o.tabIndex=-1,o.setAttribute("role",t?"alertdialog":"dialog"),o.setAttribute("aria-modal","true"),e.append(i,o),e}function U(){G?.remove(),G=null}function ke(t){U();let e=document.createElement("rui-dialog");e.id=E,e.alert=!!t.alert,e.label=t.label??"",e.open=!0;let i=Se(e.alert),o=i.querySelector('[data-ref="dialog"]');if(!o)throw new Error("Failed to create the dialog surface.");return o.append(Ce()),t.title&&o.append(Re(t.title)),t.body&&o.append(we(t.body)),t.actions?.length&&o.append(Le(t.actions)),e.append(i),(X??document.body).appendChild(e),G=e,e}function ne(t){if(!(!d||d===t))if(d===E)U();else{let e=ut(d);e&&(e.open=!1)}}function w(t){x();let e=ut(t);e&&(ne(t),e.open=!0,d=t)}function Oe(t){x(),ne(E),ke(t),d=E}function M(t){if(typeof t=="string"){w(t);return}if(re(t)){w(t.id);return}Oe(t)}function L(t){x();let e=t??d;if(e){if(e===E)U();else{let i=ut(e);i&&(i.open=!1)}d===e&&(d=null)}}function ct(t){if(x(),d===t){L(t);return}w(t)}function ae(t){let e=t.detail;if(typeof e=="string"){M(e);return}e&&typeof e=="object"&&M(e)}function le(t){let e=t.detail;L(e?.id)}function se(t){let e=t.detail;e?.id&&ct(e.id)}function ue(t){let e=t.target;if(!e?.closest)return;let i=e.closest("[data-dialog-action]");if(i&&G?.contains(i)){t.preventDefault();let D={value:i.getAttribute("data-dialog-action")||void 0||void 0};G.dispatchEvent(new CustomEvent(lt,{detail:D,bubbles:!0,composed:!0})),i.getAttribute("data-dialog-action-close")!=="false"&&L(E);return}let o=e.closest("[data-dialog-open]");if(o){let g=o.getAttribute("data-dialog-open")?.trim();g&&(t.preventDefault(),w(g));return}let u=e.closest("[data-dialog-close]");if(u){if(u.closest("rui-dialog")?.hasAttribute("open"))return;t.preventDefault(),L()}}function ce(t){let e=t.target?.closest?.("rui-dialog");if(!e)return;let i=e.id||null;i&&d===i&&(i===E&&U(),d=null)}function de(t={}){return N?(t.mount&&(X=t.mount),st):(N=!0,X=t.mount??document.body,document.addEventListener(z,ae),document.addEventListener(H,le),document.addEventListener(K,se),document.addEventListener("click",ue),document.addEventListener("rui-close",ce),st)}function x(){N||de()}function st(){N&&(document.removeEventListener(z,ae),document.removeEventListener(H,le),document.removeEventListener(K,se),document.removeEventListener("click",ue),document.removeEventListener("rui-close",ce),U(),X=null,d=null,N=!1)}function Ne(){return d}function Ge(t){x(),M(t)}function Ue(t){x(),L(t)}function je(t){x(),ct(t)}function Ve(t){x();let e=t?.trim()||void 0;return{open:o=>{if(e){w(e);return}if(o!=null){if(typeof o=="string"){w(o);return}M(o)}},close:o=>{L(o??e)},toggle:o=>{let u=o??e;u&&ct(u)},get openId(){return d}}}export{lt as RUI_DIALOG_ACTION_EVENT,H as RUI_DIALOG_CLOSE_EVENT,E as RUI_DIALOG_HOST_ID,z as RUI_DIALOG_OPEN_EVENT,K as RUI_DIALOG_TOGGLE_EVENT,Te as RuiDialog,ie as RuiDialogActions,ee as RuiDialogBody,oe as RuiDialogClose,Mt as RuiDialogElement,te as RuiDialogTitle,Ue as closeDialog,Ve as createDialogHandle,Ne as getOpenDialogId,de as installDialogs,Ge as openDialog,je as toggleDialog,st as uninstallDialogs};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ui/dialog/dialog.script.tsx", "../../../../src/lib/focusable-elements.ts", "../../../../src/components/ui/dialog/dialog.tsx", "../../../../src/aria.ts", "../../../../src/lib/cx.ts", "../../../../src/components/ui/dialog/dialog-types.ts", "../../../../src/components/ui/dialog/dialog-registry.ts"],
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_open, _init_extra_open, _init_alert, _init_extra_alert, _init_label, _init_extra_label, _init_rootTarget, _init_extra_rootTarget, _init_dialogTarget, _init_extra_dialogTarget, _init_titleTarget, _init_extra_titleTarget, _init_descriptionTarget, _init_extra_descriptionTarget, _init_closeEvent, _init_extra_closeEvent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, bound, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { queryFocusableCandidates } from \"@/lib/focusable-elements\";\nlet _RuiDialog;\nclass RuiDialog extends RadiantElement {\n static {\n ({\n e: [_init_open, _init_extra_open, _init_alert, _init_extra_alert, _init_label, _init_extra_label, _init_rootTarget, _init_extra_rootTarget, _init_dialogTarget, _init_extra_dialogTarget, _init_titleTarget, _init_extra_titleTarget, _init_descriptionTarget, _init_extra_descriptionTarget, _init_closeEvent, _init_extra_closeEvent, _initProto],\n c: [_RuiDialog, _initClass]\n } = _applyDecs(this, [customElement(\"rui-dialog\")], [[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"open\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"alert\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [query({\n ref: \"root\"\n }), 0, \"rootTarget\"], [query({\n ref: \"dialog\"\n }), 0, \"dialogTarget\"], [query({\n selector: \"[data-dialog-title]\"\n }), 0, \"titleTarget\"], [query({\n selector: \"[data-dialog-body]\"\n }), 0, \"descriptionTarget\"], [event({\n name: \"rui-close\",\n bubbles: true,\n composed: true\n }), 0, \"closeEvent\"], [[bound, onUpdated([\"open\", \"label\"])], 2, \"syncOpenState\"], [onEvent({\n document: true,\n type: \"keydown\"\n }), 2, \"onDocumentKeydown\"], [onEvent({\n ref: \"backdrop\",\n type: \"click\"\n }), 2, \"onBackdropClick\"], [onEvent({\n selector: \"[data-dialog-close]\",\n type: \"click\"\n }), 2, \"onCloseClick\"]], 0, void 0, RadiantElement));\n }\n open = (_initProto(this), _init_open(this));\n alert = (_init_extra_open(this), _init_alert(this));\n label = (_init_extra_alert(this), _init_label(this));\n rootTarget = (_init_extra_label(this), _init_rootTarget(this));\n dialogTarget = (_init_extra_rootTarget(this), _init_dialogTarget(this));\n titleTarget = (_init_extra_dialogTarget(this), _init_titleTarget(this));\n descriptionTarget = (_init_extra_titleTarget(this), _init_descriptionTarget(this));\n closeEvent = (_init_extra_descriptionTarget(this), _init_closeEvent(this));\n previouslyFocused = (_init_extra_closeEvent(this), null);\n titleId = `rui-dialog-title-${Math.random().toString(36).slice(2, 9)}`;\n descriptionId = `rui-dialog-desc-${Math.random().toString(36).slice(2, 9)}`;\n onConnected() {\n this.syncOpenState();\n }\n syncOpenState() {\n this.rootTarget?.toggleAttribute(\"hidden\", !this.open);\n if (!this.dialogTarget) {\n return;\n }\n if (this.titleTarget?.textContent?.trim()) {\n this.titleTarget.id = this.titleId;\n this.dialogTarget.setAttribute(\"aria-labelledby\", this.titleId);\n this.dialogTarget.removeAttribute(\"aria-label\");\n } else if (this.label) {\n this.dialogTarget.setAttribute(\"aria-label\", this.label);\n this.dialogTarget.removeAttribute(\"aria-labelledby\");\n }\n if (this.descriptionTarget) {\n this.descriptionTarget.id = this.descriptionId;\n this.dialogTarget.setAttribute(\"aria-describedby\", this.descriptionId);\n } else {\n this.dialogTarget.removeAttribute(\"aria-describedby\");\n }\n if (this.open) {\n this.previouslyFocused = document.activeElement;\n queueMicrotask(() => this.focusInitial());\n } else {\n this.previouslyFocused?.focus?.();\n this.previouslyFocused = null;\n }\n }\n focusInitial() {\n const focusable = this.getFocusable();\n (focusable[0] ?? this.dialogTarget)?.focus();\n }\n getFocusable() {\n return this.dialogTarget ? queryFocusableCandidates(this.dialogTarget) : [];\n }\n dismiss(reason) {\n if (!this.open) {\n return;\n }\n this.open = false;\n this.closeEvent.emit({\n reason\n });\n }\n onDocumentKeydown(event2) {\n if (!this.open) {\n return;\n }\n if (event2.key === \"Escape\") {\n event2.preventDefault();\n this.dismiss(\"escape\");\n return;\n }\n if (event2.key !== \"Tab\") {\n return;\n }\n const focusable = this.getFocusable();\n if (!focusable.length) {\n event2.preventDefault();\n this.dialogTarget.focus();\n return;\n }\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n const active = document.activeElement;\n if (event2.shiftKey && active === first) {\n event2.preventDefault();\n last.focus();\n } else if (!event2.shiftKey && active === last) {\n event2.preventDefault();\n first.focus();\n }\n }\n onBackdropClick() {\n this.dismiss(\"backdrop\");\n }\n onCloseClick() {\n this.dismiss(\"dismiss\");\n }\n static {\n _initClass();\n }\n}\nexport { _RuiDialog as RuiDialog };", "const FOCUSABLE_CANDIDATE_SELECTOR = \"a[href], button, input, select, textarea, [tabindex]\";\nfunction isFocusableCandidate(element) {\n return !element.hasAttribute(\"disabled\") && element.getAttribute(\"tabindex\") !== \"-1\";\n}\nexport function queryFocusableCandidates(root) {\n return Array.from(root.querySelectorAll(FOCUSABLE_CANDIDATE_SELECTOR)).filter(isFocusableCandidate);\n}\nexport function queryRovingTabindexItems(root) {\n return Array.from(root.querySelectorAll(FOCUSABLE_CANDIDATE_SELECTOR)).filter(element => !element.hasAttribute(\"disabled\"));\n}\nexport function findFirstFocusableCandidate(root) {\n return queryFocusableCandidates(root)[0];\n}\nfunction isVisible(element) {\n return element.getClientRects().length > 0 && !element.closest(\"[hidden]\");\n}\nexport function getFocusableElements(root) {\n return queryFocusableCandidates(root).filter(isVisible);\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport \"./dialog.script\";\nexport function RuiDialogTitle({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-dialog-title\": true,\n \"data-ref\": \"title\",\n class: cx(\"rui-dialog__title\", className),\n children\n });\n}\nexport function RuiDialogBody({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-dialog-body\": true,\n \"data-ref\": \"description\",\n class: cx(\"rui-dialog__body\", className),\n children\n });\n}\nexport function RuiDialogActions({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-dialog__actions\", className),\n children\n });\n}\nexport function RuiDialogClose({\n children,\n class: className,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Close\"),\n type: \"button\",\n \"data-dialog-close\": true,\n \"data-ref\": \"close\",\n class: cx(\"rui-dialog__close\", className),\n children: children ?? \"\\xD7\"\n });\n}\nfunction DialogShell({\n alert,\n children,\n open\n}) {\n return /* @__PURE__ */jsxs(\"div\", {\n \"data-ref\": \"root\",\n class: \"rui-dialog\",\n hidden: open ? void 0 : true,\n children: [/* @__PURE__ */jsx(\"div\", {\n \"data-ref\": \"backdrop\",\n class: \"rui-dialog__backdrop\"\n }), /* @__PURE__ */jsx(\"div\", {\n \"data-ref\": \"dialog\",\n class: \"rui-dialog__surface\",\n tabindex: -1,\n role: alert ? \"alertdialog\" : \"dialog\",\n \"aria-modal\": \"true\",\n children\n })]\n });\n}\nexport function RuiDialog({\n title,\n actions,\n children,\n open,\n alert,\n ...props\n}) {\n if (title != null || actions != null) {\n return /* @__PURE__ */jsx(\"rui-dialog\", {\n ...props,\n open,\n alert,\n children: /* @__PURE__ */jsxs(DialogShell, {\n open,\n alert,\n children: [/* @__PURE__ */jsx(RuiDialogClose, {}), title != null ? /* @__PURE__ */jsx(RuiDialogTitle, {\n children: title\n }) : null, children != null ? /* @__PURE__ */jsx(RuiDialogBody, {\n children\n }) : null, actions != null ? /* @__PURE__ */jsx(RuiDialogActions, {\n children: actions\n }) : null]\n })\n });\n }\n return /* @__PURE__ */jsx(\"rui-dialog\", {\n ...props,\n open,\n alert,\n children: /* @__PURE__ */jsx(DialogShell, {\n open,\n alert,\n children\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "export const RUI_DIALOG_HOST_ID = \"__rui-dialog-host\";\nexport const RUI_DIALOG_OPEN_EVENT = \"rui-dialog-open\";\nexport const RUI_DIALOG_CLOSE_EVENT = \"rui-dialog-close\";\nexport const RUI_DIALOG_TOGGLE_EVENT = \"rui-dialog-toggle\";\nexport const RUI_DIALOG_ACTION_EVENT = \"rui-dialog-action\";\nexport function isNamedDialogOpen(detail) {\n return \"id\" in detail && detail.id != null && detail.id !== \"\";\n}", "import \"./dialog.script\";\nimport { RUI_DIALOG_ACTION_EVENT, RUI_DIALOG_CLOSE_EVENT, RUI_DIALOG_HOST_ID, RUI_DIALOG_OPEN_EVENT, RUI_DIALOG_TOGGLE_EVENT, isNamedDialogOpen } from \"./dialog-types\";\nlet installed = false;\nlet mountParent = null;\nlet hostDialog = null;\nlet openId = null;\nfunction resolveDialog(id) {\n const trimmed = id.trim();\n if (!trimmed) {\n return null;\n }\n const byId = document.getElementById(trimmed);\n if (byId?.localName === \"rui-dialog\") {\n return byId;\n }\n return null;\n}\nfunction createCloseButton() {\n const close2 = document.createElement(\"button\");\n close2.type = \"button\";\n close2.setAttribute(\"data-dialog-close\", \"\");\n close2.setAttribute(\"data-ref\", \"close\");\n close2.className = \"rui-dialog__close\";\n close2.setAttribute(\"aria-label\", \"Close\");\n close2.textContent = \"\\xD7\";\n return close2;\n}\nfunction createTitle(title) {\n const el = document.createElement(\"div\");\n el.setAttribute(\"data-dialog-title\", \"\");\n el.setAttribute(\"data-ref\", \"title\");\n el.className = \"rui-dialog__title\";\n el.textContent = title;\n return el;\n}\nfunction createBody(body) {\n const el = document.createElement(\"div\");\n el.setAttribute(\"data-dialog-body\", \"\");\n el.setAttribute(\"data-ref\", \"description\");\n el.className = \"rui-dialog__body\";\n const paragraph = document.createElement(\"p\");\n paragraph.textContent = body;\n el.append(paragraph);\n return el;\n}\nfunction createActions(actions) {\n const row = document.createElement(\"div\");\n row.className = \"rui-dialog__actions\";\n for (const action of actions) {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = `rui-button rui-button--${action.variant ?? \"filled\"} rui-button--${action.size ?? \"md\"}`;\n button.setAttribute(\"data-dialog-action\", action.value ?? \"\");\n if (action.closeOnClick === false) {\n button.setAttribute(\"data-dialog-action-close\", \"false\");\n }\n button.textContent = action.label;\n row.append(button);\n }\n return row;\n}\nfunction createDialogSurface(alert) {\n const root = document.createElement(\"div\");\n root.dataset.ref = \"root\";\n root.className = \"rui-dialog\";\n const backdrop = document.createElement(\"div\");\n backdrop.setAttribute(\"data-ref\", \"backdrop\");\n backdrop.className = \"rui-dialog__backdrop\";\n const surface = document.createElement(\"div\");\n surface.setAttribute(\"data-ref\", \"dialog\");\n surface.className = \"rui-dialog__surface\";\n surface.tabIndex = -1;\n surface.setAttribute(\"role\", alert ? \"alertdialog\" : \"dialog\");\n surface.setAttribute(\"aria-modal\", \"true\");\n root.append(backdrop, surface);\n return root;\n}\nfunction destroyHostDialog() {\n hostDialog?.remove();\n hostDialog = null;\n}\nfunction mountHostDialog(options) {\n destroyHostDialog();\n const dialog = document.createElement(\"rui-dialog\");\n dialog.id = RUI_DIALOG_HOST_ID;\n dialog.alert = Boolean(options.alert);\n dialog.label = options.label ?? \"\";\n dialog.open = true;\n const shell = createDialogSurface(dialog.alert);\n const surface = shell.querySelector('[data-ref=\"dialog\"]');\n if (!surface) {\n throw new Error(\"Failed to create the dialog surface.\");\n }\n surface.append(createCloseButton());\n if (options.title) {\n surface.append(createTitle(options.title));\n }\n if (options.body) {\n surface.append(createBody(options.body));\n }\n if (options.actions?.length) {\n surface.append(createActions(options.actions));\n }\n dialog.append(shell);\n (mountParent ?? document.body).appendChild(dialog);\n hostDialog = dialog;\n return dialog;\n}\nfunction closeCurrentExcept(nextId) {\n if (!openId || openId === nextId) {\n return;\n }\n if (openId === RUI_DIALOG_HOST_ID) {\n destroyHostDialog();\n } else {\n const dialog = resolveDialog(openId);\n if (dialog) {\n dialog.open = false;\n }\n }\n}\nfunction openNamed(id) {\n ensureInstalled();\n const dialog = resolveDialog(id);\n if (!dialog) {\n return;\n }\n closeCurrentExcept(id);\n dialog.open = true;\n openId = id;\n}\nfunction openHost(options) {\n ensureInstalled();\n closeCurrentExcept(RUI_DIALOG_HOST_ID);\n mountHostDialog(options);\n openId = RUI_DIALOG_HOST_ID;\n}\nfunction open(idOrOptions) {\n if (typeof idOrOptions === \"string\") {\n openNamed(idOrOptions);\n return;\n }\n if (isNamedDialogOpen(idOrOptions)) {\n openNamed(idOrOptions.id);\n return;\n }\n openHost(idOrOptions);\n}\nfunction close(id) {\n ensureInstalled();\n const targetId = id ?? openId;\n if (!targetId) {\n return;\n }\n if (targetId === RUI_DIALOG_HOST_ID) {\n destroyHostDialog();\n } else {\n const dialog = resolveDialog(targetId);\n if (dialog) {\n dialog.open = false;\n }\n }\n if (openId === targetId) {\n openId = null;\n }\n}\nfunction toggle(id) {\n ensureInstalled();\n if (openId === id) {\n close(id);\n return;\n }\n openNamed(id);\n}\nfunction onOpenEvent(event) {\n const detail = event.detail;\n if (typeof detail === \"string\") {\n open(detail);\n return;\n }\n if (detail && typeof detail === \"object\") {\n open(detail);\n }\n}\nfunction onCloseEvent(event) {\n const detail = event.detail;\n close(detail?.id);\n}\nfunction onToggleEvent(event) {\n const detail = event.detail;\n if (detail?.id) {\n toggle(detail.id);\n }\n}\nfunction onDocumentClick(event) {\n const target = event.target;\n if (!target?.closest) {\n return;\n }\n const action = target.closest(\"[data-dialog-action]\");\n if (action && hostDialog?.contains(action)) {\n event.preventDefault();\n const value = action.getAttribute(\"data-dialog-action\") || void 0;\n const detail = {\n value: value || void 0\n };\n hostDialog.dispatchEvent(new CustomEvent(RUI_DIALOG_ACTION_EVENT, {\n detail,\n bubbles: true,\n composed: true\n }));\n if (action.getAttribute(\"data-dialog-action-close\") !== \"false\") {\n close(RUI_DIALOG_HOST_ID);\n }\n return;\n }\n const openTrigger = target.closest(\"[data-dialog-open]\");\n if (openTrigger) {\n const id = openTrigger.getAttribute(\"data-dialog-open\")?.trim();\n if (id) {\n event.preventDefault();\n openNamed(id);\n }\n return;\n }\n const closeTrigger = target.closest(\"[data-dialog-close]\");\n if (closeTrigger) {\n const insideDialog = closeTrigger.closest(\"rui-dialog\");\n if (insideDialog?.hasAttribute(\"open\")) {\n return;\n }\n event.preventDefault();\n close();\n }\n}\nfunction onRuiClose(event) {\n const dialog = event.target?.closest?.(\"rui-dialog\");\n if (!dialog) {\n return;\n }\n const id = dialog.id || null;\n if (id && openId === id) {\n if (id === RUI_DIALOG_HOST_ID) {\n destroyHostDialog();\n }\n openId = null;\n }\n}\nexport function installDialogs(options = {}) {\n if (installed) {\n if (options.mount) {\n mountParent = options.mount;\n }\n return uninstallDialogs;\n }\n installed = true;\n mountParent = options.mount ?? document.body;\n document.addEventListener(RUI_DIALOG_OPEN_EVENT, onOpenEvent);\n document.addEventListener(RUI_DIALOG_CLOSE_EVENT, onCloseEvent);\n document.addEventListener(RUI_DIALOG_TOGGLE_EVENT, onToggleEvent);\n document.addEventListener(\"click\", onDocumentClick);\n document.addEventListener(\"rui-close\", onRuiClose);\n return uninstallDialogs;\n}\nfunction ensureInstalled() {\n if (!installed) {\n installDialogs();\n }\n}\nexport function uninstallDialogs() {\n if (!installed) {\n return;\n }\n document.removeEventListener(RUI_DIALOG_OPEN_EVENT, onOpenEvent);\n document.removeEventListener(RUI_DIALOG_CLOSE_EVENT, onCloseEvent);\n document.removeEventListener(RUI_DIALOG_TOGGLE_EVENT, onToggleEvent);\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"rui-close\", onRuiClose);\n destroyHostDialog();\n mountParent = null;\n openId = null;\n installed = false;\n}\nexport function getOpenDialogId() {\n return openId;\n}\nexport function openDialog(idOrOptions) {\n ensureInstalled();\n open(idOrOptions);\n}\nexport function closeDialog(id) {\n ensureInstalled();\n close(id);\n}\nexport function toggleDialog(id) {\n ensureInstalled();\n toggle(id);\n}\nexport function createDialogHandle(id) {\n ensureInstalled();\n const boundId = id?.trim() || void 0;\n const handleOpen = idOrOptions => {\n if (boundId) {\n openNamed(boundId);\n return;\n }\n if (idOrOptions == null) {\n return;\n }\n if (typeof idOrOptions === \"string\") {\n openNamed(idOrOptions);\n return;\n }\n open(idOrOptions);\n };\n return {\n open: handleOpen,\n close: closeId => {\n close(closeId ?? boundId);\n },\n toggle: toggleId => {\n const target = toggleId ?? boundId;\n if (target) {\n toggle(target);\n }\n },\n get openId() {\n return openId;\n }\n };\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["RadiantElement", "bound", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "FOCUSABLE_CANDIDATE_SELECTOR", "isFocusableCandidate", "element", "queryFocusableCandidates", "root", "_initProto", "_initClass", "_init_open", "_init_extra_open", "_init_alert", "_init_extra_alert", "_init_label", "_init_extra_label", "
|
|
3
|
+
"sources": ["../../../../src/components/ui/dialog/dialog.script.tsx", "../../../../src/lib/focusable-elements.ts", "../../../../src/lib/unique-id.ts", "../../../../src/components/ui/dialog/dialog.tsx", "../../../../src/aria.ts", "../../../../src/lib/cx.ts", "../../../../src/lib/icons/x.tsx", "../../../../src/components/ui/dialog/dialog-types.ts", "../../../../src/components/ui/dialog/dialog-registry.ts"],
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_open, _init_extra_open, _init_alert, _init_extra_alert, _init_label, _init_extra_label, _init_dialogTarget, _init_extra_dialogTarget, _init_titleTarget, _init_extra_titleTarget, _init_descriptionTarget, _init_extra_descriptionTarget, _init_closeEvent, _init_extra_closeEvent;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { RadiantElement, bindTo, bound, customElement, event, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { queryFocusableCandidates } from \"@/lib/focusable-elements\";\nimport { uniqueId } from \"@/lib/unique-id\";\nlet _RuiDialog;\nclass RuiDialog extends RadiantElement {\n static {\n ({\n e: [_init_open, _init_extra_open, _init_alert, _init_extra_alert, _init_label, _init_extra_label, _init_dialogTarget, _init_extra_dialogTarget, _init_titleTarget, _init_extra_titleTarget, _init_descriptionTarget, _init_extra_descriptionTarget, _init_closeEvent, _init_extra_closeEvent, _initProto],\n c: [_RuiDialog, _initClass]\n } = _applyDecs(this, [customElement(\"rui-dialog\")], [[[prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), bindTo({\n ref: \"root\",\n bool: \"hidden\",\n invert: true\n })], 0, \"open\"], [prop({\n type: Boolean,\n reflect: true,\n defaultValue: false\n }), 0, \"alert\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"label\"], [query({\n ref: \"dialog\"\n }), 0, \"dialogTarget\"], [query({\n selector: \"[data-dialog-title]\"\n }), 0, \"titleTarget\"], [query({\n selector: \"[data-dialog-body]\"\n }), 0, \"descriptionTarget\"], [event({\n name: \"rui-close\",\n bubbles: true,\n composed: true\n }), 0, \"closeEvent\"], [[bound, onUpdated([\"open\", \"label\"])], 2, \"syncOpenState\"], [onEvent({\n document: true,\n type: \"keydown\"\n }), 2, \"onDocumentKeydown\"], [onEvent({\n ref: \"backdrop\",\n type: \"click\"\n }), 2, \"onBackdropClick\"], [onEvent({\n selector: \"[data-dialog-close]\",\n type: \"click\"\n }), 2, \"onCloseClick\"]], 0, void 0, RadiantElement));\n }\n open = (_initProto(this), _init_open(this));\n alert = (_init_extra_open(this), _init_alert(this));\n label = (_init_extra_alert(this), _init_label(this));\n dialogTarget = (_init_extra_label(this), _init_dialogTarget(this));\n titleTarget = (_init_extra_dialogTarget(this), _init_titleTarget(this));\n descriptionTarget = (_init_extra_titleTarget(this), _init_descriptionTarget(this));\n closeEvent = (_init_extra_descriptionTarget(this), _init_closeEvent(this));\n previouslyFocused = (_init_extra_closeEvent(this), null);\n uid = uniqueId(\"rui-dialog\");\n get titleId() {\n return `${this.uid}-title`;\n }\n get descriptionId() {\n return `${this.uid}-desc`;\n }\n onConnected() {\n this.syncOpenState();\n }\n syncOpenState() {\n if (!this.dialogTarget) {\n return;\n }\n if (this.titleTarget?.textContent?.trim()) {\n this.titleTarget.id = this.titleId;\n this.dialogTarget.setAttribute(\"aria-labelledby\", this.titleId);\n this.dialogTarget.removeAttribute(\"aria-label\");\n } else if (this.label) {\n this.dialogTarget.setAttribute(\"aria-label\", this.label);\n this.dialogTarget.removeAttribute(\"aria-labelledby\");\n }\n if (this.descriptionTarget) {\n this.descriptionTarget.id = this.descriptionId;\n this.dialogTarget.setAttribute(\"aria-describedby\", this.descriptionId);\n } else {\n this.dialogTarget.removeAttribute(\"aria-describedby\");\n }\n if (this.open) {\n this.previouslyFocused = document.activeElement;\n queueMicrotask(() => this.focusInitial());\n } else {\n this.previouslyFocused?.focus?.();\n this.previouslyFocused = null;\n }\n }\n focusInitial() {\n const focusable = this.getFocusable();\n (focusable[0] ?? this.dialogTarget)?.focus();\n }\n getFocusable() {\n return this.dialogTarget ? queryFocusableCandidates(this.dialogTarget) : [];\n }\n dismiss(reason) {\n if (!this.open) {\n return;\n }\n this.open = false;\n this.closeEvent.emit({\n reason\n });\n }\n onDocumentKeydown(event2) {\n if (!this.open) {\n return;\n }\n if (event2.key === \"Escape\") {\n event2.preventDefault();\n this.dismiss(\"escape\");\n return;\n }\n if (event2.key !== \"Tab\") {\n return;\n }\n const focusable = this.getFocusable();\n if (!focusable.length) {\n event2.preventDefault();\n this.dialogTarget.focus();\n return;\n }\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n const active = document.activeElement;\n if (event2.shiftKey && active === first) {\n event2.preventDefault();\n last.focus();\n } else if (!event2.shiftKey && active === last) {\n event2.preventDefault();\n first.focus();\n }\n }\n onBackdropClick() {\n this.dismiss(\"backdrop\");\n }\n onCloseClick() {\n this.dismiss(\"dismiss\");\n }\n static {\n _initClass();\n }\n}\nexport { _RuiDialog as RuiDialog };", "const FOCUSABLE_CANDIDATE_SELECTOR = \"a[href], button, input, select, textarea, [tabindex]\";\nfunction isFocusableCandidate(element) {\n return !element.hasAttribute(\"disabled\") && element.getAttribute(\"tabindex\") !== \"-1\";\n}\nexport function queryFocusableCandidates(root) {\n return Array.from(root.querySelectorAll(FOCUSABLE_CANDIDATE_SELECTOR)).filter(isFocusableCandidate);\n}\nexport function queryRovingTabindexItems(root) {\n return Array.from(root.querySelectorAll(FOCUSABLE_CANDIDATE_SELECTOR)).filter(element => !element.hasAttribute(\"disabled\"));\n}\nexport function findFirstFocusableCandidate(root) {\n return queryFocusableCandidates(root)[0];\n}\nfunction isVisible(element) {\n return element.getClientRects().length > 0 && !element.closest(\"[hidden]\");\n}\nexport function getFocusableElements(root) {\n return queryFocusableCandidates(root).filter(isVisible);\n}", "const CSS_SAFE_ID = /^[A-Za-z][A-Za-z0-9_-]*$/;\nexport function isCssSafeId(value) {\n return CSS_SAFE_ID.test(value);\n}\nfunction cssSafePrefix(prefix) {\n const trimmed = prefix.trim();\n if (isCssSafeId(trimmed)) {\n return trimmed;\n }\n const prefixed = `rui-${trimmed}`;\n if (trimmed && isCssSafeId(prefixed)) {\n return prefixed;\n }\n return \"rui\";\n}\nexport function uniqueId(prefix) {\n const token = typeof crypto.randomUUID === \"function\" ? crypto.randomUUID().replace(/-/g, \"\") : Array.from(crypto.getRandomValues(new Uint8Array(16)), byte => byte.toString(16).padStart(2, \"0\")).join(\"\");\n return `${cssSafePrefix(prefix)}-${token}`;\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { withDefaultAriaLabel } from \"@/aria\";\nimport { cx } from \"@/lib/cx\";\nimport { RuiIconX } from \"@/lib/icons\";\nimport \"./dialog.script\";\nexport function RuiDialogTitle({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-dialog-title\": true,\n \"data-ref\": \"title\",\n class: cx(\"rui-dialog__title\", className),\n children\n });\n}\nexport function RuiDialogBody({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n \"data-dialog-body\": true,\n \"data-ref\": \"description\",\n class: cx(\"rui-dialog__body\", className),\n children\n });\n}\nexport function RuiDialogActions({\n children,\n class: className,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"div\", {\n ...props,\n class: cx(\"rui-dialog__actions\", className),\n children\n });\n}\nexport function RuiDialogClose({\n children,\n class: className,\n aria,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"button\", {\n ...props,\n aria: withDefaultAriaLabel(aria, \"Close\"),\n type: \"button\",\n \"data-dialog-close\": true,\n \"data-ref\": \"close\",\n class: cx(\"rui-dialog__close\", className),\n children: children ?? /* @__PURE__ */jsx(RuiIconX, {})\n });\n}\nfunction DialogShell({\n alert,\n children,\n open\n}) {\n return /* @__PURE__ */jsxs(\"div\", {\n \"data-ref\": \"root\",\n class: \"rui-dialog\",\n hidden: open ? void 0 : true,\n children: [/* @__PURE__ */jsx(\"div\", {\n \"data-ref\": \"backdrop\",\n class: \"rui-dialog__backdrop\"\n }), /* @__PURE__ */jsx(\"div\", {\n \"data-ref\": \"dialog\",\n class: \"rui-dialog__surface\",\n tabindex: -1,\n role: alert ? \"alertdialog\" : \"dialog\",\n \"aria-modal\": \"true\",\n children\n })]\n });\n}\nexport function RuiDialog({\n title,\n actions,\n children,\n open,\n alert,\n ...props\n}) {\n if (title != null || actions != null) {\n return /* @__PURE__ */jsx(\"rui-dialog\", {\n ...props,\n open,\n alert,\n children: /* @__PURE__ */jsxs(DialogShell, {\n open,\n alert,\n children: [/* @__PURE__ */jsx(RuiDialogClose, {}), title != null ? /* @__PURE__ */jsx(RuiDialogTitle, {\n children: title\n }) : null, children != null ? /* @__PURE__ */jsx(RuiDialogBody, {\n children\n }) : null, actions != null ? /* @__PURE__ */jsx(RuiDialogActions, {\n children: actions\n }) : null]\n })\n });\n }\n return /* @__PURE__ */jsx(\"rui-dialog\", {\n ...props,\n open,\n alert,\n children: /* @__PURE__ */jsx(DialogShell, {\n open,\n alert,\n children\n })\n });\n}", "export function withDefaultAriaLabel(aria, fallback) {\n if (fallback === void 0 || aria?.label !== void 0) {\n return aria;\n }\n return {\n ...aria,\n label: fallback\n };\n}", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nexport function RuiIconX({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"m18 6-12 12\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6 6 12 12\"\n })]\n });\n}\nexport function createRuiIconX() {\n const icon = document.createElementNS(SVG_NAMESPACE, \"svg\");\n icon.setAttribute(\"class\", \"rui-icon\");\n icon.setAttribute(\"viewBox\", \"0 0 24 24\");\n icon.setAttribute(\"fill\", \"none\");\n icon.setAttribute(\"stroke\", \"currentColor\");\n icon.setAttribute(\"stroke-width\", \"2\");\n icon.setAttribute(\"stroke-linecap\", \"round\");\n icon.setAttribute(\"stroke-linejoin\", \"round\");\n icon.setAttribute(\"aria-hidden\", \"true\");\n for (const d of [\"m18 6-12 12\", \"m6 6 12 12\"]) {\n const path = document.createElementNS(SVG_NAMESPACE, \"path\");\n path.setAttribute(\"d\", d);\n icon.append(path);\n }\n return icon;\n}", "export const RUI_DIALOG_HOST_ID = \"__rui-dialog-host\";\nexport const RUI_DIALOG_OPEN_EVENT = \"rui-dialog-open\";\nexport const RUI_DIALOG_CLOSE_EVENT = \"rui-dialog-close\";\nexport const RUI_DIALOG_TOGGLE_EVENT = \"rui-dialog-toggle\";\nexport const RUI_DIALOG_ACTION_EVENT = \"rui-dialog-action\";\nexport function isNamedDialogOpen(detail) {\n return \"id\" in detail && detail.id != null && detail.id !== \"\";\n}", "import \"./dialog.script\";\nimport { createRuiIconX } from \"@/lib/icons/x\";\nimport { RUI_DIALOG_ACTION_EVENT, RUI_DIALOG_CLOSE_EVENT, RUI_DIALOG_HOST_ID, RUI_DIALOG_OPEN_EVENT, RUI_DIALOG_TOGGLE_EVENT, isNamedDialogOpen } from \"./dialog-types\";\nlet installed = false;\nlet mountParent = null;\nlet hostDialog = null;\nlet openId = null;\nfunction resolveDialog(id) {\n const trimmed = id.trim();\n if (!trimmed) {\n return null;\n }\n const byId = document.getElementById(trimmed);\n if (byId?.localName === \"rui-dialog\") {\n return byId;\n }\n return null;\n}\nfunction createCloseButton() {\n const close2 = document.createElement(\"button\");\n close2.type = \"button\";\n close2.setAttribute(\"data-dialog-close\", \"\");\n close2.setAttribute(\"data-ref\", \"close\");\n close2.className = \"rui-dialog__close\";\n close2.setAttribute(\"aria-label\", \"Close\");\n close2.append(createRuiIconX());\n return close2;\n}\nfunction createTitle(title) {\n const el = document.createElement(\"div\");\n el.setAttribute(\"data-dialog-title\", \"\");\n el.setAttribute(\"data-ref\", \"title\");\n el.className = \"rui-dialog__title\";\n el.textContent = title;\n return el;\n}\nfunction createBody(body) {\n const el = document.createElement(\"div\");\n el.setAttribute(\"data-dialog-body\", \"\");\n el.setAttribute(\"data-ref\", \"description\");\n el.className = \"rui-dialog__body\";\n const paragraph = document.createElement(\"p\");\n paragraph.textContent = body;\n el.append(paragraph);\n return el;\n}\nfunction createActions(actions) {\n const row = document.createElement(\"div\");\n row.className = \"rui-dialog__actions\";\n for (const action of actions) {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.className = `rui-button rui-button--${action.variant ?? \"filled\"} rui-button--${action.size ?? \"md\"}`;\n button.setAttribute(\"data-dialog-action\", action.value ?? \"\");\n if (action.closeOnClick === false) {\n button.setAttribute(\"data-dialog-action-close\", \"false\");\n }\n button.textContent = action.label;\n row.append(button);\n }\n return row;\n}\nfunction createDialogSurface(alert) {\n const root = document.createElement(\"div\");\n root.dataset.ref = \"root\";\n root.className = \"rui-dialog\";\n const backdrop = document.createElement(\"div\");\n backdrop.setAttribute(\"data-ref\", \"backdrop\");\n backdrop.className = \"rui-dialog__backdrop\";\n const surface = document.createElement(\"div\");\n surface.setAttribute(\"data-ref\", \"dialog\");\n surface.className = \"rui-dialog__surface\";\n surface.tabIndex = -1;\n surface.setAttribute(\"role\", alert ? \"alertdialog\" : \"dialog\");\n surface.setAttribute(\"aria-modal\", \"true\");\n root.append(backdrop, surface);\n return root;\n}\nfunction destroyHostDialog() {\n hostDialog?.remove();\n hostDialog = null;\n}\nfunction mountHostDialog(options) {\n destroyHostDialog();\n const dialog = document.createElement(\"rui-dialog\");\n dialog.id = RUI_DIALOG_HOST_ID;\n dialog.alert = Boolean(options.alert);\n dialog.label = options.label ?? \"\";\n dialog.open = true;\n const shell = createDialogSurface(dialog.alert);\n const surface = shell.querySelector('[data-ref=\"dialog\"]');\n if (!surface) {\n throw new Error(\"Failed to create the dialog surface.\");\n }\n surface.append(createCloseButton());\n if (options.title) {\n surface.append(createTitle(options.title));\n }\n if (options.body) {\n surface.append(createBody(options.body));\n }\n if (options.actions?.length) {\n surface.append(createActions(options.actions));\n }\n dialog.append(shell);\n (mountParent ?? document.body).appendChild(dialog);\n hostDialog = dialog;\n return dialog;\n}\nfunction closeCurrentExcept(nextId) {\n if (!openId || openId === nextId) {\n return;\n }\n if (openId === RUI_DIALOG_HOST_ID) {\n destroyHostDialog();\n } else {\n const dialog = resolveDialog(openId);\n if (dialog) {\n dialog.open = false;\n }\n }\n}\nfunction openNamed(id) {\n ensureInstalled();\n const dialog = resolveDialog(id);\n if (!dialog) {\n return;\n }\n closeCurrentExcept(id);\n dialog.open = true;\n openId = id;\n}\nfunction openHost(options) {\n ensureInstalled();\n closeCurrentExcept(RUI_DIALOG_HOST_ID);\n mountHostDialog(options);\n openId = RUI_DIALOG_HOST_ID;\n}\nfunction open(idOrOptions) {\n if (typeof idOrOptions === \"string\") {\n openNamed(idOrOptions);\n return;\n }\n if (isNamedDialogOpen(idOrOptions)) {\n openNamed(idOrOptions.id);\n return;\n }\n openHost(idOrOptions);\n}\nfunction close(id) {\n ensureInstalled();\n const targetId = id ?? openId;\n if (!targetId) {\n return;\n }\n if (targetId === RUI_DIALOG_HOST_ID) {\n destroyHostDialog();\n } else {\n const dialog = resolveDialog(targetId);\n if (dialog) {\n dialog.open = false;\n }\n }\n if (openId === targetId) {\n openId = null;\n }\n}\nfunction toggle(id) {\n ensureInstalled();\n if (openId === id) {\n close(id);\n return;\n }\n openNamed(id);\n}\nfunction onOpenEvent(event) {\n const detail = event.detail;\n if (typeof detail === \"string\") {\n open(detail);\n return;\n }\n if (detail && typeof detail === \"object\") {\n open(detail);\n }\n}\nfunction onCloseEvent(event) {\n const detail = event.detail;\n close(detail?.id);\n}\nfunction onToggleEvent(event) {\n const detail = event.detail;\n if (detail?.id) {\n toggle(detail.id);\n }\n}\nfunction onDocumentClick(event) {\n const target = event.target;\n if (!target?.closest) {\n return;\n }\n const action = target.closest(\"[data-dialog-action]\");\n if (action && hostDialog?.contains(action)) {\n event.preventDefault();\n const value = action.getAttribute(\"data-dialog-action\") || void 0;\n const detail = {\n value: value || void 0\n };\n hostDialog.dispatchEvent(new CustomEvent(RUI_DIALOG_ACTION_EVENT, {\n detail,\n bubbles: true,\n composed: true\n }));\n if (action.getAttribute(\"data-dialog-action-close\") !== \"false\") {\n close(RUI_DIALOG_HOST_ID);\n }\n return;\n }\n const openTrigger = target.closest(\"[data-dialog-open]\");\n if (openTrigger) {\n const id = openTrigger.getAttribute(\"data-dialog-open\")?.trim();\n if (id) {\n event.preventDefault();\n openNamed(id);\n }\n return;\n }\n const closeTrigger = target.closest(\"[data-dialog-close]\");\n if (closeTrigger) {\n const insideDialog = closeTrigger.closest(\"rui-dialog\");\n if (insideDialog?.hasAttribute(\"open\")) {\n return;\n }\n event.preventDefault();\n close();\n }\n}\nfunction onRuiClose(event) {\n const dialog = event.target?.closest?.(\"rui-dialog\");\n if (!dialog) {\n return;\n }\n const id = dialog.id || null;\n if (id && openId === id) {\n if (id === RUI_DIALOG_HOST_ID) {\n destroyHostDialog();\n }\n openId = null;\n }\n}\nexport function installDialogs(options = {}) {\n if (installed) {\n if (options.mount) {\n mountParent = options.mount;\n }\n return uninstallDialogs;\n }\n installed = true;\n mountParent = options.mount ?? document.body;\n document.addEventListener(RUI_DIALOG_OPEN_EVENT, onOpenEvent);\n document.addEventListener(RUI_DIALOG_CLOSE_EVENT, onCloseEvent);\n document.addEventListener(RUI_DIALOG_TOGGLE_EVENT, onToggleEvent);\n document.addEventListener(\"click\", onDocumentClick);\n document.addEventListener(\"rui-close\", onRuiClose);\n return uninstallDialogs;\n}\nfunction ensureInstalled() {\n if (!installed) {\n installDialogs();\n }\n}\nexport function uninstallDialogs() {\n if (!installed) {\n return;\n }\n document.removeEventListener(RUI_DIALOG_OPEN_EVENT, onOpenEvent);\n document.removeEventListener(RUI_DIALOG_CLOSE_EVENT, onCloseEvent);\n document.removeEventListener(RUI_DIALOG_TOGGLE_EVENT, onToggleEvent);\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"rui-close\", onRuiClose);\n destroyHostDialog();\n mountParent = null;\n openId = null;\n installed = false;\n}\nexport function getOpenDialogId() {\n return openId;\n}\nexport function openDialog(idOrOptions) {\n ensureInstalled();\n open(idOrOptions);\n}\nexport function closeDialog(id) {\n ensureInstalled();\n close(id);\n}\nexport function toggleDialog(id) {\n ensureInstalled();\n toggle(id);\n}\nexport function createDialogHandle(id) {\n ensureInstalled();\n const boundId = id?.trim() || void 0;\n const handleOpen = idOrOptions => {\n if (boundId) {\n openNamed(boundId);\n return;\n }\n if (idOrOptions == null) {\n return;\n }\n if (typeof idOrOptions === \"string\") {\n openNamed(idOrOptions);\n return;\n }\n open(idOrOptions);\n };\n return {\n open: handleOpen,\n close: closeId => {\n close(closeId ?? boundId);\n },\n toggle: toggleId => {\n const target = toggleId ?? boundId;\n if (target) {\n toggle(target);\n }\n },\n get openId() {\n return openId;\n }\n };\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RadiantElement", "bindTo", "bound", "customElement", "event", "onEvent", "onUpdated", "prop", "query", "FOCUSABLE_CANDIDATE_SELECTOR", "isFocusableCandidate", "element", "queryFocusableCandidates", "root", "CSS_SAFE_ID", "isCssSafeId", "value", "cssSafePrefix", "prefix", "trimmed", "prefixed", "uniqueId", "token", "byte", "_initProto", "_initClass", "_init_open", "_init_extra_open", "_init_alert", "_init_extra_alert", "_init_label", "_init_extra_label", "_init_dialogTarget", "_init_extra_dialogTarget", "_init_titleTarget", "_init_extra_titleTarget", "_init_descriptionTarget", "_init_extra_descriptionTarget", "_init_closeEvent", "_init_extra_closeEvent", "_applyDecs", "e", "t", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiDialog", "RuiDialog", "RadiantElement", "customElement", "prop", "bindTo", "query", "event", "bound", "onUpdated", "onEvent", "uniqueId", "queryFocusableCandidates", "reason", "event2", "focusable", "first", "last", "active", "jsx", "jsxs", "withDefaultAriaLabel", "aria", "fallback", "cx", "parts", "jsx", "jsxs", "SVG_NAMESPACE", "RuiIconX", "className", "size", "props", "jsxs", "cx", "jsx", "createRuiIconX", "icon", "d", "path", "RuiDialogTitle", "children", "className", "props", "jsx", "cx", "RuiDialogBody", "RuiDialogActions", "RuiDialogClose", "aria", "withDefaultAriaLabel", "RuiIconX", "DialogShell", "alert", "open", "jsxs", "RuiDialog", "title", "actions", "RUI_DIALOG_HOST_ID", "RUI_DIALOG_OPEN_EVENT", "RUI_DIALOG_CLOSE_EVENT", "RUI_DIALOG_TOGGLE_EVENT", "RUI_DIALOG_ACTION_EVENT", "isNamedDialogOpen", "detail", "installed", "mountParent", "hostDialog", "openId", "resolveDialog", "id", "trimmed", "byId", "createCloseButton", "close2", "createRuiIconX", "createTitle", "title", "el", "createBody", "body", "paragraph", "createActions", "actions", "row", "action", "button", "createDialogSurface", "alert", "root", "backdrop", "surface", "destroyHostDialog", "mountHostDialog", "options", "dialog", "RUI_DIALOG_HOST_ID", "shell", "closeCurrentExcept", "nextId", "openNamed", "ensureInstalled", "openHost", "open", "idOrOptions", "isNamedDialogOpen", "close", "targetId", "toggle", "onOpenEvent", "event", "detail", "onCloseEvent", "onToggleEvent", "onDocumentClick", "target", "RUI_DIALOG_ACTION_EVENT", "openTrigger", "closeTrigger", "onRuiClose", "installDialogs", "uninstallDialogs", "RUI_DIALOG_OPEN_EVENT", "RUI_DIALOG_CLOSE_EVENT", "RUI_DIALOG_TOGGLE_EVENT", "getOpenDialogId", "openDialog", "closeDialog", "toggleDialog", "createDialogHandle", "boundId", "closeId", "toggleId"]
|
|
7
7
|
}
|
|
@@ -8,15 +8,31 @@ export type RuiDisclosureGroupProps = {
|
|
|
8
8
|
/**
|
|
9
9
|
* `<rui-disclosure-group>` — coordinates stacked disclosures (accordion-style).
|
|
10
10
|
*
|
|
11
|
+
* The custom element is a behavior host: it does not render disclosure markup.
|
|
12
|
+
* Place `rui-disclosure` children that each implement the disclosure contract.
|
|
13
|
+
*
|
|
11
14
|
* When `multiple` is `false` (default), opening one disclosure closes the others.
|
|
12
|
-
* Supports APG accordion keyboard navigation between triggers
|
|
13
|
-
*
|
|
15
|
+
* Supports APG accordion keyboard navigation between triggers.
|
|
16
|
+
*
|
|
17
|
+
* ## Light-DOM contract
|
|
18
|
+
*
|
|
19
|
+
* Required:
|
|
20
|
+
* - `rui-disclosure` — one disclosure per section. Host listens for
|
|
21
|
+
* `rui-disclosure-toggle` and propagates `animated` to each child.
|
|
22
|
+
* - `[data-disclosure-trigger]` — inside each `rui-disclosure`. Host applies
|
|
23
|
+
* roving `tabIndex` across all triggers in the group.
|
|
24
|
+
*
|
|
25
|
+
* Do not fight `open` on child disclosures when `multiple` is `false` — the
|
|
26
|
+
* host closes siblings when one opens.
|
|
27
|
+
*
|
|
28
|
+
* Nested hosts:
|
|
29
|
+
* - `rui-disclosure` — each child owns `[data-disclosure-trigger]` and
|
|
30
|
+
* `[data-disclosure-panel]`; see `rui-disclosure` CE TSDoc.
|
|
14
31
|
*
|
|
15
32
|
* @see https://www.w3.org/WAI/ARIA/apg/patterns/accordion/
|
|
16
33
|
* @element rui-disclosure-group
|
|
17
34
|
* @attr {boolean} multiple - Allow more than one disclosure to stay open. Default: `false` (exclusive).
|
|
18
35
|
* @attr {boolean} animated - Animate panel height for child disclosures. Default: `false`.
|
|
19
|
-
* @cssclass rui-disclosure-group - Group surface (bordered card around stacked disclosures).
|
|
20
36
|
*/
|
|
21
37
|
export declare class RuiDisclosureGroup extends RadiantElement {
|
|
22
38
|
multiple: boolean;
|
|
@@ -59,14 +59,11 @@ rui-disclosure {
|
|
|
59
59
|
color 150ms ease;
|
|
60
60
|
}
|
|
61
61
|
.rui-disclosure__icon--chevron {
|
|
62
|
-
width:
|
|
63
|
-
height:
|
|
64
|
-
border-top: 4px solid transparent;
|
|
65
|
-
border-bottom: 4px solid transparent;
|
|
66
|
-
border-left: 6px solid currentColor;
|
|
62
|
+
width: var(--spacing-4, var(--space-4));
|
|
63
|
+
height: var(--spacing-4, var(--space-4));
|
|
67
64
|
}
|
|
68
65
|
.rui-disclosure__trigger[aria-expanded='true'] .rui-disclosure__icon--chevron {
|
|
69
|
-
transform: rotate(
|
|
66
|
+
transform: rotate(180deg);
|
|
70
67
|
}
|
|
71
68
|
.rui-disclosure__icon--plus {
|
|
72
69
|
width: var(--spacing-5, var(--space-5));
|
|
@@ -10,18 +10,17 @@ export type RuiDisclosureIconProps = JsxElementProps<HTMLSpanElement> & {
|
|
|
10
10
|
* Default disclosure indicator. Override via `RuiDisclosureTrigger` `icon` prop.
|
|
11
11
|
*
|
|
12
12
|
* @cssclass rui-disclosure__icon - Indicator wrapper (decorative, `aria-hidden`).
|
|
13
|
-
* @cssclass rui-disclosure__icon--chevron - Rotates
|
|
13
|
+
* @cssclass rui-disclosure__icon--chevron - Rotates 180° when the disclosure is open.
|
|
14
14
|
* @cssclass rui-disclosure__icon--plus - Toggles between `+` and `×`.
|
|
15
15
|
*/
|
|
16
|
-
export declare function RuiDisclosureIcon({ variant, class: className, ...props }: RuiDisclosureIconProps): JsxRenderable;
|
|
16
|
+
export declare function RuiDisclosureIcon({ variant, class: className, children, ...props }: RuiDisclosureIconProps): JsxRenderable;
|
|
17
17
|
export type RuiDisclosureTriggerProps = JsxElementProps<HTMLButtonElement> & {
|
|
18
18
|
disabled?: boolean;
|
|
19
|
-
/** Custom indicator. Pass `null` to hide. Defaults to chevron. */
|
|
20
19
|
icon?: JsxRenderable | null;
|
|
21
20
|
iconPosition?: 'start' | 'end';
|
|
22
21
|
};
|
|
23
22
|
/**
|
|
24
|
-
* Disclosure trigger button. Place before `RuiDisclosurePanel`.
|
|
23
|
+
* Disclosure trigger button. Stamps `[data-disclosure-trigger]`. Place before `RuiDisclosurePanel`.
|
|
25
24
|
*
|
|
26
25
|
* @cssclass rui-disclosure__trigger - Trigger button; reflects `aria-expanded`.
|
|
27
26
|
* @cssclass rui-disclosure__trigger--icon-end - Layout when `iconPosition="end"`.
|
|
@@ -30,13 +29,30 @@ export type RuiDisclosureTriggerProps = JsxElementProps<HTMLButtonElement> & {
|
|
|
30
29
|
export declare function RuiDisclosureTrigger({ children, class: className, disabled, icon, iconPosition, ...props }: RuiDisclosureTriggerProps): JsxRenderable;
|
|
31
30
|
export type RuiDisclosurePanelProps = JsxElementProps<HTMLDivElement>;
|
|
32
31
|
/**
|
|
33
|
-
* Disclosure panel content. Place after `RuiDisclosureTrigger`.
|
|
32
|
+
* Disclosure panel content. Stamps `[data-disclosure-panel]`. Place after `RuiDisclosureTrigger`.
|
|
34
33
|
*
|
|
35
34
|
* @cssclass rui-disclosure__panel - Panel content region.
|
|
36
35
|
* @cssclass rui-disclosure__panel-inner - Panel padding wrapper (drives the height animation).
|
|
37
36
|
*/
|
|
38
37
|
export declare function RuiDisclosurePanel({ children, class: className, ...props }: RuiDisclosurePanelProps): JsxRenderable;
|
|
39
|
-
export
|
|
38
|
+
export type RuiDisclosureViewProps = {
|
|
40
39
|
trigger?: JsxRenderable;
|
|
41
|
-
|
|
40
|
+
icon?: JsxRenderable | null;
|
|
41
|
+
iconPosition?: 'start' | 'end';
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Importable JSX helper around `<rui-disclosure>`.
|
|
45
|
+
*
|
|
46
|
+
* Renders a show/hide disclosure region. Pass `trigger` to compose a default trigger
|
|
47
|
+
* and panel, or compose with `RuiDisclosureTrigger` and `RuiDisclosurePanel`.
|
|
48
|
+
*
|
|
49
|
+
* @cssclass rui-disclosure - Root wrapper around trigger and panel regions.
|
|
50
|
+
*/
|
|
51
|
+
export declare function RuiDisclosure({ trigger, icon, iconPosition, children, ...props }: JsxCustomElementAttributes<RuiDisclosureElement, RuiDisclosureProps & RuiDisclosureViewProps>): JsxRenderable;
|
|
52
|
+
/**
|
|
53
|
+
* Accordion group wrapper. Expects `rui-disclosure` children; wraps them in
|
|
54
|
+
* `[data-ref="root"]`.
|
|
55
|
+
*
|
|
56
|
+
* @cssclass rui-disclosure-group - Group surface (bordered card around stacked disclosures).
|
|
57
|
+
*/
|
|
42
58
|
export declare function RuiDisclosureGroup({ children, ...props }: JsxCustomElementAttributes<RuiDisclosureGroupElement, RuiDisclosureGroupProps>): JsxRenderable;
|