@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/select/Select.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 {\n SelectRootProps,\n SelectContentOwnProps,\n SelectItemProps,\n SelectGroupProps,\n SelectSeparatorProps,\n} from \"./types.js\";\n\nexport function SelectRoot<TAs extends ElementType = \"select\">(\n props: SelectRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value,\n defaultValue,\n onValueChange,\n name,\n disabled = false,\n children: consumerChildren,\n ...consumerProps\n } = props as SelectRootProps<\"select\">;\n\n const isControlled = value !== undefined;\n\n const handleChange = (event: SyntheticEvent<HTMLSelectElement>): void => {\n onValueChange?.(event.currentTarget.value);\n };\n\n const consumerOnChange = (\n consumerProps as Record<string, unknown> & {\n onChange?: (event: SyntheticEvent<HTMLSelectElement>) => void;\n }\n ).onChange;\n\n return useRenderElement({\n as,\n defaultTag: \"select\",\n props: {\n ...consumerProps,\n children: consumerChildren,\n \"data-uiify-select\": \"\",\n \"data-disabled\": disabled ? \"\" : undefined,\n disabled: disabled || undefined,\n name,\n onChange: composeEventHandlers(consumerOnChange, handleChange),\n ...(isControlled ? { value } : defaultValue !== undefined ? { defaultValue } : {}),\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectContent(props: SelectContentOwnProps): React.ReactNode {\n return props.children ?? null;\n}\n\nexport function SelectItem<TAs extends ElementType = \"option\">(\n props: SelectItemProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n children,\n disabled = false,\n value,\n ...consumerProps\n } = props as SelectItemProps<\"option\">;\n\n return useRenderElement({\n as,\n defaultTag: \"option\",\n props: {\n ...consumerProps,\n disabled: disabled || undefined,\n value,\n children,\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectGroup<TAs extends ElementType = \"optgroup\">(\n props: SelectGroupProps<TAs>,\n): ReactElement | null {\n const { as, render, children, label, ...consumerProps } = props as SelectGroupProps<\"optgroup\">;\n\n return useRenderElement({\n as,\n defaultTag: \"optgroup\",\n props: {\n ...consumerProps,\n label,\n children,\n },\n render,\n state: { label },\n });\n}\nSelectGroup.displayName = \"SelectGroup\";\n\nexport function SelectSeparator<TAs extends ElementType = \"hr\">(\n props: SelectSeparatorProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as SelectSeparatorProps<\"hr\">;\n\n return useRenderElement({\n as,\n defaultTag: \"hr\",\n props: { ...consumerProps, \"data-part\": \"separator\" },\n render,\n state: {},\n });\n}\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport const Select = {\n Content: SelectContent,\n Group: SelectGroup,\n Item: SelectItem,\n Root: SelectRoot,\n Separator: SelectSeparator,\n};\n"],"mappings":"AACA,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAS1B,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,eAAe,UAAU;AAE/B,QAAM,eAAe,CAAC,UAAmD;AACvE,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,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,iBAAiB,WAAW,KAAK;AAAA,MACjC,UAAU,YAAY;AAAA,MACtB;AAAA,MACA,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,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,cAAc,OAA+C;AAC3E,SAAO,MAAM,YAAY;AAC3B;AAEO,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,YAAY;AAAA,MACtB;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,YACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,UAAU,OAAO,GAAG,cAAc,IAAI;AAE1D,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,MAAM;AAAA,EACjB,CAAC;AACH;AACA,YAAY,cAAc;AAEnB,SAAS,gBACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AAEzC,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO,EAAE,GAAG,eAAe,aAAa,YAAY;AAAA,IACpD;AAAA,IACA,OAAO,CAAC;AAAA,EACV,CAAC;AACH;AACA,gBAAgB,cAAc;AAEvB,MAAM,SAAS;AAAA,EACpB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AACb;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/select/Select.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 {\n SelectRootProps,\n SelectContentOwnProps,\n SelectItemProps,\n SelectGroupProps,\n SelectSeparatorProps,\n} from \"./types.js\";\n\nexport function SelectRoot<TAs extends ElementType = \"select\">(\n props: SelectRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n value,\n defaultValue,\n onValueChange,\n name,\n disabled = false,\n children: consumerChildren,\n ...consumerProps\n } = props as SelectRootProps<\"select\">;\n\n const isControlled = value !== undefined;\n\n const handleChange = (event: SyntheticEvent<HTMLSelectElement>): void => {\n onValueChange?.(event.currentTarget.value);\n };\n\n const consumerOnChange = (\n consumerProps as Record<string, unknown> & {\n onChange?: (event: SyntheticEvent<HTMLSelectElement>) => void;\n }\n ).onChange;\n\n return useRenderElement({\n as,\n defaultTag: \"select\",\n props: {\n ...consumerProps,\n children: consumerChildren,\n \"data-uiify-select\": \"\",\n \"data-disabled\": disabled ? \"\" : undefined,\n disabled: disabled || undefined,\n name,\n onChange: onValueChange\n ? composeEventHandlers(consumerOnChange, handleChange)\n : consumerOnChange,\n ...(isControlled ? { value } : defaultValue !== undefined ? { defaultValue } : {}),\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectContent(props: SelectContentOwnProps): React.ReactNode {\n return props.children ?? null;\n}\n\nexport function SelectItem<TAs extends ElementType = \"option\">(\n props: SelectItemProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n children,\n disabled = false,\n value,\n ...consumerProps\n } = props as SelectItemProps<\"option\">;\n\n return useRenderElement({\n as,\n defaultTag: \"option\",\n props: {\n ...consumerProps,\n disabled: disabled || undefined,\n value,\n children,\n },\n render,\n state: { disabled },\n });\n}\n\nexport function SelectGroup<TAs extends ElementType = \"optgroup\">(\n props: SelectGroupProps<TAs>,\n): ReactElement | null {\n const { as, render, children, label, ...consumerProps } = props as SelectGroupProps<\"optgroup\">;\n\n return useRenderElement({\n as,\n defaultTag: \"optgroup\",\n props: {\n ...consumerProps,\n label,\n children,\n },\n render,\n state: { label },\n });\n}\nSelectGroup.displayName = \"SelectGroup\";\n\nexport function SelectSeparator<TAs extends ElementType = \"hr\">(\n props: SelectSeparatorProps<TAs>,\n): ReactElement | null {\n const { as, render, ...consumerProps } = props as SelectSeparatorProps<\"hr\">;\n\n return useRenderElement({\n as,\n defaultTag: \"hr\",\n props: { ...consumerProps, \"data-part\": \"separator\" },\n render,\n state: {},\n });\n}\nSelectSeparator.displayName = \"SelectSeparator\";\n\nexport const Select = {\n Content: SelectContent,\n Group: SelectGroup,\n Item: SelectItem,\n Root: SelectRoot,\n Separator: SelectSeparator,\n};\n"],"mappings":"AACA,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAS1B,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,eAAe,UAAU;AAE/B,QAAM,eAAe,CAAC,UAAmD;AACvE,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,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,iBAAiB,WAAW,KAAK;AAAA,MACjC,UAAU,YAAY;AAAA,MACtB;AAAA,MACA,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,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,cAAc,OAA+C;AAC3E,SAAO,MAAM,YAAY;AAC3B;AAEO,SAAS,WACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,YAAY;AAAA,MACtB;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS;AAAA,EACpB,CAAC;AACH;AAEO,SAAS,YACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,UAAU,OAAO,GAAG,cAAc,IAAI;AAE1D,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,MAAM;AAAA,EACjB,CAAC;AACH;AACA,YAAY,cAAc;AAEnB,SAAS,gBACd,OACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AAEzC,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO,EAAE,GAAG,eAAe,aAAa,YAAY;AAAA,IACpD;AAAA,IACA,OAAO,CAAC;AAAA,EACV,CAAC;AACH;AACA,gBAAgB,cAAc;AAEvB,MAAM,SAAS;AAAA,EACpB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AACb;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,YAAY,CAAC;AAOtE,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACtD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CA0BrB;yBA5Be,QAAQ"}
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACtD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CAiCrB;yBAnCe,QAAQ"}
@@ -1,7 +1,5 @@
1
- import { jsx } from "react/jsx-runtime";
2
1
  import { useRenderElement } from "@gunkin/uiify/core/render";
