@gunkin/uiify 0.0.14-alpha → 0.0.16-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/README.md +46 -1
- package/agents/components.md +80 -0
- package/agents/index.md +179 -0
- package/agents/reference/components/accordion.md +35 -0
- package/agents/reference/components/alert-modal.md +63 -0
- package/agents/reference/components/breadcrumb.md +72 -0
- package/agents/reference/components/button.md +40 -0
- package/agents/reference/components/candle-chart.md +107 -0
- package/agents/reference/components/carousel.md +274 -0
- package/agents/reference/components/checkbox.md +32 -0
- package/agents/reference/components/collapsible.md +26 -0
- package/agents/reference/components/color-picker.md +33 -0
- package/agents/reference/components/combobox.md +193 -0
- package/agents/reference/components/context-menu.md +129 -0
- package/agents/reference/components/drawer.md +215 -0
- package/agents/reference/components/dropdown-menu.md +178 -0
- package/agents/reference/components/field.md +76 -0
- package/agents/reference/components/file-upload.md +131 -0
- package/agents/reference/components/form.md +28 -0
- package/agents/reference/components/header.md +44 -0
- package/agents/reference/components/hover-card.md +54 -0
- package/agents/reference/components/input.md +29 -0
- package/agents/reference/components/line-chart.md +104 -0
- package/agents/reference/components/modal.md +106 -0
- package/agents/reference/components/number-field.md +60 -0
- package/agents/reference/components/otp-input.md +68 -0
- package/agents/reference/components/pagination.md +112 -0
- package/agents/reference/components/popup.md +111 -0
- package/agents/reference/components/radio-group.md +37 -0
- package/agents/reference/components/rating.md +43 -0
- package/agents/reference/components/segmented-control.md +51 -0
- package/agents/reference/components/select.md +60 -0
- package/agents/reference/components/skeleton.md +29 -0
- package/agents/reference/components/slider.md +71 -0
- package/agents/reference/components/spinner.md +34 -0
- package/agents/reference/components/switch.md +27 -0
- package/agents/reference/components/table-of-contents.md +185 -0
- package/agents/reference/components/table.md +189 -0
- package/agents/reference/components/tabs.md +42 -0
- package/agents/reference/components/tags-input.md +123 -0
- package/agents/reference/components/textarea.md +31 -0
- package/agents/reference/components/toast.md +151 -0
- package/agents/reference/components/toggle-group.md +50 -0
- package/agents/reference/components/toggle.md +26 -0
- package/agents/reference/components/toolbar.md +69 -0
- package/agents/reference/components/tooltip.md +76 -0
- package/agents/reference/components/virtual-scroll.md +97 -0
- package/agents/reference/elements/choice.md +55 -0
- package/agents/reference/elements/details.md +45 -0
- package/agents/reference/elements/dialog.md +43 -0
- package/agents/reference/elements/invoker.md +28 -0
- package/agents/reference/elements/popover.md +53 -0
- package/dist/components/alert-modal/AlertModalParts.js +1 -1
- package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +5 -3
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/index.d.ts +1 -1
- package/dist/components/button/index.d.ts.map +1 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/types.d.ts +5 -4
- package/dist/components/button/types.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.js +8 -0
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +0 -2
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +0 -1
- package/dist/components/dropdown-menu/types.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js +2 -3
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +2 -2
- package/dist/components/internal/choice-family/types.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +11 -0
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
- package/dist/components/pagination/PaginationShell.js +26 -1
- package/dist/components/pagination/PaginationShell.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.js +1 -0
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.js +1 -0
- package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
- package/dist/components/table-of-contents/TableOfContents.d.ts +22 -0
- package/dist/components/table-of-contents/TableOfContents.d.ts.map +1 -0
- package/dist/components/table-of-contents/TableOfContents.js +142 -0
- package/dist/components/table-of-contents/TableOfContents.js.map +1 -0
- package/dist/components/table-of-contents/client/TableOfContentsClient.d.ts +18 -0
- package/dist/components/table-of-contents/client/TableOfContentsClient.d.ts.map +1 -0
- package/dist/components/table-of-contents/client/TableOfContentsClient.js +140 -0
- package/dist/components/table-of-contents/client/TableOfContentsClient.js.map +1 -0
- package/dist/components/table-of-contents/client/TableOfContentsClientParts.d.ts +7 -0
- package/dist/components/table-of-contents/client/TableOfContentsClientParts.d.ts.map +1 -0
- package/dist/components/table-of-contents/client/TableOfContentsClientParts.js +48 -0
- package/dist/components/table-of-contents/client/TableOfContentsClientParts.js.map +1 -0
- package/dist/components/table-of-contents/client/index.d.ts +5 -0
- package/dist/components/table-of-contents/client/index.d.ts.map +1 -0
- package/dist/components/table-of-contents/client/index.js +23 -0
- package/dist/components/table-of-contents/client/index.js.map +1 -0
- package/dist/components/table-of-contents/client/table-of-contents-context.d.ts +3 -0
- package/dist/components/table-of-contents/client/table-of-contents-context.d.ts.map +1 -0
- package/dist/components/table-of-contents/client/table-of-contents-context.js +7 -0
- package/dist/components/table-of-contents/client/table-of-contents-context.js.map +1 -0
- package/dist/components/table-of-contents/client/table-of-contents-interactions.d.ts +3 -0
- package/dist/components/table-of-contents/client/table-of-contents-interactions.d.ts.map +1 -0
- package/dist/components/table-of-contents/client/table-of-contents-interactions.js +144 -0
- package/dist/components/table-of-contents/client/table-of-contents-interactions.js.map +1 -0
- package/dist/components/table-of-contents/client/table-of-contents-pointer.d.ts +3 -0
- package/dist/components/table-of-contents/client/table-of-contents-pointer.d.ts.map +1 -0
- package/dist/components/table-of-contents/client/table-of-contents-pointer.js +94 -0
- package/dist/components/table-of-contents/client/table-of-contents-pointer.js.map +1 -0
- package/dist/components/table-of-contents/client.d.ts +1 -0
- package/dist/components/table-of-contents/client.js +1 -0
- package/dist/components/table-of-contents/index.d.ts +3 -0
- package/dist/components/table-of-contents/index.d.ts.map +1 -0
- package/dist/components/table-of-contents/index.js +21 -0
- package/dist/components/table-of-contents/index.js.map +1 -0
- package/dist/components/table-of-contents/scrollspy-selection.d.ts +4 -0
- package/dist/components/table-of-contents/scrollspy-selection.d.ts.map +1 -0
- package/dist/components/table-of-contents/scrollspy-selection.js +31 -0
- package/dist/components/table-of-contents/scrollspy-selection.js.map +1 -0
- package/dist/components/table-of-contents/scrollspy.d.ts +4 -0
- package/dist/components/table-of-contents/scrollspy.d.ts.map +1 -0
- package/dist/components/table-of-contents/scrollspy.js +178 -0
- package/dist/components/table-of-contents/scrollspy.js.map +1 -0
- package/dist/components/table-of-contents/types.d.ts +123 -0
- package/dist/components/table-of-contents/types.d.ts.map +1 -0
- package/dist/components/table-of-contents/types.js +1 -0
- package/dist/components/table-of-contents/types.js.map +1 -0
- package/dist/components/table-of-contents.d.ts +1 -0
- package/dist/components/table-of-contents.js +1 -0
- package/dist/components/toggle/Toggle.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.js +12 -1
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.js +6 -1
- package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.js +19 -6
- package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
- package/dist/components/toggle-group/types.d.ts +3 -3
- package/dist/components/toggle-group/types.d.ts.map +1 -1
- package/dist/components/toolbar/ToolbarShell.d.ts.map +1 -1
- package/dist/components/toolbar/ToolbarShell.js +5 -2
- package/dist/components/toolbar/ToolbarShell.js.map +1 -1
- package/dist/components/toolbar/types.d.ts +2 -1
- package/dist/components/toolbar/types.d.ts.map +1 -1
- package/dist/core/render-native-invoker.d.ts +1 -1
- package/dist/core/render-native-invoker.d.ts.map +1 -1
- package/dist/core/render-native-invoker.js.map +1 -1
- package/dist/styles/index.css +1 -1
- package/package.json +4 -2
- package/skills/uiify/SKILL.md +167 -0
- package/skills/uiify/scripts/lint.mjs +56 -0
- package/skills/uiify/scripts/static.mjs +95 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import type { AriaAttributes, CSSProperties, Ref, MouseEventHandler, ElementType, ReactNode } from "react";
|
|
2
|
+
import type { NativeButtonProps, RenderableProps } from "../../core/render.js";
|
|
3
|
+
import type { AnchorAlign, AnchorSide } from "../../core/anchor-position/types.js";
|
|
4
|
+
export type TableOfContentsLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
5
|
+
export interface TableOfContentsRootOwnProps {
|
|
6
|
+
readonly children?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export type TableOfContentsRootProps<TAs extends ElementType = "nav"> = RenderableProps<TAs, TableOfContentsRootOwnProps, Record<string, never>, HTMLElement>;
|
|
9
|
+
export interface TableOfContentsTriggerOwnProps {
|
|
10
|
+
readonly children?: ReactNode;
|
|
11
|
+
readonly target: string;
|
|
12
|
+
}
|
|
13
|
+
export type TableOfContentsTriggerProps<TAs extends ElementType = "button"> = NativeButtonProps<TAs, TableOfContentsTriggerOwnProps>;
|
|
14
|
+
export interface TableOfContentsRailOwnProps {
|
|
15
|
+
readonly children?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
export type TableOfContentsRailProps<TAs extends ElementType = "span"> = RenderableProps<TAs, TableOfContentsRailOwnProps, Record<string, never>, HTMLElement>;
|
|
18
|
+
export interface TableOfContentsIndicatorOwnProps {
|
|
19
|
+
readonly ref?: Ref<HTMLElement>;
|
|
20
|
+
readonly style?: CSSProperties;
|
|
21
|
+
readonly children?: ReactNode;
|
|
22
|
+
/** Stable target ID matching a Link fragment. */
|
|
23
|
+
readonly value: string;
|
|
24
|
+
readonly level?: TableOfContentsLevel;
|
|
25
|
+
readonly selected?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export type TableOfContentsIndicatorProps<TAs extends ElementType = "span"> = RenderableProps<TAs, TableOfContentsIndicatorOwnProps, {
|
|
28
|
+
selected: boolean;
|
|
29
|
+
}, HTMLElement>;
|
|
30
|
+
export interface TableOfContentsContentOwnProps {
|
|
31
|
+
readonly children?: ReactNode;
|
|
32
|
+
readonly id: string;
|
|
33
|
+
readonly side?: AnchorSide;
|
|
34
|
+
readonly align?: AnchorAlign;
|
|
35
|
+
}
|
|
36
|
+
export type TableOfContentsContentProps<TAs extends ElementType = "div"> = RenderableProps<TAs, TableOfContentsContentOwnProps, Record<string, never>, HTMLElement>;
|
|
37
|
+
export interface TableOfContentsListOwnProps {
|
|
38
|
+
readonly children?: ReactNode;
|
|
39
|
+
}
|
|
40
|
+
export type TableOfContentsListProps<TAs extends ElementType = "div"> = RenderableProps<TAs, TableOfContentsListOwnProps, Record<string, never>, HTMLElement>;
|
|
41
|
+
export interface TableOfContentsLinkOwnProps {
|
|
42
|
+
readonly style?: CSSProperties;
|
|
43
|
+
readonly "aria-current"?: AriaAttributes["aria-current"];
|
|
44
|
+
readonly children?: ReactNode;
|
|
45
|
+
/** Native same-page anchor; external URLs are not tracked by scrollspy. */
|
|
46
|
+
readonly href: string;
|
|
47
|
+
readonly level?: TableOfContentsLevel;
|
|
48
|
+
readonly selected?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export type TableOfContentsLinkProps<TAs extends ElementType = "a"> = RenderableProps<TAs, TableOfContentsLinkOwnProps, {
|
|
51
|
+
selected: boolean;
|
|
52
|
+
}, HTMLAnchorElement>;
|
|
53
|
+
export interface TableOfContentsTargetSnapshot {
|
|
54
|
+
readonly value: string;
|
|
55
|
+
readonly start: number;
|
|
56
|
+
readonly visible: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface TableOfContentsScrollSnapshot {
|
|
59
|
+
readonly targets: readonly TableOfContentsTargetSnapshot[];
|
|
60
|
+
readonly viewportStart: number;
|
|
61
|
+
readonly viewportEnd: number;
|
|
62
|
+
readonly offset: number;
|
|
63
|
+
readonly contentEnd: number | null;
|
|
64
|
+
}
|
|
65
|
+
export interface TableOfContentsObserverOptions {
|
|
66
|
+
readonly root: HTMLElement;
|
|
67
|
+
readonly scrollTarget?: string | undefined;
|
|
68
|
+
readonly contentTarget?: string | undefined;
|
|
69
|
+
readonly offset: number;
|
|
70
|
+
readonly onValueChange: (value: string | null) => void;
|
|
71
|
+
}
|
|
72
|
+
export interface TableOfContentsObserver {
|
|
73
|
+
readonly refresh: () => void;
|
|
74
|
+
readonly destroy: () => void;
|
|
75
|
+
}
|
|
76
|
+
export interface TableOfContentsClientRootOwnProps extends TableOfContentsRootOwnProps {
|
|
77
|
+
readonly ref?: Ref<HTMLElement>;
|
|
78
|
+
readonly className?: string;
|
|
79
|
+
readonly style?: CSSProperties;
|
|
80
|
+
readonly onClick?: MouseEventHandler<HTMLElement>;
|
|
81
|
+
readonly scrollSpy?: boolean;
|
|
82
|
+
/** Scroll-container element ID; omitted tracks the owning window. */
|
|
83
|
+
readonly scrollTarget?: string;
|
|
84
|
+
/** Content element ID used for target scope and end-of-content selection. */
|
|
85
|
+
readonly contentTarget?: string;
|
|
86
|
+
readonly offset?: number;
|
|
87
|
+
readonly value?: string | null;
|
|
88
|
+
readonly defaultValue?: string | null;
|
|
89
|
+
readonly onValueChange?: (value: string | null) => void;
|
|
90
|
+
readonly open?: boolean;
|
|
91
|
+
/** Applied after hydration; the native SSR surface starts closed. */
|
|
92
|
+
readonly defaultOpen?: boolean;
|
|
93
|
+
readonly onOpenChange?: (open: boolean) => void;
|
|
94
|
+
readonly openOnHover?: boolean;
|
|
95
|
+
readonly openDelay?: number;
|
|
96
|
+
readonly closeDelay?: number;
|
|
97
|
+
}
|
|
98
|
+
export type TableOfContentsClientRootProps<TAs extends ElementType = "nav"> = RenderableProps<TAs, TableOfContentsClientRootOwnProps, {
|
|
99
|
+
value: string | null;
|
|
100
|
+
open: boolean;
|
|
101
|
+
}, HTMLElement>;
|
|
102
|
+
export interface TableOfContentsClientContextValue {
|
|
103
|
+
readonly value: string | null;
|
|
104
|
+
readonly open: boolean;
|
|
105
|
+
readonly documentUrl: string | undefined;
|
|
106
|
+
}
|
|
107
|
+
export interface TableOfContentsInteractionOptions {
|
|
108
|
+
readonly root: HTMLElement;
|
|
109
|
+
readonly getOpen: () => boolean;
|
|
110
|
+
readonly requestOpen: (open: boolean) => void;
|
|
111
|
+
readonly controlled: boolean;
|
|
112
|
+
readonly openOnHover: boolean;
|
|
113
|
+
readonly openDelay: number;
|
|
114
|
+
readonly closeDelay: number;
|
|
115
|
+
}
|
|
116
|
+
export interface TableOfContentsInteractions {
|
|
117
|
+
readonly click: (event: MouseEvent) => void;
|
|
118
|
+
readonly destroy: () => void;
|
|
119
|
+
}
|
|
120
|
+
export interface TableOfContentsPointerOptions {
|
|
121
|
+
readonly root: HTMLElement;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/table-of-contents/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./table-of-contents/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./table-of-contents/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,MAAM,CAAC,EACrB,EAAE,EACF,KAAK,EACL,OAAO,EACP,cAAsB,EACtB,QAAgB,EAChB,SAAS,GACV,EAAE,WAAW,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/components/toggle/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,MAAM,CAAC,EACrB,EAAE,EACF,KAAK,EACL,OAAO,EACP,cAAsB,EACtB,QAAgB,EAChB,SAAS,GACV,EAAE,WAAW,GAAG,YAAY,CA+B5B;yBAtCe,MAAM"}
|
|
@@ -25,7 +25,18 @@ function Toggle({
|
|
|
25
25
|
type: "checkbox"
|
|
26
26
|
}
|
|
27
27
|
),
|
|
28
|
-
/* @__PURE__ */ jsx(
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
"label",
|
|
30
|
+
{
|
|
31
|
+
className,
|
|
32
|
+
"data-part": "label",
|
|
33
|
+
"data-uiify-button": "",
|
|
34
|
+
"data-variant": "outline",
|
|
35
|
+
htmlFor: id,
|
|
36
|
+
id: labelId,
|
|
37
|
+
children: label
|
|
38
|
+
}
|
|
39
|
+
)
|
|
29
40
|
] });
|
|
30
41
|
}
|
|
31
42
|
Toggle.displayName = "Toggle";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toggle/Toggle.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport type { ToggleProps } from \"./types.js\";\n\nexport function Toggle({\n id,\n label,\n pressed,\n defaultPressed = false,\n disabled = false,\n className,\n}: ToggleProps): ReactElement {\n const isControlled = pressed !== undefined;\n const checked = isControlled ? pressed : undefined;\n\n const labelId = `${id}-label`;\n\n return (\n <div data-disabled={disabled ? \"\" : undefined} data-uiify-toggle=\"\">\n <input\n aria-labelledby={labelId}\n checked={checked}\n data-disabled={disabled ? \"\" : undefined}\n data-part=\"control\"\n data-state={isControlled ? (pressed ? \"on\" : \"off\") : undefined}\n defaultChecked={!isControlled ? defaultPressed : undefined}\n disabled={disabled || undefined}\n id={id}\n type=\"checkbox\"\n />\n <label
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toggle/Toggle.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport type { ToggleProps } from \"./types.js\";\n\nexport function Toggle({\n id,\n label,\n pressed,\n defaultPressed = false,\n disabled = false,\n className,\n}: ToggleProps): ReactElement {\n const isControlled = pressed !== undefined;\n const checked = isControlled ? pressed : undefined;\n\n const labelId = `${id}-label`;\n\n return (\n <div data-disabled={disabled ? \"\" : undefined} data-uiify-toggle=\"\">\n <input\n aria-labelledby={labelId}\n checked={checked}\n data-disabled={disabled ? \"\" : undefined}\n data-part=\"control\"\n data-state={isControlled ? (pressed ? \"on\" : \"off\") : undefined}\n defaultChecked={!isControlled ? defaultPressed : undefined}\n disabled={disabled || undefined}\n id={id}\n type=\"checkbox\"\n />\n <label\n className={className}\n data-part=\"label\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n htmlFor={id}\n id={labelId}\n >\n {label}\n </label>\n </div>\n );\n}\nToggle.displayName = \"Toggle\";\n"],"mappings":"AAiBI,SACE,KADF;AAdG,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX;AACF,GAA8B;AAC5B,QAAM,eAAe,YAAY;AACjC,QAAM,UAAU,eAAe,UAAU;AAEzC,QAAM,UAAU,GAAG,EAAE;AAErB,SACE,qBAAC,SAAI,iBAAe,WAAW,KAAK,QAAW,qBAAkB,IAC/D;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,mBAAiB;AAAA,QACjB;AAAA,QACA,iBAAe,WAAW,KAAK;AAAA,QAC/B,aAAU;AAAA,QACV,cAAY,eAAgB,UAAU,OAAO,QAAS;AAAA,QACtD,gBAAgB,CAAC,eAAe,iBAAiB;AAAA,QACjD,UAAU,YAAY;AAAA,QACtB;AAAA,QACA,MAAK;AAAA;AAAA,IACP;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,aAAU;AAAA,QACV,qBAAkB;AAAA,QAClB,gBAAa;AAAA,QACb,SAAS;AAAA,QACT,IAAI;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;AACA,OAAO,cAAc;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { ToggleGroupProps } from "./types.js";
|
|
3
|
-
export declare function ToggleGroup({ id, items, type, defaultValue, disabled, orientation, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ToggleGroupProps): ReactElement;
|
|
3
|
+
export declare function ToggleGroup({ id, items, type, defaultValue, disabled, orientation, size, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ToggleGroupProps): ReactElement;
|
|
4
4
|
export declare namespace ToggleGroup {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleGroup.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,IAAe,EACf,YAAY,EACZ,QAAgB,EAChB,WAA0B,EAC1B,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,gBAAgB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"ToggleGroup.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,wBAAgB,WAAW,CAAC,EAC1B,EAAE,EACF,KAAK,EACL,IAAe,EACf,YAAY,EACZ,QAAgB,EAChB,WAA0B,EAC1B,IAAI,EACJ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,gBAAgB,GAAG,YAAY,CA6BjC;yBAxCe,WAAW"}
|
|
@@ -7,6 +7,7 @@ function ToggleGroup({
|
|
|
7
7
|
defaultValue,
|
|
8
8
|
disabled = false,
|
|
9
9
|
orientation = "horizontal",
|
|
10
|
+
size,
|
|
10
11
|
className,
|
|
11
12
|
"aria-label": ariaLabel,
|
|
12
13
|
"aria-labelledby": ariaLabelledBy
|
|
@@ -22,10 +23,14 @@ function ToggleGroup({
|
|
|
22
23
|
...className !== void 0 ? { className } : {},
|
|
23
24
|
id,
|
|
24
25
|
items: resolvedItems,
|
|
25
|
-
itemWrapperAttributes: (item) => ({ "data-shape": item.shape }),
|
|
26
26
|
isChecked: (item) => values.includes(item.value),
|
|
27
27
|
kind: type,
|
|
28
28
|
namespace: "toggle-group",
|
|
29
|
+
labelAttributes: {
|
|
30
|
+
"data-uiify-button": "",
|
|
31
|
+
"data-variant": "outline",
|
|
32
|
+
...size !== void 0 ? { "data-size": size } : {}
|
|
33
|
+
},
|
|
29
34
|
orientation,
|
|
30
35
|
rootAttributes: {
|
|
31
36
|
role: type === "single" ? "radiogroup" : "group",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupItem, ToggleGroupProps } from \"./types.js\";\n\nexport function ToggleGroup({\n id,\n items,\n type = \"single\",\n defaultValue,\n disabled = false,\n orientation = \"horizontal\",\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupProps): ReactElement {\n const values = Array.isArray(defaultValue) ? defaultValue : [defaultValue];\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toggle-group/ToggleGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ChoiceGroup } from \"../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupItem, ToggleGroupProps } from \"./types.js\";\n\nexport function ToggleGroup({\n id,\n items,\n type = \"single\",\n defaultValue,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupProps): ReactElement {\n const values = Array.isArray(defaultValue) ? defaultValue : [defaultValue];\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => values.includes(item.value)}\n kind={type}\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n orientation={orientation}\n rootAttributes={{\n role: type === \"single\" ? \"radiogroup\" : \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\nToggleGroup.displayName = \"ToggleGroup\";\n"],"mappings":"AAuBI;AAtBJ,SAAS,mBAAmB;AAGrB,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AACrB,GAAmC;AACjC,QAAM,SAAS,MAAM,QAAQ,YAAY,IAAI,eAAe,CAAC,YAAY;AACzE,QAAM,gBAAgB,MAAM,IAAI,CAAC,UAAU;AAAA,IACzC,GAAG;AAAA,IACH,UAAU,YAAY,KAAK,aAAa;AAAA,EAC1C,EAAE;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI,cAAc,SAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAChD;AAAA,MACA,OAAO;AAAA,MACP,WAAW,CAAC,SAAS,OAAO,SAAS,KAAK,KAAK;AAAA,MAC/C,MAAM;AAAA,MACN,WAAU;AAAA,MACV,iBAAiB;AAAA,QACf,qBAAqB;AAAA,QACrB,gBAAgB;AAAA,QAChB,GAAI,SAAS,SAAY,EAAE,aAAa,KAAK,IAAI,CAAC;AAAA,MACpD;AAAA,MACA;AAAA,MACA,gBAAgB;AAAA,QACd,MAAM,SAAS,WAAW,eAAe;AAAA,QACzC,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,iBAAiB,WAAW,KAAK;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AACA,YAAY,cAAc;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { ToggleGroupClientProps } from "../types.js";
|
|
3
|
-
export declare function ToggleGroupClient({ id, items, type, value: controlledValue, defaultValue, onValueChange, disabled, orientation, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ToggleGroupClientProps): ReactElement;
|
|
3
|
+
export declare function ToggleGroupClient({ id, items, type, value: controlledValue, defaultValue, onValueChange, disabled, orientation, size, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }: ToggleGroupClientProps): ReactElement;
|
|
4
4
|
export declare namespace ToggleGroupClient {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleGroupClient.d.ts","sourceRoot":"","sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,sBAAsB,EAAmB,MAAM,aAAa,CAAC;AAU3E,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,IAAe,EACf,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,QAAgB,EAChB,WAA0B,EAC1B,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,sBAAsB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"ToggleGroupClient.d.ts","sourceRoot":"","sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,sBAAsB,EAAmB,MAAM,aAAa,CAAC;AAU3E,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,IAAe,EACf,KAAK,EAAE,eAAe,EACtB,YAAY,EACZ,aAAa,EACb,QAAgB,EAChB,WAA0B,EAC1B,IAAI,EACJ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,sBAAsB,GAAG,YAAY,CAkCvC;yBA/Ce,iBAAiB"}
|
|
@@ -17,6 +17,7 @@ function ToggleGroupClient({
|
|
|
17
17
|
onValueChange,
|
|
18
18
|
disabled = false,
|
|
19
19
|
orientation = "horizontal",
|
|
20
|
+
size,
|
|
20
21
|
className,
|
|
21
22
|
"aria-label": ariaLabel,
|
|
22
23
|
"aria-labelledby": ariaLabelledBy
|
|
@@ -34,7 +35,8 @@ function ToggleGroupClient({
|
|
|
34
35
|
id,
|
|
35
36
|
items,
|
|
36
37
|
onValueChange,
|
|
37
|
-
orientation
|
|
38
|
+
orientation,
|
|
39
|
+
size
|
|
38
40
|
}
|
|
39
41
|
);
|
|
40
42
|
}
|
|
@@ -50,7 +52,8 @@ function ToggleGroupClient({
|
|
|
50
52
|
id,
|
|
51
53
|
items,
|
|
52
54
|
onValueChange,
|
|
53
|
-
orientation
|
|
55
|
+
orientation,
|
|
56
|
+
size
|
|
54
57
|
}
|
|
55
58
|
);
|
|
56
59
|
}
|
|
@@ -64,7 +67,8 @@ function SingleToggleGroupClient({
|
|
|
64
67
|
id,
|
|
65
68
|
items,
|
|
66
69
|
onValueChange,
|
|
67
|
-
orientation
|
|
70
|
+
orientation,
|
|
71
|
+
size
|
|
68
72
|
}) {
|
|
69
73
|
const [selectedValue, setSelectedValue] = useControllableState({
|
|
70
74
|
defaultValue: normalizeSingle(defaultValue),
|
|
@@ -83,11 +87,15 @@ function SingleToggleGroupClient({
|
|
|
83
87
|
...className !== void 0 ? { className } : {},
|
|
84
88
|
id,
|
|
85
89
|
items: resolvedItems,
|
|
86
|
-
itemWrapperAttributes: (item) => ({ "data-shape": item.shape }),
|
|
87
90
|
isChecked: (item) => item.value === selectedValue,
|
|
88
91
|
isControlled: controlledValue !== void 0,
|
|
89
92
|
kind: "single",
|
|
90
93
|
namespace: "toggle-group",
|
|
94
|
+
labelAttributes: {
|
|
95
|
+
"data-uiify-button": "",
|
|
96
|
+
"data-variant": "outline",
|
|
97
|
+
...size !== void 0 ? { "data-size": size } : {}
|
|
98
|
+
},
|
|
91
99
|
onItemChange: (item) => setSelectedValue(item.value),
|
|
92
100
|
orientation,
|
|
93
101
|
rootAttributes: {
|
|
@@ -110,7 +118,8 @@ function MultipleToggleGroupClient({
|
|
|
110
118
|
id,
|
|
111
119
|
items,
|
|
112
120
|
onValueChange,
|
|
113
|
-
orientation
|
|
121
|
+
orientation,
|
|
122
|
+
size
|
|
114
123
|
}) {
|
|
115
124
|
const [selectedValues, setSelectedValues] = useControllableState({
|
|
116
125
|
defaultValue: normalizeMultiple(defaultValue),
|
|
@@ -127,11 +136,15 @@ function MultipleToggleGroupClient({
|
|
|
127
136
|
...className !== void 0 ? { className } : {},
|
|
128
137
|
id,
|
|
129
138
|
items: resolvedItems,
|
|
130
|
-
itemWrapperAttributes: (item) => ({ "data-shape": item.shape }),
|
|
131
139
|
isChecked: (item) => selectedValues.includes(item.value),
|
|
132
140
|
isControlled: controlledValue !== void 0,
|
|
133
141
|
kind: "multiple",
|
|
134
142
|
namespace: "toggle-group",
|
|
143
|
+
labelAttributes: {
|
|
144
|
+
"data-uiify-button": "",
|
|
145
|
+
"data-variant": "outline",
|
|
146
|
+
...size !== void 0 ? { "data-size": size } : {}
|
|
147
|
+
},
|
|
135
148
|
onItemChange: (item) => setSelectedValues(
|
|
136
149
|
(currentValues) => currentValues.includes(item.value) ? currentValues.filter((value) => value !== item.value) : [...currentValues, item.value]
|
|
137
150
|
),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { ChoiceGroup } from \"../../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupClientProps, ToggleGroupItem } from \"../types.js\";\n\nfunction normalizeSingle(value: string | readonly string[] | undefined): string | undefined {\n return typeof value === \"string\" ? value : value?.[0];\n}\n\nfunction normalizeMultiple(value: string | readonly string[] | undefined): readonly string[] {\n return value === undefined ? [] : typeof value === \"string\" ? [value] : value;\n}\n\nexport function ToggleGroupClient({\n id,\n items,\n type = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupClientProps): ReactElement {\n if (type === \"multiple\") {\n return (\n <MultipleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n />\n );\n }\n\n return (\n <SingleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n />\n );\n}\n\ninterface ToggleGroupClientBranchProps {\n readonly ariaLabel?: string | undefined;\n readonly ariaLabelledBy?: string | undefined;\n readonly className?: string | undefined;\n readonly controlledValue?: string | readonly string[] | undefined;\n readonly defaultValue?: string | readonly string[] | undefined;\n readonly disabled: boolean;\n readonly id: string;\n readonly items: readonly ToggleGroupItem[];\n readonly onValueChange?: ((value: string | readonly string[]) => void) | undefined;\n readonly orientation: \"horizontal\" | \"vertical\";\n}\n\nfunction SingleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue: normalizeSingle(defaultValue),\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: normalizeSingle(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { ChoiceGroup } from \"../../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupClientProps, ToggleGroupItem } from \"../types.js\";\n\nfunction normalizeSingle(value: string | readonly string[] | undefined): string | undefined {\n return typeof value === \"string\" ? value : value?.[0];\n}\n\nfunction normalizeMultiple(value: string | readonly string[] | undefined): readonly string[] {\n return value === undefined ? [] : typeof value === \"string\" ? [value] : value;\n}\n\nexport function ToggleGroupClient({\n id,\n items,\n type = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupClientProps): ReactElement {\n if (type === \"multiple\") {\n return (\n <MultipleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n size={size}\n />\n );\n }\n\n return (\n <SingleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n size={size}\n />\n );\n}\n\ninterface ToggleGroupClientBranchProps {\n readonly ariaLabel?: string | undefined;\n readonly ariaLabelledBy?: string | undefined;\n readonly className?: string | undefined;\n readonly controlledValue?: string | readonly string[] | undefined;\n readonly defaultValue?: string | readonly string[] | undefined;\n readonly disabled: boolean;\n readonly id: string;\n readonly items: readonly ToggleGroupItem[];\n readonly onValueChange?: ((value: string | readonly string[]) => void) | undefined;\n readonly orientation: \"horizontal\" | \"vertical\";\n readonly size?: ToggleGroupClientProps[\"size\"];\n}\n\nfunction SingleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue: normalizeSingle(defaultValue),\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: normalizeSingle(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) => setSelectedValue(item.value)}\n orientation={orientation}\n rootAttributes={{\n role: \"radiogroup\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nSingleToggleGroupClient.displayName = \"SingleToggleGroupClient\";\n\nfunction MultipleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValues, setSelectedValues] = useControllableState<readonly string[]>({\n defaultValue: normalizeMultiple(defaultValue),\n onChange: onValueChange,\n value: controlledValue === undefined ? undefined : normalizeMultiple(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => selectedValues.includes(item.value)}\n isControlled={controlledValue !== undefined}\n kind=\"multiple\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) =>\n setSelectedValues((currentValues) =>\n currentValues.includes(item.value)\n ? currentValues.filter((value) => value !== item.value)\n : [...currentValues, item.value],\n )\n }\n orientation={orientation}\n rootAttributes={{\n role: \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nMultipleToggleGroupClient.displayName = \"MultipleToggleGroupClient\";\nToggleGroupClient.displayName = \"ToggleGroupClient\";\n"],"mappings":"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","names":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { ChoiceItem, ChoiceOrientation } from "../internal/choice-family/types.js";
|
|
2
|
-
export
|
|
3
|
-
readonly shape?: "square" | "circle";
|
|
4
|
-
}
|
|
2
|
+
export type ToggleGroupItem = ChoiceItem;
|
|
5
3
|
export interface ToggleGroupProps {
|
|
6
4
|
readonly id: string;
|
|
7
5
|
readonly type?: "single" | "multiple";
|
|
@@ -9,6 +7,8 @@ export interface ToggleGroupProps {
|
|
|
9
7
|
readonly defaultValue?: string | readonly string[];
|
|
10
8
|
readonly disabled?: boolean;
|
|
11
9
|
readonly orientation?: ChoiceOrientation;
|
|
10
|
+
/** Button size of each item; `md` metrics when omitted. */
|
|
11
|
+
readonly size?: "sm" | "md" | "lg";
|
|
12
12
|
readonly className?: string;
|
|
13
13
|
readonly "aria-label"?: string;
|
|
14
14
|
readonly "aria-labelledby"?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAExF,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAExF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CACtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarShell.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAuBxE;yBAvBe,WAAW;;;AA0B3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ToolbarShell.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAuBxE;yBAvBe,WAAW;;;AA0B3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAoB5E;yBApBe,aAAa;;;AAuB7B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAQxE;yBARe,WAAW;;;AAW3B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAWlF;yBAXe,gBAAgB;;;AAchC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAE1F;yBAFe,sBAAsB;;;AAKtC,eAAO,MAAM,kBAAkB,+BAAyB,CAAC;AAEzD,eAAO,MAAM,OAAO;;;;;;CAMnB,CAAC"}
|
|
@@ -25,15 +25,18 @@ function ToolbarRoot(props) {
|
|
|
25
25
|
}
|
|
26
26
|
ToolbarRoot.displayName = "ToolbarRoot";
|
|
27
27
|
function ToolbarButton(props) {
|
|
28
|
-
const { children, className, disabled = false,
|
|
28
|
+
const { children, className, disabled = false, selected, ...consumerProps } = props;
|
|
29
29
|
return /* @__PURE__ */ jsx(
|
|
30
30
|
"button",
|
|
31
31
|
{
|
|
32
|
+
"data-variant": "ghost",
|
|
33
|
+
...selected !== void 0 ? { "aria-pressed": selected } : {},
|
|
32
34
|
...consumerProps,
|
|
33
|
-
...shape !== void 0 ? { "data-shape": shape } : {},
|
|
34
35
|
"aria-disabled": disabled || void 0,
|
|
35
36
|
"data-part": "item",
|
|
37
|
+
"data-uiify-button": "",
|
|
36
38
|
"data-uiify-toolbar": "",
|
|
39
|
+
...selected ? { "data-selected": "" } : {},
|
|
37
40
|
disabled,
|
|
38
41
|
type: "button",
|
|
39
42
|
...className ? { className } : {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toolbar/ToolbarShell.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ToggleGroup } from \"../toggle-group/ToggleGroup.js\";\nimport type {\n ToolbarRootProps,\n ToolbarButtonProps,\n ToolbarLinkProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n} from \"./types.js\";\n\nexport function ToolbarRoot(props: ToolbarRootProps): ReactElement | null {\n const {\n children,\n className,\n dir,\n loop: _loop = true,\n orientation = \"horizontal\",\n ...consumerProps\n } = props;\n\n return (\n <div\n {...consumerProps}\n className={className}\n data-orientation={orientation}\n data-part=\"root\"\n data-uiify-toolbar=\"\"\n dir={dir}\n role=\"toolbar\"\n >\n {children}\n </div>\n );\n}\nToolbarRoot.displayName = \"ToolbarRoot\";\n\nexport function ToolbarButton(props: ToolbarButtonProps): ReactElement | null {\n const { children, className, disabled = false,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toolbar/ToolbarShell.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { ToggleGroup } from \"../toggle-group/ToggleGroup.js\";\nimport type {\n ToolbarRootProps,\n ToolbarButtonProps,\n ToolbarLinkProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n} from \"./types.js\";\n\nexport function ToolbarRoot(props: ToolbarRootProps): ReactElement | null {\n const {\n children,\n className,\n dir,\n loop: _loop = true,\n orientation = \"horizontal\",\n ...consumerProps\n } = props;\n\n return (\n <div\n {...consumerProps}\n className={className}\n data-orientation={orientation}\n data-part=\"root\"\n data-uiify-toolbar=\"\"\n dir={dir}\n role=\"toolbar\"\n >\n {children}\n </div>\n );\n}\nToolbarRoot.displayName = \"ToolbarRoot\";\n\nexport function ToolbarButton(props: ToolbarButtonProps): ReactElement | null {\n const { children, className, disabled = false, selected, ...consumerProps } = props;\n\n return (\n <button\n data-variant=\"ghost\"\n {...(selected !== undefined ? { \"aria-pressed\": selected } : {})}\n {...consumerProps}\n aria-disabled={disabled || undefined}\n data-part=\"item\"\n data-uiify-button=\"\"\n data-uiify-toolbar=\"\"\n {...(selected ? { \"data-selected\": \"\" } : {})}\n disabled={disabled}\n type=\"button\"\n {...(className ? { className } : {})}\n >\n {children}\n </button>\n );\n}\nToolbarButton.displayName = \"ToolbarButton\";\n\nexport function ToolbarLink(props: ToolbarLinkProps): ReactElement | null {\n const { children, className, href, ...consumerProps } = props;\n\n return (\n <a {...consumerProps} className={className} data-part=\"item\" data-uiify-toolbar=\"\" href={href}>\n {children}\n </a>\n );\n}\nToolbarLink.displayName = \"ToolbarLink\";\n\nexport function ToolbarSeparator(props: ToolbarSeparatorProps): ReactElement | null {\n const { className, orientation = \"vertical\", ...consumerProps } = props;\n return (\n <hr\n {...consumerProps}\n {...(className ? { className } : {})}\n aria-orientation={orientation}\n data-part=\"separator\"\n data-orientation={orientation}\n />\n );\n}\nToolbarSeparator.displayName = \"ToolbarSeparator\";\n\nexport function ToolbarToggleGroupRoot(props: ToolbarToggleGroupProps): ReactElement | null {\n return <ToggleGroup {...props} />;\n}\nToolbarToggleGroupRoot.displayName = \"ToolbarToggleGroupRoot\";\n\nexport const ToolbarToggleGroup = ToolbarToggleGroupRoot;\n\nexport const Toolbar = {\n Button: ToolbarButton,\n Link: ToolbarLink,\n Root: ToolbarRoot,\n Separator: ToolbarSeparator,\n ToggleGroup: ToolbarToggleGroup,\n};\n"],"mappings":"AAqBI;AApBJ,SAAS,mBAAmB;AASrB,SAAS,YAAY,OAA8C;AACxE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,cAAc;AAAA,IACd,GAAG;AAAA,EACL,IAAI;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,oBAAkB;AAAA,MAClB,aAAU;AAAA,MACV,sBAAmB;AAAA,MACnB;AAAA,MACA,MAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AACA,YAAY,cAAc;AAEnB,SAAS,cAAc,OAAgD;AAC5E,QAAM,EAAE,UAAU,WAAW,WAAW,OAAO,UAAU,GAAG,cAAc,IAAI;AAE9E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAa;AAAA,MACZ,GAAI,aAAa,SAAY,EAAE,gBAAgB,SAAS,IAAI,CAAC;AAAA,MAC7D,GAAG;AAAA,MACJ,iBAAe,YAAY;AAAA,MAC3B,aAAU;AAAA,MACV,qBAAkB;AAAA,MAClB,sBAAmB;AAAA,MAClB,GAAI,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;AAAA,MAC3C;AAAA,MACA,MAAK;AAAA,MACJ,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAEjC;AAAA;AAAA,EACH;AAEJ;AACA,cAAc,cAAc;AAErB,SAAS,YAAY,OAA8C;AACxE,QAAM,EAAE,UAAU,WAAW,MAAM,GAAG,cAAc,IAAI;AAExD,SACE,oBAAC,OAAG,GAAG,eAAe,WAAsB,aAAU,QAAO,sBAAmB,IAAG,MAChF,UACH;AAEJ;AACA,YAAY,cAAc;AAEnB,SAAS,iBAAiB,OAAmD;AAClF,QAAM,EAAE,WAAW,cAAc,YAAY,GAAG,cAAc,IAAI;AAClE,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACH,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MAClC,oBAAkB;AAAA,MAClB,aAAU;AAAA,MACV,oBAAkB;AAAA;AAAA,EACpB;AAEJ;AACA,iBAAiB,cAAc;AAExB,SAAS,uBAAuB,OAAqD;AAC1F,SAAO,oBAAC,eAAa,GAAG,OAAO;AACjC;AACA,uBAAuB,cAAc;AAE9B,MAAM,qBAAqB;AAE3B,MAAM,UAAU;AAAA,EACrB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,aAAa;AACf;","names":[]}
|
|
@@ -10,7 +10,8 @@ export interface ToolbarRootOwnProps {
|
|
|
10
10
|
export interface ToolbarRootProps extends ToolbarRootOwnProps, Omit<HTMLAttributes<HTMLDivElement>, keyof ToolbarRootOwnProps> {
|
|
11
11
|
}
|
|
12
12
|
export interface ToolbarButtonOwnProps {
|
|
13
|
-
|
|
13
|
+
/** Toggle state of the button: reported as aria-pressed and styled as selected. */
|
|
14
|
+
readonly selected?: boolean;
|
|
14
15
|
readonly children?: ReactNode;
|
|
15
16
|
readonly className?: string;
|
|
16
17
|
readonly disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,MAAM,WAAW,gBACf,SAAQ,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,mBAAmB,CAAC;CAAG;AAEjG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,MAAM,WAAW,gBACf,SAAQ,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,MAAM,mBAAmB,CAAC;CAAG;AAEjG,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,kBACf,SACE,qBAAqB,EACrB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,MAAM,qBAAqB,GAAG,UAAU,CAAC;CAAG;AAExF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBACf,SACE,mBAAmB,EACnB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,MAAM,mBAAmB,GAAG,MAAM,CAAC;CAAG;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CAClD;AAED,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAC1D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,wBAAwB,CAAC,CAAC;AAEtE,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { ElementType, ReactElement } from "react";
|
|
|
2
2
|
export type NativeInvokerCommand = "show-modal" | "request-close";
|
|
3
3
|
interface NativeInvokerOptions {
|
|
4
4
|
readonly button?: boolean;
|
|
5
|
-
readonly variant?: "ghost" | "destructive";
|
|
5
|
+
readonly variant?: "secondary" | "ghost" | "destructive";
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
8
|
* Render a native invoker button. `command`/`commandfor` are lowercase HTML
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-native-invoker.d.ts","sourceRoot":"","sources":["../../src/core/render-native-invoker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,eAAe,CAAC;AAElE,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"render-native-invoker.d.ts","sourceRoot":"","sources":["../../src/core/render-native-invoker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,eAAe,CAAC;AAElE,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;CAC1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAWd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/render-native-invoker.ts"],"sourcesContent":["import { createElement } from \"react\";\nimport type { ElementType, ReactElement } from \"react\";\n\nexport type NativeInvokerCommand = \"show-modal\" | \"request-close\";\n\ninterface NativeInvokerOptions {\n readonly button?: boolean;\n readonly variant?: \"ghost\" | \"destructive\";\n}\n\n/**\n * Render a native invoker button. `command`/`commandfor` are lowercase HTML\n * attributes that React 19.2 passes through untouched; @types/react 19.2 does\n * not declare them and the lint rule react/no-unknown-property rejects them in\n * JSX, so they travel as a props object through createElement. Shared by the\n * Modal and AlertModal parts, which use identical `show-modal`/`request-close`\n * command semantics; Popup uses `popoverTarget`/`popoverTargetAction` instead\n * and keeps its own renderer (see popup/PopupParts.tsx).\n *\n */\nexport function renderNativeInvoker(\n as: ElementType | undefined,\n marker: string,\n part: string,\n command: NativeInvokerCommand,\n target: string,\n consumerProps: Record<string, unknown>,\n options: NativeInvokerOptions = {},\n): ReactElement {\n return createElement(as ?? \"button\", {\n ...consumerProps,\n ...(options.button ? { \"data-uiify-button\": \"\" } : {}),\n [marker]: \"\",\n \"data-part\": part,\n ...(options.variant ? { \"data-variant\": options.variant } : {}),\n command,\n commandfor: target,\n type: \"button\",\n });\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAoBvB,SAAS,oBACd,IACA,QACA,MACA,SACA,QACA,eACA,UAAgC,CAAC,GACnB;AACd,SAAO,cAAc,MAAM,UAAU;AAAA,IACnC,GAAG;AAAA,IACH,GAAI,QAAQ,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;AAAA,IACpD,CAAC,MAAM,GAAG;AAAA,IACV,aAAa;AAAA,IACb,GAAI,QAAQ,UAAU,EAAE,gBAAgB,QAAQ,QAAQ,IAAI,CAAC;AAAA,IAC7D;AAAA,IACA,YAAY;AAAA,IACZ,MAAM;AAAA,EACR,CAAC;AACH;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/core/render-native-invoker.ts"],"sourcesContent":["import { createElement } from \"react\";\nimport type { ElementType, ReactElement } from \"react\";\n\nexport type NativeInvokerCommand = \"show-modal\" | \"request-close\";\n\ninterface NativeInvokerOptions {\n readonly button?: boolean;\n readonly variant?: \"secondary\" | \"ghost\" | \"destructive\";\n}\n\n/**\n * Render a native invoker button. `command`/`commandfor` are lowercase HTML\n * attributes that React 19.2 passes through untouched; @types/react 19.2 does\n * not declare them and the lint rule react/no-unknown-property rejects them in\n * JSX, so they travel as a props object through createElement. Shared by the\n * Modal and AlertModal parts, which use identical `show-modal`/`request-close`\n * command semantics; Popup uses `popoverTarget`/`popoverTargetAction` instead\n * and keeps its own renderer (see popup/PopupParts.tsx).\n *\n */\nexport function renderNativeInvoker(\n as: ElementType | undefined,\n marker: string,\n part: string,\n command: NativeInvokerCommand,\n target: string,\n consumerProps: Record<string, unknown>,\n options: NativeInvokerOptions = {},\n): ReactElement {\n return createElement(as ?? \"button\", {\n ...consumerProps,\n ...(options.button ? { \"data-uiify-button\": \"\" } : {}),\n [marker]: \"\",\n \"data-part\": part,\n ...(options.variant ? { \"data-variant\": options.variant } : {}),\n command,\n commandfor: target,\n type: \"button\",\n });\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAoBvB,SAAS,oBACd,IACA,QACA,MACA,SACA,QACA,eACA,UAAgC,CAAC,GACnB;AACd,SAAO,cAAc,MAAM,UAAU;AAAA,IACnC,GAAG;AAAA,IACH,GAAI,QAAQ,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;AAAA,IACpD,CAAC,MAAM,GAAG;AAAA,IACV,aAAa;AAAA,IACb,GAAI,QAAQ,UAAU,EAAE,gBAAgB,QAAQ,QAAQ,IAAI,CAAC;AAAA,IAC7D;AAAA,IACA,YAAY;AAAA,IACZ,MAAM;AAAA,EACR,CAAC;AACH;","names":[]}
|