@gunkin/uiify 0.0.12-alpha → 0.0.13-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 (219) 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/carousel/CarouselMarkup.d.ts.map +1 -1
  7. package/dist/components/carousel/CarouselMarkup.js +2 -1
  8. package/dist/components/carousel/CarouselMarkup.js.map +1 -1
  9. package/dist/components/carousel/client/CarouselClientView.d.ts.map +1 -1
  10. package/dist/components/carousel/client/CarouselClientView.js +1 -0
  11. package/dist/components/carousel/client/CarouselClientView.js.map +1 -1
  12. package/dist/components/carousel/client/carousel-controller.d.ts.map +1 -1
  13. package/dist/components/carousel/client/carousel-controller.js +25 -4
  14. package/dist/components/carousel/client/carousel-controller.js.map +1 -1
  15. package/dist/components/carousel/client/carousel-observer.d.ts.map +1 -1
  16. package/dist/components/carousel/client/carousel-observer.js +40 -0
  17. package/dist/components/carousel/client/carousel-observer.js.map +1 -1
  18. package/dist/components/carousel/fade/fade-controller.d.ts.map +1 -1
  19. package/dist/components/carousel/fade/fade-controller.js +3 -0
  20. package/dist/components/carousel/fade/fade-controller.js.map +1 -1
  21. package/dist/components/carousel/types.d.ts +2 -0
  22. package/dist/components/carousel/types.d.ts.map +1 -1
  23. package/dist/components/checkbox/Checkbox.d.ts +1 -6
  24. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  25. package/dist/components/checkbox/Checkbox.js +2 -52
  26. package/dist/components/checkbox/Checkbox.js.map +1 -1
  27. package/dist/components/drawer/Drawer.d.ts +1 -1
  28. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  29. package/dist/components/drawer/Drawer.js +46 -9
  30. package/dist/components/drawer/Drawer.js.map +1 -1
  31. package/dist/components/drawer/DrawerNative.d.ts +8 -16
  32. package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
  33. package/dist/components/drawer/DrawerNative.js +80 -34
  34. package/dist/components/drawer/DrawerNative.js.map +1 -1
  35. package/dist/components/drawer/drawer-store.d.ts +1 -1
  36. package/dist/components/drawer/drawer-store.d.ts.map +1 -1
  37. package/dist/components/drawer/drawer-store.js +7 -3
  38. package/dist/components/drawer/drawer-store.js.map +1 -1
  39. package/dist/components/drawer/index.d.ts +3 -3
  40. package/dist/components/drawer/index.d.ts.map +1 -1
  41. package/dist/components/drawer/index.js +9 -1
  42. package/dist/components/drawer/index.js.map +1 -1
  43. package/dist/components/drawer/types.d.ts +114 -3
  44. package/dist/components/drawer/types.d.ts.map +1 -1
  45. package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
  46. package/dist/components/dropdown-menu/DropdownMenu.js +1 -0
  47. package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
  48. package/dist/components/enhance/dialog-dismiss.d.ts +1 -1
  49. package/dist/components/enhance/dialog-dismiss.d.ts.map +1 -1
  50. package/dist/components/enhance/dialog-dismiss.js +19 -10
  51. package/dist/components/enhance/dialog-dismiss.js.map +1 -1
  52. package/dist/components/enhance/internal/box-observer.d.ts +4 -0
  53. package/dist/components/enhance/internal/box-observer.d.ts.map +1 -0
  54. package/dist/components/enhance/internal/box-observer.js +32 -0
  55. package/dist/components/enhance/internal/box-observer.js.map +1 -0
  56. package/dist/components/enhance/sheet-swipe.d.ts.map +1 -1
  57. package/dist/components/enhance/sheet-swipe.js +42 -14
  58. package/dist/components/enhance/sheet-swipe.js.map +1 -1
  59. package/dist/components/enhance/types.d.ts +5 -0
  60. package/dist/components/enhance/types.d.ts.map +1 -0
  61. package/dist/components/field/Field.d.ts.map +1 -1
  62. package/dist/components/field/Field.js +1 -0
  63. package/dist/components/field/Field.js.map +1 -1
  64. package/dist/components/file-upload/FileUpload.d.ts +4 -7
  65. package/dist/components/file-upload/FileUpload.d.ts.map +1 -1
  66. package/dist/components/file-upload/FileUpload.js +28 -122
  67. package/dist/components/file-upload/FileUpload.js.map +1 -1
  68. package/dist/components/file-upload/FileUploadInput.d.ts +7 -0
  69. package/dist/components/file-upload/FileUploadInput.d.ts.map +1 -0
  70. package/dist/components/file-upload/FileUploadInput.js +60 -0
  71. package/dist/components/file-upload/FileUploadInput.js.map +1 -0
  72. package/dist/components/file-upload/FileUploadRoot.d.ts +8 -0
  73. package/dist/components/file-upload/FileUploadRoot.d.ts.map +1 -0
  74. package/dist/components/file-upload/FileUploadRoot.js +70 -0
  75. package/dist/components/file-upload/FileUploadRoot.js.map +1 -0
  76. package/dist/components/file-upload/file-upload-context.d.ts +3 -0
  77. package/dist/components/file-upload/file-upload-context.d.ts.map +1 -0
  78. package/dist/components/file-upload/file-upload-context.js +8 -0
  79. package/dist/components/file-upload/file-upload-context.js.map +1 -0
  80. package/dist/components/file-upload/index.d.ts +1 -1
  81. package/dist/components/file-upload/index.d.ts.map +1 -1
  82. package/dist/components/file-upload/index.js.map +1 -1
  83. package/dist/components/file-upload/types.d.ts +8 -10
  84. package/dist/components/file-upload/types.d.ts.map +1 -1
  85. package/dist/components/form/Form.d.ts.map +1 -1
  86. package/dist/components/form/Form.js +2 -1
  87. package/dist/components/form/Form.js.map +1 -1
  88. package/dist/components/hover-card/HoverCard.js +1 -1
  89. package/dist/components/hover-card/HoverCard.js.map +1 -1
  90. package/dist/components/index.d.ts +0 -1
  91. package/dist/components/index.d.ts.map +1 -1
  92. package/dist/components/index.js +0 -1
  93. package/dist/components/index.js.map +1 -1
  94. package/dist/components/input/Input.d.ts.map +1 -1
  95. package/dist/components/input/Input.js +1 -1
  96. package/dist/components/input/Input.js.map +1 -1
  97. package/dist/components/internal/choice-family/ChoiceGroup.js +1 -1
  98. package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
  99. package/dist/components/internal/choice-family/types.d.ts +3 -3
  100. package/dist/components/internal/choice-family/types.d.ts.map +1 -1
  101. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts +7 -0
  102. package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -0
  103. package/dist/components/internal/native-check-control/NativeCheckControl.js +56 -0
  104. package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -0
  105. package/dist/components/internal/native-check-control/types.d.ts +13 -0
  106. package/dist/components/internal/native-check-control/types.d.ts.map +1 -0
  107. package/dist/components/internal/native-check-control/types.js +1 -0
  108. package/dist/components/number-field/NumberField.d.ts.map +1 -1
  109. package/dist/components/number-field/NumberField.js +11 -2
  110. package/dist/components/number-field/NumberField.js.map +1 -1
  111. package/dist/components/number-field/format.d.ts +1 -0
  112. package/dist/components/number-field/format.d.ts.map +1 -1
  113. package/dist/components/number-field/format.js +18 -6
  114. package/dist/components/number-field/format.js.map +1 -1
  115. package/dist/components/popup/PopupParts.d.ts.map +1 -1
  116. package/dist/components/popup/PopupParts.js +2 -0
  117. package/dist/components/popup/PopupParts.js.map +1 -1
  118. package/dist/components/select/Select.d.ts.map +1 -1
  119. package/dist/components/select/Select.js +1 -1
  120. package/dist/components/select/Select.js.map +1 -1
  121. package/dist/components/skeleton/Skeleton.d.ts.map +1 -1
  122. package/dist/components/skeleton/Skeleton.js +14 -35
  123. package/dist/components/skeleton/Skeleton.js.map +1 -1
  124. package/dist/components/skeleton/types.d.ts +1 -8
  125. package/dist/components/skeleton/types.d.ts.map +1 -1
  126. package/dist/components/table/Table.d.ts +1 -40
  127. package/dist/components/table/Table.d.ts.map +1 -1
  128. package/dist/components/table/Table.js +9 -259
  129. package/dist/components/table/Table.js.map +1 -1
  130. package/dist/components/table/TableShell.d.ts +5 -1
  131. package/dist/components/table/TableShell.d.ts.map +1 -1
  132. package/dist/components/table/TableShell.js +63 -9
  133. package/dist/components/table/TableShell.js.map +1 -1
  134. package/dist/components/table/client/Table.d.ts +30 -0
  135. package/dist/components/table/client/Table.d.ts.map +1 -0
  136. package/dist/components/table/client/Table.js +135 -0
  137. package/dist/components/table/client/Table.js.map +1 -0
  138. package/dist/components/table/client/TableBody.d.ts +7 -0
  139. package/dist/components/table/client/TableBody.d.ts.map +1 -0
  140. package/dist/components/table/client/TableBody.js +35 -0
  141. package/dist/components/table/client/TableBody.js.map +1 -0
  142. package/dist/components/table/client/TableColumnHeader.d.ts +7 -0
  143. package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -0
  144. package/dist/components/table/client/TableColumnHeader.js +69 -0
  145. package/dist/components/table/client/TableColumnHeader.js.map +1 -0
  146. package/dist/components/table/client/TableExpansion.d.ts +11 -0
  147. package/dist/components/table/client/TableExpansion.d.ts.map +1 -0
  148. package/dist/components/table/client/TableExpansion.js +43 -0
  149. package/dist/components/table/client/TableExpansion.js.map +1 -0
  150. package/dist/components/table/client/TableRow.d.ts +7 -0
  151. package/dist/components/table/client/TableRow.d.ts.map +1 -0
  152. package/dist/components/table/client/TableRow.js +95 -0
  153. package/dist/components/table/client/TableRow.js.map +1 -0
  154. package/dist/components/table/client/TableSelection.d.ts +11 -0
  155. package/dist/components/table/client/TableSelection.d.ts.map +1 -0
  156. package/dist/components/table/client/TableSelection.js +48 -0
  157. package/dist/components/table/client/TableSelection.js.map +1 -0
  158. package/dist/components/table/client/table-context.d.ts +3 -0
  159. package/dist/components/table/client/table-context.d.ts.map +1 -0
  160. package/dist/components/table/client/table-context.js +8 -0
  161. package/dist/components/table/client/table-context.js.map +1 -0
  162. package/dist/components/table/client.d.ts +4 -0
  163. package/dist/components/table/client.d.ts.map +1 -0
  164. package/dist/components/table/client.js +30 -0
  165. package/dist/components/table/client.js.map +1 -0
  166. package/dist/components/table/index.d.ts +2 -2
  167. package/dist/components/table/index.d.ts.map +1 -1
  168. package/dist/components/table/index.js +7 -7
  169. package/dist/components/table/index.js.map +1 -1
  170. package/dist/components/table/types.d.ts +42 -15
  171. package/dist/components/table/types.d.ts.map +1 -1
  172. package/dist/components/textarea/Textarea.d.ts.map +1 -1
  173. package/dist/components/textarea/Textarea.js +1 -1
  174. package/dist/components/textarea/Textarea.js.map +1 -1
  175. package/dist/components/tooltip/Tooltip.js +1 -1
  176. package/dist/components/tooltip/Tooltip.js.map +1 -1
  177. package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
  178. package/dist/components/virtual-scroll/VirtualScroll.js +54 -34
  179. package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
  180. package/dist/components/virtual-scroll/types.d.ts +2 -2
  181. package/dist/components/virtual-scroll/types.d.ts.map +1 -1
  182. package/dist/components/virtual-scroll/types.js.map +1 -1
  183. package/dist/components/virtual-scroll/virtual-scroll-scroll.d.ts.map +1 -1
  184. package/dist/components/virtual-scroll/virtual-scroll-scroll.js +0 -1
  185. package/dist/components/virtual-scroll/virtual-scroll-scroll.js.map +1 -1
  186. package/dist/core/roving-focus.d.ts +2 -1
  187. package/dist/core/roving-focus.d.ts.map +1 -1
  188. package/dist/core/roving-focus.js.map +1 -1
  189. package/dist/core/use-popover.d.ts.map +1 -1
  190. package/dist/core/use-popover.js +6 -1
  191. package/dist/core/use-popover.js.map +1 -1
  192. package/dist/elements/choice/types.d.ts +1 -1
  193. package/dist/elements/choice/types.d.ts.map +1 -1
  194. package/dist/styles/index.css +1 -1
  195. package/dist/styles/tailwind.css +1 -0
  196. package/dist/styles/tokens.css +1 -1
  197. package/package.json +1 -1
  198. package/dist/components/drawer/client-types.d.ts +0 -99
  199. package/dist/components/drawer/client-types.d.ts.map +0 -1
  200. package/dist/components/drawer/client-types.js +0 -1
  201. package/dist/components/enhance/internal/read-box.d.ts +0 -3
  202. package/dist/components/enhance/internal/read-box.d.ts.map +0 -1
  203. package/dist/components/enhance/internal/read-box.js +0 -7
  204. package/dist/components/enhance/internal/read-box.js.map +0 -1
  205. package/dist/components/stepper/Stepper.d.ts +0 -7
  206. package/dist/components/stepper/Stepper.d.ts.map +0 -1
  207. package/dist/components/stepper/Stepper.js +0 -35
  208. package/dist/components/stepper/Stepper.js.map +0 -1
  209. package/dist/components/stepper/index.d.ts +0 -3
  210. package/dist/components/stepper/index.d.ts.map +0 -1
  211. package/dist/components/stepper/index.js +0 -5
  212. package/dist/components/stepper/index.js.map +0 -1
  213. package/dist/components/stepper/types.d.ts +0 -14
  214. package/dist/components/stepper/types.d.ts.map +0 -1
  215. package/dist/components/stepper.d.ts +0 -1
  216. package/dist/components/stepper.js +0 -1
  217. /package/dist/components/{stepper → enhance}/types.js +0 -0
  218. /package/dist/components/{stepper → enhance}/types.js.map +0 -0
  219. /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":"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"}
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":[]}
@@ -79,7 +79,7 @@ function TooltipTrigger(props) {
79
79
  ...consumerProps,
80
80
  ...anchorProps,
81
81
  "aria-describedby": open ? contentId : void 0,
82
- ...nativeButton ? { type: "button" } : {},
82
+ ...nativeButton ? { type: "button", "data-uiify-button": "" } : {},
83
83
  ...className ? { className } : {},
84
84
  onBlur: composeEventHandlers(consumerOnBlur, () => {
85
85
  closeTooltip();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport type {\n CSSProperties,\n ElementType,\n FocusEvent,\n KeyboardEvent,\n PointerEvent,\n ReactElement,\n} from \"react\";\nimport { useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport {\n createAnchorPositionerProps,\n createAnchorTriggerProps,\n anchorNameForId,\n} from \"@gunkin/uiify/core/anchor-position\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport {\n createPartContext,\n splitRef,\n useHoverOverlay,\n type HoverIntentStore,\n} from \"@gunkin/uiify/core\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { CONTENT_HOVER_GRACE_MS, createTooltipProviderStore } from \"./tooltip-store.js\";\nimport type {\n TooltipContentProps,\n TooltipProviderOwnProps,\n TooltipProviderStore,\n TooltipRootProps,\n TooltipTriggerProps,\n} from \"./types.js\";\n\ninterface TooltipClientContextValue {\n readonly anchorId: string;\n readonly closeTooltip: () => void;\n readonly contentId: string;\n readonly intent: HoverIntentStore;\n readonly open: boolean;\n readonly openTooltip: (immediate?: boolean) => void;\n readonly pointerFocusRef: React.RefObject<boolean>;\n readonly setContentId: (id: string) => void;\n}\n\nconst [TooltipProviderStoreProvider, useTooltipProviderStore] =\n createPartContext<TooltipProviderStore>(\"Tooltip\", \"Provider\");\n\n// Root name \"Root\" (the default): Trigger/Content require <Tooltip.Root>, a\n// distinct nesting requirement from TooltipRoot itself requiring\n// <Tooltip.Provider> above. Keeping the two contexts' root names accurate\n// (rather than pointing both at \"Provider\") preserves the original's\n// correct, non-misleading error for the \"Trigger without Root\" case.\nconst [TooltipContextProvider, useTooltipContext] =\n createPartContext<TooltipClientContextValue>(\"Tooltip\");\n\nexport function TooltipProvider(props: TooltipProviderOwnProps): ReactElement | null {\n const { children, delayDuration = 300, skipDelayDuration = 300 } = props;\n const storeRef = useRef<TooltipProviderStore | null>(null);\n storeRef.current ??= createTooltipProviderStore({ delayDuration, skipDelayDuration });\n\n useIsomorphicLayoutEffect(() => {\n storeRef.current?.updateOptions({ delayDuration, skipDelayDuration });\n }, [delayDuration, skipDelayDuration]);\n\n return (\n <TooltipProviderStoreProvider value={storeRef.current}>{children}</TooltipProviderStoreProvider>\n );\n}\nTooltipProvider.displayName = \"TooltipProvider\";\n\nexport function TooltipRoot(props: TooltipRootProps): ReactElement | null {\n const { children, defaultOpen = false, id, onOpenChange, open } = props;\n const provider = useTooltipProviderStore(\"Root\");\n const pointerFocusRef = useRef(false);\n const overlay = useHoverOverlay({\n closeDelay: CONTENT_HOVER_GRACE_MS,\n ...(defaultOpen !== undefined ? { defaultOpen } : {}),\n ...(id !== undefined ? { id } : {}),\n idPrefix: \"uiify-tooltip\",\n ...(onOpenChange ? { onOpenChange } : {}),\n onOpened: provider.markOpened,\n ...(open !== undefined ? { open } : {}),\n openDelay: provider.getDelayDuration(),\n shouldSkipDelay: provider.shouldSkipDelay,\n });\n\n const contextValue: TooltipClientContextValue = {\n anchorId: overlay.anchorId,\n closeTooltip: overlay.closeOverlay,\n contentId: overlay.contentId,\n intent: overlay.intent,\n open: overlay.open,\n openTooltip: overlay.openOverlay,\n pointerFocusRef,\n setContentId: overlay.setContentId,\n };\n\n return <TooltipContextProvider value={contextValue}>{children}</TooltipContextProvider>;\n}\nTooltipRoot.displayName = \"TooltipRoot\";\n\nexport function TooltipTrigger<TAs extends ElementType = \"button\">(\n props: TooltipTriggerProps<TAs>,\n): ReactElement | null {\n const { as, render, className, ...consumerProps } = props as TooltipTriggerProps<\"button\">;\n const { anchorId, closeTooltip, contentId, intent, open, openTooltip, pointerFocusRef } =\n useTooltipContext(\"Trigger\");\n const nativeButton = !as || as === \"button\";\n const consumerStyle = (consumerProps as { style?: CSSProperties }).style;\n const anchorProps = {\n ...createAnchorTriggerProps(anchorNameForId(anchorId)),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n };\n const {\n onBlur: consumerOnBlur,\n onFocus: consumerOnFocus,\n onKeyDown: consumerOnKeyDown,\n onPointerDown: consumerOnPointerDown,\n onPointerEnter: consumerOnPointerEnter,\n onPointerLeave: consumerOnPointerLeave,\n } = consumerProps as {\n onBlur?: (event: FocusEvent<HTMLElement>) => void;\n onFocus?: (event: FocusEvent<HTMLElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n onPointerDown?: (event: PointerEvent<HTMLElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n\n return useRenderElement({\n as,\n defaultTag: \"button\",\n props: {\n ...consumerProps,\n ...anchorProps,\n \"aria-describedby\": open ? contentId : undefined,\n ...(nativeButton ? { type: \"button\" } : {}),\n ...(className ? { className } : {}),\n onBlur: composeEventHandlers(consumerOnBlur, () => {\n closeTooltip();\n }),\n onFocus: composeEventHandlers(consumerOnFocus, () => {\n if (!pointerFocusRef.current) openTooltip(true);\n pointerFocusRef.current = false;\n }),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Escape\") closeTooltip();\n }),\n onPointerDown: composeEventHandlers(consumerOnPointerDown, () => {\n pointerFocusRef.current = true;\n }),\n onPointerEnter: composeEventHandlers(\n consumerOnPointerEnter,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") openTooltip(false);\n },\n ),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") {\n intent.scheduleClose(() => closeTooltip());\n }\n },\n ),\n },\n render,\n state: { open },\n });\n}\n\nexport function TooltipContent<TAs extends ElementType = \"div\">(\n props: TooltipContentProps<TAs>,\n): ReactElement | null {\n const {\n align = \"center\",\n as,\n render,\n className,\n side = \"bottom\",\n ...consumerProps\n } = props as TooltipContentProps<\"div\">;\n const { anchorId, closeTooltip, contentId, intent, open, setContentId } =\n useTooltipContext(\"Content\");\n const [consumerRef, domProps] = splitRef<HTMLElement, typeof consumerProps>(consumerProps);\n const popupRef = useRef<HTMLElement | null>(null);\n const mergedRef = useMergedRefs(popupRef, consumerRef);\n const consumerDomProps = domProps as { id?: string; style?: CSSProperties };\n const resolvedId =\n typeof consumerDomProps.id === \"string\" && consumerDomProps.id.length > 0\n ? consumerDomProps.id\n : contentId;\n const consumerStyle = consumerDomProps.style;\n\n useIsomorphicLayoutEffect(() => {\n setContentId(resolvedId);\n }, [resolvedId, setContentId]);\n\n // Same technique as core/use-popover.ts: guard with .matches(\":popover-open\")\n // so a StrictMode double-invoke or an unrelated re-run doesn't call\n // showPopover/hidePopover on a popover already in that state (both throw).\n // try/catch covers the node having disconnected between render and effect.\n useIsomorphicLayoutEffect(() => {\n const popup = popupRef.current;\n if (!popup) return;\n try {\n if (open && !popup.matches(\":popover-open\")) popup.showPopover();\n if (!open && popup.matches(\":popover-open\")) popup.hidePopover();\n } catch {\n // The node may have disconnected between render and layout effect.\n }\n }, [open]);\n\n const { onPointerEnter: consumerOnPointerEnter, onPointerLeave: consumerOnPointerLeave } =\n domProps as {\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...domProps,\n ...createAnchorPositionerProps({\n align,\n anchorName: anchorNameForId(anchorId),\n side,\n }),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n ref: mergedRef,\n popover: \"manual\",\n // The consumer's own non-empty `id` wins (computed above as `resolvedId`); otherwise the\n // The consumer's own non-empty `id` wins; otherwise the context-generated id is used.\n id: resolvedId,\n role: \"tooltip\",\n \"data-part\": \"content\",\n \"data-uiify-tooltip\": \"\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...(className ? { className } : {}),\n onPointerEnter: composeEventHandlers(consumerOnPointerEnter, () => {\n intent.clearCloseTimer();\n }),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") closeTooltip();\n },\n ),\n },\n render,\n state: { open, positioning: \"native\" as const },\n });\n}\n\nexport const Tooltip = {\n Content: TooltipContent,\n Provider: TooltipProvider,\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport type {\n CSSProperties,\n ElementType,\n FocusEvent,\n KeyboardEvent,\n PointerEvent,\n ReactElement,\n} from \"react\";\nimport { useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport {\n createAnchorPositionerProps,\n createAnchorTriggerProps,\n anchorNameForId,\n} from \"@gunkin/uiify/core/anchor-position\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport {\n createPartContext,\n splitRef,\n useHoverOverlay,\n type HoverIntentStore,\n} from \"@gunkin/uiify/core\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { CONTENT_HOVER_GRACE_MS, createTooltipProviderStore } from \"./tooltip-store.js\";\nimport type {\n TooltipContentProps,\n TooltipProviderOwnProps,\n TooltipProviderStore,\n TooltipRootProps,\n TooltipTriggerProps,\n} from \"./types.js\";\n\ninterface TooltipClientContextValue {\n readonly anchorId: string;\n readonly closeTooltip: () => void;\n readonly contentId: string;\n readonly intent: HoverIntentStore;\n readonly open: boolean;\n readonly openTooltip: (immediate?: boolean) => void;\n readonly pointerFocusRef: React.RefObject<boolean>;\n readonly setContentId: (id: string) => void;\n}\n\nconst [TooltipProviderStoreProvider, useTooltipProviderStore] =\n createPartContext<TooltipProviderStore>(\"Tooltip\", \"Provider\");\n\n// Root name \"Root\" (the default): Trigger/Content require <Tooltip.Root>, a\n// distinct nesting requirement from TooltipRoot itself requiring\n// <Tooltip.Provider> above. Keeping the two contexts' root names accurate\n// (rather than pointing both at \"Provider\") preserves the original's\n// correct, non-misleading error for the \"Trigger without Root\" case.\nconst [TooltipContextProvider, useTooltipContext] =\n createPartContext<TooltipClientContextValue>(\"Tooltip\");\n\nexport function TooltipProvider(props: TooltipProviderOwnProps): ReactElement | null {\n const { children, delayDuration = 300, skipDelayDuration = 300 } = props;\n const storeRef = useRef<TooltipProviderStore | null>(null);\n storeRef.current ??= createTooltipProviderStore({ delayDuration, skipDelayDuration });\n\n useIsomorphicLayoutEffect(() => {\n storeRef.current?.updateOptions({ delayDuration, skipDelayDuration });\n }, [delayDuration, skipDelayDuration]);\n\n return (\n <TooltipProviderStoreProvider value={storeRef.current}>{children}</TooltipProviderStoreProvider>\n );\n}\nTooltipProvider.displayName = \"TooltipProvider\";\n\nexport function TooltipRoot(props: TooltipRootProps): ReactElement | null {\n const { children, defaultOpen = false, id, onOpenChange, open } = props;\n const provider = useTooltipProviderStore(\"Root\");\n const pointerFocusRef = useRef(false);\n const overlay = useHoverOverlay({\n closeDelay: CONTENT_HOVER_GRACE_MS,\n ...(defaultOpen !== undefined ? { defaultOpen } : {}),\n ...(id !== undefined ? { id } : {}),\n idPrefix: \"uiify-tooltip\",\n ...(onOpenChange ? { onOpenChange } : {}),\n onOpened: provider.markOpened,\n ...(open !== undefined ? { open } : {}),\n openDelay: provider.getDelayDuration(),\n shouldSkipDelay: provider.shouldSkipDelay,\n });\n\n const contextValue: TooltipClientContextValue = {\n anchorId: overlay.anchorId,\n closeTooltip: overlay.closeOverlay,\n contentId: overlay.contentId,\n intent: overlay.intent,\n open: overlay.open,\n openTooltip: overlay.openOverlay,\n pointerFocusRef,\n setContentId: overlay.setContentId,\n };\n\n return <TooltipContextProvider value={contextValue}>{children}</TooltipContextProvider>;\n}\nTooltipRoot.displayName = \"TooltipRoot\";\n\nexport function TooltipTrigger<TAs extends ElementType = \"button\">(\n props: TooltipTriggerProps<TAs>,\n): ReactElement | null {\n const { as, render, className, ...consumerProps } = props as TooltipTriggerProps<\"button\">;\n const { anchorId, closeTooltip, contentId, intent, open, openTooltip, pointerFocusRef } =\n useTooltipContext(\"Trigger\");\n const nativeButton = !as || as === \"button\";\n const consumerStyle = (consumerProps as { style?: CSSProperties }).style;\n const anchorProps = {\n ...createAnchorTriggerProps(anchorNameForId(anchorId)),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n };\n const {\n onBlur: consumerOnBlur,\n onFocus: consumerOnFocus,\n onKeyDown: consumerOnKeyDown,\n onPointerDown: consumerOnPointerDown,\n onPointerEnter: consumerOnPointerEnter,\n onPointerLeave: consumerOnPointerLeave,\n } = consumerProps as {\n onBlur?: (event: FocusEvent<HTMLElement>) => void;\n onFocus?: (event: FocusEvent<HTMLElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n onPointerDown?: (event: PointerEvent<HTMLElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n\n return useRenderElement({\n as,\n defaultTag: \"button\",\n props: {\n ...consumerProps,\n ...anchorProps,\n \"aria-describedby\": open ? contentId : undefined,\n ...(nativeButton ? { type: \"button\", \"data-uiify-button\": \"\" } : {}),\n ...(className ? { className } : {}),\n onBlur: composeEventHandlers(consumerOnBlur, () => {\n closeTooltip();\n }),\n onFocus: composeEventHandlers(consumerOnFocus, () => {\n if (!pointerFocusRef.current) openTooltip(true);\n pointerFocusRef.current = false;\n }),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Escape\") closeTooltip();\n }),\n onPointerDown: composeEventHandlers(consumerOnPointerDown, () => {\n pointerFocusRef.current = true;\n }),\n onPointerEnter: composeEventHandlers(\n consumerOnPointerEnter,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") openTooltip(false);\n },\n ),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") {\n intent.scheduleClose(() => closeTooltip());\n }\n },\n ),\n },\n render,\n state: { open },\n });\n}\n\nexport function TooltipContent<TAs extends ElementType = \"div\">(\n props: TooltipContentProps<TAs>,\n): ReactElement | null {\n const {\n align = \"center\",\n as,\n render,\n className,\n side = \"bottom\",\n ...consumerProps\n } = props as TooltipContentProps<\"div\">;\n const { anchorId, closeTooltip, contentId, intent, open, setContentId } =\n useTooltipContext(\"Content\");\n const [consumerRef, domProps] = splitRef<HTMLElement, typeof consumerProps>(consumerProps);\n const popupRef = useRef<HTMLElement | null>(null);\n const mergedRef = useMergedRefs(popupRef, consumerRef);\n const consumerDomProps = domProps as { id?: string; style?: CSSProperties };\n const resolvedId =\n typeof consumerDomProps.id === \"string\" && consumerDomProps.id.length > 0\n ? consumerDomProps.id\n : contentId;\n const consumerStyle = consumerDomProps.style;\n\n useIsomorphicLayoutEffect(() => {\n setContentId(resolvedId);\n }, [resolvedId, setContentId]);\n\n // Same technique as core/use-popover.ts: guard with .matches(\":popover-open\")\n // so a StrictMode double-invoke or an unrelated re-run doesn't call\n // showPopover/hidePopover on a popover already in that state (both throw).\n // try/catch covers the node having disconnected between render and effect.\n useIsomorphicLayoutEffect(() => {\n const popup = popupRef.current;\n if (!popup) return;\n try {\n if (open && !popup.matches(\":popover-open\")) popup.showPopover();\n if (!open && popup.matches(\":popover-open\")) popup.hidePopover();\n } catch {\n // The node may have disconnected between render and layout effect.\n }\n }, [open]);\n\n const { onPointerEnter: consumerOnPointerEnter, onPointerLeave: consumerOnPointerLeave } =\n domProps as {\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...domProps,\n ...createAnchorPositionerProps({\n align,\n anchorName: anchorNameForId(anchorId),\n side,\n }),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n ref: mergedRef,\n popover: \"manual\",\n // The consumer's own non-empty `id` wins (computed above as `resolvedId`); otherwise the\n // The consumer's own non-empty `id` wins; otherwise the context-generated id is used.\n id: resolvedId,\n role: \"tooltip\",\n \"data-part\": \"content\",\n \"data-uiify-tooltip\": \"\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...(className ? { className } : {}),\n onPointerEnter: composeEventHandlers(consumerOnPointerEnter, () => {\n intent.clearCloseTimer();\n }),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") closeTooltip();\n },\n ),\n },\n render,\n state: { open, positioning: \"native\" as const },\n });\n}\n\nexport const Tooltip = {\n Content: TooltipContent,\n Provider: TooltipProvider,\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n};\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualScroll.d.ts","sourceRoot":"","sources":["../../../src/components/virtual-scroll/VirtualScroll.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAqCf,OAAO,KAAK,EAEV,iBAAiB,EACjB,qBAAqB,EAItB,MAAM,YAAY,CAAC;AAwBpB,wBAAgB,aAAa,CAAC,CAAC,SAAS,iBAAiB,EACvD,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC9B,YAAY,CA4cd;yBA9ce,aAAa"}
1
+ {"version":3,"file":"VirtualScroll.d.ts","sourceRoot":"","sources":["../../../src/components/virtual-scroll/VirtualScroll.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAoCf,OAAO,KAAK,EAEV,iBAAiB,EACjB,qBAAqB,EAItB,MAAM,YAAY,CAAC;AAwBpB,wBAAgB,aAAa,CAAC,CAAC,SAAS,iBAAiB,EACvD,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC9B,YAAY,CAoed;yBAtee,aAAa"}