3
2
  function toCssSize(value) {
4
- if (value === void 0) return void 0;
5
3
  return typeof value === "number" ? `${value}px` : value;
6
4
  }
7
5
  function Skeleton(props) {
@@ -12,52 +10,33 @@ function Skeleton(props) {
12
10
  height,
13
11
  loading = true,
14
12
  width,
13
+ variant,
15
14
  children,
16
15
  ...consumerProps
17
16
  } = props;
18
- if (!loading) {
19
- return children;
20
- }
21
- return /* @__PURE__ */ jsx(
22
- SkeletonLoading,
23
- {
24
- as,
25
- circle,
26
- elementProps: consumerProps,
27
- height,
28
- render,
29
- width
30
- }
31
- );
32
- }
33
- Skeleton.displayName = "Skeleton";
34
- function SkeletonLoading({
35
- as,
36
- circle,
37
- elementProps,
38
- height,
39
- render,
40
- width
41
- }) {
42
- const { style: consumerStyle, ...rest } = elementProps;
17
+ const style = consumerProps.style;
43
18
  return useRenderElement({
44
19
  as,
45
20
  defaultTag: "div",
46
21
  props: {
47
- ...rest,
48
- "aria-hidden": true,
22
+ ...consumerProps,
23
+ "aria-hidden": loading ? true : void 0,
24
+ "data-uiify-skeleton": "",
49
25
  "data-shape": circle ? "circle" : "rect",
50
- "data-state": "loading",
26
+ "data-state": loading ? "loading" : "loaded",
27
+ ...variant !== void 0 ? { "data-variant": variant } : {},
51
28
  style: {
52
- ...consumerStyle,
53
- "--skeleton-h": toCssSize(height) ?? "",
54
- "--skeleton-w": toCssSize(width) ?? ""
55
- }
29
+ ...style,
30
+ ...width !== void 0 ? { "--uiify-skeleton-w": toCssSize(width) } : {},
31
+ ...height !== void 0 ? { "--uiify-skeleton-h": toCssSize(height) } : {}
32
+ },
33
+ children: loading ? void 0 : children
56
34
  },
57
35
  render,
58
- state: { loading: true }
36
+ state: { loading }
59
37
  });
