@jakubmazanec/ui 0.1.0-next.070f0f6

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 (569) hide show
  1. package/README.md +45 -0
  2. package/build/components/Button.d.ts +40 -0
  3. package/build/components/Button.js +139 -0
  4. package/build/components/Button.js.map +7 -0
  5. package/build/components/Card.d.ts +19 -0
  6. package/build/components/Card.js +26 -0
  7. package/build/components/Card.js.map +7 -0
  8. package/build/components/Checkbox.d.ts +39 -0
  9. package/build/components/Checkbox.js +87 -0
  10. package/build/components/Checkbox.js.map +7 -0
  11. package/build/components/CheckboxField.d.ts +18 -0
  12. package/build/components/CheckboxField.js +22 -0
  13. package/build/components/CheckboxField.js.map +7 -0
  14. package/build/components/Combobox.d.ts +57 -0
  15. package/build/components/Combobox.js +178 -0
  16. package/build/components/Combobox.js.map +7 -0
  17. package/build/components/ComboboxOption.d.ts +33 -0
  18. package/build/components/ComboboxOption.js +59 -0
  19. package/build/components/ComboboxOption.js.map +7 -0
  20. package/build/components/Container.d.ts +36 -0
  21. package/build/components/Container.js +63 -0
  22. package/build/components/Container.js.map +7 -0
  23. package/build/components/Description.d.ts +19 -0
  24. package/build/components/Description.js +28 -0
  25. package/build/components/Description.js.map +7 -0
  26. package/build/components/Dialog.d.ts +32 -0
  27. package/build/components/Dialog.js +55 -0
  28. package/build/components/Dialog.js.map +7 -0
  29. package/build/components/DialogPanel.d.ts +19 -0
  30. package/build/components/DialogPanel.js +29 -0
  31. package/build/components/DialogPanel.js.map +7 -0
  32. package/build/components/DialogTitle.d.ts +19 -0
  33. package/build/components/DialogTitle.js +28 -0
  34. package/build/components/DialogTitle.js.map +7 -0
  35. package/build/components/Error.d.ts +19 -0
  36. package/build/components/Error.js +37 -0
  37. package/build/components/Error.js.map +7 -0
  38. package/build/components/Field.d.ts +22 -0
  39. package/build/components/Field.js +32 -0
  40. package/build/components/Field.js.map +7 -0
  41. package/build/components/Fieldset.d.ts +27 -0
  42. package/build/components/Fieldset.js +39 -0
  43. package/build/components/Fieldset.js.map +7 -0
  44. package/build/components/Form.d.ts +22 -0
  45. package/build/components/Form.js +41 -0
  46. package/build/components/Form.js.map +7 -0
  47. package/build/components/Icon.d.ts +32 -0
  48. package/build/components/Icon.js +65 -0
  49. package/build/components/Icon.js.map +7 -0
  50. package/build/components/Input.d.ts +37 -0
  51. package/build/components/Input.js +111 -0
  52. package/build/components/Input.js.map +7 -0
  53. package/build/components/Label.d.ts +19 -0
  54. package/build/components/Label.js +26 -0
  55. package/build/components/Label.js.map +7 -0
  56. package/build/components/Legend.d.ts +19 -0
  57. package/build/components/Legend.js +26 -0
  58. package/build/components/Legend.js.map +7 -0
  59. package/build/components/Listbox.d.ts +59 -0
  60. package/build/components/Listbox.js +254 -0
  61. package/build/components/Listbox.js.map +7 -0
  62. package/build/components/ListboxOption.d.ts +33 -0
  63. package/build/components/ListboxOption.js +59 -0
  64. package/build/components/ListboxOption.js.map +7 -0
  65. package/build/components/Menu.d.ts +21 -0
  66. package/build/components/Menu.js +29 -0
  67. package/build/components/Menu.js.map +7 -0
  68. package/build/components/MenuButton.d.ts +27 -0
  69. package/build/components/MenuButton.js +45 -0
  70. package/build/components/MenuButton.js.map +7 -0
  71. package/build/components/MenuHeading.d.ts +19 -0
  72. package/build/components/MenuHeading.js +28 -0
  73. package/build/components/MenuHeading.js.map +7 -0
  74. package/build/components/MenuItem.d.ts +27 -0
  75. package/build/components/MenuItem.js +39 -0
  76. package/build/components/MenuItem.js.map +7 -0
  77. package/build/components/MenuItems.d.ts +22 -0
  78. package/build/components/MenuItems.js +36 -0
  79. package/build/components/MenuItems.js.map +7 -0
  80. package/build/components/MenuSection.d.ts +19 -0
  81. package/build/components/MenuSection.js +28 -0
  82. package/build/components/MenuSection.js.map +7 -0
  83. package/build/components/MenuSeparator.d.ts +19 -0
  84. package/build/components/MenuSeparator.js +28 -0
  85. package/build/components/MenuSeparator.js.map +7 -0
  86. package/build/components/Popover.d.ts +19 -0
  87. package/build/components/Popover.js +28 -0
  88. package/build/components/Popover.js.map +7 -0
  89. package/build/components/PopoverBackdrop.d.ts +19 -0
  90. package/build/components/PopoverBackdrop.js +28 -0
  91. package/build/components/PopoverBackdrop.js.map +7 -0
  92. package/build/components/PopoverButton.d.ts +29 -0
  93. package/build/components/PopoverButton.js +47 -0
  94. package/build/components/PopoverButton.js.map +7 -0
  95. package/build/components/PopoverGroup.d.ts +19 -0
  96. package/build/components/PopoverGroup.js +28 -0
  97. package/build/components/PopoverGroup.js.map +7 -0
  98. package/build/components/PopoverPanel.d.ts +24 -0
  99. package/build/components/PopoverPanel.js +38 -0
  100. package/build/components/PopoverPanel.js.map +7 -0
  101. package/build/components/Radio.d.ts +33 -0
  102. package/build/components/Radio.js +57 -0
  103. package/build/components/Radio.js.map +7 -0
  104. package/build/components/RadioField.d.ts +11 -0
  105. package/build/components/RadioField.js +15 -0
  106. package/build/components/RadioField.js.map +7 -0
  107. package/build/components/RadioGroup.d.ts +34 -0
  108. package/build/components/RadioGroup.js +87 -0
  109. package/build/components/RadioGroup.js.map +7 -0
  110. package/build/components/Spinner.d.ts +20 -0
  111. package/build/components/Spinner.js +70 -0
  112. package/build/components/Spinner.js.map +7 -0
  113. package/build/components/Table.d.ts +19 -0
  114. package/build/components/Table.js +26 -0
  115. package/build/components/Table.js.map +7 -0
  116. package/build/components/TableBody.d.ts +19 -0
  117. package/build/components/TableBody.js +26 -0
  118. package/build/components/TableBody.js.map +7 -0
  119. package/build/components/TableCaption.d.ts +19 -0
  120. package/build/components/TableCaption.js +31 -0
  121. package/build/components/TableCaption.js.map +7 -0
  122. package/build/components/TableCell.d.ts +19 -0
  123. package/build/components/TableCell.js +26 -0
  124. package/build/components/TableCell.js.map +7 -0
  125. package/build/components/TableFoot.d.ts +19 -0
  126. package/build/components/TableFoot.js +26 -0
  127. package/build/components/TableFoot.js.map +7 -0
  128. package/build/components/TableHead.d.ts +19 -0
  129. package/build/components/TableHead.js +26 -0
  130. package/build/components/TableHead.js.map +7 -0
  131. package/build/components/TableHeader.d.ts +19 -0
  132. package/build/components/TableHeader.js +26 -0
  133. package/build/components/TableHeader.js.map +7 -0
  134. package/build/components/TableRow.d.ts +19 -0
  135. package/build/components/TableRow.js +26 -0
  136. package/build/components/TableRow.js.map +7 -0
  137. package/build/components/Text.d.ts +27 -0
  138. package/build/components/Text.js +43 -0
  139. package/build/components/Text.js.map +7 -0
  140. package/build/components/Textarea.d.ts +34 -0
  141. package/build/components/Textarea.js +78 -0
  142. package/build/components/Textarea.js.map +7 -0
  143. package/build/components/data-table/DataTable.d.ts +39 -0
  144. package/build/components/data-table/DataTable.js +276 -0
  145. package/build/components/data-table/DataTable.js.map +7 -0
  146. package/build/components/data-table/DataTableColumnOrder.d.ts +3 -0
  147. package/build/components/data-table/DataTableColumnOrder.js +4 -0
  148. package/build/components/data-table/DataTableColumnOrder.js.map +7 -0
  149. package/build/components/data-table/DataTableColumnPinning.d.ts +3 -0
  150. package/build/components/data-table/DataTableColumnPinning.js +4 -0
  151. package/build/components/data-table/DataTableColumnPinning.js.map +7 -0
  152. package/build/components/data-table/DataTableColumnVisibility.d.ts +3 -0
  153. package/build/components/data-table/DataTableColumnVisibility.js +4 -0
  154. package/build/components/data-table/DataTableColumnVisibility.js.map +7 -0
  155. package/build/components/data-table/DataTableFaceting.d.ts +15 -0
  156. package/build/components/data-table/DataTableFaceting.js +11 -0
  157. package/build/components/data-table/DataTableFaceting.js.map +7 -0
  158. package/build/components/data-table/DataTableFilters.d.ts +12 -0
  159. package/build/components/data-table/DataTableFilters.js +15 -0
  160. package/build/components/data-table/DataTableFilters.js.map +7 -0
  161. package/build/components/data-table/DataTablePagination.d.ts +16 -0
  162. package/build/components/data-table/DataTablePagination.js +16 -0
  163. package/build/components/data-table/DataTablePagination.js.map +7 -0
  164. package/build/components/data-table/DataTableSearch.d.ts +3 -0
  165. package/build/components/data-table/DataTableSearch.js +4 -0
  166. package/build/components/data-table/DataTableSearch.js.map +7 -0
  167. package/build/components/data-table/DataTableSorting.d.ts +12 -0
  168. package/build/components/data-table/DataTableSorting.js +10 -0
  169. package/build/components/data-table/DataTableSorting.js.map +7 -0
  170. package/build/components/data-table/internals/DataTableHeader.d.ts +15 -0
  171. package/build/components/data-table/internals/DataTableHeader.js +194 -0
  172. package/build/components/data-table/internals/DataTableHeader.js.map +7 -0
  173. package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.d.ts +6 -0
  174. package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.js +36 -0
  175. package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.js.map +7 -0
  176. package/build/components/data-table/internals/DataTableHeaderFilter.d.ts +12 -0
  177. package/build/components/data-table/internals/DataTableHeaderFilter.js +264 -0
  178. package/build/components/data-table/internals/DataTableHeaderFilter.js.map +7 -0
  179. package/build/components/data-table/internals/DataTablePageButton.d.ts +6 -0
  180. package/build/components/data-table/internals/DataTablePageButton.js +11 -0
  181. package/build/components/data-table/internals/DataTablePageButton.js.map +7 -0
  182. package/build/components/data-table/internals/DataTablePagination.d.ts +11 -0
  183. package/build/components/data-table/internals/DataTablePagination.js +190 -0
  184. package/build/components/data-table/internals/DataTablePagination.js.map +7 -0
  185. package/build/components/data-table/internals/DataTableSearch.d.ts +9 -0
  186. package/build/components/data-table/internals/DataTableSearch.js +73 -0
  187. package/build/components/data-table/internals/DataTableSearch.js.map +7 -0
  188. package/build/components/data-table/internals/addFilter.d.ts +5 -0
  189. package/build/components/data-table/internals/addFilter.js +31 -0
  190. package/build/components/data-table/internals/addFilter.js.map +7 -0
  191. package/build/components/data-table/internals/constants.d.ts +3 -0
  192. package/build/components/data-table/internals/constants.js +5 -0
  193. package/build/components/data-table/internals/constants.js.map +7 -0
  194. package/build/components/data-table/internals/fromPinningState.d.ts +2 -0
  195. package/build/components/data-table/internals/fromPinningState.js +12 -0
  196. package/build/components/data-table/internals/fromPinningState.js.map +7 -0
  197. package/build/components/data-table/internals/fuzzyFilter.d.ts +2 -0
  198. package/build/components/data-table/internals/fuzzyFilter.js +8 -0
  199. package/build/components/data-table/internals/fuzzyFilter.js.map +7 -0
  200. package/build/components/data-table/internals/getCommonPinningClasses.d.ts +2 -0
  201. package/build/components/data-table/internals/getCommonPinningClasses.js +13 -0
  202. package/build/components/data-table/internals/getCommonPinningClasses.js.map +7 -0
  203. package/build/components/data-table/internals/getCommonPinningStyles.d.ts +3 -0
  204. package/build/components/data-table/internals/getCommonPinningStyles.js +10 -0
  205. package/build/components/data-table/internals/getCommonPinningStyles.js.map +7 -0
  206. package/build/components/data-table/internals/normalizeFilter.d.ts +3 -0
  207. package/build/components/data-table/internals/normalizeFilter.js +19 -0
  208. package/build/components/data-table/internals/normalizeFilter.js.map +7 -0
  209. package/build/components/data-table/internals/normalizeFilters.d.ts +3 -0
  210. package/build/components/data-table/internals/normalizeFilters.js +18 -0
  211. package/build/components/data-table/internals/normalizeFilters.js.map +7 -0
  212. package/build/components/data-table/internals/normalizeSorting.d.ts +4 -0
  213. package/build/components/data-table/internals/normalizeSorting.js +26 -0
  214. package/build/components/data-table/internals/normalizeSorting.js.map +7 -0
  215. package/build/components/data-table/internals/removeFilter.d.ts +5 -0
  216. package/build/components/data-table/internals/removeFilter.js +18 -0
  217. package/build/components/data-table/internals/removeFilter.js.map +7 -0
  218. package/build/components/data-table/internals.d.ts +16 -0
  219. package/build/components/data-table/internals.js +18 -0
  220. package/build/components/data-table/internals.js.map +7 -0
  221. package/build/components/data-table.d.ts +9 -0
  222. package/build/components/data-table.js +11 -0
  223. package/build/components/data-table.js.map +7 -0
  224. package/build/components/internals/fieldContext.d.ts +2 -0
  225. package/build/components/internals/fieldContext.js +4 -0
  226. package/build/components/internals/fieldContext.js.map +7 -0
  227. package/build/components/internals/fieldNameContext.d.ts +2 -0
  228. package/build/components/internals/fieldNameContext.js +4 -0
  229. package/build/components/internals/fieldNameContext.js.map +7 -0
  230. package/build/components/internals/filterProps.d.ts +4 -0
  231. package/build/components/internals/filterProps.js +9 -0
  232. package/build/components/internals/filterProps.js.map +7 -0
  233. package/build/components/internals/formIdContext.d.ts +1 -0
  234. package/build/components/internals/formIdContext.js +4 -0
  235. package/build/components/internals/formIdContext.js.map +7 -0
  236. package/build/components/internals/forwardRef.d.ts +4 -0
  237. package/build/components/internals/forwardRef.js +6 -0
  238. package/build/components/internals/forwardRef.js.map +7 -0
  239. package/build/components/internals/useFormId.d.ts +1 -0
  240. package/build/components/internals/useFormId.js +7 -0
  241. package/build/components/internals/useFormId.js.map +7 -0
  242. package/build/components/internals.d.ts +6 -0
  243. package/build/components/internals.js +8 -0
  244. package/build/components/internals.js.map +7 -0
  245. package/build/components/useField.d.ts +1 -0
  246. package/build/components/useField.js +7 -0
  247. package/build/components/useField.js.map +7 -0
  248. package/build/components/useFieldName.d.ts +1 -0
  249. package/build/components/useFieldName.js +7 -0
  250. package/build/components/useFieldName.js.map +7 -0
  251. package/build/components/useForm.d.ts +10 -0
  252. package/build/components/useForm.js +19 -0
  253. package/build/components/useForm.js.map +7 -0
  254. package/build/components.d.ts +51 -0
  255. package/build/components.js +53 -0
  256. package/build/components.js.map +7 -0
  257. package/build/development/createTailwindConfig.d.ts +18 -0
  258. package/build/development/createTailwindConfig.js +172 -0
  259. package/build/development/createTailwindConfig.js.map +7 -0
  260. package/build/development/createTailwindMerge.d.ts +2 -0
  261. package/build/development/createTailwindMerge.js +74 -0
  262. package/build/development/createTailwindMerge.js.map +7 -0
  263. package/build/development/internals/PaletteConfig.d.ts +6 -0
  264. package/build/development/internals/PaletteConfig.js +2 -0
  265. package/build/development/internals/PaletteConfig.js.map +7 -0
  266. package/build/development/internals/SwatchValue.d.ts +9 -0
  267. package/build/development/internals/SwatchValue.js +2 -0
  268. package/build/development/internals/SwatchValue.js.map +7 -0
  269. package/build/development/internals/clamp.d.ts +1 -0
  270. package/build/development/internals/clamp.js +5 -0
  271. package/build/development/internals/clamp.js.map +7 -0
  272. package/build/development/internals/constants.d.ts +2 -0
  273. package/build/development/internals/constants.js +22 -0
  274. package/build/development/internals/constants.js.map +7 -0
  275. package/build/development/internals/createDisplayColor.d.ts +1 -0
  276. package/build/development/internals/createDisplayColor.js +24 -0
  277. package/build/development/internals/createDisplayColor.js.map +7 -0
  278. package/build/development/internals/createDistributionValues.d.ts +4 -0
  279. package/build/development/internals/createDistributionValues.js +32 -0
  280. package/build/development/internals/createDistributionValues.js.map +7 -0
  281. package/build/development/internals/createHueScale.d.ts +4 -0
  282. package/build/development/internals/createHueScale.js +15 -0
  283. package/build/development/internals/createHueScale.js.map +7 -0
  284. package/build/development/internals/createPalette.d.ts +16 -0
  285. package/build/development/internals/createPalette.js +36 -0
  286. package/build/development/internals/createPalette.js.map +7 -0
  287. package/build/development/internals/createSaturationScale.d.ts +4 -0
  288. package/build/development/internals/createSaturationScale.js +18 -0
  289. package/build/development/internals/createSaturationScale.js.map +7 -0
  290. package/build/development/internals/createSwatches.d.ts +10 -0
  291. package/build/development/internals/createSwatches.js +31 -0
  292. package/build/development/internals/createSwatches.js.map +7 -0
  293. package/build/development/internals/hexToHsl.d.ts +5 -0
  294. package/build/development/internals/hexToHsl.js +37 -0
  295. package/build/development/internals/hexToHsl.js.map +7 -0
  296. package/build/development/internals/hexToRgb.d.ts +5 -0
  297. package/build/development/internals/hexToRgb.js +21 -0
  298. package/build/development/internals/hexToRgb.js.map +7 -0
  299. package/build/development/internals/hslToHex.d.ts +1 -0
  300. package/build/development/internals/hslToHex.js +19 -0
  301. package/build/development/internals/hslToHex.js.map +7 -0
  302. package/build/development/internals/hslToRgb.d.ts +5 -0
  303. package/build/development/internals/hslToRgb.js +42 -0
  304. package/build/development/internals/hslToRgb.js.map +7 -0
  305. package/build/development/internals/isHex.d.ts +1 -0
  306. package/build/development/internals/isHex.js +7 -0
  307. package/build/development/internals/isHex.js.map +7 -0
  308. package/build/development/internals/resolveModule.d.ts +1 -0
  309. package/build/development/internals/resolveModule.js +9 -0
  310. package/build/development/internals/resolveModule.js.map +7 -0
  311. package/build/development/internals/round.d.ts +1 -0
  312. package/build/development/internals/round.js +6 -0
  313. package/build/development/internals/round.js.map +7 -0
  314. package/build/development/internals/unsignedModulo.d.ts +1 -0
  315. package/build/development/internals/unsignedModulo.js +5 -0
  316. package/build/development/internals/unsignedModulo.js.map +7 -0
  317. package/build/development/internals.d.ts +18 -0
  318. package/build/development/internals.js +20 -0
  319. package/build/development/internals.js.map +7 -0
  320. package/build/development.d.ts +2 -0
  321. package/build/development.js +4 -0
  322. package/build/development.js.map +7 -0
  323. package/build/inter-variable-italic.woff2 +0 -0
  324. package/build/inter-variable.woff2 +0 -0
  325. package/build/main.d.ts +5 -0
  326. package/build/main.js +7 -0
  327. package/build/main.js.map +7 -0
  328. package/build/styles.css +23 -0
  329. package/build/styles.css.map +7 -0
  330. package/build/theme/Theme.d.ts +146 -0
  331. package/build/theme/Theme.js +2 -0
  332. package/build/theme/Theme.js.map +7 -0
  333. package/build/theme/ThemeProvider.d.ts +6 -0
  334. package/build/theme/ThemeProvider.js +7 -0
  335. package/build/theme/ThemeProvider.js.map +7 -0
  336. package/build/theme/defaultTheme.d.ts +2 -0
  337. package/build/theme/defaultTheme.js +102 -0
  338. package/build/theme/defaultTheme.js.map +7 -0
  339. package/build/theme/internals/ClassName.d.ts +1 -0
  340. package/build/theme/internals/ClassName.js +2 -0
  341. package/build/theme/internals/ClassName.js.map +7 -0
  342. package/build/theme/internals/ComponentProps.d.ts +7 -0
  343. package/build/theme/internals/ComponentProps.js +2 -0
  344. package/build/theme/internals/ComponentProps.js.map +7 -0
  345. package/build/theme/internals/ComponentTheme.d.ts +35 -0
  346. package/build/theme/internals/ComponentTheme.js +2 -0
  347. package/build/theme/internals/ComponentTheme.js.map +7 -0
  348. package/build/theme/internals/ComponentThemeCompoundVariants.d.ts +12 -0
  349. package/build/theme/internals/ComponentThemeCompoundVariants.js +2 -0
  350. package/build/theme/internals/ComponentThemeCompoundVariants.js.map +7 -0
  351. package/build/theme/internals/ComponentThemeDefinition.d.ts +6 -0
  352. package/build/theme/internals/ComponentThemeDefinition.js +2 -0
  353. package/build/theme/internals/ComponentThemeDefinition.js.map +7 -0
  354. package/build/theme/internals/ComponentThemeDefinitionElements.d.ts +1 -0
  355. package/build/theme/internals/ComponentThemeDefinitionElements.js +2 -0
  356. package/build/theme/internals/ComponentThemeDefinitionElements.js.map +7 -0
  357. package/build/theme/internals/ComponentThemeDefinitionVariants.d.ts +3 -0
  358. package/build/theme/internals/ComponentThemeDefinitionVariants.js +2 -0
  359. package/build/theme/internals/ComponentThemeDefinitionVariants.js.map +7 -0
  360. package/build/theme/internals/ComponentThemeProps.d.ts +5 -0
  361. package/build/theme/internals/ComponentThemeProps.js +2 -0
  362. package/build/theme/internals/ComponentThemeProps.js.map +7 -0
  363. package/build/theme/internals/ComponentThemeVariants.d.ts +14 -0
  364. package/build/theme/internals/ComponentThemeVariants.js +2 -0
  365. package/build/theme/internals/ComponentThemeVariants.js.map +7 -0
  366. package/build/theme/internals/ComponentWithTheme.d.ts +5 -0
  367. package/build/theme/internals/ComponentWithTheme.js +2 -0
  368. package/build/theme/internals/ComponentWithTheme.js.map +7 -0
  369. package/build/theme/internals/UseComponentTheme.d.ts +21 -0
  370. package/build/theme/internals/UseComponentTheme.js +2 -0
  371. package/build/theme/internals/UseComponentTheme.js.map +7 -0
  372. package/build/theme/internals/UseComponentThemeReturn.d.ts +6 -0
  373. package/build/theme/internals/UseComponentThemeReturn.js +2 -0
  374. package/build/theme/internals/UseComponentThemeReturn.js.map +7 -0
  375. package/build/theme/internals/booleanToString.d.ts +1 -0
  376. package/build/theme/internals/booleanToString.js +5 -0
  377. package/build/theme/internals/booleanToString.js.map +7 -0
  378. package/build/theme/internals/createComponentTheme.d.ts +3 -0
  379. package/build/theme/internals/createComponentTheme.js +39 -0
  380. package/build/theme/internals/createComponentTheme.js.map +7 -0
  381. package/build/theme/internals/createUseComponentThemeReturn.d.ts +15 -0
  382. package/build/theme/internals/createUseComponentThemeReturn.js +50 -0
  383. package/build/theme/internals/createUseComponentThemeReturn.js.map +7 -0
  384. package/build/theme/internals/pickPropertyIfExists.d.ts +4 -0
  385. package/build/theme/internals/pickPropertyIfExists.js +11 -0
  386. package/build/theme/internals/pickPropertyIfExists.js.map +7 -0
  387. package/build/theme/internals/themeContext.d.ts +353 -0
  388. package/build/theme/internals/themeContext.js +4 -0
  389. package/build/theme/internals/themeContext.js.map +7 -0
  390. package/build/theme/internals/useTheme.d.ts +353 -0
  391. package/build/theme/internals/useTheme.js +7 -0
  392. package/build/theme/internals/useTheme.js.map +7 -0
  393. package/build/theme/internals.d.ts +18 -0
  394. package/build/theme/internals.js +20 -0
  395. package/build/theme/internals.js.map +7 -0
  396. package/build/theme.d.ts +3 -0
  397. package/build/theme.js +5 -0
  398. package/build/theme.js.map +7 -0
  399. package/build/utilities/WithLocaleOrLocales.d.ts +5 -0
  400. package/build/utilities/WithLocaleOrLocales.js +2 -0
  401. package/build/utilities/WithLocaleOrLocales.js.map +7 -0
  402. package/build/utilities/formatDateTime.d.ts +3 -0
  403. package/build/utilities/formatDateTime.js +11 -0
  404. package/build/utilities/formatDateTime.js.map +7 -0
  405. package/build/utilities/formatNumber.d.ts +3 -0
  406. package/build/utilities/formatNumber.js +11 -0
  407. package/build/utilities/formatNumber.js.map +7 -0
  408. package/build/utilities/internals/cache.d.ts +1 -0
  409. package/build/utilities/internals/cache.js +3 -0
  410. package/build/utilities/internals/cache.js.map +7 -0
  411. package/build/utilities/internals/createCacheKey.d.ts +1 -0
  412. package/build/utilities/internals/createCacheKey.js +6 -0
  413. package/build/utilities/internals/createCacheKey.js.map +7 -0
  414. package/build/utilities/internals/getMemoized.d.ts +1 -0
  415. package/build/utilities/internals/getMemoized.js +12 -0
  416. package/build/utilities/internals/getMemoized.js.map +7 -0
  417. package/build/utilities/internals/normalizeLocales.d.ts +2 -0
  418. package/build/utilities/internals/normalizeLocales.js +12 -0
  419. package/build/utilities/internals/normalizeLocales.js.map +7 -0
  420. package/build/utilities/internals.d.ts +4 -0
  421. package/build/utilities/internals.js +6 -0
  422. package/build/utilities/internals.js.map +7 -0
  423. package/build/utilities.d.ts +3 -0
  424. package/build/utilities.js +5 -0
  425. package/build/utilities.js.map +7 -0
  426. package/package.json +101 -0
  427. package/source/components/Button.tsx +172 -0
  428. package/source/components/Card.ts +46 -0
  429. package/source/components/Checkbox.tsx +125 -0
  430. package/source/components/CheckboxField.tsx +61 -0
  431. package/source/components/Combobox.tsx +298 -0
  432. package/source/components/ComboboxOption.tsx +95 -0
  433. package/source/components/Container.ts +84 -0
  434. package/source/components/Description.tsx +52 -0
  435. package/source/components/Dialog.tsx +85 -0
  436. package/source/components/DialogPanel.tsx +54 -0
  437. package/source/components/DialogTitle.tsx +52 -0
  438. package/source/components/Error.tsx +58 -0
  439. package/source/components/Field.tsx +79 -0
  440. package/source/components/Fieldset.tsx +64 -0
  441. package/source/components/Form.tsx +72 -0
  442. package/source/components/Icon.tsx +102 -0
  443. package/source/components/Input.tsx +156 -0
  444. package/source/components/Label.tsx +49 -0
  445. package/source/components/Legend.tsx +49 -0
  446. package/source/components/Listbox.tsx +401 -0
  447. package/source/components/ListboxOption.tsx +95 -0
  448. package/source/components/Menu.tsx +50 -0
  449. package/source/components/MenuButton.tsx +69 -0
  450. package/source/components/MenuHeading.tsx +52 -0
  451. package/source/components/MenuItem.tsx +64 -0
  452. package/source/components/MenuItems.tsx +62 -0
  453. package/source/components/MenuSection.tsx +52 -0
  454. package/source/components/MenuSeparator.tsx +52 -0
  455. package/source/components/Popover.tsx +52 -0
  456. package/source/components/PopoverBackdrop.tsx +52 -0
  457. package/source/components/PopoverButton.tsx +72 -0
  458. package/source/components/PopoverGroup.tsx +52 -0
  459. package/source/components/PopoverPanel.tsx +65 -0
  460. package/source/components/Radio.tsx +88 -0
  461. package/source/components/RadioField.tsx +31 -0
  462. package/source/components/RadioGroup.tsx +147 -0
  463. package/source/components/Spinner.tsx +70 -0
  464. package/source/components/Table.ts +47 -0
  465. package/source/components/TableBody.ts +47 -0
  466. package/source/components/TableCaption.ts +52 -0
  467. package/source/components/TableCell.ts +47 -0
  468. package/source/components/TableFoot.ts +47 -0
  469. package/source/components/TableHead.ts +47 -0
  470. package/source/components/TableHeader.ts +47 -0
  471. package/source/components/TableRow.ts +47 -0
  472. package/source/components/Text.ts +64 -0
  473. package/source/components/Textarea.tsx +104 -0
  474. package/source/components/data-table/DataTable.tsx +377 -0
  475. package/source/components/data-table/DataTableColumnOrder.ts +5 -0
  476. package/source/components/data-table/DataTableColumnPinning.ts +5 -0
  477. package/source/components/data-table/DataTableColumnVisibility.ts +5 -0
  478. package/source/components/data-table/DataTableFaceting.ts +12 -0
  479. package/source/components/data-table/DataTableFilters.ts +18 -0
  480. package/source/components/data-table/DataTablePagination.ts +18 -0
  481. package/source/components/data-table/DataTableSearch.ts +5 -0
  482. package/source/components/data-table/DataTableSorting.ts +11 -0
  483. package/source/components/data-table/internals/DataTableHeader.tsx +254 -0
  484. package/source/components/data-table/internals/DataTableHeaderColumnCheckbox.tsx +44 -0
  485. package/source/components/data-table/internals/DataTableHeaderFilter.tsx +340 -0
  486. package/source/components/data-table/internals/DataTablePageButton.tsx +21 -0
  487. package/source/components/data-table/internals/DataTablePagination.tsx +220 -0
  488. package/source/components/data-table/internals/DataTableSearch.tsx +109 -0
  489. package/source/components/data-table/internals/addFilter.ts +42 -0
  490. package/source/components/data-table/internals/constants.ts +3 -0
  491. package/source/components/data-table/internals/fromPinningState.ts +17 -0
  492. package/source/components/data-table/internals/fuzzyFilter.ts +15 -0
  493. package/source/components/data-table/internals/getCommonPinningClasses.ts +19 -0
  494. package/source/components/data-table/internals/getCommonPinningStyles.ts +13 -0
  495. package/source/components/data-table/internals/normalizeFilter.ts +33 -0
  496. package/source/components/data-table/internals/normalizeFilters.ts +31 -0
  497. package/source/components/data-table/internals/normalizeSorting.ts +40 -0
  498. package/source/components/data-table/internals/removeFilter.ts +26 -0
  499. package/source/components/data-table/internals.ts +16 -0
  500. package/source/components/data-table.ts +9 -0
  501. package/source/components/internals/fieldContext.ts +4 -0
  502. package/source/components/internals/fieldNameContext.ts +5 -0
  503. package/source/components/internals/filterProps.ts +12 -0
  504. package/source/components/internals/formIdContext.ts +3 -0
  505. package/source/components/internals/forwardRef.ts +7 -0
  506. package/source/components/internals/useFormId.ts +7 -0
  507. package/source/components/internals.ts +6 -0
  508. package/source/components/useField.ts +7 -0
  509. package/source/components/useFieldName.ts +7 -0
  510. package/source/components/useForm.ts +24 -0
  511. package/source/components.ts +51 -0
  512. package/source/development/createTailwindConfig.ts +189 -0
  513. package/source/development/createTailwindMerge.ts +101 -0
  514. package/source/development/internals/PaletteConfig.ts +6 -0
  515. package/source/development/internals/SwatchValue.ts +9 -0
  516. package/source/development/internals/clamp.ts +3 -0
  517. package/source/development/internals/constants.ts +4 -0
  518. package/source/development/internals/createDisplayColor.ts +29 -0
  519. package/source/development/internals/createDistributionValues.ts +38 -0
  520. package/source/development/internals/createHueScale.ts +17 -0
  521. package/source/development/internals/createPalette.ts +54 -0
  522. package/source/development/internals/createSaturationScale.ts +21 -0
  523. package/source/development/internals/createSwatches.ts +34 -0
  524. package/source/development/internals/hexToHsl.ts +45 -0
  525. package/source/development/internals/hexToRgb.ts +23 -0
  526. package/source/development/internals/hslToHex.ts +23 -0
  527. package/source/development/internals/hslToRgb.ts +43 -0
  528. package/source/development/internals/isHex.ts +7 -0
  529. package/source/development/internals/resolveModule.ts +9 -0
  530. package/source/development/internals/round.ts +5 -0
  531. package/source/development/internals/unsignedModulo.ts +3 -0
  532. package/source/development/internals.ts +18 -0
  533. package/source/development.ts +2 -0
  534. package/source/inter-variable-italic.woff2 +0 -0
  535. package/source/inter-variable.woff2 +0 -0
  536. package/source/main.ts +5 -0
  537. package/source/styles.css +25 -0
  538. package/source/theme/Theme.ts +102 -0
  539. package/source/theme/ThemeProvider.tsx +12 -0
  540. package/source/theme/defaultTheme.ts +103 -0
  541. package/source/theme/internals/ClassName.ts +1 -0
  542. package/source/theme/internals/ComponentProps.ts +13 -0
  543. package/source/theme/internals/ComponentTheme.ts +50 -0
  544. package/source/theme/internals/ComponentThemeCompoundVariants.ts +20 -0
  545. package/source/theme/internals/ComponentThemeDefinition.ts +7 -0
  546. package/source/theme/internals/ComponentThemeDefinitionElements.ts +1 -0
  547. package/source/theme/internals/ComponentThemeDefinitionVariants.ts +3 -0
  548. package/source/theme/internals/ComponentThemeProps.ts +11 -0
  549. package/source/theme/internals/ComponentThemeVariants.ts +24 -0
  550. package/source/theme/internals/ComponentWithTheme.ts +6 -0
  551. package/source/theme/internals/UseComponentTheme.ts +22 -0
  552. package/source/theme/internals/UseComponentThemeReturn.ts +15 -0
  553. package/source/theme/internals/booleanToString.ts +6 -0
  554. package/source/theme/internals/createComponentTheme.ts +70 -0
  555. package/source/theme/internals/createUseComponentThemeReturn.ts +87 -0
  556. package/source/theme/internals/pickPropertyIfExists.ts +24 -0
  557. package/source/theme/internals/themeContext.ts +5 -0
  558. package/source/theme/internals/useTheme.ts +7 -0
  559. package/source/theme/internals.ts +18 -0
  560. package/source/theme.ts +3 -0
  561. package/source/utilities/WithLocaleOrLocales.ts +1 -0
  562. package/source/utilities/formatDateTime.ts +15 -0
  563. package/source/utilities/formatNumber.ts +15 -0
  564. package/source/utilities/internals/cache.ts +1 -0
  565. package/source/utilities/internals/createCacheKey.ts +9 -0
  566. package/source/utilities/internals/getMemoized.ts +14 -0
  567. package/source/utilities/internals/normalizeLocales.ts +15 -0
  568. package/source/utilities/internals.ts +4 -0
  569. package/source/utilities.ts +3 -0
