@gunkin/uiify 0.0.1-alpha → 0.0.2-alpha
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/dist/components/accordion/Accordion.d.ts +2 -2
- package/dist/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/accordion/Accordion.js +1 -2
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.js +5 -8
- package/dist/components/alert-modal/AlertModal.js.map +1 -1
- package/dist/components/alert-modal/AlertModalParts.d.ts +4 -29
- package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModalParts.js +29 -36
- package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
- package/dist/components/alert-modal/types.d.ts +0 -3
- package/dist/components/alert-modal/types.d.ts.map +1 -1
- package/dist/components/behavior.css +91 -48
- package/dist/components/behavior.css.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +1 -0
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.js +39 -55
- package/dist/components/candle-chart/CandleChart.js.map +1 -1
- package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.js +26 -45
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/carousel/carousel-markup.d.ts +0 -1
- package/dist/components/carousel/carousel-markup.d.ts.map +1 -1
- package/dist/components/carousel/carousel-markup.js +0 -5
- package/dist/components/carousel/carousel-markup.js.map +1 -1
- package/dist/components/carousel/client/carousel-controller.js +2 -2
- package/dist/components/carousel/client/carousel-controller.js.map +1 -1
- package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-controls.js +3 -5
- package/dist/components/carousel/client/carousel-controls.js.map +1 -1
- package/dist/components/carousel/client/carousel-drag.js +1 -1
- package/dist/components/carousel/client/carousel-drag.js.map +1 -1
- package/dist/components/carousel/client/carousel-observer.js +2 -2
- package/dist/components/carousel/client/carousel-observer.js.map +1 -1
- package/dist/components/carousel/fade/fade-controller.js +2 -2
- package/dist/components/carousel/fade/fade-controller.js.map +1 -1
- package/dist/components/carousel/fade/fade-swipe.js +1 -1
- package/dist/components/carousel/fade/fade-swipe.js.map +1 -1
- package/dist/components/carousel/index.d.ts +1 -1
- package/dist/components/carousel/index.d.ts.map +1 -1
- package/dist/components/carousel/index.js.map +1 -1
- package/dist/components/carousel/types.d.ts +0 -13
- package/dist/components/carousel/types.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.js +3 -2
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +7 -1
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/types.d.ts +1 -0
- package/dist/components/combobox/types.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.js +21 -4
- package/dist/components/context-menu/ContextMenu.js.map +1 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +15 -0
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerNative.d.ts +1 -1
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
- package/dist/components/drawer/DrawerNative.js +28 -13
- package/dist/components/drawer/DrawerNative.js.map +1 -1
- package/dist/components/drawer/types.d.ts +0 -2
- package/dist/components/drawer/types.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +2 -1
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.d.ts +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.js +12 -2
- package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +1 -0
- package/dist/components/dropdown-menu/types.d.ts.map +1 -1
- package/dist/components/enhance/listeners.js +1 -1
- package/dist/components/enhance/listeners.js.map +1 -1
- package/dist/components/enhance/sync.d.ts.map +1 -1
- package/dist/components/enhance/sync.js +7 -4
- package/dist/components/enhance/sync.js.map +1 -1
- package/dist/components/field/Field.d.ts.map +1 -1
- package/dist/components/field/Field.js +6 -0
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
- package/dist/components/file-upload/FileUpload.js +8 -2
- package/dist/components/file-upload/FileUpload.js.map +1 -1
- package/dist/components/file-upload/types.d.ts +1 -0
- package/dist/components/file-upload/types.d.ts.map +1 -1
- package/dist/components/hover-card/HoverCard.d.ts.map +1 -1
- package/dist/components/hover-card/HoverCard.js +2 -0
- package/dist/components/hover-card/HoverCard.js.map +1 -1
- package/dist/components/input/Input.d.ts.map +1 -1
- package/dist/components/input/Input.js +1 -0
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts +1 -2
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js +5 -6
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +0 -4
- package/dist/components/internal/choice-family/types.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.js +30 -38
- package/dist/components/line-chart/LineChart.js.map +1 -1
- package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
- package/dist/components/modal/Modal.d.ts +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +4 -6
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalParts.d.ts +3 -30
- package/dist/components/modal/ModalParts.d.ts.map +1 -1
- package/dist/components/modal/ModalParts.js +20 -17
- package/dist/components/modal/ModalParts.js.map +1 -1
- package/dist/components/modal/client/ModalClientContent.d.ts.map +1 -1
- package/dist/components/modal/client/ModalClientContent.js +5 -2
- package/dist/components/modal/client/ModalClientContent.js.map +1 -1
- package/dist/components/modal/types.d.ts +0 -2
- package/dist/components/modal/types.d.ts.map +1 -1
- package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
- package/dist/components/otp-input/OtpInput.js +3 -0
- package/dist/components/otp-input/OtpInput.js.map +1 -1
- package/dist/components/popup/Popup.d.ts.map +1 -1
- package/dist/components/popup/Popup.js +8 -3
- package/dist/components/popup/Popup.js.map +1 -1
- package/dist/components/popup/PopupParts.d.ts +3 -26
- package/dist/components/popup/PopupParts.d.ts.map +1 -1
- package/dist/components/popup/PopupParts.js +27 -18
- package/dist/components/popup/PopupParts.js.map +1 -1
- package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/radio-group/RadioGroup.js +0 -1
- package/dist/components/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +1 -0
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/slider/Slider.d.ts.map +1 -1
- package/dist/components/slider/Slider.js +1 -0
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/spinner/Spinner.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.js +2 -2
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/spinner/types.d.ts +1 -1
- package/dist/components/spinner/types.d.ts.map +1 -1
- package/dist/components/stepper/Stepper.js +2 -2
- package/dist/components/stepper/Stepper.js.map +1 -1
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/switch/Switch.js +1 -0
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +1 -3
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
- package/dist/components/tags-input/TagsInput.js +6 -1
- package/dist/components/tags-input/TagsInput.js.map +1 -1
- package/dist/components/tags-input/types.d.ts +1 -0
- package/dist/components/tags-input/types.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.js +1 -0
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +2 -1
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toast/ToastElements.d.ts.map +1 -1
- package/dist/components/toast/ToastElements.js +4 -1
- package/dist/components/toast/ToastElements.js.map +1 -1
- package/dist/components/toggle/Toggle.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.js +1 -0
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
- package/dist/components/toolbar/Toolbar.js +5 -3
- package/dist/components/toolbar/Toolbar.js.map +1 -1
- package/dist/components/toolbar/ToolbarShell.d.ts.map +1 -1
- package/dist/components/toolbar/ToolbarShell.js +8 -5
- package/dist/components/toolbar/ToolbarShell.js.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js +2 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.js +2 -2
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js +3 -3
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js +2 -2
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js.map +1 -1
- package/dist/core/render-native-invoker.d.ts +6 -3
- package/dist/core/render-native-invoker.d.ts.map +1 -1
- package/dist/core/render-native-invoker.js +5 -3
- package/dist/core/render-native-invoker.js.map +1 -1
- package/dist/elements/choice/Choice.d.ts +2 -2
- package/dist/elements/choice/Choice.js +1 -1
- package/dist/elements/choice/Choice.js.map +1 -1
- package/dist/elements/choice/types.d.ts +1 -1
- package/dist/elements/choice/types.d.ts.map +1 -1
- package/dist/elements/dialog/Dialog.d.ts +3 -3
- package/dist/elements/dialog/Dialog.d.ts.map +1 -1
- package/dist/elements/dialog/Dialog.js +5 -3
- package/dist/elements/dialog/Dialog.js.map +1 -1
- package/dist/elements/popover/Popover.d.ts +6 -5
- package/dist/elements/popover/Popover.d.ts.map +1 -1
- package/dist/elements/popover/Popover.js +8 -4
- package/dist/elements/popover/Popover.js.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/tailwind.css +33 -35
- package/dist/styles/tokens.css +1 -1
- package/package.json +7 -2
|
@@ -3,8 +3,8 @@ import type { AccordionProps } from "./types.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Built on `@gunkin/uiify/elements/details`: `Details.Root` already owns `data-disabled` (from its own
|
|
5
5
|
* `disabled` prop) and `data-uiify-details`; `Details.Summary`'s `disabled` prop already owns
|
|
6
|
-
* `aria-disabled`/`tabIndex`. This component adds its own
|
|
7
|
-
*
|
|
6
|
+
* `aria-disabled`/`tabIndex`. This component adds its own identity/anatomy markers and the
|
|
7
|
+
* `name`/`defaultOpen` wiring that makes single-select exclusive.
|
|
8
8
|
*/
|
|
9
9
|
export declare function Accordion({ id, items, type, defaultValue, className, }: AccordionProps): ReactElement;
|
|
10
10
|
export declare namespace Accordion {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAWhE;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,KAAK,EACL,IAAe,EACf,YAAY,EACZ,SAAS,GACV,EAAE,cAAc,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAWhE;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,KAAK,EACL,IAAe,EACf,YAAY,EACZ,SAAS,GACV,EAAE,cAAc,GAAG,YAAY,CAmB/B;yBAzBe,SAAS"}
|
|
@@ -11,11 +11,10 @@ function Accordion({
|
|
|
11
11
|
defaultValue,
|
|
12
12
|
className
|
|
13
13
|
}) {
|
|
14
|
-
return /* @__PURE__ */ jsx("div", { className, "data-
|
|
14
|
+
return /* @__PURE__ */ jsx("div", { className, "data-kind": type, "data-uiify-accordion": "", children: items.map((item) => /* @__PURE__ */ jsxs(
|
|
15
15
|
DetailsRoot,
|
|
16
16
|
{
|
|
17
17
|
"data-part": "item",
|
|
18
|
-
"data-uiify-accordion-item": "",
|
|
19
18
|
defaultOpen: isDefaultOpen(type, defaultValue, item.value),
|
|
20
19
|
disabled: item.disabled ?? false,
|
|
21
20
|
...type === "single" ? { name: id } : {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { DetailsContent, DetailsRoot, DetailsSummary } from \"../../elements/details/index.js\";\nimport type { AccordionProps, AccordionType } from \"./types.js\";\n\nfunction isDefaultOpen(\n type: AccordionType,\n defaultValue: string | readonly string[] | undefined,\n itemValue: string,\n): boolean {\n if (type === \"single\") return defaultValue === itemValue;\n return Array.isArray(defaultValue) && defaultValue.includes(itemValue);\n}\n\n/**\n * Built on `@gunkin/uiify/elements/details`: `Details.Root` already owns `data-disabled` (from its own\n * `disabled` prop) and `data-uiify-details`; `Details.Summary`'s `disabled` prop already owns\n * `aria-disabled`/`tabIndex`. This component adds its own
|
|
1
|
+
{"version":3,"sources":["../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { DetailsContent, DetailsRoot, DetailsSummary } from \"../../elements/details/index.js\";\nimport type { AccordionProps, AccordionType } from \"./types.js\";\n\nfunction isDefaultOpen(\n type: AccordionType,\n defaultValue: string | readonly string[] | undefined,\n itemValue: string,\n): boolean {\n if (type === \"single\") return defaultValue === itemValue;\n return Array.isArray(defaultValue) && defaultValue.includes(itemValue);\n}\n\n/**\n * Built on `@gunkin/uiify/elements/details`: `Details.Root` already owns `data-disabled` (from its own\n * `disabled` prop) and `data-uiify-details`; `Details.Summary`'s `disabled` prop already owns\n * `aria-disabled`/`tabIndex`. This component adds its own identity/anatomy markers and the\n * `name`/`defaultOpen` wiring that makes single-select exclusive.\n */\nexport function Accordion({\n id,\n items,\n type = \"single\",\n defaultValue,\n className,\n}: AccordionProps): ReactElement {\n return (\n <div className={className} data-kind={type} data-uiify-accordion=\"\">\n {items.map((item) => (\n <DetailsRoot\n data-part=\"item\"\n defaultOpen={isDefaultOpen(type, defaultValue, item.value)}\n disabled={item.disabled ?? false}\n key={item.value}\n {...(type === \"single\" ? { name: id } : {})}\n >\n <DetailsSummary disabled={item.disabled ?? false} part=\"trigger\">\n {item.label}\n </DetailsSummary>\n <DetailsContent part=\"panel\">{item.panel}</DetailsContent>\n </DetailsRoot>\n ))}\n </div>\n );\n}\nAccordion.displayName = \"Accordion\";\n"],"mappings":"AA6BQ,SAOE,KAPF;AA5BR,SAAS,gBAAgB,aAAa,sBAAsB;AAG5D,SAAS,cACP,MACA,cACA,WACS;AACT,MAAI,SAAS,SAAU,QAAO,iBAAiB;AAC/C,SAAO,MAAM,QAAQ,YAAY,KAAK,aAAa,SAAS,SAAS;AACvE;AAQO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAAiC;AAC/B,SACE,oBAAC,SAAI,WAAsB,aAAW,MAAM,wBAAqB,IAC9D,gBAAM,IAAI,CAAC,SACV;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,aAAa,cAAc,MAAM,cAAc,KAAK,KAAK;AAAA,MACzD,UAAU,KAAK,YAAY;AAAA,MAE1B,GAAI,SAAS,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;AAAA,MAEzC;AAAA,4BAAC,kBAAe,UAAU,KAAK,YAAY,OAAO,MAAK,WACpD,eAAK,OACR;AAAA,QACA,oBAAC,kBAAe,MAAK,SAAS,eAAK,OAAM;AAAA;AAAA;AAAA,IANpC,KAAK;AAAA,EAOZ,CACD,GACH;AAEJ;AACA,UAAU,cAAc;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { AlertModalProps } from "./types.js";
|
|
3
3
|
/** Convenience shell over the native parts: one trigger, one modal alertdialog, cancel and action. */
|
|
4
|
-
export declare function AlertModal({ id, trigger, title, description, children, actionLabel, cancelLabel,
|
|
4
|
+
export declare function AlertModal({ id, trigger, title, description, children, actionLabel, cancelLabel, className, }: AlertModalProps): ReactElement;
|
|
5
5
|
export declare namespace AlertModal {
|
|
6
6
|
var displayName: string;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertModal.d.ts","sourceRoot":"","sources":["../../../src/components/alert-modal/AlertModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,sGAAsG;AACtG,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAuB,EACvB,WAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"AlertModal.d.ts","sourceRoot":"","sources":["../../../src/components/alert-modal/AlertModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,sGAAsG;AACtG,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAuB,EACvB,WAAsB,EACtB,SAAS,GACV,EAAE,eAAe,GAAG,YAAY,CAyBhC;yBAlCe,UAAU"}
|
|
@@ -13,15 +13,12 @@ function AlertModal({
|
|
|
13
13
|
children,
|
|
14
14
|
actionLabel = "Confirm",
|
|
15
15
|
cancelLabel = "Cancel",
|
|
16
|
-
|
|
17
|
-
className,
|
|
18
|
-
actionClassName,
|
|
19
|
-
cancelClassName
|
|
16
|
+
className
|
|
20
17
|
}) {
|
|
21
18
|
const titleId = `${id}-title`;
|
|
22
19
|
const descriptionId = `${id}-description`;
|
|
23
|
-
return /* @__PURE__ */ jsxs("div", { "data-
|
|
24
|
-
/* @__PURE__ */ jsx(AlertModalTrigger, {
|
|
20
|
+
return /* @__PURE__ */ jsxs("div", { "data-part": "root", "data-uiify-alert-modal": "", children: [
|
|
21
|
+
/* @__PURE__ */ jsx(AlertModalTrigger, { target: id, children: trigger }),
|
|
25
22
|
/* @__PURE__ */ jsxs(
|
|
26
23
|
AlertModalContent,
|
|
27
24
|
{
|
|
@@ -33,8 +30,8 @@ function AlertModal({
|
|
|
33
30
|
/* @__PURE__ */ jsx("h2", { id: titleId, children: title }),
|
|
34
31
|
description === void 0 ? null : /* @__PURE__ */ jsx("p", { id: descriptionId, children: description }),
|
|
35
32
|
children,
|
|
36
|
-
/* @__PURE__ */ jsx(AlertModalCancel, {
|
|
37
|
-
/* @__PURE__ */ jsx(AlertModalAction, {
|
|
33
|
+
/* @__PURE__ */ jsx(AlertModalCancel, { target: id, value: "cancel", children: cancelLabel }),
|
|
34
|
+
/* @__PURE__ */ jsx(AlertModalAction, { target: id, value: "confirm", children: actionLabel })
|
|
38
35
|
]
|
|
39
36
|
}
|
|
40
37
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/alert-modal/AlertModal.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport {\n AlertModalAction,\n AlertModalCancel,\n AlertModalContent,\n AlertModalTrigger,\n} from \"./AlertModalParts.js\";\nimport type { AlertModalProps } from \"./types.js\";\n\n/** Convenience shell over the native parts: one trigger, one modal alertdialog, cancel and action. */\nexport function AlertModal({\n id,\n trigger,\n title,\n description,\n children,\n actionLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/alert-modal/AlertModal.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport {\n AlertModalAction,\n AlertModalCancel,\n AlertModalContent,\n AlertModalTrigger,\n} from \"./AlertModalParts.js\";\nimport type { AlertModalProps } from \"./types.js\";\n\n/** Convenience shell over the native parts: one trigger, one modal alertdialog, cancel and action. */\nexport function AlertModal({\n id,\n trigger,\n title,\n description,\n children,\n actionLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n className,\n}: AlertModalProps): ReactElement {\n const titleId = `${id}-title`;\n const descriptionId = `${id}-description`;\n\n return (\n <div data-part=\"root\" data-uiify-alert-modal=\"\">\n <AlertModalTrigger target={id}>{trigger}</AlertModalTrigger>\n <AlertModalContent\n aria-describedby={description === undefined ? undefined : descriptionId}\n aria-labelledby={titleId}\n className={className}\n id={id}\n >\n <h2 id={titleId}>{title}</h2>\n {description === undefined ? null : <p id={descriptionId}>{description}</p>}\n {children}\n <AlertModalCancel target={id} value=\"cancel\">\n {cancelLabel}\n </AlertModalCancel>\n <AlertModalAction target={id} value=\"confirm\">\n {actionLabel}\n </AlertModalAction>\n </AlertModalContent>\n </div>\n );\n}\nAlertModal.displayName = \"AlertModal\";\n"],"mappings":"AAyBM,cACA,YADA;AAxBN;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIA,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,cAAc;AAAA,EACd;AACF,GAAkC;AAChC,QAAM,UAAU,GAAG,EAAE;AACrB,QAAM,gBAAgB,GAAG,EAAE;AAE3B,SACE,qBAAC,SAAI,aAAU,QAAO,0BAAuB,IAC3C;AAAA,wBAAC,qBAAkB,QAAQ,IAAK,mBAAQ;AAAA,IACxC;AAAA,MAAC;AAAA;AAAA,QACC,oBAAkB,gBAAgB,SAAY,SAAY;AAAA,QAC1D,mBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QAEA;AAAA,8BAAC,QAAG,IAAI,SAAU,iBAAM;AAAA,UACvB,gBAAgB,SAAY,OAAO,oBAAC,OAAE,IAAI,eAAgB,uBAAY;AAAA,UACtE;AAAA,UACD,oBAAC,oBAAiB,QAAQ,IAAI,OAAM,UACjC,uBACH;AAAA,UACA,oBAAC,oBAAiB,QAAQ,IAAI,OAAM,WACjC,uBACH;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AACA,WAAW,cAAc;","names":[]}
|
|
@@ -1,46 +1,21 @@
|
|
|
1
1
|
import type { ElementType, ReactElement } from "react";
|
|
2
2
|
import type { AlertModalActionProps, AlertModalCancelProps, AlertModalContentProps, AlertModalTriggerProps } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Built on `@gunkin/uiify/elements/dialog`'s `Dialog.Trigger`, which already emits
|
|
5
|
-
* `data-uiify-dialog-trigger` — additive, since this component's own markers are a
|
|
6
|
-
* different string. Also emits `data-uiify-alert-modal-trigger` and the deprecated
|
|
7
|
-
* `data-uiify-alert-dialog-trigger` during the compatibility window.
|
|
8
|
-
*
|
|
9
|
-
* Calls the element directly as a function rather than rendering `<ElementDialogTrigger>` —
|
|
10
|
-
* see ModalParts.tsx's `ModalTrigger` for why (Tier 0, no hooks, skips a `jsx()` call).
|
|
11
|
-
*/
|
|
3
|
+
/** Native alert modal invoker with alert-modal identity and trigger anatomy. */
|
|
12
4
|
export declare function AlertModalTrigger<TAs extends ElementType = "button">(props: AlertModalTriggerProps<TAs>): ReactElement;
|
|
13
5
|
export declare namespace AlertModalTrigger {
|
|
14
6
|
var displayName: string;
|
|
15
7
|
}
|
|
16
|
-
/**
|
|
17
|
-
* A modal `<dialog role="alertdialog">`; Escape and the parts close it, the backdrop does not.
|
|
18
|
-
*
|
|
19
|
-
* Mirrors `@gunkin/uiify/elements/dialog`'s `Dialog.Content` markup and marker
|
|
20
|
-
* (`data-uiify-dialog-content`) plus `role="alertdialog"` and this component's own
|
|
21
|
-
* `data-uiify-alert-modal-content` / deprecated `data-uiify-alert-dialog-content`. Written
|
|
22
|
-
* inline rather than rendered through the element for the same reason as `ModalContent`:
|
|
23
|
-
* `Dialog.Content`'s type requires an accessible name and `AlertModalContentProps`
|
|
24
|
-
* deliberately does not tighten to match (see ModalParts.tsx).
|
|
25
|
-
*/
|
|
8
|
+
/** Native alert dialog content with alert-modal identity and content anatomy. */
|
|
26
9
|
export declare function AlertModalContent(props: AlertModalContentProps): ReactElement;
|
|
27
10
|
export declare namespace AlertModalContent {
|
|
28
11
|
var displayName: string;
|
|
29
12
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Built on `@gunkin/uiify/elements/dialog`'s `Dialog.Close`. Also emits
|
|
32
|
-
* `data-uiify-alert-modal-action` and the deprecated `data-uiify-alert-dialog-action`
|
|
33
|
-
* for one major.
|
|
34
|
-
*/
|
|
13
|
+
/** Native alert modal action invoker. */
|
|
35
14
|
export declare function AlertModalAction<TAs extends ElementType = "button">(props: AlertModalActionProps<TAs>): ReactElement;
|
|
36
15
|
export declare namespace AlertModalAction {
|
|
37
16
|
var displayName: string;
|
|
38
17
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Built on `@gunkin/uiify/elements/dialog`'s `Dialog.Close`. Also emits
|
|
41
|
-
* `data-uiify-alert-modal-cancel` and the deprecated `data-uiify-alert-dialog-cancel`
|
|
42
|
-
* for one major.
|
|
43
|
-
*/
|
|
18
|
+
/** Native alert modal cancel invoker. */
|
|
44
19
|
export declare function AlertModalCancel<TAs extends ElementType = "button">(props: AlertModalCancelProps<TAs>): ReactElement;
|
|
45
20
|
export declare namespace AlertModalCancel {
|
|
46
21
|
var displayName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertModalParts.d.ts","sourceRoot":"","sources":["../../../src/components/alert-modal/AlertModalParts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AlertModalParts.d.ts","sourceRoot":"","sources":["../../../src/components/alert-modal/AlertModalParts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EAClE,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,GACjC,YAAY,CAWd;yBAbe,iBAAiB;;;AAgBjC,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAO7E;yBAPe,iBAAiB;;;AAUjC,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EACjE,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAChC,YAAY,CAWd;yBAbe,gBAAgB;;;AAgBhC,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EACjE,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAChC,YAAY,CAWd;yBAbe,gBAAgB"}
|
|
@@ -1,54 +1,47 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
DialogClose as ElementDialogClose,
|
|
4
|
-
DialogTrigger as ElementDialogTrigger
|
|
5
|
-
} from "../../elements/dialog/index.js";
|
|
2
|
+
import { renderNativeInvoker } from "@gunkin/uiify/core/render";
|
|
6
3
|
function AlertModalTrigger(props) {
|
|
7
4
|
const { as, target, ...consumerProps } = props;
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
target
|
|
14
|
-
|
|
5
|
+
return renderNativeInvoker(
|
|
6
|
+
as,
|
|
7
|
+
"data-uiify-alert-modal",
|
|
8
|
+
"trigger",
|
|
9
|
+
"show-modal",
|
|
10
|
+
target,
|
|
11
|
+
consumerProps,
|
|
12
|
+
{ button: true }
|
|
13
|
+
);
|
|
15
14
|
}
|
|
16
15
|
AlertModalTrigger.displayName = "AlertModalTrigger";
|
|
17
16
|
function AlertModalContent(props) {
|
|
18
17
|
const { children, ...dialogProps } = props;
|
|
19
|
-
return /* @__PURE__ */ jsx(
|
|
20
|
-
"dialog",
|
|
21
|
-
{
|
|
22
|
-
...dialogProps,
|
|
23
|
-
"data-uiify-alert-dialog-content": "",
|
|
24
|
-
"data-uiify-alert-modal-content": "",
|
|
25
|
-
"data-uiify-dialog-content": "",
|
|
26
|
-
role: "alertdialog",
|
|
27
|
-
children
|
|
28
|
-
}
|
|
29
|
-
);
|
|
18
|
+
return /* @__PURE__ */ jsx("dialog", { ...dialogProps, "data-part": "content", "data-uiify-alert-modal": "", role: "alertdialog", children });
|
|
30
19
|
}
|
|
31
20
|
AlertModalContent.displayName = "AlertModalContent";
|
|
32
21
|
function AlertModalAction(props) {
|
|
33
22
|
const { as, target, ...consumerProps } = props;
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
target
|
|
40
|
-
|
|
23
|
+
return renderNativeInvoker(
|
|
24
|
+
as,
|
|
25
|
+
"data-uiify-alert-modal",
|
|
26
|
+
"action",
|
|
27
|
+
"request-close",
|
|
28
|
+
target,
|
|
29
|
+
consumerProps,
|
|
30
|
+
{ button: true, variant: "danger" }
|
|
31
|
+
);
|
|
41
32
|
}
|
|
42
33
|
AlertModalAction.displayName = "AlertModalAction";
|
|
43
34
|
function AlertModalCancel(props) {
|
|
44
35
|
const { as, target, ...consumerProps } = props;
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
target
|
|
51
|
-
|
|
36
|
+
return renderNativeInvoker(
|
|
37
|
+
as,
|
|
38
|
+
"data-uiify-alert-modal",
|
|
39
|
+
"cancel",
|
|
40
|
+
"request-close",
|
|
41
|
+
target,
|
|
42
|
+
consumerProps,
|
|
43
|
+
{ button: true, variant: "ghost" }
|
|
44
|
+
);
|
|
52
45
|
}
|
|
53
46
|
AlertModalCancel.displayName = "AlertModalCancel";
|
|
54
47
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/alert-modal/AlertModalParts.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/alert-modal/AlertModalParts.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { renderNativeInvoker } from \"@gunkin/uiify/core/render\";\nimport type {\n AlertModalActionProps,\n AlertModalCancelProps,\n AlertModalContentProps,\n AlertModalTriggerProps,\n} from \"./types.js\";\n\n/** Native alert modal invoker with alert-modal identity and trigger anatomy. */\nexport function AlertModalTrigger<TAs extends ElementType = \"button\">(\n props: AlertModalTriggerProps<TAs>,\n): ReactElement {\n const { as, target, ...consumerProps } = props as AlertModalTriggerProps<\"button\">;\n return renderNativeInvoker(\n as,\n \"data-uiify-alert-modal\",\n \"trigger\",\n \"show-modal\",\n target,\n consumerProps as Record<string, unknown>,\n { button: true },\n );\n}\nAlertModalTrigger.displayName = \"AlertModalTrigger\";\n\n/** Native alert dialog content with alert-modal identity and content anatomy. */\nexport function AlertModalContent(props: AlertModalContentProps): ReactElement {\n const { children, ...dialogProps } = props;\n return (\n <dialog {...dialogProps} data-part=\"content\" data-uiify-alert-modal=\"\" role=\"alertdialog\">\n {children}\n </dialog>\n );\n}\nAlertModalContent.displayName = \"AlertModalContent\";\n\n/** Native alert modal action invoker. */\nexport function AlertModalAction<TAs extends ElementType = \"button\">(\n props: AlertModalActionProps<TAs>,\n): ReactElement {\n const { as, target, ...consumerProps } = props as AlertModalActionProps<\"button\">;\n return renderNativeInvoker(\n as,\n \"data-uiify-alert-modal\",\n \"action\",\n \"request-close\",\n target,\n consumerProps as Record<string, unknown>,\n { button: true, variant: \"danger\" },\n );\n}\nAlertModalAction.displayName = \"AlertModalAction\";\n\n/** Native alert modal cancel invoker. */\nexport function AlertModalCancel<TAs extends ElementType = \"button\">(\n props: AlertModalCancelProps<TAs>,\n): ReactElement {\n const { as, target, ...consumerProps } = props as AlertModalCancelProps<\"button\">;\n return renderNativeInvoker(\n as,\n \"data-uiify-alert-modal\",\n \"cancel\",\n \"request-close\",\n target,\n consumerProps as Record<string, unknown>,\n { button: true, variant: \"ghost\" },\n );\n}\nAlertModalCancel.displayName = \"AlertModalCancel\";\n"],"mappings":"AA8BI;AA7BJ,SAAS,2BAA2B;AAS7B,SAAS,kBACd,OACc;AACd,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AACzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,QAAQ,KAAK;AAAA,EACjB;AACF;AACA,kBAAkB,cAAc;AAGzB,SAAS,kBAAkB,OAA6C;AAC7E,QAAM,EAAE,UAAU,GAAG,YAAY,IAAI;AACrC,SACE,oBAAC,YAAQ,GAAG,aAAa,aAAU,WAAU,0BAAuB,IAAG,MAAK,eACzE,UACH;AAEJ;AACA,kBAAkB,cAAc;AAGzB,SAAS,iBACd,OACc;AACd,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AACzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,QAAQ,MAAM,SAAS,SAAS;AAAA,EACpC;AACF;AACA,iBAAiB,cAAc;AAGxB,SAAS,iBACd,OACc;AACd,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AACzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,QAAQ,MAAM,SAAS,QAAQ;AAAA,EACnC;AACF;AACA,iBAAiB,cAAc;","names":[]}
|
|
@@ -8,10 +8,7 @@ export interface AlertModalProps {
|
|
|
8
8
|
readonly children?: ReactNode;
|
|
9
9
|
readonly actionLabel?: ReactNode;
|
|
10
10
|
readonly cancelLabel?: ReactNode;
|
|
11
|
-
readonly triggerClassName?: string;
|
|
12
11
|
readonly className?: string;
|
|
13
|
-
readonly actionClassName?: string;
|
|
14
|
-
readonly cancelClassName?: string;
|
|
15
12
|
}
|
|
16
13
|
export interface AlertModalTriggerOwnProps {
|
|
17
14
|
readonly children?: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/alert-modal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/alert-modal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,sBAAsB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,IAAI,iBAAiB,CACxF,GAAG,EACH,yBAAyB,CAC1B,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,IAAI,iBAAiB,CACvF,GAAG,EACH,wBAAwB,CACzB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,IAAI,iBAAiB,CACvF,GAAG,EACH,wBAAwB,CACzB,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,sFAAsF;AACtF,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,GAC5D,IAAI,CACF,qBAAqB,CAAC,QAAQ,CAAC,EAC/B,MAAM,yBAAyB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAC9D,CAAC"}
|
|
@@ -6,41 +6,84 @@
|
|
|
6
6
|
dialog:modal {
|
|
7
7
|
overscroll-behavior: contain;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
[data-
|
|
9
|
+
dialog:not([open]) {
|
|
10
|
+
display: none;
|
|
11
|
+
}
|
|
12
|
+
[data-anchor]:not([data-positioning]) {
|
|
13
|
+
anchor-name: var(--uiify-anchor, attr(data-anchor type(<custom-ident>)));
|
|
14
|
+
}
|
|
15
|
+
[data-positioning=native] {
|
|
16
|
+
position: fixed;
|
|
17
|
+
inset: auto;
|
|
18
|
+
margin: 0;
|
|
19
|
+
position-try-fallbacks: flip-block, flip-inline;
|
|
20
|
+
}
|
|
21
|
+
[data-positioning=native][data-anchor] {
|
|
22
|
+
position-anchor: var(--uiify-anchor, attr(data-anchor type(<custom-ident>)));
|
|
23
|
+
}
|
|
24
|
+
[data-positioning=native][data-side=top] {
|
|
25
|
+
position-area: top;
|
|
26
|
+
margin-block-end: var(--uiify-anchor-offset, 0);
|
|
27
|
+
}
|
|
28
|
+
[data-positioning=native][data-side=right] {
|
|
29
|
+
position-area: right;
|
|
30
|
+
margin-inline-start: var(--uiify-anchor-offset, 0);
|
|
31
|
+
}
|
|
32
|
+
[data-positioning=native][data-side=bottom] {
|
|
33
|
+
position-area: bottom;
|
|
34
|
+
margin-block-start: var(--uiify-anchor-offset, 0);
|
|
35
|
+
}
|
|
36
|
+
[data-positioning=native][data-side=left] {
|
|
37
|
+
position-area: left;
|
|
38
|
+
margin-inline-end: var(--uiify-anchor-offset, 0);
|
|
39
|
+
}
|
|
40
|
+
[data-positioning=native][data-side=top][data-align=start] {
|
|
41
|
+
position-area: top span-right;
|
|
42
|
+
justify-self: start;
|
|
43
|
+
}
|
|
44
|
+
[data-positioning=native][data-side=top][data-align=end] {
|
|
45
|
+
position-area: top span-left;
|
|
46
|
+
justify-self: end;
|
|
47
|
+
}
|
|
48
|
+
[data-positioning=native][data-side=bottom][data-align=start] {
|
|
49
|
+
position-area: bottom span-right;
|
|
50
|
+
justify-self: start;
|
|
51
|
+
}
|
|
52
|
+
[data-positioning=native][data-side=bottom][data-align=end] {
|
|
53
|
+
position-area: bottom span-left;
|
|
54
|
+
justify-self: end;
|
|
55
|
+
}
|
|
56
|
+
[data-positioning=native][data-side=right][data-align=start] {
|
|
57
|
+
align-self: start;
|
|
58
|
+
position-area: right span-bottom;
|
|
59
|
+
}
|
|
60
|
+
[data-positioning=native][data-side=right][data-align=end] {
|
|
61
|
+
align-self: end;
|
|
62
|
+
position-area: right span-top;
|
|
63
|
+
}
|
|
64
|
+
[data-positioning=native][data-side=left][data-align=start] {
|
|
65
|
+
align-self: start;
|
|
66
|
+
position-area: left span-bottom;
|
|
67
|
+
}
|
|
68
|
+
[data-positioning=native][data-side=left][data-align=end] {
|
|
69
|
+
align-self: end;
|
|
70
|
+
position-area: left span-top;
|
|
71
|
+
}
|
|
72
|
+
[data-uiify-modal][data-part=root]:has(> [data-uiify-modal][data-part=content][open]) > [data-uiify-modal][data-part=trigger],
|
|
73
|
+
[data-uiify-alert-modal][data-part=root]:has(> [data-uiify-alert-modal][data-part=content][open]) > [data-uiify-alert-modal][data-part=trigger],
|
|
74
|
+
[data-uiify-popup][data-part=root]:has(> [data-uiify-popup][data-part=content]:popover-open) > [data-uiify-popup][data-part=trigger] {
|
|
13
75
|
--uiify-trigger-open: 1;
|
|
14
76
|
}
|
|
15
|
-
[data-uiify-accordion-item][data-disabled] > summary,
|
|
77
|
+
[data-uiify-accordion] > [data-part=item][data-disabled] > summary,
|
|
16
78
|
[data-uiify-collapsible][data-disabled] > summary {
|
|
17
79
|
cursor: not-allowed;
|
|
18
80
|
pointer-events: none;
|
|
19
81
|
}
|
|
20
|
-
|
|
21
|
-
|
|
82
|
+
[data-uiify-select],
|
|
83
|
+
[data-uiify-select]::picker(select) {
|
|
22
84
|
appearance: base-select;
|
|
23
85
|
}
|
|
24
|
-
|
|
25
|
-
@starting-style {
|
|
26
|
-
[popover]:popover-open {
|
|
27
|
-
opacity: 0;
|
|
28
|
-
scale: 0.96;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
[popover] {
|
|
32
|
-
transition:
|
|
33
|
-
opacity var(--duration-fast, 150ms) ease-out,
|
|
34
|
-
scale var(--duration-fast, 150ms) ease-out,
|
|
35
|
-
display var(--duration-fast, 150ms) allow-discrete,
|
|
36
|
-
overlay var(--duration-fast, 150ms) allow-discrete;
|
|
37
|
-
}
|
|
38
|
-
[popover]:popover-open {
|
|
39
|
-
opacity: 1;
|
|
40
|
-
scale: 1;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
[data-uiify-tabs-input] {
|
|
86
|
+
[data-uiify-tabs] > [data-part=item] > [data-part=control] {
|
|
44
87
|
position: absolute;
|
|
45
88
|
width: 1px;
|
|
46
89
|
height: 1px;
|
|
@@ -52,19 +95,19 @@
|
|
|
52
95
|
white-space: nowrap;
|
|
53
96
|
border: 0;
|
|
54
97
|
}
|
|
55
|
-
[data-uiify-tabs-panel] {
|
|
98
|
+
[data-uiify-tabs] > [data-part=item] > [data-part=panel] {
|
|
56
99
|
display: none;
|
|
57
100
|
}
|
|
58
|
-
[data-uiify-tabs-
|
|
101
|
+
[data-uiify-tabs] > [data-part=item] > [data-part=control]:checked ~ [data-part=panel] {
|
|
59
102
|
display: block;
|
|
60
103
|
}
|
|
61
|
-
[data-uiify-stepper-panel] {
|
|
104
|
+
[data-uiify-stepper] > [data-part=step] > [data-part=panel] {
|
|
62
105
|
display: none;
|
|
63
106
|
}
|
|
64
|
-
[data-uiify-stepper-
|
|
107
|
+
[data-uiify-stepper] > [data-part=step] > [data-part=control]:checked ~ [data-part=panel] {
|
|
65
108
|
display: block;
|
|
66
109
|
}
|
|
67
|
-
[data-uiify-tabs-trigger][data-disabled] {
|
|
110
|
+
[data-uiify-tabs] [data-part=trigger][data-disabled] {
|
|
68
111
|
cursor: not-allowed;
|
|
69
112
|
pointer-events: none;
|
|
70
113
|
}
|
|
@@ -80,52 +123,52 @@
|
|
|
80
123
|
visibility: visible;
|
|
81
124
|
}
|
|
82
125
|
}
|
|
83
|
-
[data-uiify-breadcrumb-ellipsis] > ol {
|
|
126
|
+
[data-uiify-breadcrumb] [data-part=ellipsis] > ol {
|
|
84
127
|
list-style: none;
|
|
85
128
|
margin: 0;
|
|
86
129
|
padding: 0;
|
|
87
130
|
}
|
|
88
|
-
[data-uiify-carousel] > [data-
|
|
131
|
+
[data-uiify-carousel] > [data-part=viewport] {
|
|
89
132
|
display: grid;
|
|
90
133
|
min-inline-size: 0;
|
|
91
134
|
min-block-size: 0;
|
|
92
135
|
gap: var(--uiify-carousel-gap, 0);
|
|
93
136
|
scroll-behavior: auto;
|
|
94
137
|
}
|
|
95
|
-
[data-uiify-carousel][data-axis=inline] > [data-
|
|
138
|
+
[data-uiify-carousel][data-axis=inline] > [data-part=viewport] {
|
|
96
139
|
grid-auto-flow: column;
|
|
97
140
|
grid-auto-columns: var(--uiify-carousel-slide-size, 100%);
|
|
98
141
|
overflow-inline: auto;
|
|
99
142
|
overflow-block: hidden;
|
|
100
143
|
scroll-snap-type: inline mandatory;
|
|
101
144
|
}
|
|
102
|
-
[data-uiify-carousel][data-axis=block] > [data-
|
|
145
|
+
[data-uiify-carousel][data-axis=block] > [data-part=viewport] {
|
|
103
146
|
grid-auto-flow: row;
|
|
104
147
|
grid-auto-rows: var(--uiify-carousel-slide-size, 100%);
|
|
105
148
|
overflow-block: auto;
|
|
106
149
|
overflow-inline: hidden;
|
|
107
150
|
scroll-snap-type: block mandatory;
|
|
108
151
|
}
|
|
109
|
-
[data-uiify-carousel] > [data-
|
|
152
|
+
[data-uiify-carousel] > [data-part=viewport] > [data-part=slide] {
|
|
110
153
|
min-inline-size: 0;
|
|
111
154
|
min-block-size: 0;
|
|
112
155
|
scroll-snap-align: start;
|
|
113
156
|
}
|
|
114
|
-
[data-uiify-carousel] > [data-
|
|
115
|
-
[data-uiify-carousel] > button[data-
|
|
116
|
-
[data-uiify-carousel] > [data-
|
|
157
|
+
[data-uiify-carousel] > [data-part=viewport]:focus-visible,
|
|
158
|
+
[data-uiify-carousel] > button[data-part=controls]:focus-visible,
|
|
159
|
+
[data-uiify-carousel] > [data-part=dots] > a:focus-visible {
|
|
117
160
|
outline: auto;
|
|
118
161
|
}
|
|
119
162
|
@media (prefers-reduced-motion: no-preference) {
|
|
120
|
-
[data-uiify-carousel] > [data-
|
|
163
|
+
[data-uiify-carousel] > [data-part=viewport] {
|
|
121
164
|
scroll-behavior: smooth;
|
|
122
165
|
}
|
|
123
166
|
}
|
|
124
|
-
[data-uiify-carousel] > [data-
|
|
167
|
+
[data-uiify-carousel] > [data-part=viewport][data-dragging] {
|
|
125
168
|
scroll-behavior: auto;
|
|
126
169
|
scroll-snap-type: none;
|
|
127
170
|
}
|
|
128
|
-
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-
|
|
171
|
+
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-part=viewport] {
|
|
129
172
|
grid-auto-flow: row;
|
|
130
173
|
grid-template-columns: 100%;
|
|
131
174
|
grid-auto-columns: auto;
|
|
@@ -133,17 +176,17 @@
|
|
|
133
176
|
scroll-snap-type: none;
|
|
134
177
|
touch-action: pan-y pinch-zoom;
|
|
135
178
|
}
|
|
136
|
-
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-
|
|
179
|
+
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-part=viewport] > [data-part=slide] {
|
|
137
180
|
grid-area: 1 / 1;
|
|
138
181
|
opacity: 0;
|
|
139
182
|
pointer-events: none;
|
|
140
183
|
}
|
|
141
|
-
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-
|
|
184
|
+
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-part=viewport] > [data-part=slide][data-state=active] {
|
|
142
185
|
opacity: 1;
|
|
143
186
|
pointer-events: auto;
|
|
144
187
|
}
|
|
145
188
|
@media (prefers-reduced-motion: no-preference) {
|
|
146
|
-
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-
|
|
189
|
+
[data-uiify-carousel][data-mode=fade][data-enhanced] > [data-part=viewport] > [data-part=slide] {
|
|
147
190
|
transition: opacity var(--uiify-carousel-fade-duration, 300ms) ease;
|
|
148
191
|
}
|
|
149
192
|
}
|
|
@@ -151,11 +194,11 @@
|
|
|
151
194
|
--uiify-virtual-scroll-row-height: 64px;
|
|
152
195
|
overflow-y: auto;
|
|
153
196
|
}
|
|
154
|
-
[data-uiify-virtual-scroll] [data-
|
|
197
|
+
[data-uiify-virtual-scroll] > [data-part=spacer] {
|
|
155
198
|
position: relative;
|
|
156
199
|
block-size: var( --uiify-virtual-scroll-total-size, calc(var(--uiify-virtual-scroll-count, 0) * var(--uiify-virtual-scroll-row-height)) );
|
|
157
200
|
}
|
|
158
|
-
[data-uiify-virtual-scroll] [data-
|
|
201
|
+
[data-uiify-virtual-scroll] [data-part=row] {
|
|
159
202
|
position: absolute;
|
|
160
203
|
inset-inline: 0;
|
|
161
204
|
block-size: var(--uiify-row-height, var(--uiify-virtual-scroll-row-height));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/behavior.css"],"sourcesContent":["/* Behavioral rules for @gunkin/uiify/components — zero visual opinion.\n * Import is required: @import \"@gunkin/uiify/components/behavior.css\";\n * Cascade order: consumer app layer wins without specificity fights. */\n@layer ui.reset, ui.behavior, ui.tokens, ui.theme, app;\n\n@layer ui.behavior {\n [popover]:not(:popover-open) {\n display: none;\n }\n\n /* Native modal dialogs: wheel/touch scrolling inside the dialog must not chain to the page behind it. */\n dialog:modal {\n overscroll-behavior: contain;\n }\n\n /*\n * Local open-state hooks. Top layer does not change DOM ancestry, so a scope\n * that directly contains its surface can read the native state. Consumers\n * style with the selector or with the variable; neither is a second source of truth.\n *\n * `modal`/`alert-modal` (formerly `dialog`/`alert-dialog`) emit both their\n * new scope attribute and the deprecated one for one major, so selecting on\n * the new name alone is enough. `popup`'s scope div is consumer-authored\n * (there is no Root wrapper for the native parts — see\n * docs/guides/native-composition.md), so existing markup keeps writing the\n * deprecated `data-uiify-popover-scope`; both selectors stay until that\n * compatibility window.\n */\n [data-uiify-modal-scope]:has(> dialog[open]) > [data-uiify-modal-trigger],\n [data-uiify-alert-modal-scope]:has(> dialog[open]) > [data-uiify-alert-modal-trigger],\n [data-uiify-popup-scope]:has(> :popover-open) > [data-uiify-popup-trigger],\n [data-uiify-popover-scope]:has(> :popover-open) > [data-uiify-popover-trigger] {\n --uiify-trigger-open: 1;\n }\n\n [data-uiify-accordion-item][data-disabled] > summary,\n [data-uiify-collapsible][data-disabled] > summary {\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* Customizable select: opts the control and its picker into the browser's\n base styles so the picker becomes a styleable, top-layer popover with\n implicit anchor positioning. Behavior only — no visual opinion. Engines\n without support ignore this and keep the classic OS picker, which stays\n fully functional. */\n .uiify-select,\n .uiify-select::picker(select) {\n appearance: base-select;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n @starting-style {\n [popover]:popover-open {\n opacity: 0;\n scale: 0.96;\n }\n }\n\n [popover] {\n transition:\n opacity var(--duration-fast, 150ms) ease-out,\n scale var(--duration-fast, 150ms) ease-out,\n display var(--duration-fast, 150ms) allow-discrete,\n overlay var(--duration-fast, 150ms) allow-discrete;\n }\n\n [popover]:popover-open {\n opacity: 1;\n scale: 1;\n }\n }\n\n [data-uiify-tabs-input] {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n /* stylelint-disable-next-line property-no-deprecated -- kept for older browser support alongside clip-path */\n clip: rect(0, 0, 0, 0);\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n [data-uiify-tabs-panel] {\n display: none;\n }\n\n [data-uiify-tabs-input]:checked ~ [data-uiify-tabs-panel] {\n display: block;\n }\n\n [data-uiify-stepper-panel] {\n display: none;\n }\n\n [data-uiify-stepper-input]:checked ~ [data-uiify-stepper-panel] {\n display: block;\n }\n\n [data-uiify-tabs-trigger][data-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n }\n\n [data-uiify-spinner][data-state=\"delayed\"] {\n animation-name: uiify-spinner-show;\n animation-duration: 0s;\n animation-delay: attr(data-delay type(<time>), 0s);\n animation-fill-mode: forwards;\n visibility: hidden;\n }\n\n @keyframes uiify-spinner-show {\n to {\n visibility: visible;\n }\n }\n\n [data-uiify-breadcrumb-ellipsis] > ol {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n [data-uiify-carousel] > [data-uiify-carousel-viewport] {\n display: grid;\n min-inline-size: 0;\n min-block-size: 0;\n gap: var(--uiify-carousel-gap, 0);\n scroll-behavior: auto;\n }\n\n [data-uiify-carousel][data-axis=\"inline\"] > [data-uiify-carousel-viewport] {\n grid-auto-flow: column;\n grid-auto-columns: var(--uiify-carousel-slide-size, 100%);\n overflow-inline: auto;\n overflow-block: hidden;\n scroll-snap-type: inline mandatory;\n }\n\n [data-uiify-carousel][data-axis=\"block\"] > [data-uiify-carousel-viewport] {\n grid-auto-flow: row;\n grid-auto-rows: var(--uiify-carousel-slide-size, 100%);\n overflow-block: auto;\n overflow-inline: hidden;\n scroll-snap-type: block mandatory;\n }\n\n [data-uiify-carousel] > [data-uiify-carousel-viewport] > [data-uiify-carousel-slide] {\n min-inline-size: 0;\n min-block-size: 0;\n scroll-snap-align: start;\n }\n\n [data-uiify-carousel] > [data-uiify-carousel-viewport]:focus-visible,\n [data-uiify-carousel] > button[data-uiify-carousel-controls]:focus-visible,\n [data-uiify-carousel] > [data-uiify-carousel-dots] > a:focus-visible {\n outline: auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n [data-uiify-carousel] > [data-uiify-carousel-viewport] {\n scroll-behavior: smooth;\n }\n }\n\n [data-uiify-carousel] > [data-uiify-carousel-viewport][data-dragging] {\n scroll-behavior: auto;\n scroll-snap-type: none;\n }\n\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced] > [data-uiify-carousel-viewport] {\n grid-auto-flow: row;\n grid-template-columns: 100%;\n grid-auto-columns: auto;\n overflow: hidden;\n scroll-snap-type: none;\n touch-action: pan-y pinch-zoom;\n }\n\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced]\n > [data-uiify-carousel-viewport]\n > [data-uiify-carousel-slide] {\n grid-area: 1 / 1;\n opacity: 0;\n pointer-events: none;\n }\n\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced]\n > [data-uiify-carousel-viewport]\n > [data-uiify-carousel-slide][data-state=\"active\"] {\n opacity: 1;\n pointer-events: auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced]\n > [data-uiify-carousel-viewport]\n > [data-uiify-carousel-slide] {\n transition: opacity var(--uiify-carousel-fade-duration, 300ms) ease;\n }\n }\n\n [data-uiify-virtual-scroll] {\n --uiify-virtual-scroll-row-height: 64px;\n\n overflow-y: auto;\n }\n\n [data-uiify-virtual-scroll] [data-uiify-virtual-scroll-spacer] {\n position: relative;\n block-size: var(\n --uiify-virtual-scroll-total-size,\n calc(var(--uiify-virtual-scroll-count, 0) * var(--uiify-virtual-scroll-row-height))\n );\n }\n\n [data-uiify-virtual-scroll] [data-uiify-virtual-scroll-row] {\n position: absolute;\n inset-inline: 0;\n block-size: var(--uiify-row-height, var(--uiify-virtual-scroll-row-height));\n translate: 0\n var(\n --uiify-row-offset,\n calc(\n (var(--uiify-range-start, 0) + var(--uiify-slot-index, 0)) *\n var(--uiify-virtual-scroll-row-height)\n )\n );\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/behavior.css"],"sourcesContent":["/* Behavioral rules for @gunkin/uiify/components — zero visual opinion.\n * Import is required: @import \"@gunkin/uiify/components/behavior.css\";\n * Cascade order: consumer app layer wins without specificity fights. */\n@layer ui.reset, ui.behavior, ui.tokens, ui.theme, app;\n\n@layer ui.behavior {\n [popover]:not(:popover-open) {\n display: none;\n }\n\n /* Native modal dialogs: wheel/touch scrolling inside the dialog must not chain to the page behind it. */\n dialog:modal {\n overscroll-behavior: contain;\n }\n\n /* Closed dialogs stay hidden even when author CSS sets display. */\n dialog:not([open]) {\n display: none;\n }\n\n [data-anchor]:not([data-positioning]) {\n anchor-name: var(--uiify-anchor, attr(data-anchor type(<custom-ident>)));\n }\n\n [data-positioning=\"native\"] {\n position: fixed;\n inset: auto;\n margin: 0;\n position-try-fallbacks: flip-block, flip-inline;\n }\n\n [data-positioning=\"native\"][data-anchor] {\n position-anchor: var(--uiify-anchor, attr(data-anchor type(<custom-ident>)));\n }\n\n [data-positioning=\"native\"][data-side=\"top\"] {\n position-area: top;\n margin-block-end: var(--uiify-anchor-offset, 0);\n }\n\n [data-positioning=\"native\"][data-side=\"right\"] {\n position-area: right;\n margin-inline-start: var(--uiify-anchor-offset, 0);\n }\n\n [data-positioning=\"native\"][data-side=\"bottom\"] {\n position-area: bottom;\n margin-block-start: var(--uiify-anchor-offset, 0);\n }\n\n [data-positioning=\"native\"][data-side=\"left\"] {\n position-area: left;\n margin-inline-end: var(--uiify-anchor-offset, 0);\n }\n\n [data-positioning=\"native\"][data-side=\"top\"][data-align=\"start\"] {\n position-area: top span-right;\n justify-self: start;\n }\n\n [data-positioning=\"native\"][data-side=\"top\"][data-align=\"end\"] {\n position-area: top span-left;\n justify-self: end;\n }\n\n [data-positioning=\"native\"][data-side=\"bottom\"][data-align=\"start\"] {\n position-area: bottom span-right;\n justify-self: start;\n }\n\n [data-positioning=\"native\"][data-side=\"bottom\"][data-align=\"end\"] {\n position-area: bottom span-left;\n justify-self: end;\n }\n\n [data-positioning=\"native\"][data-side=\"right\"][data-align=\"start\"] {\n align-self: start;\n position-area: right span-bottom;\n }\n\n [data-positioning=\"native\"][data-side=\"right\"][data-align=\"end\"] {\n align-self: end;\n position-area: right span-top;\n }\n\n [data-positioning=\"native\"][data-side=\"left\"][data-align=\"start\"] {\n align-self: start;\n position-area: left span-bottom;\n }\n\n [data-positioning=\"native\"][data-side=\"left\"][data-align=\"end\"] {\n align-self: end;\n position-area: left span-top;\n }\n\n /*\n * Local open-state hooks. Top layer does not change DOM ancestry, so a scope\n * that directly contains its surface can read the native state. Consumers\n * style with the selector or with the variable; neither is a second source of truth.\n *\n * Compound roots and their public trigger parts share one component identity plus\n * `data-part`, so native state stays readable without a second scope convention.\n */\n [data-uiify-modal][data-part=\"root\"]:has(> [data-uiify-modal][data-part=\"content\"][open])\n > [data-uiify-modal][data-part=\"trigger\"],\n [data-uiify-alert-modal][data-part=\"root\"]:has(\n > [data-uiify-alert-modal][data-part=\"content\"][open]\n )\n > [data-uiify-alert-modal][data-part=\"trigger\"],\n [data-uiify-popup][data-part=\"root\"]:has(> [data-uiify-popup][data-part=\"content\"]:popover-open)\n > [data-uiify-popup][data-part=\"trigger\"] {\n --uiify-trigger-open: 1;\n }\n\n [data-uiify-accordion] > [data-part=\"item\"][data-disabled] > summary,\n [data-uiify-collapsible][data-disabled] > summary {\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* Customizable select: opts the control and its picker into the browser's\n base styles so the picker becomes a styleable, top-layer popover with\n implicit anchor positioning. Behavior only — no visual opinion. Engines\n without support ignore this and keep the classic OS picker, which stays\n fully functional. */\n [data-uiify-select],\n [data-uiify-select]::picker(select) {\n appearance: base-select;\n }\n\n [data-uiify-tabs] > [data-part=\"item\"] > [data-part=\"control\"] {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n /* stylelint-disable-next-line property-no-deprecated -- kept for older browser support alongside clip-path */\n clip: rect(0, 0, 0, 0);\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n }\n\n [data-uiify-tabs] > [data-part=\"item\"] > [data-part=\"panel\"] {\n display: none;\n }\n\n [data-uiify-tabs] > [data-part=\"item\"] > [data-part=\"control\"]:checked ~ [data-part=\"panel\"] {\n display: block;\n }\n\n [data-uiify-stepper] > [data-part=\"step\"] > [data-part=\"panel\"] {\n display: none;\n }\n\n [data-uiify-stepper] > [data-part=\"step\"] > [data-part=\"control\"]:checked ~ [data-part=\"panel\"] {\n display: block;\n }\n\n [data-uiify-tabs] [data-part=\"trigger\"][data-disabled] {\n cursor: not-allowed;\n pointer-events: none;\n }\n\n [data-uiify-spinner][data-state=\"delayed\"] {\n animation-name: uiify-spinner-show;\n animation-duration: 0s;\n animation-delay: attr(data-delay type(<time>), 0s);\n animation-fill-mode: forwards;\n visibility: hidden;\n }\n\n @keyframes uiify-spinner-show {\n to {\n visibility: visible;\n }\n }\n\n [data-uiify-breadcrumb] [data-part=\"ellipsis\"] > ol {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n [data-uiify-carousel] > [data-part=\"viewport\"] {\n display: grid;\n min-inline-size: 0;\n min-block-size: 0;\n gap: var(--uiify-carousel-gap, 0);\n scroll-behavior: auto;\n }\n\n [data-uiify-carousel][data-axis=\"inline\"] > [data-part=\"viewport\"] {\n grid-auto-flow: column;\n grid-auto-columns: var(--uiify-carousel-slide-size, 100%);\n overflow-inline: auto;\n overflow-block: hidden;\n scroll-snap-type: inline mandatory;\n }\n\n [data-uiify-carousel][data-axis=\"block\"] > [data-part=\"viewport\"] {\n grid-auto-flow: row;\n grid-auto-rows: var(--uiify-carousel-slide-size, 100%);\n overflow-block: auto;\n overflow-inline: hidden;\n scroll-snap-type: block mandatory;\n }\n\n [data-uiify-carousel] > [data-part=\"viewport\"] > [data-part=\"slide\"] {\n min-inline-size: 0;\n min-block-size: 0;\n scroll-snap-align: start;\n }\n\n [data-uiify-carousel] > [data-part=\"viewport\"]:focus-visible,\n [data-uiify-carousel] > button[data-part=\"controls\"]:focus-visible,\n [data-uiify-carousel] > [data-part=\"dots\"] > a:focus-visible {\n outline: auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n [data-uiify-carousel] > [data-part=\"viewport\"] {\n scroll-behavior: smooth;\n }\n }\n\n [data-uiify-carousel] > [data-part=\"viewport\"][data-dragging] {\n scroll-behavior: auto;\n scroll-snap-type: none;\n }\n\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced] > [data-part=\"viewport\"] {\n grid-auto-flow: row;\n grid-template-columns: 100%;\n grid-auto-columns: auto;\n overflow: hidden;\n scroll-snap-type: none;\n touch-action: pan-y pinch-zoom;\n }\n\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced]\n > [data-part=\"viewport\"]\n > [data-part=\"slide\"] {\n grid-area: 1 / 1;\n opacity: 0;\n pointer-events: none;\n }\n\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced]\n > [data-part=\"viewport\"]\n > [data-part=\"slide\"][data-state=\"active\"] {\n opacity: 1;\n pointer-events: auto;\n }\n\n @media (prefers-reduced-motion: no-preference) {\n [data-uiify-carousel][data-mode=\"fade\"][data-enhanced]\n > [data-part=\"viewport\"]\n > [data-part=\"slide\"] {\n transition: opacity var(--uiify-carousel-fade-duration, 300ms) ease;\n }\n }\n\n [data-uiify-virtual-scroll] {\n --uiify-virtual-scroll-row-height: 64px;\n\n overflow-y: auto;\n }\n\n [data-uiify-virtual-scroll] > [data-part=\"spacer\"] {\n position: relative;\n block-size: var(\n --uiify-virtual-scroll-total-size,\n calc(var(--uiify-virtual-scroll-count, 0) * var(--uiify-virtual-scroll-row-height))\n );\n }\n\n [data-uiify-virtual-scroll] [data-part=\"row\"] {\n position: absolute;\n inset-inline: 0;\n block-size: var(--uiify-row-height, var(--uiify-virtual-scroll-row-height));\n translate: 0\n var(\n --uiify-row-offset,\n calc(\n (var(--uiify-range-start, 0) + var(--uiify-slot-index, 0)) *\n var(--uiify-virtual-scroll-row-height)\n )\n );\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -126,7 +126,7 @@ function BreadcrumbSeparator(props) {
|
|
|
126
126
|
}
|
|
127
127
|
function BreadcrumbEllipsis({ hiddenItems, separator }) {
|
|
128
128
|
return /* @__PURE__ */ jsxs(BreadcrumbItem, { children: [
|
|
129
|
-
/* @__PURE__ */ jsxs(DetailsRoot, { "data-uiify-breadcrumb
|
|
129
|
+
/* @__PURE__ */ jsxs(DetailsRoot, { "data-part": "ellipsis", "data-uiify-breadcrumb": "", children: [
|
|
130
130
|
/* @__PURE__ */ jsx(DetailsSummary, { "aria-label": "Show collapsed breadcrumbs", children: "\u2026" }),
|
|
131
131
|
/* @__PURE__ */ jsx(DetailsContent, { as: "ol", children: hiddenItems.map((item) => /* @__PURE__ */ jsx(
|
|
132
132
|
BreadcrumbLink,
|