60
38
  }
39
+ Skeleton.displayName = "Skeleton";
61
40
  export {
62
41
  Skeleton
63
42
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { SkeletonProps, SkeletonLoadingProps } from \"./types.js\";\n\nfunction toCssSize(value: number | string | undefined): string | undefined {\n if (value === undefined) return undefined;\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport function Skeleton<TAs extends ElementType = \"div\">(\n props: SkeletonProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n circle = false,\n height,\n loading = true,\n width,\n children,\n ...consumerProps\n } = props as SkeletonProps<\"div\">;\n\n if (!loading) {\n return children as ReactElement | null;\n }\n\n return (\n <SkeletonLoading\n as={as}\n circle={circle}\n elementProps={consumerProps}\n height={height}\n render={render}\n width={width}\n />\n );\n}\nSkeleton.displayName = \"Skeleton\";\n\nfunction SkeletonLoading({\n as,\n circle,\n elementProps,\n height,\n render,\n width,\n}: SkeletonLoadingProps): ReactElement | null {\n const { style: consumerStyle, ...rest } = elementProps;\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...rest,\n \"aria-hidden\": true,\n \"data-shape\": circle ? \"circle\" : \"rect\",\n \"data-state\": \"loading\",\n style: {\n ...(consumerStyle as CSSProperties | undefined),\n \"--skeleton-h\": toCssSize(height) ?? \"\",\n \"--skeleton-w\": toCssSize(width) ?? \"\",\n } as CSSProperties,\n },\n render,\n state: { loading: true },\n });\n}\n"],"mappings":"AA4BI;AA3BJ,SAAS,wBAAwB;AAGjC,SAAS,UAAU,OAAwD;AACzE,MAAI,UAAU,OAAW,QAAO;AAChC,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAEO,SAAS,SACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAEJ;AACA,SAAS,cAAc;AAEvB,SAAS,gBAAgB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA8C;AAC5C,QAAM,EAAE,OAAO,eAAe,GAAG,KAAK,IAAI;AAE1C,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,eAAe;AAAA,MACf,cAAc,SAAS,WAAW;AAAA,MAClC,cAAc;AAAA,MACd,OAAO;AAAA,QACL,GAAI;AAAA,QACJ,gBAAgB,UAAU,MAAM,KAAK;AAAA,QACrC,gBAAgB,UAAU,KAAK,KAAK;AAAA,MACtC;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS,KAAK;AAAA,EACzB,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import type { CSSProperties, ElementType, ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { SkeletonProps } from \"./types.js\";\n\nfunction toCssSize(value: number | string | undefined): string | undefined {\n return typeof value === \"number\" ? `${value}px` : value;\n}\n\nexport function Skeleton<TAs extends ElementType = \"div\">(\n props: SkeletonProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n circle = false,\n height,\n loading = true,\n width,\n variant,\n children,\n ...consumerProps\n } = props as SkeletonProps<\"div\">;\n const style = (consumerProps as { style?: CSSProperties }).style;\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...consumerProps,\n \"aria-hidden\": loading ? true : undefined,\n \"data-uiify-skeleton\": \"\",\n \"data-shape\": circle ? \"circle\" : \"rect\",\n \"data-state\": loading ? \"loading\" : \"loaded\",\n ...(variant !== undefined ? { \"data-variant\": variant } : {}),\n style: {\n ...style,\n ...(width !== undefined ? { \"--uiify-skeleton-w\": toCssSize(width) } : {}),\n ...(height !== undefined ? { \"--uiify-skeleton-h\": toCssSize(height) } : {}),\n } as CSSProperties,\n children: loading ? undefined : children,\n },\n render,\n state: { loading },\n });\n}\nSkeleton.displayName = \"Skeleton\";\n"],"mappings":"AACA,SAAS,wBAAwB;AAGjC,SAAS,UAAU,OAAwD;AACzE,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAEO,SAAS,SACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,QAAS,cAA4C;AAC3D,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAG;AAAA,MACH,eAAe,UAAU,OAAO;AAAA,MAChC,uBAAuB;AAAA,MACvB,cAAc,SAAS,WAAW;AAAA,MAClC,cAAc,UAAU,YAAY;AAAA,MACpC,GAAI,YAAY,SAAY,EAAE,gBAAgB,QAAQ,IAAI,CAAC;AAAA,MAC3D,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAI,UAAU,SAAY,EAAE,sBAAsB,UAAU,KAAK,EAAE,IAAI,CAAC;AAAA,QACxE,GAAI,WAAW,SAAY,EAAE,sBAAsB,UAAU,MAAM,EAAE,IAAI,CAAC;AAAA,MAC5E;AAAA,MACA,UAAU,UAAU,SAAY;AAAA,IAClC;AAAA,IACA;AAAA,IACA,OAAO,EAAE,QAAQ;AAAA,EACnB,CAAC;AACH;AACA,SAAS,cAAc;","names":[]}
@@ -4,18 +4,11 @@ export interface SkeletonOwnProps {
4
4
  readonly circle?: boolean;
5
5
  readonly height?: number | string;
6
6
  readonly loading?: boolean;
7
+ readonly variant?: "pulse" | "shimmer" | "none";
7
8
  readonly width?: number | string;
8
9
  readonly children?: ReactNode;
9
10
  }