@@ -0,0 +1,147 @@
1
+ import {type FieldMetadata, type FieldName} from '@conform-to/react';
2
+ import {RadioGroup as HeadlessRadioGroup} from '@headlessui/react';
3
+ import {
4
+ type ComponentPropsWithoutRef,
5
+ type ElementType,
6
+ type PropsWithChildren,
7
+ type Ref,
8
+ useCallback,
9
+ } from 'react';
10
+
11
+ import {
12
+ type ComponentProps,
13
+ type ComponentTheme,
14
+ createComponentTheme,
15
+ } from '../theme/internals.js';
16
+ import {fieldContext, fieldNameContext, forwardRef, useFormId} from './internals.js';
17
+
18
+ export const useRadioGroupTheme = createComponentTheme('RadioGroup', {
19
+ variants: {
20
+ disabled: [true, false],
21
+ },
22
+ });
23
+
24
+ const RADIO_GROUP_ELEMENT = 'div';
25
+
26
+ export type RadioGroupProps<
27
+ T extends ElementType,
28
+ V extends boolean | number | string,
29
+ > = PropsWithChildren<
30
+ ComponentProps<typeof useRadioGroupTheme> &
31
+ ComponentPropsWithoutRef<T> &
32
+ (
33
+ | {
34
+ as?: T | undefined;
35
+ value?: V | undefined;
36
+ defaultValue?: V | undefined;
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed
38
+ field?: FieldMetadata<any, any> | undefined;
39
+ name?: undefined;
40
+ className?: string | undefined;
41
+ onChange?: ((value: V) => void) | undefined;
42
+ }
43
+ | {
44
+ as?: T | undefined;
45
+ value?: V | undefined;
46
+ defaultValue?: V | undefined;
47
+ field?: undefined;
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed
49
+ name?: FieldName<any, any> | string | undefined;
50
+ className?: string;
51
+ onChange?: ((value: V) => void) | undefined;
52
+ }
53
+ )
54
+ >;
55
+
56
+ export const RadioGroup = forwardRef(
57
+ <
58
+ T extends ElementType = typeof RADIO_GROUP_ELEMENT,
59
+ V extends boolean | number | string = string,
60
+ >(
61
+ {
62
+ disabled = false,
63
+ as = RADIO_GROUP_ELEMENT as T,
64
+ value,
65
+ defaultValue,
66
+ field,
67
+ name,
68
+ className,
69
+ onChange,
70
+ children,
71
+ ...rest
72
+ }: RadioGroupProps<T, V>,
73
+ ref: Ref<HTMLElement>,
74
+ ) => {
75
+ let theme = useRadioGroupTheme({disabled});
76
+ let formId = useFormId();
77
+
78
+ let handleChange = useCallback(
79
+ (newValue: V) => {
80
+ onChange?.(newValue);
81
+ },
82
+ [onChange],
83
+ );
84
+
85
+ if (field) {
86
+ let props = {
87
+ ref,
88
+ disabled,
89
+ defaultValue,
90
+ name: field.name,
91
+ form: formId,
92
+ className: theme(null, className),
93
+ onChange: handleChange,
94
+ ...rest,
95
+ };
96
+
97
+ return (
98
+ <fieldContext.Provider value={field}>
99
+ <HeadlessRadioGroup {...props}>{children}</HeadlessRadioGroup>
100
+ </fieldContext.Provider>
101
+ );
102
+ }
103
+
104
+ if (name) {
105
+ let props = {
106
+ ref,
107
+ disabled,
108
+ defaultValue,
109
+ name,
110
+ form: formId,
111
+ className: theme(null, className),
112
+ onChange: handleChange,
113
+ 'data-component': 'radio-group',
114
+ ...rest,
115
+ };
116
+
117
+ return (
118
+ <fieldNameContext.Provider value={name}>
119
+ <HeadlessRadioGroup {...props}>{children}</HeadlessRadioGroup>
120
+ </fieldNameContext.Provider>
121
+ );
122
+ }
123
+
124
+ let props = {
125
+ ref,
126
+ disabled,
127
+ value,
128
+ defaultValue,
129
+ className: theme(null, className),
130
+ onChange: handleChange,
131
+ 'data-component': 'radio-group',
132
+ ...rest,
133
+ };
134
+
135
+ return <HeadlessRadioGroup {...props}>{children}</HeadlessRadioGroup>;
136
+ },
137
+ );
138
+
139
+ export const radioGroupTheme: ComponentTheme<typeof useRadioGroupTheme> = {
140
+ className: 'flex flex-col gap-y-2',
141
+ variants: {
142
+ disabled: {
143
+ true: '',
144
+ false: '',
145
+ },
146
+ },
147
+ };
@@ -0,0 +1,70 @@
1
+ import {memo} from 'react';
2
+
3
+ import {
4
+ type ComponentProps,
5
+ type ComponentTheme,
6
+ createComponentTheme,
7
+ } from '../theme/internals.js';
8
+
9
+ export const useSpinnerTheme = createComponentTheme('Spinner', {
10
+ variants: {
11
+ size: ['small', 'medium', 'large', 'surface'],
12
+ },
13
+ elements: ['root', 'icon'],
14
+ });
15
+
16
+ export type SpinnerProps = ComponentProps<typeof useSpinnerTheme> & {
17
+ className?: string;
18
+ };
19
+
20
+ export const Spinner = memo(({size = 'medium', className, ...rest}: SpinnerProps) => {
21
+ let theme = useSpinnerTheme({size});
22
+
23
+ return (
24
+ <output className={theme.root(null, className)} data-component="spinner" {...rest}>
25
+ <svg
26
+ aria-hidden="true"
27
+ className={theme.icon()}
28
+ viewBox="0 0 101 101"
29
+ xmlns="http://www.w3.org/2000/svg"
30
+ >
31
+ <path
32
+ d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
33
+ fill="currentColor"
34
+ />
35
+ <path
36
+ d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
37
+ fill="currentFill"
38
+ />
39
+ </svg>
40
+ <span className="sr-only">Loading...</span>
41
+ </output>
42
+ );
43
+ });
44
+
45
+ export const spinnerTheme: ComponentTheme<typeof useSpinnerTheme> = {
46
+ classNames: {
47
+ root: 'inline-flex items-center justify-center fill-neutral-900 text-neutral-200 data-[icon]:-mx-1',
48
+ icon: 'animate-spin',
49
+ },
50
+ variants: {
51
+ size: {
52
+ small: {
53
+ root: '',
54
+ icon: 'w-4 h-4',
55
+ },
56
+ medium: {
57
+ root: '',
58
+ icon: 'w-5 h-5',
59
+ },
60
+ large: {
61
+ root: '',
62
+ icon: 'w-6 h-6',
63
+ },
64
+ surface: {
65
+ root: 'flex',
66
+ icon: 'w-12 h-12',
67
+ },
68
+ },
69
+ },
70
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableTheme = createComponentTheme('Table');
17
+
18
+ const TABLE_ELEMENT = 'table';
19
+
20
+ export type TableProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string | undefined;
25
+ }
26
+ >;
27
+
28
+ export const Table = forwardRef(
29
+ <T extends ElementType = typeof TABLE_ELEMENT>(
30
+ {as: Component = TABLE_ELEMENT as T, className, children, ...rest}: TableProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableTheme();
34
+ let props = {
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table',
38
+ ...rest,
39
+ };
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableTheme: ComponentTheme<typeof useTableTheme> = {
46
+ className: '',
47
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableBodyTheme = createComponentTheme('TableBody');
17
+
18
+ const TABLE_BODY_ELEMENT = 'tbody';
19
+
20
+ export type TableBodyProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableBodyTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableBody = forwardRef(
29
+ <T extends ElementType = typeof TABLE_BODY_ELEMENT>(
30
+ {as: Component = TABLE_BODY_ELEMENT as T, className, children, ...rest}: TableBodyProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableBodyTheme();
34
+ let props = {
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table-body',
38
+ ...rest,
39
+ };
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableBodyTheme: ComponentTheme<typeof useTableBodyTheme> = {
46
+ className: 'font-sans',
47
+ };
@@ -0,0 +1,52 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableCaptionTheme = createComponentTheme('TableCaption');
17
+
18
+ const TABLE_CAPTION_ELEMENT = 'caption';
19
+
20
+ export type TableCaptionProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableCaptionTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableCaption = forwardRef(
29
+ <T extends ElementType = typeof TABLE_CAPTION_ELEMENT>(
30
+ {
31
+ as: Component = TABLE_CAPTION_ELEMENT as T,
32
+ className,
33
+ children,
34
+ ...rest
35
+ }: TableCaptionProps<T>,
36
+ ref: Ref<HTMLElement>,
37
+ ) => {
38
+ let theme = useTableCaptionTheme();
39
+ let props = {
40
+ ref,
41
+ className: theme(null, className),
42
+ 'data-component': 'table-caption',
43
+ ...rest,
44
+ };
45
+
46
+ return createElement(Component, props, children);
47
+ },
48
+ );
49
+
50
+ export const tableCaptionTheme: ComponentTheme<typeof useTableCaptionTheme> = {
51
+ className: 'font-sans text-sm font-medium mb-2',
52
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableCellTheme = createComponentTheme('TableCell');
17
+
18
+ const TABLE_CELL_ELEMENT = 'td';
19
+
20
+ export type TableCellProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableCellTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableCell = forwardRef(
29
+ <T extends ElementType = typeof TABLE_CELL_ELEMENT>(
30
+ {as: Component = TABLE_CELL_ELEMENT as T, className, children, ...rest}: TableCellProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableCellTheme();
34
+ let props = {
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table-cell',
38
+ ...rest,
39
+ };
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableCellTheme: ComponentTheme<typeof useTableCellTheme> = {
46
+ className: 'p-2 text-sm font-sans tabular-nums text-right truncate',
47
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {filterProps, forwardRef} from './internals.js';
15
+
16
+ export const useTableFootTheme = createComponentTheme('TableFoot');
17
+
18
+ const TABLE_FOOT_ELEMENT = 'tfoot';
19
+
20
+ export type TableFootProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableFootTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableFoot = forwardRef(
29
+ <T extends ElementType = typeof TABLE_FOOT_ELEMENT>(
30
+ {as: Component = TABLE_FOOT_ELEMENT as T, className, children, ...rest}: TableFootProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableFootTheme();
34
+ let props = filterProps({
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table-foot',
38
+ ...rest,
39
+ });
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableFootTheme: ComponentTheme<typeof useTableFootTheme> = {
46
+ className: 'font-sans text-sm',
47
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableHeadTheme = createComponentTheme('TableHead');
17
+
18
+ const TABLE_HEAD_ELEMENT = 'thead';
19
+
20
+ export type TableHeadProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableHeadTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableHead = forwardRef(
29
+ <T extends ElementType = typeof TABLE_HEAD_ELEMENT>(
30
+ {as: Component = TABLE_HEAD_ELEMENT as T, className, children, ...rest}: TableHeadProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableHeadTheme();
34
+ let props = {
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table-head',
38
+ ...rest,
39
+ };
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableHeadTheme: ComponentTheme<typeof useTableHeadTheme> = {
46
+ className: 'font-sans border-b-2 border-neutral-100',
47
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableHeaderTheme = createComponentTheme('TableHeader');
17
+
18
+ const TABLE_HEADER_ELEMENT = 'th';
19
+
20
+ export type TableHeaderProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableHeaderTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableHeader = forwardRef(
29
+ <T extends ElementType = typeof TABLE_HEADER_ELEMENT>(
30
+ {as: Component = TABLE_HEADER_ELEMENT as T, className, children, ...rest}: TableHeaderProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableHeaderTheme();
34
+ let props = {
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table-header',
38
+ ...rest,
39
+ };
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableHeaderTheme: ComponentTheme<typeof useTableHeaderTheme> = {
46
+ className: 'relative p-1 text-sm font-medium z-20 font-sans tabular-nums whitespace-nowrap',
47
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTableRowTheme = createComponentTheme('TableRow');
17
+
18
+ const TABLE_ROW_ELEMENT = 'tr';
19
+
20
+ export type TableRowProps<T extends ElementType> = PropsWithChildren<
21
+ ComponentProps<typeof useTableRowTheme> &
22
+ ComponentPropsWithoutRef<T> & {
23
+ as?: T | undefined;
24
+ className?: string;
25
+ }
26
+ >;
27
+
28
+ export const TableRow = forwardRef(
29
+ <T extends ElementType = typeof TABLE_ROW_ELEMENT>(
30
+ {as: Component = TABLE_ROW_ELEMENT as T, className, children, ...rest}: TableRowProps<T>,
31
+ ref: Ref<HTMLElement>,
32
+ ) => {
33
+ let theme = useTableRowTheme();
34
+ let props = {
35
+ ref,
36
+ className: theme(null, className),
37
+ 'data-component': 'table-row',
38
+ ...rest,
39
+ };
40
+
41
+ return createElement(Component, props, children);
42
+ },
43
+ );
44
+
45
+ export const tableRowTheme: ComponentTheme<typeof useTableRowTheme> = {
46
+ className: 'font-sans odd:bg-white even:bg-neutral-25',
47
+ };
@@ -0,0 +1,64 @@
1
+ import {
2
+ type ComponentPropsWithoutRef,
3
+ createElement,
4
+ type ElementType,
5
+ type PropsWithChildren,
6
+ type Ref,
7
+ } from 'react';
8
+
9
+ import {
10
+ type ComponentProps,
11
+ type ComponentTheme,
12
+ createComponentTheme,
13
+ } from '../theme/internals.js';
14
+ import {forwardRef} from './internals.js';
15
+
16
+ export const useTextTheme = createComponentTheme('Text', {
17
+ variants: {
18
+ size: ['small', 'medium', 'large'],
19
+ },
20
+ });
21
+
22
+ const TEXT_ELEMENT = 'p';
23
+
24
+ export type TextProps<T extends ElementType> = PropsWithChildren<
25
+ ComponentProps<typeof useTextTheme> &
26
+ ComponentPropsWithoutRef<T> & {
27
+ as?: T | undefined;
28
+ className?: string;
29
+ }
30
+ >;
31
+
32
+ export const Text = forwardRef(
33
+ <T extends ElementType = typeof TEXT_ELEMENT>(
34
+ {
35
+ size = 'medium',
36
+ as: Component = TEXT_ELEMENT as T,
37
+ className,
38
+ children,
39
+ ...rest
40
+ }: TextProps<T>,
41
+ ref: Ref<HTMLElement>,
42
+ ) => {
43
+ let theme = useTextTheme({size});
44
+ let props = {
45
+ ref,
46
+ className: theme(null, className),
47
+ 'data-component': 'text',
48
+ ...rest,
49
+ };
50
+
51
+ return createElement(Component, props, children);
52
+ },
53
+ );
54
+
55
+ export const textTheme: ComponentTheme<typeof useTextTheme> = {
56
+ className: 'm-0',
57
+ variants: {
58
+ size: {
59
+ small: 'text-xs',
60
+ medium: 'text-sm',
61
+ large: '',
62
+ },
63
+ },
64
+ };