@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.
Files changed (241) hide show
  1. package/dist/components/behavior.css +9 -6
  2. package/dist/components/behavior.css.map +1 -1
  3. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  4. package/dist/components/breadcrumb/Breadcrumb.js +5 -4
  5. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  6. package/dist/components/button/Button.d.ts.map +1 -1
  7. package/dist/components/button/Button.js +2 -0
  8. package/dist/components/button/Button.js.map +1 -1
  9. package/dist/components/button/index.d.ts +1 -1
  10. package/dist/components/button/index.d.ts.map +1 -1
  11. package/dist/components/button/index.js.map +1 -1
  12. package/dist/components/button/types.d.ts +2 -0
  13. package/dist/components/button/types.d.ts.map +1 -1
  14. package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
  15. package/dist/components/carousel/CarouselMarkup.js +2 -1
  16. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  17. package/dist/components/carousel/client/CarouselClientView.d.ts.map +1 -1
  18. package/dist/components/carousel/client/CarouselClientView.js +1 -0
  19. package/dist/components/carousel/client/CarouselClientView.js.map +1 -1
  20. package/dist/components/carousel/client/carousel-controller.d.ts.map +1 -1
  21. package/dist/components/carousel/client/carousel-controller.js +25 -4
  22. package/dist/components/carousel/client/carousel-controller.js.map +1 -1
  23. package/dist/components/carousel/client/carousel-observer.d.ts.map +1 -1
  24. package/dist/components/carousel/client/carousel-observer.js +40 -0
  25. package/dist/components/carousel/client/carousel-observer.js.map +1 -1
  26. package/dist/components/carousel/fade/fade-controller.d.ts.map +1 -1
  27. package/dist/components/carousel/fade/fade-controller.js +3 -0
  28. package/dist/components/carousel/fade/fade-controller.js.map +1 -1
  29. package/dist/components/carousel/types.d.ts +2 -0
  30. package/dist/components/carousel/types.d.ts.map +1 -1
  31. package/dist/components/checkbox/Checkbox.d.ts +1 -6
  32. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  33. package/dist/components/checkbox/Checkbox.js +2 -52
  34. package/dist/components/checkbox/Checkbox.js.map +1 -1
  35. package/dist/components/drawer/Drawer.d.ts +1 -1
  36. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  37. package/dist/components/drawer/Drawer.js +46 -9
  38. package/dist/components/drawer/Drawer.js.map +1 -1
  39. package/dist/components/drawer/DrawerNative.d.ts +8 -16
  40. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  41. package/dist/components/drawer/DrawerNative.js +80 -34
  42. package/dist/components/drawer/DrawerNative.js.map +1 -1
  43. package/dist/components/drawer/drawer-store.d.ts +1 -1
  44. package/dist/components/drawer/drawer-store.d.ts.map +1 -1
  45. package/dist/components/drawer/drawer-store.js +7 -3
  46. package/dist/components/drawer/drawer-store.js.map +1 -1
  47. package/dist/components/drawer/index.d.ts +3 -3
  48. package/dist/components/drawer/index.d.ts.map +1 -1
  49. package/dist/components/drawer/index.js +9 -1
  50. package/dist/components/drawer/index.js.map +1 -1
  51. package/dist/components/drawer/types.d.ts +114 -3
  52. package/dist/components/drawer/types.d.ts.map +1 -1
  53. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  54. package/dist/components/dropdown-menu/DropdownMenu.js +3 -0
  55. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  56. package/dist/components/dropdown-menu/types.d.ts +1 -0
  57. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  58. package/dist/components/enhance/dialog-dismiss.d.ts +1 -1
  59. package/dist/components/enhance/dialog-dismiss.d.ts.map +1 -1
  60. package/dist/components/enhance/dialog-dismiss.js +19 -10
  61. package/dist/components/enhance/dialog-dismiss.js.map +1 -1
  62. package/dist/components/enhance/internal/box-observer.d.ts +4 -0
  63. package/dist/components/enhance/internal/box-observer.d.ts.map +1 -0
  64. package/dist/components/enhance/internal/box-observer.js +32 -0
  65. package/dist/components/enhance/internal/box-observer.js.map +1 -0
  66. package/dist/components/enhance/sheet-swipe.d.ts.map +1 -1
  67. package/dist/components/enhance/sheet-swipe.js +42 -14
  68. package/dist/components/enhance/sheet-swipe.js.map +1 -1
  69. package/dist/components/enhance/types.d.ts +5 -0
  70. package/dist/components/enhance/types.d.ts.map +1 -0
  71. package/dist/components/field/Field.d.ts.map +1 -1
  72. package/dist/components/field/Field.js +1 -0
  73. package/dist/components/field/Field.js.map +1 -1
  74. package/dist/components/file-upload/FileUpload.d.ts +4 -7
  75. package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
  76. package/dist/components/file-upload/FileUpload.js +28 -122
  77. package/dist/components/file-upload/FileUpload.js.map +1 -1
  78. package/dist/components/file-upload/FileUploadInput.d.ts +7 -0
  79. package/dist/components/file-upload/FileUploadInput.d.ts.map +1 -0
  80. package/dist/components/file-upload/FileUploadInput.js +60 -0
  81. package/dist/components/file-upload/FileUploadInput.js.map +1 -0
  82. package/dist/components/file-upload/FileUploadRoot.d.ts +8 -0
  83. package/dist/components/file-upload/FileUploadRoot.d.ts.map +1 -0
  84. package/dist/components/file-upload/FileUploadRoot.js +70 -0
  85. package/dist/components/file-upload/FileUploadRoot.js.map +1 -0
  86. package/dist/components/file-upload/file-upload-context.d.ts +3 -0
  87. package/dist/components/file-upload/file-upload-context.d.ts.map +1 -0
  88. package/dist/components/file-upload/file-upload-context.js +8 -0
  89. package/dist/components/file-upload/file-upload-context.js.map +1 -0
  90. package/dist/components/file-upload/index.d.ts +1 -1
  91. package/dist/components/file-upload/index.d.ts.map +1 -1
  92. package/dist/components/file-upload/index.js.map +1 -1
  93. package/dist/components/file-upload/types.d.ts +8 -10
  94. package/dist/components/file-upload/types.d.ts.map +1 -1
  95. package/dist/components/form/Form.d.ts.map +1 -1
  96. package/dist/components/form/Form.js +2 -1
  97. package/dist/components/form/Form.js.map +1 -1
  98. package/dist/components/hover-card/HoverCard.js +1 -1
  99. package/dist/components/hover-card/HoverCard.js.map +1 -1
  100. package/dist/components/index.d.ts +0 -1
  101. package/dist/components/index.d.ts.map +1 -1
  102. package/dist/components/index.js +0 -1
  103. package/dist/components/index.js.map +1 -1
  104. package/dist/components/input/Input.d.ts.map +1 -1
  105. package/dist/components/input/Input.js +1 -1
  106. package/dist/components/input/Input.js.map +1 -1
  107. package/dist/components/internal/choice-family/ChoiceGroup.js +1 -1
  108. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  109. package/dist/components/internal/choice-family/types.d.ts +3 -3
  110. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  111. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts +7 -0
  112. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -0
  113. package/dist/components/internal/native-check-control/NativeCheckControl.js +56 -0
  114. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -0
  115. package/dist/components/internal/native-check-control/types.d.ts +13 -0
  116. package/dist/components/internal/native-check-control/types.d.ts.map +1 -0
  117. package/dist/components/internal/native-check-control/types.js +1 -0
  118. package/dist/components/number-field/NumberField.d.ts.map +1 -1
  119. package/dist/components/number-field/NumberField.js +11 -2
  120. package/dist/components/number-field/NumberField.js.map +1 -1
  121. package/dist/components/number-field/format.d.ts +1 -0
  122. package/dist/components/number-field/format.d.ts.map +1 -1
  123. package/dist/components/number-field/format.js +18 -6
  124. package/dist/components/number-field/format.js.map +1 -1
  125. package/dist/components/popup/PopupParts.d.ts.map +1 -1
  126. package/dist/components/popup/PopupParts.js +2 -0
  127. package/dist/components/popup/PopupParts.js.map +1 -1
  128. package/dist/components/select/Select.d.ts.map +1 -1
  129. package/dist/components/select/Select.js +1 -1
  130. package/dist/components/select/Select.js.map +1 -1
  131. package/dist/components/skeleton/Skeleton.d.ts.map +1 -1
  132. package/dist/components/skeleton/Skeleton.js +14 -35
  133. package/dist/components/skeleton/Skeleton.js.map +1 -1
  134. package/dist/components/skeleton/types.d.ts +1 -8
  135. package/dist/components/skeleton/types.d.ts.map +1 -1
  136. package/dist/components/table/Table.d.ts +1 -40
  137. package/dist/components/table/Table.d.ts.map +1 -1
  138. package/dist/components/table/Table.js +9 -259
  139. package/dist/components/table/Table.js.map +1 -1
  140. package/dist/components/table/TableShell.d.ts +5 -1
  141. package/dist/components/table/TableShell.d.ts.map +1 -1
  142. package/dist/components/table/TableShell.js +63 -9
  143. package/dist/components/table/TableShell.js.map +1 -1
  144. package/dist/components/table/client/Table.d.ts +30 -0
  145. package/dist/components/table/client/Table.d.ts.map +1 -0
  146. package/dist/components/table/client/Table.js +135 -0
  147. package/dist/components/table/client/Table.js.map +1 -0
  148. package/dist/components/table/client/TableBody.d.ts +7 -0
  149. package/dist/components/table/client/TableBody.d.ts.map +1 -0
  150. package/dist/components/table/client/TableBody.js +35 -0
  151. package/dist/components/table/client/TableBody.js.map +1 -0
  152. package/dist/components/table/client/TableColumnHeader.d.ts +7 -0
  153. package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -0
  154. package/dist/components/table/client/TableColumnHeader.js +69 -0
  155. package/dist/components/table/client/TableColumnHeader.js.map +1 -0
  156. package/dist/components/table/client/TableExpansion.d.ts +11 -0
  157. package/dist/components/table/client/TableExpansion.d.ts.map +1 -0
  158. package/dist/components/table/client/TableExpansion.js +43 -0
  159. package/dist/components/table/client/TableExpansion.js.map +1 -0
  160. package/dist/components/table/client/TableRow.d.ts +7 -0
  161. package/dist/components/table/client/TableRow.d.ts.map +1 -0
  162. package/dist/components/table/client/TableRow.js +95 -0
  163. package/dist/components/table/client/TableRow.js.map +1 -0
  164. package/dist/components/table/client/TableSelection.d.ts +11 -0
  165. package/dist/components/table/client/TableSelection.d.ts.map +1 -0
  166. package/dist/components/table/client/TableSelection.js +48 -0
  167. package/dist/components/table/client/TableSelection.js.map +1 -0
  168. package/dist/components/table/client/table-context.d.ts +3 -0
  169. package/dist/components/table/client/table-context.d.ts.map +1 -0
  170. package/dist/components/table/client/table-context.js +8 -0
  171. package/dist/components/table/client/table-context.js.map +1 -0
  172. package/dist/components/table/client.d.ts +4 -0
  173. package/dist/components/table/client.d.ts.map +1 -0
  174. package/dist/components/table/client.js +30 -0
  175. package/dist/components/table/client.js.map +1 -0
  176. package/dist/components/table/index.d.ts +2 -2
  177. package/dist/components/table/index.d.ts.map +1 -1
  178. package/dist/components/table/index.js +7 -7
  179. package/dist/components/table/index.js.map +1 -1
  180. package/dist/components/table/types.d.ts +42 -15
  181. package/dist/components/table/types.d.ts.map +1 -1
  182. package/dist/components/textarea/Textarea.d.ts.map +1 -1
  183. package/dist/components/textarea/Textarea.js +1 -1
  184. package/dist/components/textarea/Textarea.js.map +1 -1
  185. package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
  186. package/dist/components/toggle-group/ToggleGroup.js +1 -0
  187. package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
  188. package/dist/components/toggle-group/client/ToggleGroupClient.js +2 -0
  189. package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
  190. package/dist/components/toggle-group/types.d.ts +1 -0
  191. package/dist/components/toggle-group/types.d.ts.map +1 -1
  192. package/dist/components/toolbar/ToolbarShell.d.ts.map +1 -1
  193. package/dist/components/toolbar/ToolbarShell.js +2 -1
  194. package/dist/components/toolbar/ToolbarShell.js.map +1 -1
  195. package/dist/components/toolbar/types.d.ts +1 -0
  196. package/dist/components/toolbar/types.d.ts.map +1 -1
  197. package/dist/components/tooltip/Tooltip.js +1 -1
  198. package/dist/components/tooltip/Tooltip.js.map +1 -1
  199. package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
  200. package/dist/components/virtual-scroll/VirtualScroll.js +54 -34
  201. package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
  202. package/dist/components/virtual-scroll/types.d.ts +2 -2
  203. package/dist/components/virtual-scroll/types.d.ts.map +1 -1
  204. package/dist/components/virtual-scroll/types.js.map +1 -1
  205. package/dist/components/virtual-scroll/virtual-scroll-scroll.d.ts.map +1 -1
  206. package/dist/components/virtual-scroll/virtual-scroll-scroll.js +0 -1
  207. package/dist/components/virtual-scroll/virtual-scroll-scroll.js.map +1 -1
  208. package/dist/core/roving-focus.d.ts +2 -1
  209. package/dist/core/roving-focus.d.ts.map +1 -1
  210. package/dist/core/roving-focus.js.map +1 -1
  211. package/dist/core/use-popover.d.ts.map +1 -1
  212. package/dist/core/use-popover.js +6 -1
  213. package/dist/core/use-popover.js.map +1 -1
  214. package/dist/elements/choice/types.d.ts +1 -1
  215. package/dist/elements/choice/types.d.ts.map +1 -1
  216. package/dist/styles/index.css +1 -1
  217. package/dist/styles/tailwind.css +1 -0
  218. package/dist/styles/tokens.css +1 -1
  219. package/package.json +1 -1
  220. package/dist/components/drawer/client-types.d.ts +0 -99
  221. package/dist/components/drawer/client-types.d.ts.map +0 -1
  222. package/dist/components/drawer/client-types.js +0 -1
  223. package/dist/components/enhance/internal/read-box.d.ts +0 -3
  224. package/dist/components/enhance/internal/read-box.d.ts.map +0 -1
  225. package/dist/components/enhance/internal/read-box.js +0 -7
  226. package/dist/components/enhance/internal/read-box.js.map +0 -1
  227. package/dist/components/stepper/Stepper.d.ts +0 -7
  228. package/dist/components/stepper/Stepper.d.ts.map +0 -1
  229. package/dist/components/stepper/Stepper.js +0 -35
  230. package/dist/components/stepper/Stepper.js.map +0 -1
  231. package/dist/components/stepper/index.d.ts +0 -3
  232. package/dist/components/stepper/index.d.ts.map +0 -1
  233. package/dist/components/stepper/index.js +0 -5
  234. package/dist/components/stepper/index.js.map +0 -1
  235. package/dist/components/stepper/types.d.ts +0 -14
  236. package/dist/components/stepper/types.d.ts.map +0 -1
  237. package/dist/components/stepper.d.ts +0 -1
  238. package/dist/components/stepper.js +0 -1
  239. /package/dist/components/{stepper → enhance}/types.js +0 -0
  240. /package/dist/components/{stepper → enhance}/types.js.map +0 -0
  241. /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,3 @@