10
11
  export type SkeletonProps<TAs extends ElementType = "div"> = RenderableProps<TAs, SkeletonOwnProps, {
11
12
  loading: boolean;
12
13
  }, HTMLElement>;
13
- export interface SkeletonLoadingProps {
14
- readonly as: ElementType | undefined;
15
- readonly circle: boolean;
16
- readonly elementProps: Record<string, unknown>;
17
- readonly height: number | string | undefined;
18
- readonly render: SkeletonProps<"div">["render"] | undefined;
19
- readonly width: number | string | undefined;
20
- }
21
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/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,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAC1E,GAAG,EACH,gBAAgB,EAChB;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,WAAW,CACZ,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/skeleton/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,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CAC1E,GAAG,EACH,gBAAgB,EAChB;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,WAAW,CACZ,CAAC"}
@@ -1,41 +1,2 @@
1
- import type { ElementType, ReactElement } from "react";
2
- import { TableBody as TableBodyElement, TableCaption, TableCell, TableColumnHeader as TableColumnHeaderElement, TableHeader } from "./TableShell.js";
3
- import type { TableRootProps, TableRowProps, TableRowSelectOwnProps } from "./types.js";
4
- export type { SelectionMode, SortDescriptor } from "./types.js";
5
- export { TableCaption, TableCell, TableHeader };
6
- export declare function TableRoot<TAs extends ElementType = "table">(props: TableRootProps<TAs>): ReactElement | null;
7
- export declare namespace TableRoot {
8
- var displayName: string;
9
- }
10
- export declare function TableBody(props: React.ComponentProps<typeof TableBodyElement>): ReactElement | null;
11
- export declare namespace TableBody {
12
- var displayName: string;
13
- }
14
- export declare function TableRow(props: TableRowProps): ReactElement | null;
15
- export declare namespace TableRow {
16
- var displayName: string;
17
- }
18
- export declare function TableColumnHeader(props: React.ComponentProps<typeof TableColumnHeaderElement>): ReactElement | null;
19
- export declare namespace TableColumnHeader {
20
- var displayName: string;
21
- }
22
- export declare function TableSelectAll(): ReactElement;
23
- export declare namespace TableSelectAll {
24
- var displayName: string;
25
- }
26
- export declare function TableRowSelect({ rowId }: TableRowSelectOwnProps): ReactElement;
27
- export declare namespace TableRowSelect {
28
- var displayName: string;
29
- }
30
- export declare const Table: {
31
- Body: typeof TableBody;
32
- Caption: typeof TableCaption;
33
- Cell: typeof TableCell;
34
- ColumnHeader: typeof TableColumnHeader;
35
- Header: typeof TableHeader;
36
- Root: typeof TableRoot;
37
- Row: typeof TableRow;
38
- RowSelect: typeof TableRowSelect;
39
- SelectAll: typeof TableSelectAll;
40
- };
1
+ export { Table, TableRoot, TableBody, TableRow, TableColumnHeader, TableCaption, TableCell, TableHeader, TableFooter, TableRowHeader, } from "./TableShell.js";
41
2
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAA6B,YAAY,EAAE,MAAM,OAAO,CAAC;AAQlF,OAAO,EACL,SAAS,IAAI,gBAAgB,EAC7B,YAAY,EACZ,SAAS,EACT,iBAAiB,IAAI,wBAAwB,EAC7C,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAGV,cAAc,EACd,aAAa,EACb,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAIhD,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CA4DrB;yBA9De,SAAS;;;AAiEzB,wBAAgB,SAAS,CACvB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,GACnD,YAAY,GAAG,IAAI,CAarB;yBAfe,SAAS;;;AAkBzB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CA2FlE;yBA3Fe,QAAQ;;;AAsGxB,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,wBAAwB,CAAC,GAC3D,YAAY,GAAG,IAAI,CAoDrB;yBAtDe,iBAAiB;;;AAyDjC,wBAAgB,cAAc,IAAI,YAAY,CAoB7C;yBApBe,cAAc;;;AAuB9B,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,sBAAsB,GAAG,YAAY,CAgB9E;yBAhBe,cAAc;;;AAmB9B,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC"}
@@ -1,275 +1,25 @@
1
- "use client";
2
- import { jsx } from "react/jsx-runtime";
3
- import { createElement, useCallback, useMemo, useRef, useSyncExternalStore } from "react";
4
- import { useIsomorphicLayoutEffect } from "@gunkin/uiify/hooks";
5
- import { createPartContext } from "@gunkin/uiify/core";
6
- import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
7
- import { RovingFocusItem, RovingFocusRoot } from "@gunkin/uiify/core/roving-focus";
8
- import { useRenderElement } from "@gunkin/uiify/core/render";
9
- import { Checkbox } from "../checkbox/Checkbox.js";
10
1
  import {
11
- TableBody as TableBodyElement,
2
+ Table,
3
+ TableRoot,
4
+ TableBody,
5
+ TableRow,
6
+ TableColumnHeader,
12
7
  TableCaption,
13
8
  TableCell,
14
- TableColumnHeader as TableColumnHeaderElement,
15
9
  TableHeader,
16
- TableRow as TableRowElement
10
+ TableFooter,
11
+ TableRowHeader
17
12
  } from "./TableShell.js";
