@gunkin/uiify 0.0.12-alpha → 0.0.14-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/behavior.css +9 -6
- package/dist/components/behavior.css.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +5 -4
- 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 +2 -0
- 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 +2 -0
- 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 +2 -1
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/carousel/client/CarouselClientView.d.ts.map +1 -1
- package/dist/components/carousel/client/CarouselClientView.js +1 -0
- package/dist/components/carousel/client/CarouselClientView.js.map +1 -1
- package/dist/components/carousel/client/carousel-controller.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-controller.js +25 -4
- package/dist/components/carousel/client/carousel-controller.js.map +1 -1
- package/dist/components/carousel/client/carousel-observer.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-observer.js +40 -0
- package/dist/components/carousel/client/carousel-observer.js.map +1 -1
- package/dist/components/carousel/fade/fade-controller.d.ts.map +1 -1
- package/dist/components/carousel/fade/fade-controller.js +3 -0
- package/dist/components/carousel/fade/fade-controller.js.map +1 -1
- package/dist/components/carousel/types.d.ts +2 -0
- package/dist/components/carousel/types.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts +1 -6
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.js +2 -52
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/drawer/Drawer.d.ts +1 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +46 -9
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerNative.d.ts +8 -16
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
- package/dist/components/drawer/DrawerNative.js +80 -34
- package/dist/components/drawer/DrawerNative.js.map +1 -1
- package/dist/components/drawer/drawer-store.d.ts +1 -1
- package/dist/components/drawer/drawer-store.d.ts.map +1 -1
- package/dist/components/drawer/drawer-store.js +7 -3
- package/dist/components/drawer/drawer-store.js.map +1 -1
- package/dist/components/drawer/index.d.ts +3 -3
- package/dist/components/drawer/index.d.ts.map +1 -1
- package/dist/components/drawer/index.js +9 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/types.d.ts +114 -3
- 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 +3 -0
- package/dist/components/dropdown-menu/DropdownMenu.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/dialog-dismiss.d.ts +1 -1
- package/dist/components/enhance/dialog-dismiss.d.ts.map +1 -1
- package/dist/components/enhance/dialog-dismiss.js +19 -10
- package/dist/components/enhance/dialog-dismiss.js.map +1 -1
- package/dist/components/enhance/internal/box-observer.d.ts +4 -0
- package/dist/components/enhance/internal/box-observer.d.ts.map +1 -0
- package/dist/components/enhance/internal/box-observer.js +32 -0
- package/dist/components/enhance/internal/box-observer.js.map +1 -0
- package/dist/components/enhance/sheet-swipe.d.ts.map +1 -1
- package/dist/components/enhance/sheet-swipe.js +42 -14
- package/dist/components/enhance/sheet-swipe.js.map +1 -1
- package/dist/components/enhance/types.d.ts +5 -0
- package/dist/components/enhance/types.d.ts.map +1 -0
- package/dist/components/field/Field.d.ts.map +1 -1
- package/dist/components/field/Field.js +1 -0
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/file-upload/FileUpload.d.ts +4 -7
- package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
- package/dist/components/file-upload/FileUpload.js +28 -122
- package/dist/components/file-upload/FileUpload.js.map +1 -1
- package/dist/components/file-upload/FileUploadInput.d.ts +7 -0
- package/dist/components/file-upload/FileUploadInput.d.ts.map +1 -0
- package/dist/components/file-upload/FileUploadInput.js +60 -0
- package/dist/components/file-upload/FileUploadInput.js.map +1 -0
- package/dist/components/file-upload/FileUploadRoot.d.ts +8 -0
- package/dist/components/file-upload/FileUploadRoot.d.ts.map +1 -0
- package/dist/components/file-upload/FileUploadRoot.js +70 -0
- package/dist/components/file-upload/FileUploadRoot.js.map +1 -0
- package/dist/components/file-upload/file-upload-context.d.ts +3 -0
- package/dist/components/file-upload/file-upload-context.d.ts.map +1 -0
- package/dist/components/file-upload/file-upload-context.js +8 -0
- package/dist/components/file-upload/file-upload-context.js.map +1 -0
- package/dist/components/file-upload/index.d.ts +1 -1
- package/dist/components/file-upload/index.d.ts.map +1 -1
- package/dist/components/file-upload/index.js.map +1 -1
- package/dist/components/file-upload/types.d.ts +8 -10
- package/dist/components/file-upload/types.d.ts.map +1 -1
- package/dist/components/form/Form.d.ts.map +1 -1
- package/dist/components/form/Form.js +2 -1
- package/dist/components/form/Form.js.map +1 -1
- package/dist/components/hover-card/HoverCard.js +1 -1
- package/dist/components/hover-card/HoverCard.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/input/Input.d.ts.map +1 -1
- package/dist/components/input/Input.js +1 -1
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +3 -3
- package/dist/components/internal/choice-family/types.d.ts.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.d.ts +7 -0
- package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -0
- package/dist/components/internal/native-check-control/NativeCheckControl.js +56 -0
- package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -0
- package/dist/components/internal/native-check-control/types.d.ts +13 -0
- package/dist/components/internal/native-check-control/types.d.ts.map +1 -0
- package/dist/components/internal/native-check-control/types.js +1 -0
- package/dist/components/number-field/NumberField.d.ts.map +1 -1
- package/dist/components/number-field/NumberField.js +11 -2
- package/dist/components/number-field/NumberField.js.map +1 -1
- package/dist/components/number-field/format.d.ts +1 -0
- package/dist/components/number-field/format.d.ts.map +1 -1
- package/dist/components/number-field/format.js +18 -6
- package/dist/components/number-field/format.js.map +1 -1
- package/dist/components/popup/PopupParts.d.ts.map +1 -1
- package/dist/components/popup/PopupParts.js +2 -0
- package/dist/components/popup/PopupParts.js.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +1 -1
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/skeleton/Skeleton.d.ts.map +1 -1
- package/dist/components/skeleton/Skeleton.js +14 -35
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/skeleton/types.d.ts +1 -8
- package/dist/components/skeleton/types.d.ts.map +1 -1
- package/dist/components/table/Table.d.ts +1 -40
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +9 -259
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/table/TableShell.d.ts +5 -1
- package/dist/components/table/TableShell.d.ts.map +1 -1
- package/dist/components/table/TableShell.js +63 -9
- package/dist/components/table/TableShell.js.map +1 -1
- package/dist/components/table/client/Table.d.ts +30 -0
- package/dist/components/table/client/Table.d.ts.map +1 -0
- package/dist/components/table/client/Table.js +135 -0
- package/dist/components/table/client/Table.js.map +1 -0
- package/dist/components/table/client/TableBody.d.ts +7 -0
- package/dist/components/table/client/TableBody.d.ts.map +1 -0
- package/dist/components/table/client/TableBody.js +35 -0
- package/dist/components/table/client/TableBody.js.map +1 -0
- package/dist/components/table/client/TableColumnHeader.d.ts +7 -0
- package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -0
- package/dist/components/table/client/TableColumnHeader.js +69 -0
- package/dist/components/table/client/TableColumnHeader.js.map +1 -0
- package/dist/components/table/client/TableExpansion.d.ts +11 -0
- package/dist/components/table/client/TableExpansion.d.ts.map +1 -0
- package/dist/components/table/client/TableExpansion.js +43 -0
- package/dist/components/table/client/TableExpansion.js.map +1 -0
- package/dist/components/table/client/TableRow.d.ts +7 -0
- package/dist/components/table/client/TableRow.d.ts.map +1 -0
- package/dist/components/table/client/TableRow.js +95 -0
- package/dist/components/table/client/TableRow.js.map +1 -0
- package/dist/components/table/client/TableSelection.d.ts +11 -0
- package/dist/components/table/client/TableSelection.d.ts.map +1 -0
- package/dist/components/table/client/TableSelection.js +48 -0
- package/dist/components/table/client/TableSelection.js.map +1 -0
- package/dist/components/table/client/table-context.d.ts +3 -0
- package/dist/components/table/client/table-context.d.ts.map +1 -0
- package/dist/components/table/client/table-context.js +8 -0
- package/dist/components/table/client/table-context.js.map +1 -0
- package/dist/components/table/client.d.ts +4 -0
- package/dist/components/table/client.d.ts.map +1 -0
- package/dist/components/table/client.js +30 -0
- package/dist/components/table/client.js.map +1 -0
- package/dist/components/table/index.d.ts +2 -2
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/table/index.js +7 -7
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/table/types.d.ts +42 -15
- package/dist/components/table/types.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.js +1 -1
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.js +1 -0
- package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.js +2 -0
- package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
- package/dist/components/toggle-group/types.d.ts +1 -0
- 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 +2 -1
- package/dist/components/toolbar/ToolbarShell.js.map +1 -1
- package/dist/components/toolbar/types.d.ts +1 -0
- package/dist/components/toolbar/types.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js +1 -1
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.js +54 -34
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
- package/dist/components/virtual-scroll/types.d.ts +2 -2
- package/dist/components/virtual-scroll/types.d.ts.map +1 -1
- package/dist/components/virtual-scroll/types.js.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll.d.ts.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll.js +0 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll.js.map +1 -1
- package/dist/core/roving-focus.d.ts +2 -1
- package/dist/core/roving-focus.d.ts.map +1 -1
- package/dist/core/roving-focus.js.map +1 -1
- package/dist/core/use-popover.d.ts.map +1 -1
- package/dist/core/use-popover.js +6 -1
- package/dist/core/use-popover.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/styles/index.css +1 -1
- package/dist/styles/tailwind.css +1 -0
- package/dist/styles/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/components/drawer/client-types.d.ts +0 -99
- package/dist/components/drawer/client-types.d.ts.map +0 -1
- package/dist/components/drawer/client-types.js +0 -1
- package/dist/components/enhance/internal/read-box.d.ts +0 -3
- package/dist/components/enhance/internal/read-box.d.ts.map +0 -1
- package/dist/components/enhance/internal/read-box.js +0 -7
- package/dist/components/enhance/internal/read-box.js.map +0 -1
- package/dist/components/stepper/Stepper.d.ts +0 -7
- package/dist/components/stepper/Stepper.d.ts.map +0 -1
- package/dist/components/stepper/Stepper.js +0 -35
- package/dist/components/stepper/Stepper.js.map +0 -1
- package/dist/components/stepper/index.d.ts +0 -3
- package/dist/components/stepper/index.d.ts.map +0 -1
- package/dist/components/stepper/index.js +0 -5
- package/dist/components/stepper/index.js.map +0 -1
- package/dist/components/stepper/types.d.ts +0 -14
- package/dist/components/stepper/types.d.ts.map +0 -1
- package/dist/components/stepper.d.ts +0 -1
- package/dist/components/stepper.js +0 -1
- /package/dist/components/{stepper → enhance}/types.js +0 -0
- /package/dist/components/{stepper → enhance}/types.js.map +0 -0
- /package/dist/components/{drawer/client-types.js.map → internal/native-check-control/types.js.map} +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createElement, useSyncExternalStore } from "react";
|
|
3
|
+
import { useIsomorphicLayoutEffect } from "@gunkin/uiify/hooks";
|
|
4
|
+
import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
|
|
5
|
+
import { RovingFocusItem } from "@gunkin/uiify/core/roving-focus";
|
|
6
|
+
import { TableRow as TableRowElement } from "../TableShell.js";
|
|
7
|
+
import { useTableContext } from "./table-context.js";
|
|
8
|
+
function TableRow(props) {
|
|
9
|
+
const { disabled = false, id, as, render, ...consumerProps } = props;
|
|
10
|
+
const consumerRef = props.ref;
|
|
11
|
+
const { interactive: selectionEnabled, inBody, store } = useTableContext("Row");
|
|
12
|
+
const interactive = selectionEnabled && inBody;
|
|
13
|
+
useIsomorphicLayoutEffect(
|
|
14
|
+
() => inBody ? store.registerRow(id) : void 0,
|
|
15
|
+
[id, store, inBody]
|
|
16
|
+
);
|
|
17
|
+
useIsomorphicLayoutEffect(() => {
|
|
18
|
+
if (inBody) store.setRowDisabled(id, disabled);
|
|
19
|
+
}, [id, disabled, store, inBody]);
|
|
20
|
+
const selected = useSyncExternalStore(
|
|
21
|
+
(listener) => store.subscribeRow(id, listener),
|
|
22
|
+
() => store.isRowSelected(id),
|
|
23
|
+
() => false
|
|
24
|
+
);
|
|
25
|
+
const { onClick: consumerOnClick, onKeyDown: consumerOnKeyDown } = consumerProps;
|
|
26
|
+
const handleClick = (event) => {
|
|
27
|
+
const target = event.target;
|
|
28
|
+
if (target?.closest("input, button, a, [role='checkbox']")) return;
|
|
29
|
+
store.toggleRow(id, {
|
|
30
|
+
disabled,
|
|
31
|
+
metaKey: event.metaKey || event.ctrlKey,
|
|
32
|
+
shiftKey: event.shiftKey
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
const handleKeyDown = (event) => {
|
|
36
|
+
if (event.key === " " && interactive) {
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
store.toggleRow(id, { disabled });
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
if (interactive) {
|
|
42
|
+
return createElement(RovingFocusItem, {
|
|
43
|
+
disabled,
|
|
44
|
+
id,
|
|
45
|
+
...consumerRef ? { ref: consumerRef } : {},
|
|
46
|
+
render: (renderProps) => {
|
|
47
|
+
const { onKeyDown: rovingFocusOnKeyDown, ...restRenderProps } = renderProps;
|
|
48
|
+
const rowProps2 = {
|
|
49
|
+
...consumerProps,
|
|
50
|
+
...restRenderProps,
|
|
51
|
+
"aria-selected": selected,
|
|
52
|
+
disabled,
|
|
53
|
+
id,
|
|
54
|
+
selected,
|
|
55
|
+
onClick: composeEventHandlers(consumerOnClick, handleClick),
|
|
56
|
+
onKeyDown: (event) => {
|
|
57
|
+
if (event.target !== event.currentTarget) {
|
|
58
|
+
consumerOnKeyDown?.(event);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
composeEventHandlers(
|
|
62
|
+
rovingFocusOnKeyDown,
|
|
63
|
+
composeEventHandlers(consumerOnKeyDown, handleKeyDown)
|
|
64
|
+
)(event);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
if (render) {
|
|
68
|
+
return createElement(TableRowElement, { ...rowProps2, render });
|
|
69
|
+
}
|
|
70
|
+
return createElement(TableRowElement, {
|
|
71
|
+
...rowProps2,
|
|
72
|
+
...as !== void 0 ? { as } : {}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const rowProps = {
|
|
78
|
+
...consumerProps,
|
|
79
|
+
disabled,
|
|
80
|
+
id,
|
|
81
|
+
selected
|
|
82
|
+
};
|
|
83
|
+
if (render) {
|
|
84
|
+
return createElement(TableRowElement, { ...rowProps, render });
|
|
85
|
+
}
|
|
86
|
+
return createElement(TableRowElement, {
|
|
87
|
+
...rowProps,
|
|
88
|
+
...as !== void 0 ? { as } : {}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
TableRow.displayName = "TableRow";
|
|
92
|
+
export {
|
|
93
|
+
TableRow
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=TableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/client/TableRow.tsx"],"sourcesContent":["\"use client\";\n\nimport { createElement, useSyncExternalStore } from \"react\";\nimport type { ComponentPropsWithRef, KeyboardEvent, MouseEvent, ReactElement } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { RovingFocusItem } from \"@gunkin/uiify/core/roving-focus\";\nimport { TableRow as TableRowElement } from \"../TableShell.js\";\nimport type { TableRowProps } from \"../types.js\";\nimport { useTableContext } from \"./table-context.js\";\n\nexport function TableRow(props: TableRowProps): ReactElement | null {\n const { disabled = false, id, as, render, ...consumerProps } = props;\n const consumerRef = (props as ComponentPropsWithRef<\"tr\">).ref;\n const { interactive: selectionEnabled, inBody, store } = useTableContext(\"Row\");\n const interactive = selectionEnabled && inBody;\n useIsomorphicLayoutEffect(\n () => (inBody ? store.registerRow(id) : undefined),\n [id, store, inBody],\n );\n useIsomorphicLayoutEffect(() => {\n if (inBody) store.setRowDisabled(id, disabled);\n }, [id, disabled, store, inBody]);\n\n const selected = useSyncExternalStore(\n (listener) => store.subscribeRow(id, listener),\n () => store.isRowSelected(id),\n () => false,\n );\n\n const { onClick: consumerOnClick, onKeyDown: consumerOnKeyDown } = consumerProps as {\n onClick?: (event: MouseEvent<HTMLTableRowElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLTableRowElement>) => void;\n };\n\n const handleClick = (event: MouseEvent<HTMLTableRowElement>) => {\n const target = event.target as HTMLElement | null;\n if (target?.closest(\"input, button, a, [role='checkbox']\")) return;\n store.toggleRow(id, {\n disabled,\n metaKey: event.metaKey || event.ctrlKey,\n shiftKey: event.shiftKey,\n });\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === \" \" && interactive) {\n event.preventDefault();\n store.toggleRow(id, { disabled });\n }\n };\n\n if (interactive) {\n return createElement(RovingFocusItem, {\n disabled,\n id,\n ...(consumerRef ? { ref: consumerRef } : {}),\n render: (renderProps: Record<string, unknown>) => {\n // T5 — three-way nested composition. `renderProps` is RovingFocusItem's own\n // fully-resolved props (id/aria-disabled/data-current/data-disabled/onFocus/\n // ref/tabIndex, plus its own `onKeyDown` for arrow-key roving + typeahead).\n // Chain innermost first: roving-focus's onKeyDown runs as the outer layer\n // (it never calls preventDefault() for Space), then the real consumer's\n // onKeyDown, then this row's own Space-toggle — preserving Space's today\n // double duty as both a typeahead character and the row-toggle key.\n const { onKeyDown: rovingFocusOnKeyDown, ...restRenderProps } = renderProps as Record<\n string,\n unknown\n > & { onKeyDown?: (event: KeyboardEvent<HTMLTableRowElement>) => void };\n\n const rowProps = {\n ...consumerProps,\n ...restRenderProps,\n \"aria-selected\": selected,\n disabled,\n id,\n selected,\n onClick: composeEventHandlers(consumerOnClick, handleClick),\n onKeyDown: (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (event.target !== event.currentTarget) {\n consumerOnKeyDown?.(event);\n return;\n }\n composeEventHandlers(\n rovingFocusOnKeyDown,\n composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n )(event);\n },\n };\n\n if (render) {\n return createElement(TableRowElement, { ...rowProps, render });\n }\n return createElement(TableRowElement, {\n ...rowProps,\n ...(as !== undefined ? { as } : {}),\n });\n },\n });\n }\n\n const rowProps = {\n ...consumerProps,\n disabled,\n id,\n selected,\n };\n\n if (render) {\n return createElement(TableRowElement, { ...rowProps, render });\n }\n\n return createElement(TableRowElement, {\n ...rowProps,\n ...(as !== undefined ? { as } : {}),\n });\n}\nTableRow.displayName = \"TableRow\";\n"],"mappings":";AAEA,SAAS,eAAe,4BAA4B;AAEpD,SAAS,iCAAiC;AAC1C,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,YAAY,uBAAuB;AAE5C,SAAS,uBAAuB;AAEzB,SAAS,SAAS,OAA2C;AAClE,QAAM,EAAE,WAAW,OAAO,IAAI,IAAI,QAAQ,GAAG,cAAc,IAAI;AAC/D,QAAM,cAAe,MAAsC;AAC3D,QAAM,EAAE,aAAa,kBAAkB,QAAQ,MAAM,IAAI,gBAAgB,KAAK;AAC9E,QAAM,cAAc,oBAAoB;AACxC;AAAA,IACE,MAAO,SAAS,MAAM,YAAY,EAAE,IAAI;AAAA,IACxC,CAAC,IAAI,OAAO,MAAM;AAAA,EACpB;AACA,4BAA0B,MAAM;AAC9B,QAAI,OAAQ,OAAM,eAAe,IAAI,QAAQ;AAAA,EAC/C,GAAG,CAAC,IAAI,UAAU,OAAO,MAAM,CAAC;AAEhC,QAAM,WAAW;AAAA,IACf,CAAC,aAAa,MAAM,aAAa,IAAI,QAAQ;AAAA,IAC7C,MAAM,MAAM,cAAc,EAAE;AAAA,IAC5B,MAAM;AAAA,EACR;AAEA,QAAM,EAAE,SAAS,iBAAiB,WAAW,kBAAkB,IAAI;AAKnE,QAAM,cAAc,CAAC,UAA2C;AAC9D,UAAM,SAAS,MAAM;AACrB,QAAI,QAAQ,QAAQ,qCAAqC,EAAG;AAC5D,UAAM,UAAU,IAAI;AAAA,MAClB;AAAA,MACA,SAAS,MAAM,WAAW,MAAM;AAAA,MAChC,UAAU,MAAM;AAAA,IAClB,CAAC;AAAA,EACH;AAEA,QAAM,gBAAgB,CAAC,UAA8C;AACnE,QAAI,MAAM,QAAQ,OAAO,aAAa;AACpC,YAAM,eAAe;AACrB,YAAM,UAAU,IAAI,EAAE,SAAS,CAAC;AAAA,IAClC;AAAA,EACF;AAEA,MAAI,aAAa;AACf,WAAO,cAAc,iBAAiB;AAAA,MACpC;AAAA,MACA;AAAA,MACA,GAAI,cAAc,EAAE,KAAK,YAAY,IAAI,CAAC;AAAA,MAC1C,QAAQ,CAAC,gBAAyC;AAQhD,cAAM,EAAE,WAAW,sBAAsB,GAAG,gBAAgB,IAAI;AAKhE,cAAMA,YAAW;AAAA,UACf,GAAG;AAAA,UACH,GAAG;AAAA,UACH,iBAAiB;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,qBAAqB,iBAAiB,WAAW;AAAA,UAC1D,WAAW,CAAC,UAA8C;AACxD,gBAAI,MAAM,WAAW,MAAM,eAAe;AACxC,kCAAoB,KAAK;AACzB;AAAA,YACF;AACA;AAAA,cACE;AAAA,cACA,qBAAqB,mBAAmB,aAAa;AAAA,YACvD,EAAE,KAAK;AAAA,UACT;AAAA,QACF;AAEA,YAAI,QAAQ;AACV,iBAAO,cAAc,iBAAiB,EAAE,GAAGA,WAAU,OAAO,CAAC;AAAA,QAC/D;AACA,eAAO,cAAc,iBAAiB;AAAA,UACpC,GAAGA;AAAA,UACH,GAAI,OAAO,SAAY,EAAE,GAAG,IAAI,CAAC;AAAA,QACnC,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,WAAW;AAAA,IACf,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,MAAI,QAAQ;AACV,WAAO,cAAc,iBAAiB,EAAE,GAAG,UAAU,OAAO,CAAC;AAAA,EAC/D;AAEA,SAAO,cAAc,iBAAiB;AAAA,IACpC,GAAG;AAAA,IACH,GAAI,OAAO,SAAY,EAAE,GAAG,IAAI,CAAC;AAAA,EACnC,CAAC;AACH;AACA,SAAS,cAAc;","names":["rowProps"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import type { TableRowSelectOwnProps } from "../types.js";
|
|
3
|
+
export declare function TableSelectAll(): ReactElement;
|
|
4
|
+
export declare namespace TableSelectAll {
|
|
5
|
+
var displayName: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function TableRowSelect({ rowId }: TableRowSelectOwnProps): ReactElement;
|
|
8
|
+
export declare namespace TableRowSelect {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=TableSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSelection.d.ts","sourceRoot":"","sources":["../../../../src/components/table/client/TableSelection.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG1D,wBAAgB,cAAc,IAAI,YAAY,CAoB7C;yBApBe,cAAc;;;AAuB9B,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,sBAAsB,GAAG,YAAY,CAgB9E;yBAhBe,cAAc"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useSyncExternalStore } from "react";
|
|
4
|
+
import { NativeCheckControl } from "../../internal/native-check-control/NativeCheckControl.js";
|
|
5
|
+
import { useTableContext } from "./table-context.js";
|
|
6
|
+
function TableSelectAll() {
|
|
7
|
+
const { store, instanceId } = useTableContext("SelectAll");
|
|
8
|
+
const selectionState = useSyncExternalStore(
|
|
9
|
+
store.subscribeSelection,
|
|
10
|
+
store.getSelectionState,
|
|
11
|
+
() => "none"
|
|
12
|
+
);
|
|
13
|
+
const checked = selectionState === "all" ? true : selectionState === "some" ? "indeterminate" : false;
|
|
14
|
+
const handleChange = useCallback(() => store.toggleSelectAll(), [store]);
|
|
15
|
+
return /* @__PURE__ */ jsx(
|
|
16
|
+
NativeCheckControl,
|
|
17
|
+
{
|
|
18
|
+
id: `${instanceId}-select-all`,
|
|
19
|
+
label: "Select all rows",
|
|
20
|
+
checked,
|
|
21
|
+
onCheckedChange: handleChange
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
TableSelectAll.displayName = "TableSelectAll";
|
|
26
|
+
function TableRowSelect({ rowId }) {
|
|
27
|
+
const { store, instanceId } = useTableContext("RowSelect");
|
|
28
|
+
const selected = useSyncExternalStore(
|
|
29
|
+
(listener) => store.subscribeRow(rowId, listener),
|
|
30
|
+
() => store.isRowSelected(rowId),
|
|
31
|
+
() => false
|
|
32
|
+
);
|
|
33
|
+
return /* @__PURE__ */ jsx(
|
|
34
|
+
NativeCheckControl,
|
|
35
|
+
{
|
|
36
|
+
id: `${instanceId}-row-${rowId}`,
|
|
37
|
+
label: "Select row",
|
|
38
|
+
checked: selected,
|
|
39
|
+
onCheckedChange: () => store.toggleRow(rowId)
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
TableRowSelect.displayName = "TableRowSelect";
|
|
44
|
+
export {
|
|
45
|
+
TableRowSelect,
|
|
46
|
+
TableSelectAll
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=TableSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/client/TableSelection.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useSyncExternalStore } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { NativeCheckControl } from \"../../internal/native-check-control/NativeCheckControl.js\";\nimport type { TableRowSelectOwnProps } from \"../types.js\";\nimport { useTableContext } from \"./table-context.js\";\n\nexport function TableSelectAll(): ReactElement {\n const { store, instanceId } = useTableContext(\"SelectAll\");\n const selectionState = useSyncExternalStore(\n store.subscribeSelection,\n store.getSelectionState,\n () => \"none\" as const,\n );\n const checked =\n selectionState === \"all\" ? true : selectionState === \"some\" ? \"indeterminate\" : false;\n\n const handleChange = useCallback(() => store.toggleSelectAll(), [store]);\n\n return (\n <NativeCheckControl\n id={`${instanceId}-select-all`}\n label=\"Select all rows\"\n checked={checked}\n onCheckedChange={handleChange}\n />\n );\n}\nTableSelectAll.displayName = \"TableSelectAll\";\n\nexport function TableRowSelect({ rowId }: TableRowSelectOwnProps): ReactElement {\n const { store, instanceId } = useTableContext(\"RowSelect\");\n const selected = useSyncExternalStore(\n (listener) => store.subscribeRow(rowId, listener),\n () => store.isRowSelected(rowId),\n () => false,\n );\n\n return (\n <NativeCheckControl\n id={`${instanceId}-row-${rowId}`}\n label=\"Select row\"\n checked={selected}\n onCheckedChange={() => store.toggleRow(rowId)}\n />\n );\n}\nTableRowSelect.displayName = \"TableRowSelect\";\n"],"mappings":";AAqBI;AAnBJ,SAAS,aAAa,4BAA4B;AAElD,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAEzB,SAAS,iBAA+B;AAC7C,QAAM,EAAE,OAAO,WAAW,IAAI,gBAAgB,WAAW;AACzD,QAAM,iBAAiB;AAAA,IACrB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACA,QAAM,UACJ,mBAAmB,QAAQ,OAAO,mBAAmB,SAAS,kBAAkB;AAElF,QAAM,eAAe,YAAY,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC;AAEvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,GAAG,UAAU;AAAA,MACjB,OAAM;AAAA,MACN;AAAA,MACA,iBAAiB;AAAA;AAAA,EACnB;AAEJ;AACA,eAAe,cAAc;AAEtB,SAAS,eAAe,EAAE,MAAM,GAAyC;AAC9E,QAAM,EAAE,OAAO,WAAW,IAAI,gBAAgB,WAAW;AACzD,QAAM,WAAW;AAAA,IACf,CAAC,aAAa,MAAM,aAAa,OAAO,QAAQ;AAAA,IAChD,MAAM,MAAM,cAAc,KAAK;AAAA,IAC/B,MAAM;AAAA,EACR;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,GAAG,UAAU,QAAQ,KAAK;AAAA,MAC9B,OAAM;AAAA,MACN,SAAS;AAAA,MACT,iBAAiB,MAAM,MAAM,UAAU,KAAK;AAAA;AAAA,EAC9C;AAEJ;AACA,eAAe,cAAc;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-context.d.ts","sourceRoot":"","sources":["../../../../src/components/table/client/table-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAO,aAAa,sDAAE,eAAe,qCAAiD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/client/table-context.ts"],"sourcesContent":["\"use client\";\n\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport type { TableContextValue } from \"../types.js\";\n\nexport const [TableProvider, useTableContext] = createPartContext<TableContextValue>(\"Table\");\n"],"mappings":";AAEA,SAAS,yBAAyB;AAG3B,MAAM,CAAC,eAAe,eAAe,IAAI,kBAAqC,OAAO;","names":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Table as TableClient, TableRoot, TableBody, TableRow, TableColumnHeader, TableSelectAll, TableRowSelect, TableExpandTrigger, TableExpandedRow, } from "./client/Table.js";
|
|
2
|
+
export { TableCell, TableCaption, TableHeader, TableFooter, TableRowHeader } from "./TableShell.js";
|
|
3
|
+
export type { TableClientRootProps, TableClientRootOwnProps, TableExpandTriggerProps, TableExpandedRowProps, SortDescriptor, SelectionMode, } from "./types.js";
|
|
4
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/components/table/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpG,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Table,
|
|
4
|
+
TableRoot,
|
|
5
|
+
TableBody,
|
|
6
|
+
TableRow,
|
|
7
|
+
TableColumnHeader,
|
|
8
|
+
TableSelectAll,
|
|
9
|
+
TableRowSelect,
|
|
10
|
+
TableExpandTrigger,
|
|
11
|
+
TableExpandedRow
|
|
12
|
+
} from "./client/Table.js";
|
|
13
|
+
import { TableCell, TableCaption, TableHeader, TableFooter, TableRowHeader } from "./TableShell.js";
|
|
14
|
+
export {
|
|
15
|
+
TableBody,
|
|
16
|
+
TableCaption,
|
|
17
|
+
TableCell,
|
|
18
|
+
Table as TableClient,
|
|
19
|
+
TableColumnHeader,
|
|
20
|
+
TableExpandTrigger,
|
|
21
|
+
TableExpandedRow,
|
|
22
|
+
TableFooter,
|
|
23
|
+
TableHeader,
|
|
24
|
+
TableRoot,
|
|
25
|
+
TableRow,
|
|
26
|
+
TableRowHeader,
|
|
27
|
+
TableRowSelect,
|
|
28
|
+
TableSelectAll
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/table/client.ts"],"sourcesContent":["\"use client\";\nexport {\n Table as TableClient,\n TableRoot,\n TableBody,\n TableRow,\n TableColumnHeader,\n TableSelectAll,\n TableRowSelect,\n TableExpandTrigger,\n TableExpandedRow,\n} from \"./client/Table.js\";\nexport { TableCell, TableCaption, TableHeader, TableFooter, TableRowHeader } from \"./TableShell.js\";\nexport type {\n TableClientRootProps,\n TableClientRootOwnProps,\n TableExpandTriggerProps,\n TableExpandedRowProps,\n SortDescriptor,\n SelectionMode,\n} from \"./types.js\";\n"],"mappings":";AACA;AAAA,EACW;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,cAAc,aAAa,aAAa,sBAAsB;","names":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Table, TableBody, TableCaption, TableCell, TableColumnHeader, TableHeader, TableRoot, TableRow,
|
|
2
|
-
export type { TableBodyProps, TableCaptionProps, TableCellProps, TableColumnHeaderOwnProps, TableColumnHeaderProps, TableContextValue, TableInteractiveRootOwnProps, TableHeaderProps, TableRowSelectOwnProps, TableRowOwnProps, TableRowProps, TableStore, TableStoreOptions, TableRootProps, SelectionMode, SortDescriptor, SortDirection, } from "./types.js";
|
|
1
|
+
export { Table, TableFooter, TableRowHeader, TableBody, TableCaption, TableCell, TableColumnHeader, TableHeader, TableRoot, TableRow, } from "./TableShell.js";
|
|
2
|
+
export type { TableFooterProps, TableRowHeaderProps, TableStickySectionOwnProps, TableStickyCellOwnProps, TableBodyProps, TableCaptionProps, TableCellProps, TableColumnHeaderOwnProps, TableColumnHeaderProps, TableContextValue, TableInteractiveRootOwnProps, TableHeaderProps, TableRowSelectOwnProps, TableRowOwnProps, TableRowProps, TableStore, TableStoreOptions, TableRootProps, SelectionMode, SortDescriptor, SortDirection, } from "./types.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Table,
|
|
3
|
+
TableFooter,
|
|
4
|
+
TableRowHeader,
|
|
3
5
|
TableBody,
|
|
4
6
|
TableCaption,
|
|
5
7
|
TableCell,
|
|
6
8
|
TableColumnHeader,
|
|
7
9
|
TableHeader,
|
|
8
10
|
TableRoot,
|
|
9
|
-
TableRow
|
|
10
|
-
|
|
11
|
-
TableRowSelect
|
|
12
|
-
} from "./Table.js";
|
|
11
|
+
TableRow
|
|
12
|
+
} from "./TableShell.js";
|
|
13
13
|
export {
|
|
14
|
-
TableRowSelect as RowSelect,
|
|
15
|
-
TableSelectAll as SelectAll,
|
|
16
14
|
Table,
|
|
17
15
|
TableBody,
|
|
18
16
|
TableCaption,
|
|
19
17
|
TableCell,
|
|
20
18
|
TableColumnHeader,
|
|
19
|
+
TableFooter,
|
|
21
20
|
TableHeader,
|
|
22
21
|
TableRoot,
|
|
23
|
-
TableRow
|
|
22
|
+
TableRow,
|
|
23
|
+
TableRowHeader
|
|
24
24
|
};
|
|
25
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/table/index.ts"],"sourcesContent":["export {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableColumnHeader,\n TableHeader,\n TableRoot,\n TableRow,\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/table/index.ts"],"sourcesContent":["export {\n Table,\n TableFooter,\n TableRowHeader,\n TableBody,\n TableCaption,\n TableCell,\n TableColumnHeader,\n TableHeader,\n TableRoot,\n TableRow,\n} from \"./TableShell.js\";\nexport type {\n TableFooterProps,\n TableRowHeaderProps,\n TableStickySectionOwnProps,\n TableStickyCellOwnProps,\n TableBodyProps,\n TableCaptionProps,\n TableCellProps,\n TableColumnHeaderOwnProps,\n TableColumnHeaderProps,\n TableContextValue,\n TableInteractiveRootOwnProps,\n TableHeaderProps,\n TableRowSelectOwnProps,\n TableRowOwnProps,\n TableRowProps,\n TableStore,\n TableStoreOptions,\n TableRootProps,\n SelectionMode,\n SortDescriptor,\n SortDirection,\n} from \"./types.js\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ElementType, ReactNode } from "react";
|
|
1
|
+
import type { ComponentPropsWithRef, ElementType, ReactNode } from "react";
|
|
2
2
|
import type { RenderableProps } from "@gunkin/uiify/core/render";
|
|
3
3
|
export type SortDirection = "ascending" | "descending";
|
|
4
4
|
export interface SortDescriptor {
|
|
@@ -46,20 +46,19 @@ export interface TableStore {
|
|
|
46
46
|
readonly updateOptions: (nextOptions: TableStoreOptions) => void;
|
|
47
47
|
}
|
|
48
48
|
export interface TableContextValue {
|
|
49
|
+
readonly inBody: boolean;
|
|
49
50
|
readonly interactive: boolean;
|
|
51
|
+
readonly instanceId: string;
|
|
52
|
+
readonly expandedKeys: Set<string>;
|
|
53
|
+
readonly toggleExpanded: (id: string) => void;
|
|
50
54
|
readonly store: TableStore;
|
|
51
55
|
}
|
|
52
56
|
export interface TableRootOwnProps {
|
|
53
57
|
readonly "aria-label"?: string;
|
|
54
58
|
readonly "aria-labelledby"?: string;
|
|
55
|
-
readonly
|
|
56
|
-
readonly
|
|
57
|
-
readonly
|
|
58
|
-
readonly onSortChange?: (descriptor: SortDescriptor | null) => void;
|
|
59
|
-
readonly selectedKeys?: Iterable<string>;
|
|
60
|
-
readonly selectionBehavior?: SelectionBehavior;
|
|
61
|
-
readonly selectionMode?: SelectionMode;
|
|
62
|
-
readonly sortDescriptor?: SortDescriptor | null;
|
|
59
|
+
readonly layout?: "auto" | "fixed";
|
|
60
|
+
readonly size?: "sm" | "md" | "lg";
|
|
61
|
+
readonly variant?: "solid" | "outline" | "ghost";
|
|
63
62
|
}
|
|
64
63
|
export interface TableInteractiveRootOwnProps {
|
|
65
64
|
readonly defaultSelectedKeys?: Iterable<string>;
|
|
@@ -70,11 +69,11 @@ export interface TableInteractiveRootOwnProps {
|
|
|
70
69
|
readonly selectionMode?: SelectionMode;
|
|
71
70
|
}
|
|
72
71
|
export type TableRootProps<TAs extends ElementType = "table"> = RenderableProps<TAs, TableRootOwnProps, Record<string, never>, HTMLTableElement>;
|
|
73
|
-
export type TableHeaderProps<TAs extends ElementType = "thead"> = RenderableProps<TAs,
|
|
72
|
+
export type TableHeaderProps<TAs extends ElementType = "thead"> = RenderableProps<TAs, TableStickySectionOwnProps, Record<string, never>, HTMLTableSectionElement>;
|
|
74
73
|
export type TableBodyProps<TAs extends ElementType = "tbody"> = RenderableProps<TAs, {
|
|
75
74
|
readonly children?: ReactNode;
|
|
76
75
|
}, Record<string, never>, HTMLTableSectionElement>;
|
|
77
|
-
export interface TableRowOwnProps {
|
|
76
|
+
export interface TableRowOwnProps extends TableStickySectionOwnProps {
|
|
78
77
|
readonly disabled?: boolean;
|
|
79
78
|
readonly id: string;
|
|
80
79
|
readonly selected?: boolean;
|
|
@@ -82,7 +81,7 @@ export interface TableRowOwnProps {
|
|
|
82
81
|
export type TableRowProps<TAs extends ElementType = "tr"> = RenderableProps<TAs, TableRowOwnProps, {
|
|
83
82
|
selected: boolean;
|
|
84
83
|
}, HTMLTableRowElement>;
|
|
85
|
-
export interface TableColumnHeaderOwnProps {
|
|
84
|
+
export interface TableColumnHeaderOwnProps extends TableStickyCellOwnProps {
|
|
86
85
|
readonly allowsSorting?: boolean;
|
|
87
86
|
readonly children?: ReactNode;
|
|
88
87
|
readonly id: string;
|
|
@@ -93,10 +92,38 @@ export interface TableRowSelectOwnProps {
|
|
|
93
92
|
readonly rowId: string;
|
|
94
93
|
}
|
|
95
94
|
export type TableColumnHeaderProps<TAs extends ElementType = "th"> = RenderableProps<TAs, TableColumnHeaderOwnProps, Record<string, never>, HTMLTableCellElement>;
|
|
96
|
-
export type TableCellProps<TAs extends ElementType = "td"> = RenderableProps<TAs,
|
|
97
|
-
readonly children?: ReactNode;
|
|
98
|
-
}, Record<string, never>, HTMLTableCellElement>;
|
|
95
|
+
export type TableCellProps<TAs extends ElementType = "td"> = RenderableProps<TAs, TableStickyCellOwnProps, Record<string, never>, HTMLTableCellElement>;
|
|
99
96
|
export type TableCaptionProps<TAs extends ElementType = "caption"> = RenderableProps<TAs, {
|
|
100
97
|
readonly children?: ReactNode;
|
|
101
98
|
}, Record<string, never>, HTMLTableCaptionElement>;
|
|
99
|
+
export interface TableClientRootOwnProps extends TableRootOwnProps {
|
|
100
|
+
readonly defaultSelectedKeys?: Iterable<string>;
|
|
101
|
+
readonly defaultSortDescriptor?: SortDescriptor | null;
|
|
102
|
+
readonly onSelectionChange?: (selectedKeys: Set<string>) => void;
|
|
103
|
+
readonly onSortChange?: (descriptor: SortDescriptor | null) => void;
|
|
104
|
+
readonly selectedKeys?: Iterable<string>;
|
|
105
|
+
readonly selectionBehavior?: SelectionBehavior;
|
|
106
|
+
readonly selectionMode?: SelectionMode;
|
|
107
|
+
readonly sortDescriptor?: SortDescriptor | null;
|
|
108
|
+
readonly expandedKeys?: Iterable<string>;
|
|
109
|
+
readonly defaultExpandedKeys?: Iterable<string>;
|
|
110
|
+
readonly onExpandedChange?: (keys: Set<string>) => void;
|
|
111
|
+
}
|
|
112
|
+
export type TableClientRootProps<TAs extends ElementType = "table"> = RenderableProps<TAs, TableClientRootOwnProps, Record<string, never>, HTMLTableElement>;
|
|
113
|
+
export interface TableStickySectionOwnProps {
|
|
114
|
+
readonly sticky?: boolean;
|
|
115
|
+
}
|
|
116
|
+
export interface TableStickyCellOwnProps {
|
|
117
|
+
readonly align?: "start" | "center" | "end";
|
|
118
|
+
readonly sticky?: "start" | "end";
|
|
119
|
+
readonly children?: ReactNode;
|
|
120
|
+
}
|
|
121
|
+
export type TableFooterProps<TAs extends ElementType = "tfoot"> = RenderableProps<TAs, TableStickySectionOwnProps, Record<string, never>, HTMLTableSectionElement>;
|
|
122
|
+
export type TableRowHeaderProps<TAs extends ElementType = "th"> = RenderableProps<TAs, TableStickyCellOwnProps, Record<string, never>, HTMLTableCellElement>;
|
|
123
|
+
export interface TableExpandTriggerProps extends Omit<ComponentPropsWithRef<"button">, "aria-expanded" | "aria-controls"> {
|
|
124
|
+
readonly rowId: string;
|
|
125
|
+
}
|
|
126
|
+
export interface TableExpandedRowProps extends Omit<ComponentPropsWithRef<"tr">, "hidden" | "id"> {
|
|
127
|
+
readonly rowId: string;
|
|
128
|
+
}
|
|
102
129
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/table/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,OAAO,CAAC;AAGvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,UAAU,EAC3D,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,OAAO,CAAC;AAGvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,UAAU,EAC3D,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CA+CrB"}
|
|
@@ -31,7 +31,7 @@ function Textarea(props) {
|
|
|
31
31
|
"data-invalid": invalid ? "" : void 0,
|
|
32
32
|
disabled: disabled || void 0,
|
|
33
33
|
readOnly: readOnly || void 0,
|
|
34
|
-
onChange: composeEventHandlers(consumerOnChange, handleChange),
|
|
34
|
+
onChange: onValueChange ? composeEventHandlers(consumerOnChange, handleChange) : consumerOnChange,
|
|
35
35
|
...isControlled ? { value } : defaultValue !== void 0 ? { defaultValue } : {}
|
|
36
36
|
},
|
|
37
37
|
render,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/textarea/Textarea.tsx"],"sourcesContent":["import type { ElementType, ReactElement, SyntheticEvent } from \"react\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { TextareaProps } from \"./types.js\";\n\nexport function Textarea<TAs extends ElementType = \"textarea\">(\n props: TextareaProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value,\n defaultValue,\n onValueChange,\n autoSize = false,\n disabled = false,\n readOnly = false,\n invalid = false,\n ...consumerProps\n } = props as TextareaProps<\"textarea\">;\n\n const isControlled = value !== undefined;\n\n const handleChange = (event: SyntheticEvent<HTMLTextAreaElement>): void => {\n onValueChange?.(event.currentTarget.value);\n };\n\n const consumerOnChange = (\n consumerProps as Record<string, unknown> & {\n onChange?: (event: SyntheticEvent<HTMLTextAreaElement>) => void;\n }\n ).onChange;\n\n return useRenderElement({\n as,\n defaultTag: \"textarea\",\n props: {\n ...consumerProps,\n \"data-uiify-textarea\": \"\",\n \"aria-invalid\": invalid || undefined,\n \"data-autosize\": autoSize ? \"\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-readonly\": readOnly ? \"\" : undefined,\n \"data-invalid\": invalid ? \"\" : undefined,\n disabled: disabled || undefined,\n readOnly: readOnly || undefined,\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n ...(isControlled ? { value } : defaultValue !== undefined ? { defaultValue } : {}),\n },\n render,\n state: { autoSize, disabled, readOnly, invalid },\n });\n}\n"],"mappings":"AACA,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAG1B,SAAS,SACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,eAAe,UAAU;AAE/B,QAAM,eAAe,CAAC,UAAqD;AACzE,oBAAgB,MAAM,cAAc,KAAK;AAAA,EAC3C;AAEA,QAAM,mBACJ,cAGA;AAEF,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,uBAAuB;AAAA,MACvB,gBAAgB,WAAW;AAAA,MAC3B,iBAAiB,WAAW,KAAK;AAAA,MACjC,iBAAiB,WAAW,KAAK;AAAA,MACjC,iBAAiB,WAAW,KAAK;AAAA,MACjC,gBAAgB,UAAU,KAAK;AAAA,MAC/B,UAAU,YAAY;AAAA,MACtB,UAAU,YAAY;AAAA,MACtB,UAAU,qBAAqB,kBAAkB,YAAY;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/textarea/Textarea.tsx"],"sourcesContent":["import type { ElementType, ReactElement, SyntheticEvent } from \"react\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { TextareaProps } from \"./types.js\";\n\nexport function Textarea<TAs extends ElementType = \"textarea\">(\n props: TextareaProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value,\n defaultValue,\n onValueChange,\n autoSize = false,\n disabled = false,\n readOnly = false,\n invalid = false,\n ...consumerProps\n } = props as TextareaProps<\"textarea\">;\n\n const isControlled = value !== undefined;\n\n const handleChange = (event: SyntheticEvent<HTMLTextAreaElement>): void => {\n onValueChange?.(event.currentTarget.value);\n };\n\n const consumerOnChange = (\n consumerProps as Record<string, unknown> & {\n onChange?: (event: SyntheticEvent<HTMLTextAreaElement>) => void;\n }\n ).onChange;\n\n return useRenderElement({\n as,\n defaultTag: \"textarea\",\n props: {\n ...consumerProps,\n \"data-uiify-textarea\": \"\",\n \"aria-invalid\": invalid || undefined,\n \"data-autosize\": autoSize ? \"\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-readonly\": readOnly ? \"\" : undefined,\n \"data-invalid\": invalid ? \"\" : undefined,\n disabled: disabled || undefined,\n readOnly: readOnly || undefined,\n onChange: onValueChange\n ? composeEventHandlers(consumerOnChange, handleChange)\n : consumerOnChange,\n ...(isControlled ? { value } : defaultValue !== undefined ? { defaultValue } : {}),\n },\n render,\n state: { autoSize, disabled, readOnly, invalid },\n });\n}\n"],"mappings":"AACA,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAG1B,SAAS,SACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,eAAe,UAAU;AAE/B,QAAM,eAAe,CAAC,UAAqD;AACzE,oBAAgB,MAAM,cAAc,KAAK;AAAA,EAC3C;AAEA,QAAM,mBACJ,cAGA;AAEF,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,uBAAuB;AAAA,MACvB,gBAAgB,WAAW;AAAA,MAC3B,iBAAiB,WAAW,KAAK;AAAA,MACjC,iBAAiB,WAAW,KAAK;AAAA,MACjC,iBAAiB,WAAW,KAAK;AAAA,MACjC,gBAAgB,UAAU,KAAK;AAAA,MAC/B,UAAU,YAAY;AAAA,MACtB,UAAU,YAAY;AAAA,MACtB,UAAU,gBACN,qBAAqB,kBAAkB,YAAY,IACnD;AAAA,MACJ,GAAI,eAAe,EAAE,MAAM,IAAI,iBAAiB,SAAY,EAAE,aAAa,IAAI,CAAC;AAAA,IAClF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,UAAU,UAAU,UAAU,QAAQ;AAAA,EACjD,CAAC;AACH;","names":[]}
|
|
@@ -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,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,gBAAgB,GAAG,YAAY,CAyBjC;yBAnCe,WAAW"}
|
|
@@ -22,6 +22,7 @@ function ToggleGroup({
|
|
|
22
22
|
...className !== void 0 ? { className } : {},
|
|
23
23
|
id,
|
|
24
24
|
items: resolvedItems,
|
|
25
|
+
itemWrapperAttributes: (item) => ({ "data-shape": item.shape }),
|
|
25
26
|
isChecked: (item) => values.includes(item.value),
|
|
26
27
|
kind: type,
|
|
27
28
|
namespace: "toggle-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 isChecked={(item) => values.includes(item.value)}\n kind={type}\n namespace=\"toggle-group\"\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":"AAsBI;AArBJ,SAAS,mBAAmB;AAGrB,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;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;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
|
+
{"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 itemWrapperAttributes={(item) => ({ \"data-shape\": item.shape })}\n isChecked={(item) => values.includes(item.value)}\n kind={type}\n namespace=\"toggle-group\"\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":"AAsBI;AArBJ,SAAS,mBAAmB;AAGrB,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,WAAW;AAAA,EACX,cAAc;AAAA,EACd;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,uBAAuB,CAAC,UAAU,EAAE,cAAc,KAAK,MAAM;AAAA,MAC7D,WAAW,CAAC,SAAS,OAAO,SAAS,KAAK,KAAK;AAAA,MAC/C,MAAM;AAAA,MACN,WAAU;AAAA,MACV;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":[]}
|
|
@@ -83,6 +83,7 @@ function SingleToggleGroupClient({
|
|
|
83
83
|
...className !== void 0 ? { className } : {},
|
|
84
84
|
id,
|
|
85
85
|
items: resolvedItems,
|
|
86
|
+
itemWrapperAttributes: (item) => ({ "data-shape": item.shape }),
|
|
86
87
|
isChecked: (item) => item.value === selectedValue,
|
|
87
88
|
isControlled: controlledValue !== void 0,
|
|
88
89
|
kind: "single",
|
|
@@ -126,6 +127,7 @@ function MultipleToggleGroupClient({
|
|
|
126
127
|
...className !== void 0 ? { className } : {},
|
|
127
128
|
id,
|
|
128
129
|
items: resolvedItems,
|
|
130
|
+
itemWrapperAttributes: (item) => ({ "data-shape": item.shape }),
|
|
129
131
|
isChecked: (item) => selectedValues.includes(item.value),
|
|
130
132
|
isControlled: controlledValue !== void 0,
|
|
131
133
|
kind: "multiple",
|
|
@@ -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 isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\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}: 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 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
|
+
{"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 itemWrapperAttributes={(item) => ({ \"data-shape\": item.shape })}\n isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\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}: 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 itemWrapperAttributes={(item) => ({ \"data-shape\": item.shape })}\n isChecked={(item) => selectedValues.includes(item.value)}\n isControlled={controlledValue !== undefined}\n kind=\"multiple\"\n namespace=\"toggle-group\"\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 +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,WAAW,eAAgB,SAAQ,UAAU;
|
|
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,WAAW,eAAgB,SAAQ,UAAU;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACtC;AAED,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,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,CAiB5E;yBAjBe,aAAa;;;AAoB7B,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,11 +25,12 @@ function ToolbarRoot(props) {
|
|
|
25
25
|
}
|
|
26
26
|
ToolbarRoot.displayName = "ToolbarRoot";
|
|
27
27
|
function ToolbarButton(props) {
|
|
28
|
-
const { children, className, disabled = false, ...consumerProps } = props;
|
|
28
|
+
const { children, className, disabled = false, shape, ...consumerProps } = props;
|
|
29
29
|
return /* @__PURE__ */ jsx(
|
|
30
30
|
"button",
|
|
31
31
|
{
|
|
32
32
|
...consumerProps,
|
|
33
|
+
...shape !== void 0 ? { "data-shape": shape } : {},
|
|
33
34
|
"aria-disabled": disabled || void 0,
|
|
34
35
|
"data-part": "item",
|
|
35
36
|
"data-uiify-toolbar": "",
|