1
+ import type { TableContextValue } from "../types.js";
2
+ export declare const TableProvider: import("react").Provider<TableContextValue | null>, useTableContext: (part: string) => TableContextValue;
3
+ //# sourceMappingURL=table-context.d.ts.map
@@ -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,8 @@
1
+ "use client";
2
+ import { createPartContext } from "@gunkin/uiify/core";
3
+ const [TableProvider, useTableContext] = createPartContext("Table");
4
+ export {
5
+ TableProvider,
6
+ useTableContext
7
+ };
8
+ //# sourceMappingURL=table-context.js.map
@@ -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, TableSelectAll as SelectAll, TableRowSelect as RowSelect, } from "./Table.js";
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,EACR,cAAc,IAAI,SAAS,EAC3B,cAAc,IAAI,SAAS,GAC5B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,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
+ {"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
- TableSelectAll,
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 TableSelectAll as SelectAll,\n TableRowSelect as RowSelect,\n} from \"./Table.js\";\nexport type {\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,EACkB;AAAA,EACA;AAAA,OACb;","names":[]}
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 defaultSelectedKeys?: Iterable<string>;
56
- readonly defaultSortDescriptor?: SortDescriptor | null;
57
- readonly onSelectionChange?: (selectedKeys: Set<string>) => void;
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, object, Record<string, never>, HTMLTableSectionElement>;
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;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC1D,QAAQ,CAAC,yBAAyB,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAC5D,QAAQ,CAAC,eAAe,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACxE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAClE,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC7D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,SAAS,EAAE,CAClB,EAAE,EAAE,MAAM,EACV,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC7B,KACE,IAAI,CAAC;IACV,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,IAAI,eAAe,CAC7E,GAAG,EACH,iBAAiB,EACjB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,gBAAgB,CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,IAAI,eAAe,CAC/E,GAAG,EACH,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,uBAAuB,CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,IAAI,eAAe,CAC7E,GAAG,EACH;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EACjC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,uBAAuB,CACxB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,IAAI,eAAe,CACzE,GAAG,EACH,gBAAgB,EAChB;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,EACrB,mBAAmB,CACpB,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,sBAAsB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,IAAI,eAAe,CAClF,GAAG,EACH,yBAAyB,EACzB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,oBAAoB,CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,IAAI,eAAe,CAC1E,GAAG,EACH;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EACjC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,oBAAoB,CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,SAAS,IAAI,eAAe,CAClF,GAAG,EACH;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EACjC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,uBAAuB,CACxB,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,CA6CrB"}
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,MAC7D,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
+ {"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,CAwBjC;yBAlCe,WAAW"}
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,5 +1,6 @@
1
1
  import type { ChoiceItem, ChoiceOrientation } from "../internal/choice-family/types.js";
2
2
  export interface ToggleGroupItem extends ChoiceItem {
3
+ readonly shape?: "square" | "circle";
3
4
  }
4
5
  export interface ToggleGroupProps {
5
6
  readonly id: 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,WAAW,eAAgB,SAAQ,UAAU;CAAG;AAEtD,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
+ {"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,CAgB5E;yBAhBe,aAAa;;;AAmB7B,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"}
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": "",