18
- import { createTableStore } from "./table-store.js";
19
- const [TableProvider, useTableContext] = createPartContext("Table");
20
- function TableRoot(props) {
21
- const {
22
- as,
23
- render,
24
- "aria-label": ariaLabel,
25
- "aria-labelledby": ariaLabelledBy,
26
- defaultSelectedKeys,
27
- defaultSortDescriptor,
28
- onSelectionChange,
29
- onSortChange,
30
- selectedKeys,
31
- selectionBehavior,
32
- selectionMode = "none",
33
- sortDescriptor,
34
- ...consumerProps
35
- } = props;
36
- const storeRef = useRef(null);
37
- storeRef.current ??= createTableStore({
38
- selectionMode,
39
- ...defaultSelectedKeys !== void 0 ? { defaultSelectedKeys } : {},
40
- ...defaultSortDescriptor !== void 0 ? { defaultSortDescriptor } : {},
41
- ...onSelectionChange !== void 0 ? { onSelectionChange } : {},
42
- ...onSortChange !== void 0 ? { onSortChange } : {},
43
- ...selectedKeys !== void 0 ? { selectedKeys } : {},
44
- ...sortDescriptor !== void 0 ? { sortDescriptor } : {},
45
- ...selectionBehavior !== void 0 ? { selectionBehavior } : {}
46
- });
47
- const store = storeRef.current;
48
- store.updateOptions({
49
- ...onSelectionChange !== void 0 ? { onSelectionChange } : {},
50
- ...onSortChange !== void 0 ? { onSortChange } : {},
51
- ...selectionBehavior !== void 0 ? { selectionBehavior } : {},
52
- selectionMode
53
- });
54
- useIsomorphicLayoutEffect(() => {
55
- if (selectedKeys !== void 0) store.syncSelectedKeys(selectedKeys);
56
- }, [selectedKeys, store]);
57
- useIsomorphicLayoutEffect(() => {
58
- if (sortDescriptor !== void 0) store.syncSortDescriptor(sortDescriptor);
59
- }, [sortDescriptor, store]);
60
- const interactive = selectionMode !== "none";
61
- const contextValue = useMemo(() => ({ interactive, store }), [interactive, store]);
62
- const element = useRenderElement({
63
- as,
64
- defaultTag: "table",
65
- props: {
66
- ...consumerProps,
67
- "aria-label": ariaLabel,
68
- "aria-labelledby": ariaLabelledBy,
69
- role: interactive ? "grid" : void 0
70
- },
71
- render,
72
- state: {}
73
- });
74
- return /* @__PURE__ */ jsx(TableProvider, { value: contextValue, children: element });
75
- }
76
- TableRoot.displayName = "TableRoot";
77
- function TableBody(props) {
78
- const { interactive } = useTableContext("Body");
79
- const { as: _as, render: _render, children, ...consumerProps } = props;
80
- if (!interactive) {
81
- return /* @__PURE__ */ jsx(TableBodyElement, { ...props });
82
- }
83
- return /* @__PURE__ */ jsx(RovingFocusRoot, { as: "tbody", loop: true, orientation: "both", ...consumerProps, children });
84
- }
85
- TableBody.displayName = "TableBody";
86
- function TableRow(props) {
87
- const { disabled = false, id, as, render, ...consumerProps } = props;
88
- const { interactive, store } = useTableContext("Row");
89
- useIsomorphicLayoutEffect(() => store.registerRow(id), [id, store]);
90
- useIsomorphicLayoutEffect(() => store.setRowDisabled(id, disabled), [id, disabled, store]);
91
- const selected = useSyncExternalStore(
92
- (listener) => store.subscribeRow(id, listener),
93
- () => store.isRowSelected(id),
94
- () => false
95
- );
96
- const { onClick: consumerOnClick, onKeyDown: consumerOnKeyDown } = consumerProps;
97
- const handleClick = (event) => {
98
- const target = event.target;
99
- if (target?.closest("input, button, a, [role='checkbox']")) return;
100
- store.toggleRow(id, {
101
- disabled,
102
- metaKey: event.metaKey || event.ctrlKey,
103
- shiftKey: event.shiftKey
104
- });
105
- };
106
- const handleKeyDown = (event) => {
107
- if (event.key === " " && interactive) {
108
- event.preventDefault();
109
- store.toggleRow(id, { disabled });
110
- }
111
- };
112
- if (interactive) {
113
- return createElement(RovingFocusItem, {
114
- disabled,
115
- id,
116
- render: (renderProps) => {
117
- const { onKeyDown: rovingFocusOnKeyDown, ...restRenderProps } = renderProps;
118
- const rowProps2 = {
119
- ...consumerProps,
120
- ...restRenderProps,
121
- "aria-selected": selected,
122
- disabled,
123
- id,
124
- selected,
125
- onClick: composeEventHandlers(consumerOnClick, handleClick),
126
- onKeyDown: composeEventHandlers(
127
- rovingFocusOnKeyDown,
128
- composeEventHandlers(consumerOnKeyDown, handleKeyDown)
129
- )
130
- };
131
- if (render) {
132
- return createElement(TableRowElement, { ...rowProps2, render });
133
- }
134
- return createElement(TableRowElement, {
135
- ...rowProps2,
136
- ...as !== void 0 ? { as } : {}
137
- });
138
- }
139
- });
140
- }
141
- const rowProps = {
142
- ...consumerProps,
143
- disabled,
144
- id,
145
- selected
146
- };
147
- if (render) {
148
- return createElement(TableRowElement, { ...rowProps, render });
149
- }
150
- return createElement(TableRowElement, {
151
- ...rowProps,
152
- ...as !== void 0 ? { as } : {}
153
- });
154
- }
155
- TableRow.displayName = "TableRow";
156
- function ariaSortForColumn(descriptor, column) {
157
- if (!descriptor || descriptor.column !== column) return void 0;
158
- return descriptor.direction;
159
- }
160
- function TableColumnHeader(props) {
161
- const { allowsSorting = false, id, onClick, as, render, ...rest } = props;
162
- const { store } = useTableContext("ColumnHeader");
163
- const sortDescriptor = useSyncExternalStore(
164
- store.subscribeSort,
165
- store.getSortSnapshot,
166
- store.getServerSortSnapshot
167
- );
168
- const shared = {
169
- ...rest,
170
- allowsSorting,
171
- id,
172
- sortDirection: allowsSorting ? ariaSortForColumn(sortDescriptor, id) ?? null : null
173
- };
174
- if (allowsSorting) {
175
- if (render) {
176
- return /* @__PURE__ */ jsx(
177
- TableColumnHeaderElement,
178
- {
179
- ...shared,
180
- onClick: () => store.toggleSort(id),
181
- render
182
- }
183
- );
184
- }
185
- return /* @__PURE__ */ jsx(
186
- TableColumnHeaderElement,
187
- {
188
- ...shared,
189
- onClick: () => store.toggleSort(id),
190
- ...as !== void 0 ? { as } : {}
191
- }
192
- );
193
- }
194
- if (render) {
195
- return /* @__PURE__ */ jsx(
196
- TableColumnHeaderElement,
197
- {
198
- ...shared,
199
- ...onClick !== void 0 ? { onClick } : {},
200
- render
201
- }
202
- );
203
- }
204
- return /* @__PURE__ */ jsx(
205
- TableColumnHeaderElement,
206
- {
207
- ...shared,
208
- ...onClick !== void 0 ? { onClick } : {},
209
- ...as !== void 0 ? { as } : {}
210
- }
211
- );
212
- }
213
- TableColumnHeader.displayName = "TableColumnHeader";
214
- function TableSelectAll() {
215
- const { store } = useTableContext("SelectAll");
216
- const selectionState = useSyncExternalStore(
217
- store.subscribeSelection,
218
- store.getSelectionState,
219
- () => "none"
220
- );
221
- const checked = selectionState === "all" ? true : selectionState === "some" ? "indeterminate" : false;
222
- const handleChange = useCallback(() => store.toggleSelectAll(), [store]);
223
- return /* @__PURE__ */ jsx(
224
- Checkbox,
225
- {
226
- id: "table-select-all",
227
- label: "Select all rows",
228
- checked,
229
- onCheckedChange: handleChange
230
- }
231
- );
232
- }
233
- TableSelectAll.displayName = "TableSelectAll";
234
- function TableRowSelect({ rowId }) {
235
- const { store } = useTableContext("RowSelect");
236
- const selected = useSyncExternalStore(
237
- (listener) => store.subscribeRow(rowId, listener),
238
- () => store.isRowSelected(rowId),
239
- () => false
240
- );
241
- return /* @__PURE__ */ jsx(
242
- Checkbox,
243
- {
244
- id: `table-row-${rowId}`,
245
- label: "Select row",
246
- checked: selected,
247
- onCheckedChange: () => store.toggleRow(rowId)
248
- }
249
- );
250
- }
251
- TableRowSelect.displayName = "TableRowSelect";
252
- const Table = {
253
- Body: TableBody,
254
- Caption: TableCaption,
255
- Cell: TableCell,
256
- ColumnHeader: TableColumnHeader,
257
- Header: TableHeader,
258
- Root: TableRoot,
259
- Row: TableRow,
260
- RowSelect: TableRowSelect,
261
- SelectAll: TableSelectAll
262
- };
263
13
  export {
264
14
  Table,
265
15
  TableBody,
266
16
  TableCaption,
267
17
  TableCell,
268
18
  TableColumnHeader,
19
+ TableFooter,
269
20
  TableHeader,
270
21
  TableRoot,
271
22
  TableRow,
272
- TableRowSelect,
273
- TableSelectAll
23
+ TableRowHeader
274
24
  };
275
25
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/table/Table.tsx"],"sourcesContent":["\"use client\";\n\nimport { createElement, useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\nimport type { ElementType, KeyboardEvent, MouseEvent, ReactElement } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { createPartContext } from \"@gunkin/uiify/core\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { RovingFocusItem, RovingFocusRoot } from \"@gunkin/uiify/core/roving-focus\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { Checkbox } from \"../checkbox/Checkbox.js\";\nimport type { CheckedState } from \"../checkbox/types.js\";\nimport {\n TableBody as TableBodyElement,\n TableCaption,\n TableCell,\n TableColumnHeader as TableColumnHeaderElement,\n TableHeader,\n TableRow as TableRowElement,\n} from \"./TableShell.js\";\nimport { createTableStore } from \"./table-store.js\";\nimport type {\n SortDescriptor,\n TableContextValue,\n TableRootProps,\n TableRowProps,\n TableRowSelectOwnProps,\n TableStore,\n} from \"./types.js\";\n\nexport type { SelectionMode, SortDescriptor } from \"./types.js\";\n\nexport { TableCaption, TableCell, TableHeader };\n\nconst [TableProvider, useTableContext] = createPartContext<TableContextValue>(\"Table\");\n\nexport function TableRoot<TAs extends ElementType = \"table\">(\n props: TableRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n defaultSelectedKeys,\n defaultSortDescriptor,\n onSelectionChange,\n onSortChange,\n selectedKeys,\n selectionBehavior,\n selectionMode = \"none\",\n sortDescriptor,\n ...consumerProps\n } = props as TableRootProps<\"table\">;\n\n const storeRef = useRef<TableStore | null>(null);\n storeRef.current ??= createTableStore({\n selectionMode,\n ...(defaultSelectedKeys !== undefined ? { defaultSelectedKeys } : {}),\n ...(defaultSortDescriptor !== undefined ? { defaultSortDescriptor } : {}),\n ...(onSelectionChange !== undefined ? { onSelectionChange } : {}),\n ...(onSortChange !== undefined ? { onSortChange } : {}),\n ...(selectedKeys !== undefined ? { selectedKeys } : {}),\n ...(sortDescriptor !== undefined ? { sortDescriptor } : {}),\n ...(selectionBehavior !== undefined ? { selectionBehavior } : {}),\n });\n const store = storeRef.current;\n store.updateOptions({\n ...(onSelectionChange !== undefined ? { onSelectionChange } : {}),\n ...(onSortChange !== undefined ? { onSortChange } : {}),\n ...(selectionBehavior !== undefined ? { selectionBehavior } : {}),\n selectionMode,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (selectedKeys !== undefined) store.syncSelectedKeys(selectedKeys);\n }, [selectedKeys, store]);\n useIsomorphicLayoutEffect(() => {\n if (sortDescriptor !== undefined) store.syncSortDescriptor(sortDescriptor);\n }, [sortDescriptor, store]);\n\n const interactive = selectionMode !== \"none\";\n const contextValue = useMemo(() => ({ interactive, store }), [interactive, store]);\n\n const element = useRenderElement({\n as,\n defaultTag: \"table\",\n props: {\n ...consumerProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n role: interactive ? \"grid\" : undefined,\n },\n render,\n state: {},\n });\n\n return <TableProvider value={contextValue}>{element}</TableProvider>;\n}\nTableRoot.displayName = \"TableRoot\";\n\nexport function TableBody(\n props: React.ComponentProps<typeof TableBodyElement>,\n): ReactElement | null {\n const { interactive } = useTableContext(\"Body\");\n const { as: _as, render: _render, children, ...consumerProps } = props;\n\n if (!interactive) {\n return <TableBodyElement {...props} />;\n }\n\n return (\n <RovingFocusRoot as=\"tbody\" loop orientation=\"both\" {...consumerProps}>\n {children}\n </RovingFocusRoot>\n );\n}\nTableBody.displayName = \"TableBody\";\n\nexport function TableRow(props: TableRowProps): ReactElement | null {\n const { disabled = false, id, as, render, ...consumerProps } = props;\n const { interactive, store } = useTableContext(\"Row\");\n useIsomorphicLayoutEffect(() => store.registerRow(id), [id, store]);\n useIsomorphicLayoutEffect(() => store.setRowDisabled(id, disabled), [id, disabled, store]);\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 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: composeEventHandlers(\n rovingFocusOnKeyDown,\n composeEventHandlers(consumerOnKeyDown, handleKeyDown),\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\nfunction ariaSortForColumn(\n descriptor: SortDescriptor | null,\n column: string,\n): SortDescriptor[\"direction\"] | undefined {\n if (!descriptor || descriptor.column !== column) return undefined;\n return descriptor.direction;\n}\n\nexport function TableColumnHeader(\n props: React.ComponentProps<typeof TableColumnHeaderElement>,\n): ReactElement | null {\n const { allowsSorting = false, id, onClick, as, render, ...rest } = props;\n const { store } = useTableContext(\"ColumnHeader\");\n const sortDescriptor = useSyncExternalStore(\n store.subscribeSort,\n store.getSortSnapshot,\n store.getServerSortSnapshot,\n );\n\n const shared = {\n ...rest,\n allowsSorting,\n id,\n sortDirection: allowsSorting ? (ariaSortForColumn(sortDescriptor, id) ?? null) : null,\n };\n\n if (allowsSorting) {\n if (render) {\n return (\n <TableColumnHeaderElement\n {...shared}\n onClick={() => store.toggleSort(id)}\n render={render}\n />\n );\n }\n return (\n <TableColumnHeaderElement\n {...shared}\n onClick={() => store.toggleSort(id)}\n {...(as !== undefined ? { as } : {})}\n />\n );\n }\n\n if (render) {\n return (\n <TableColumnHeaderElement\n {...shared}\n {...(onClick !== undefined ? { onClick } : {})}\n render={render}\n />\n );\n }\n\n return (\n <TableColumnHeaderElement\n {...shared}\n {...(onClick !== undefined ? { onClick } : {})}\n {...(as !== undefined ? { as } : {})}\n />\n );\n}\nTableColumnHeader.displayName = \"TableColumnHeader\";\n\nexport function TableSelectAll(): ReactElement {\n const { store } = useTableContext(\"SelectAll\");\n const selectionState = useSyncExternalStore(\n store.subscribeSelection,\n store.getSelectionState,\n () => \"none\" as const,\n );\n const checked: CheckedState =\n selectionState === \"all\" ? true : selectionState === \"some\" ? \"indeterminate\" : false;\n\n const handleChange = useCallback(() => store.toggleSelectAll(), [store]);\n\n return (\n <Checkbox\n id=\"table-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 } = useTableContext(\"RowSelect\");\n const selected = useSyncExternalStore(\n (listener) => store.subscribeRow(rowId, listener),\n () => store.isRowSelected(rowId),\n () => false,\n );\n\n return (\n <Checkbox\n id={`table-row-${rowId}`}\n label=\"Select row\"\n checked={selected}\n onCheckedChange={() => store.toggleRow(rowId)}\n />\n );\n}\nTableRowSelect.displayName = \"TableRowSelect\";\n\nexport const Table = {\n Body: TableBody,\n Caption: TableCaption,\n Cell: TableCell,\n ColumnHeader: TableColumnHeader,\n Header: TableHeader,\n Root: TableRoot,\n Row: TableRow,\n RowSelect: TableRowSelect,\n SelectAll: TableSelectAll,\n};\n"],"mappings":"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","names":["rowProps"]}
1
+ {"version":3,"sources":["../../../src/components/table/Table.tsx"],"sourcesContent":["export {\n Table,\n TableRoot,\n TableBody,\n TableRow,\n TableColumnHeader,\n TableCaption,\n TableCell,\n TableHeader,\n TableFooter,\n TableRowHeader,\n} from \"./TableShell.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,5 +1,5 @@
1
1
  import type { ElementType, ReactElement } from "react";
2
- import type { TableBodyProps, TableCaptionProps, TableCellProps, TableRowProps, TableColumnHeaderProps, TableHeaderProps, TableRootProps } from "./types.js";
2
+ import type { TableFooterProps, TableRowHeaderProps, TableBodyProps, TableCaptionProps, TableCellProps, TableRowProps, TableColumnHeaderProps, TableHeaderProps, TableRootProps } from "./types.js";
3
3
  export type { SelectionMode, SortDescriptor } from "./types.js";
4
4
  export declare function TableRoot<TAs extends ElementType = "table">(props: TableRootProps<TAs>): ReactElement | null;
5
5
  export declare function TableHeader<TAs extends ElementType = "thead">(props: TableHeaderProps<TAs>): ReactElement | null;
@@ -8,7 +8,11 @@ export declare function TableRow<TAs extends ElementType = "tr">(props: TableRow
8
8
  export declare function TableColumnHeader<TAs extends ElementType = "th">(props: TableColumnHeaderProps<TAs>): ReactElement | null;
9
9
  export declare function TableCell<TAs extends ElementType = "td">(props: TableCellProps<TAs>): ReactElement | null;
10
10
  export declare function TableCaption<TAs extends ElementType = "caption">(props: TableCaptionProps<TAs>): ReactElement | null;
11
+ export declare function TableFooter<TAs extends ElementType = "tfoot">(props: TableFooterProps<TAs>): ReactElement | null;
12
+ export declare function TableRowHeader<TAs extends ElementType = "th">(props: TableRowHeaderProps<TAs>): ReactElement | null;
11
13
  export declare const Table: {
14
+ Footer: typeof TableFooter;
15
+ RowHeader: typeof TableRowHeader;
12
16
  Body: typeof TableBody;
13
17
  Caption: typeof TableCaption;
14
18
  Cell: typeof TableCell;
@@ -1 +1 @@
1
- {"version":3,"file":"TableShell.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CAuBrB;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC3D,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAC3B,YAAY,GAAG,IAAI,CAGrB;AAED,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACrD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CAuBrB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC9D,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,GACjC,YAAY,GAAG,IAAI,CA0BrB;AAED,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACtD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,SAAS,EAC9D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CASrB;AAED,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAC"}
1
+ {"version":3,"file":"TableShell.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CA2BrB;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC3D,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAC3B,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EACzD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,QAAQ,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACrD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GACxB,YAAY,GAAG,IAAI,CA0BrB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC9D,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,GACjC,YAAY,GAAG,IAAI,CA+BrB;AAED,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EACtD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CAerB;AAED,wBAAgB,YAAY,CAAC,GAAG,SAAS,WAAW,GAAG,SAAS,EAC9D,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAC5B,YAAY,GAAG,IAAI,CASrB;AAED,wBAAgB,WAAW,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAC3D,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAC3B,YAAY,GAAG,IAAI,CASrB;AACD,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,IAAI,EAC3D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAerB;AAED,eAAO,MAAM,KAAK;;;;;;;;;;CAUjB,CAAC"}