@jakubmazanec/ui 0.1.0-unstable.081bdf1

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 (481) 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/DataTable.d.ts +70 -0
  21. package/build/components/DataTable.js +383 -0
  22. package/build/components/DataTable.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 +29 -0
  48. package/build/components/Icon.js +59 -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 +21 -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 +19 -0
  138. package/build/components/Text.js +26 -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/DataTableHeader.d.ts +13 -0
  144. package/build/components/data-table/DataTableHeader.js +418 -0
  145. package/build/components/data-table/DataTableHeader.js.map +7 -0
  146. package/build/components/data-table/DataTablePageButton.d.ts +6 -0
  147. package/build/components/data-table/DataTablePageButton.js +11 -0
  148. package/build/components/data-table/DataTablePageButton.js.map +7 -0
  149. package/build/components/data-table/internals/constants.d.ts +3 -0
  150. package/build/components/data-table/internals/constants.js +5 -0
  151. package/build/components/data-table/internals/constants.js.map +7 -0
  152. package/build/components/data-table/internals/getCommonPinningClasses.d.ts +2 -0
  153. package/build/components/data-table/internals/getCommonPinningClasses.js +13 -0
  154. package/build/components/data-table/internals/getCommonPinningClasses.js.map +7 -0
  155. package/build/components/data-table/internals/getCommonPinningStyles.d.ts +3 -0
  156. package/build/components/data-table/internals/getCommonPinningStyles.js +10 -0
  157. package/build/components/data-table/internals/getCommonPinningStyles.js.map +7 -0
  158. package/build/components/internals/fieldContext.d.ts +3 -0
  159. package/build/components/internals/fieldContext.js +4 -0
  160. package/build/components/internals/fieldContext.js.map +7 -0
  161. package/build/components/internals/fieldNameContext.d.ts +3 -0
  162. package/build/components/internals/fieldNameContext.js +4 -0
  163. package/build/components/internals/fieldNameContext.js.map +7 -0
  164. package/build/components/internals/filterProps.d.ts +4 -0
  165. package/build/components/internals/filterProps.js +9 -0
  166. package/build/components/internals/filterProps.js.map +7 -0
  167. package/build/components/internals/formIdContext.d.ts +2 -0
  168. package/build/components/internals/formIdContext.js +4 -0
  169. package/build/components/internals/formIdContext.js.map +7 -0
  170. package/build/components/internals/forwardRef.d.ts +4 -0
  171. package/build/components/internals/forwardRef.js +6 -0
  172. package/build/components/internals/forwardRef.js.map +7 -0
  173. package/build/components/internals/useFormId.d.ts +1 -0
  174. package/build/components/internals/useFormId.js +7 -0
  175. package/build/components/internals/useFormId.js.map +7 -0
  176. package/build/components/internals.d.ts +6 -0
  177. package/build/components/internals.js +8 -0
  178. package/build/components/internals.js.map +7 -0
  179. package/build/components/useField.d.ts +1 -0
  180. package/build/components/useField.js +7 -0
  181. package/build/components/useField.js.map +7 -0
  182. package/build/components/useFieldName.d.ts +1 -0
  183. package/build/components/useFieldName.js +7 -0
  184. package/build/components/useFieldName.js.map +7 -0
  185. package/build/components/useForm.d.ts +10 -0
  186. package/build/components/useForm.js +19 -0
  187. package/build/components/useForm.js.map +7 -0
  188. package/build/components.d.ts +50 -0
  189. package/build/components.js +52 -0
  190. package/build/components.js.map +7 -0
  191. package/build/development/createTailwindConfig.d.ts +18 -0
  192. package/build/development/createTailwindConfig.js +161 -0
  193. package/build/development/createTailwindConfig.js.map +7 -0
  194. package/build/development/createTailwindMerge.d.ts +2 -0
  195. package/build/development/createTailwindMerge.js +74 -0
  196. package/build/development/createTailwindMerge.js.map +7 -0
  197. package/build/development/internals/PaletteConfig.d.ts +6 -0
  198. package/build/development/internals/PaletteConfig.js +2 -0
  199. package/build/development/internals/PaletteConfig.js.map +7 -0
  200. package/build/development/internals/SwatchValue.d.ts +9 -0
  201. package/build/development/internals/SwatchValue.js +2 -0
  202. package/build/development/internals/SwatchValue.js.map +7 -0
  203. package/build/development/internals/clamp.d.ts +1 -0
  204. package/build/development/internals/clamp.js +5 -0
  205. package/build/development/internals/clamp.js.map +7 -0
  206. package/build/development/internals/constants.d.ts +2 -0
  207. package/build/development/internals/constants.js +22 -0
  208. package/build/development/internals/constants.js.map +7 -0
  209. package/build/development/internals/createDisplayColor.d.ts +1 -0
  210. package/build/development/internals/createDisplayColor.js +24 -0
  211. package/build/development/internals/createDisplayColor.js.map +7 -0
  212. package/build/development/internals/createDistributionValues.d.ts +4 -0
  213. package/build/development/internals/createDistributionValues.js +32 -0
  214. package/build/development/internals/createDistributionValues.js.map +7 -0
  215. package/build/development/internals/createHueScale.d.ts +4 -0
  216. package/build/development/internals/createHueScale.js +15 -0
  217. package/build/development/internals/createHueScale.js.map +7 -0
  218. package/build/development/internals/createPalette.d.ts +16 -0
  219. package/build/development/internals/createPalette.js +36 -0
  220. package/build/development/internals/createPalette.js.map +7 -0
  221. package/build/development/internals/createSaturationScale.d.ts +4 -0
  222. package/build/development/internals/createSaturationScale.js +18 -0
  223. package/build/development/internals/createSaturationScale.js.map +7 -0
  224. package/build/development/internals/createSwatches.d.ts +10 -0
  225. package/build/development/internals/createSwatches.js +31 -0
  226. package/build/development/internals/createSwatches.js.map +7 -0
  227. package/build/development/internals/hexToHsl.d.ts +5 -0
  228. package/build/development/internals/hexToHsl.js +37 -0
  229. package/build/development/internals/hexToHsl.js.map +7 -0
  230. package/build/development/internals/hexToRgb.d.ts +5 -0
  231. package/build/development/internals/hexToRgb.js +21 -0
  232. package/build/development/internals/hexToRgb.js.map +7 -0
  233. package/build/development/internals/hslToHex.d.ts +1 -0
  234. package/build/development/internals/hslToHex.js +19 -0
  235. package/build/development/internals/hslToHex.js.map +7 -0
  236. package/build/development/internals/hslToRgb.d.ts +5 -0
  237. package/build/development/internals/hslToRgb.js +42 -0
  238. package/build/development/internals/hslToRgb.js.map +7 -0
  239. package/build/development/internals/isHex.d.ts +1 -0
  240. package/build/development/internals/isHex.js +7 -0
  241. package/build/development/internals/isHex.js.map +7 -0
  242. package/build/development/internals/resolveModule.d.ts +1 -0
  243. package/build/development/internals/resolveModule.js +9 -0
  244. package/build/development/internals/resolveModule.js.map +7 -0
  245. package/build/development/internals/round.d.ts +1 -0
  246. package/build/development/internals/round.js +6 -0
  247. package/build/development/internals/round.js.map +7 -0
  248. package/build/development/internals/unsignedModulo.d.ts +1 -0
  249. package/build/development/internals/unsignedModulo.js +5 -0
  250. package/build/development/internals/unsignedModulo.js.map +7 -0
  251. package/build/development/internals.d.ts +1 -0
  252. package/build/development/internals.js +3 -0
  253. package/build/development/internals.js.map +7 -0
  254. package/build/development.d.ts +2 -0
  255. package/build/development.js +4 -0
  256. package/build/development.js.map +7 -0
  257. package/build/inter-variable-italic.woff2 +0 -0
  258. package/build/inter-variable.woff2 +0 -0
  259. package/build/main.d.ts +5 -0
  260. package/build/main.js +7 -0
  261. package/build/main.js.map +7 -0
  262. package/build/styles.css +23 -0
  263. package/build/styles.css.map +7 -0
  264. package/build/theme/Theme.d.ts +143 -0
  265. package/build/theme/Theme.js +2 -0
  266. package/build/theme/Theme.js.map +7 -0
  267. package/build/theme/ThemeProvider.d.ts +6 -0
  268. package/build/theme/ThemeProvider.js +7 -0
  269. package/build/theme/ThemeProvider.js.map +7 -0
  270. package/build/theme/defaultTheme.d.ts +2 -0
  271. package/build/theme/defaultTheme.js +100 -0
  272. package/build/theme/defaultTheme.js.map +7 -0
  273. package/build/theme/internals/ClassName.d.ts +1 -0
  274. package/build/theme/internals/ClassName.js +2 -0
  275. package/build/theme/internals/ClassName.js.map +7 -0
  276. package/build/theme/internals/ComponentProps.d.ts +7 -0
  277. package/build/theme/internals/ComponentProps.js +2 -0
  278. package/build/theme/internals/ComponentProps.js.map +7 -0
  279. package/build/theme/internals/ComponentTheme.d.ts +35 -0
  280. package/build/theme/internals/ComponentTheme.js +2 -0
  281. package/build/theme/internals/ComponentTheme.js.map +7 -0
  282. package/build/theme/internals/ComponentThemeCompoundVariants.d.ts +12 -0
  283. package/build/theme/internals/ComponentThemeCompoundVariants.js +2 -0
  284. package/build/theme/internals/ComponentThemeCompoundVariants.js.map +7 -0
  285. package/build/theme/internals/ComponentThemeDefinition.d.ts +6 -0
  286. package/build/theme/internals/ComponentThemeDefinition.js +2 -0
  287. package/build/theme/internals/ComponentThemeDefinition.js.map +7 -0
  288. package/build/theme/internals/ComponentThemeDefinitionElements.d.ts +1 -0
  289. package/build/theme/internals/ComponentThemeDefinitionElements.js +2 -0
  290. package/build/theme/internals/ComponentThemeDefinitionElements.js.map +7 -0
  291. package/build/theme/internals/ComponentThemeDefinitionVariants.d.ts +3 -0
  292. package/build/theme/internals/ComponentThemeDefinitionVariants.js +2 -0
  293. package/build/theme/internals/ComponentThemeDefinitionVariants.js.map +7 -0
  294. package/build/theme/internals/ComponentThemeProps.d.ts +5 -0
  295. package/build/theme/internals/ComponentThemeProps.js +2 -0
  296. package/build/theme/internals/ComponentThemeProps.js.map +7 -0
  297. package/build/theme/internals/ComponentThemeVariants.d.ts +14 -0
  298. package/build/theme/internals/ComponentThemeVariants.js +2 -0
  299. package/build/theme/internals/ComponentThemeVariants.js.map +7 -0
  300. package/build/theme/internals/ComponentWithTheme.d.ts +5 -0
  301. package/build/theme/internals/ComponentWithTheme.js +2 -0
  302. package/build/theme/internals/ComponentWithTheme.js.map +7 -0
  303. package/build/theme/internals/UseComponentTheme.d.ts +21 -0
  304. package/build/theme/internals/UseComponentTheme.js +2 -0
  305. package/build/theme/internals/UseComponentTheme.js.map +7 -0
  306. package/build/theme/internals/UseComponentThemeReturn.d.ts +6 -0
  307. package/build/theme/internals/UseComponentThemeReturn.js +2 -0
  308. package/build/theme/internals/UseComponentThemeReturn.js.map +7 -0
  309. package/build/theme/internals/booleanToString.d.ts +1 -0
  310. package/build/theme/internals/booleanToString.js +5 -0
  311. package/build/theme/internals/booleanToString.js.map +7 -0
  312. package/build/theme/internals/createComponentTheme.d.ts +3 -0
  313. package/build/theme/internals/createComponentTheme.js +39 -0
  314. package/build/theme/internals/createComponentTheme.js.map +7 -0
  315. package/build/theme/internals/createUseComponentThemeReturn.d.ts +15 -0
  316. package/build/theme/internals/createUseComponentThemeReturn.js +50 -0
  317. package/build/theme/internals/createUseComponentThemeReturn.js.map +7 -0
  318. package/build/theme/internals/pickPropertyIfExists.d.ts +4 -0
  319. package/build/theme/internals/pickPropertyIfExists.js +11 -0
  320. package/build/theme/internals/pickPropertyIfExists.js.map +7 -0
  321. package/build/theme/internals/themeContext.d.ts +330 -0
  322. package/build/theme/internals/themeContext.js +4 -0
  323. package/build/theme/internals/themeContext.js.map +7 -0
  324. package/build/theme/internals/useTheme.d.ts +329 -0
  325. package/build/theme/internals/useTheme.js +7 -0
  326. package/build/theme/internals/useTheme.js.map +7 -0
  327. package/build/theme/internals.d.ts +18 -0
  328. package/build/theme/internals.js +20 -0
  329. package/build/theme/internals.js.map +7 -0
  330. package/build/theme.d.ts +3 -0
  331. package/build/theme.js +5 -0
  332. package/build/theme.js.map +7 -0
  333. package/build/utilities/WithLocaleOrLocales.d.ts +5 -0
  334. package/build/utilities/WithLocaleOrLocales.js +2 -0
  335. package/build/utilities/WithLocaleOrLocales.js.map +7 -0
  336. package/build/utilities/formatDateTime.d.ts +3 -0
  337. package/build/utilities/formatDateTime.js +11 -0
  338. package/build/utilities/formatDateTime.js.map +7 -0
  339. package/build/utilities/formatNumber.d.ts +3 -0
  340. package/build/utilities/formatNumber.js +11 -0
  341. package/build/utilities/formatNumber.js.map +7 -0
  342. package/build/utilities/internals/cache.d.ts +1 -0
  343. package/build/utilities/internals/cache.js +3 -0
  344. package/build/utilities/internals/cache.js.map +7 -0
  345. package/build/utilities/internals/createCacheKey.d.ts +1 -0
  346. package/build/utilities/internals/createCacheKey.js +6 -0
  347. package/build/utilities/internals/createCacheKey.js.map +7 -0
  348. package/build/utilities/internals/getMemoized.d.ts +1 -0
  349. package/build/utilities/internals/getMemoized.js +12 -0
  350. package/build/utilities/internals/getMemoized.js.map +7 -0
  351. package/build/utilities/internals/normalizeLocales.d.ts +2 -0
  352. package/build/utilities/internals/normalizeLocales.js +12 -0
  353. package/build/utilities/internals/normalizeLocales.js.map +7 -0
  354. package/build/utilities/internals.d.ts +4 -0
  355. package/build/utilities/internals.js +6 -0
  356. package/build/utilities/internals.js.map +7 -0
  357. package/build/utilities.d.ts +3 -0
  358. package/build/utilities.js +5 -0
  359. package/build/utilities.js.map +7 -0
  360. package/package.json +100 -0
  361. package/source/components/Button.tsx +172 -0
  362. package/source/components/Card.ts +46 -0
  363. package/source/components/Checkbox.tsx +125 -0
  364. package/source/components/CheckboxField.tsx +61 -0
  365. package/source/components/Combobox.tsx +298 -0
  366. package/source/components/ComboboxOption.tsx +95 -0
  367. package/source/components/DataTable.tsx +464 -0
  368. package/source/components/Description.tsx +52 -0
  369. package/source/components/Dialog.tsx +85 -0
  370. package/source/components/DialogPanel.tsx +54 -0
  371. package/source/components/DialogTitle.tsx +52 -0
  372. package/source/components/Error.tsx +58 -0
  373. package/source/components/Field.tsx +79 -0
  374. package/source/components/Fieldset.tsx +64 -0
  375. package/source/components/Form.tsx +72 -0
  376. package/source/components/Icon.tsx +96 -0
  377. package/source/components/Input.tsx +156 -0
  378. package/source/components/Label.tsx +49 -0
  379. package/source/components/Legend.tsx +49 -0
  380. package/source/components/Listbox.tsx +401 -0
  381. package/source/components/ListboxOption.tsx +95 -0
  382. package/source/components/Menu.tsx +50 -0
  383. package/source/components/MenuButton.tsx +69 -0
  384. package/source/components/MenuHeading.tsx +52 -0
  385. package/source/components/MenuItem.tsx +63 -0
  386. package/source/components/MenuItems.tsx +61 -0
  387. package/source/components/MenuSection.tsx +52 -0
  388. package/source/components/MenuSeparator.tsx +52 -0
  389. package/source/components/Popover.tsx +52 -0
  390. package/source/components/PopoverBackdrop.tsx +52 -0
  391. package/source/components/PopoverButton.tsx +72 -0
  392. package/source/components/PopoverGroup.tsx +52 -0
  393. package/source/components/PopoverPanel.tsx +65 -0
  394. package/source/components/Radio.tsx +88 -0
  395. package/source/components/RadioField.tsx +31 -0
  396. package/source/components/RadioGroup.tsx +147 -0
  397. package/source/components/Spinner.tsx +70 -0
  398. package/source/components/Table.ts +47 -0
  399. package/source/components/TableBody.ts +47 -0
  400. package/source/components/TableCaption.ts +52 -0
  401. package/source/components/TableCell.ts +47 -0
  402. package/source/components/TableFoot.ts +47 -0
  403. package/source/components/TableHead.ts +47 -0
  404. package/source/components/TableHeader.ts +47 -0
  405. package/source/components/TableRow.ts +47 -0
  406. package/source/components/Text.ts +47 -0
  407. package/source/components/Textarea.tsx +104 -0
  408. package/source/components/data-table/DataTableHeader.tsx +602 -0
  409. package/source/components/data-table/DataTablePageButton.tsx +21 -0
  410. package/source/components/data-table/internals/constants.ts +3 -0
  411. package/source/components/data-table/internals/getCommonPinningClasses.ts +19 -0
  412. package/source/components/data-table/internals/getCommonPinningStyles.ts +13 -0
  413. package/source/components/internals/fieldContext.ts +4 -0
  414. package/source/components/internals/fieldNameContext.ts +5 -0
  415. package/source/components/internals/filterProps.ts +12 -0
  416. package/source/components/internals/formIdContext.ts +3 -0
  417. package/source/components/internals/forwardRef.ts +7 -0
  418. package/source/components/internals/useFormId.ts +7 -0
  419. package/source/components/internals.ts +6 -0
  420. package/source/components/useField.ts +7 -0
  421. package/source/components/useFieldName.ts +7 -0
  422. package/source/components/useForm.ts +24 -0
  423. package/source/components.ts +50 -0
  424. package/source/development/createTailwindConfig.ts +182 -0
  425. package/source/development/createTailwindMerge.ts +101 -0
  426. package/source/development/internals/PaletteConfig.ts +6 -0
  427. package/source/development/internals/SwatchValue.ts +9 -0
  428. package/source/development/internals/clamp.ts +3 -0
  429. package/source/development/internals/constants.ts +4 -0
  430. package/source/development/internals/createDisplayColor.ts +29 -0
  431. package/source/development/internals/createDistributionValues.ts +38 -0
  432. package/source/development/internals/createHueScale.ts +17 -0
  433. package/source/development/internals/createPalette.ts +54 -0
  434. package/source/development/internals/createSaturationScale.ts +21 -0
  435. package/source/development/internals/createSwatches.ts +34 -0
  436. package/source/development/internals/hexToHsl.ts +45 -0
  437. package/source/development/internals/hexToRgb.ts +23 -0
  438. package/source/development/internals/hslToHex.ts +23 -0
  439. package/source/development/internals/hslToRgb.ts +43 -0
  440. package/source/development/internals/isHex.ts +7 -0
  441. package/source/development/internals/resolveModule.ts +9 -0
  442. package/source/development/internals/round.ts +5 -0
  443. package/source/development/internals/unsignedModulo.ts +3 -0
  444. package/source/development/internals.ts +1 -0
  445. package/source/development.ts +2 -0
  446. package/source/inter-variable-italic.woff2 +0 -0
  447. package/source/inter-variable.woff2 +0 -0
  448. package/source/main.ts +5 -0
  449. package/source/styles.css +25 -0
  450. package/source/theme/Theme.ts +100 -0
  451. package/source/theme/ThemeProvider.tsx +12 -0
  452. package/source/theme/defaultTheme.ts +100 -0
  453. package/source/theme/internals/ClassName.ts +1 -0
  454. package/source/theme/internals/ComponentProps.ts +13 -0
  455. package/source/theme/internals/ComponentTheme.ts +50 -0
  456. package/source/theme/internals/ComponentThemeCompoundVariants.ts +20 -0
  457. package/source/theme/internals/ComponentThemeDefinition.ts +7 -0
  458. package/source/theme/internals/ComponentThemeDefinitionElements.ts +1 -0
  459. package/source/theme/internals/ComponentThemeDefinitionVariants.ts +3 -0
  460. package/source/theme/internals/ComponentThemeProps.ts +11 -0
  461. package/source/theme/internals/ComponentThemeVariants.ts +24 -0
  462. package/source/theme/internals/ComponentWithTheme.ts +6 -0
  463. package/source/theme/internals/UseComponentTheme.ts +22 -0
  464. package/source/theme/internals/UseComponentThemeReturn.ts +15 -0
  465. package/source/theme/internals/booleanToString.ts +6 -0
  466. package/source/theme/internals/createComponentTheme.ts +70 -0
  467. package/source/theme/internals/createUseComponentThemeReturn.ts +87 -0
  468. package/source/theme/internals/pickPropertyIfExists.ts +24 -0
  469. package/source/theme/internals/themeContext.ts +5 -0
  470. package/source/theme/internals/useTheme.ts +7 -0
  471. package/source/theme/internals.ts +18 -0
  472. package/source/theme.ts +3 -0
  473. package/source/utilities/WithLocaleOrLocales.ts +1 -0
  474. package/source/utilities/formatDateTime.ts +15 -0
  475. package/source/utilities/formatNumber.ts +15 -0
  476. package/source/utilities/internals/cache.ts +1 -0
  477. package/source/utilities/internals/createCacheKey.ts +9 -0
  478. package/source/utilities/internals/getMemoized.ts +14 -0
  479. package/source/utilities/internals/normalizeLocales.ts +15 -0
  480. package/source/utilities/internals.ts +4 -0
  481. package/source/utilities.ts +3 -0
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ Combobox as HeadlessCombobox,
5
+ ComboboxButton as HeadlessComboboxButton,
6
+ ComboboxInput as HeadlessComboboxInput,
7
+ ComboboxOptions as HeadlessComboboxOptions
8
+ } from "@headlessui/react";
9
+ import { ChevronDownIcon } from "@heroicons/react/24/outline";
10
+ import {
11
+ Children,
12
+ Fragment,
13
+ useCallback,
14
+ useState
15
+ } from "react";
16
+ import {
17
+ createComponentTheme
18
+ } from "../theme/internals.js";
19
+ import { ComboboxOption } from "./ComboboxOption.js";
20
+ import { Icon } from "./Icon.js";
21
+ import { forwardRef, useFormId } from "./internals.js";
22
+ import { useField } from "./useField.js";
23
+ import { useFieldName } from "./useFieldName.js";
24
+ export const useComboboxTheme = createComponentTheme("Combobox", {
25
+ variants: { disabled: [true, false], invalid: [true, false] },
26
+ elements: ["root", "input", "icon", "options"]
27
+ });
28
+ const COMBOBOX_ELEMENT = Fragment;
29
+ export const Combobox = forwardRef(
30
+ ({
31
+ disabled = false,
32
+ invalid = false,
33
+ as = COMBOBOX_ELEMENT,
34
+ value,
35
+ defaultValue,
36
+ multiple,
37
+ items,
38
+ placeholder,
39
+ immediate = true,
40
+ virtual = false,
41
+ customValue = false,
42
+ name,
43
+ className,
44
+ onChange,
45
+ children,
46
+ ...rest
47
+ }, ref) => {
48
+ let theme = useComboboxTheme({ disabled, invalid });
49
+ let formId = useFormId();
50
+ let field = useField();
51
+ let fieldName = useFieldName();
52
+ let [query, setQuery] = useState("");
53
+ let handleChange = useCallback(
54
+ (selectedValue) => {
55
+ if (selectedValue) {
56
+ onChange?.(selectedValue);
57
+ }
58
+ if (selectedValue === null) {
59
+ onChange?.(void 0);
60
+ }
61
+ },
62
+ [onChange]
63
+ );
64
+ let displayValue = useCallback(
65
+ (option) => {
66
+ if (items) {
67
+ let selectedItem = items.find((item) => item.value === option);
68
+ if (selectedItem) {
69
+ return selectedItem.label;
70
+ }
71
+ }
72
+ return option;
73
+ },
74
+ [items]
75
+ );
76
+ let handleQueryChange = useCallback((event) => {
77
+ setQuery(event.target.value);
78
+ }, []);
79
+ if (virtual && !items) {
80
+ throw new Error("Combobox requires `items` prop in virtual scrolling mode!");
81
+ }
82
+ if (virtual && customValue) {
83
+ throw new Error("Combobox doesn't support `customValue` prop in virtual scrolling mode!");
84
+ }
85
+ if (items && children) {
86
+ throw new Error("Combobox accepts only either `items` prop, or children!");
87
+ }
88
+ let filteredItems = query ? items?.filter(
89
+ (item) => `${item.label}`.toLowerCase().replace(/\s+/g, "").includes(query.toLowerCase().replace(/\s+/g, ""))
90
+ ) : items;
91
+ let filteredChildren = query ? Children.toArray(children).filter((child) => {
92
+ if (typeof child === "object" && "props" in child && typeof child.props === "object" && typeof child.props.children === "string" && child.props.children.toLowerCase().replace(/\s+/g, "").includes(query.toLowerCase().replace(/\s+/g, ""))) {
93
+ return true;
94
+ }
95
+ return false;
96
+ }) : children;
97
+ let props = {
98
+ as,
99
+ ref,
100
+ name: field?.name ?? fieldName ?? name,
101
+ value: value ?? null,
102
+ defaultValue,
103
+ multiple,
104
+ disabled,
105
+ immediate,
106
+ form: formId,
107
+ onChange: handleChange,
108
+ ...rest
109
+ };
110
+ if (virtual) {
111
+ props.virtual = {
112
+ options: filteredItems?.map((item) => item.value) ?? []
113
+ };
114
+ }
115
+ return /* @__PURE__ */ jsxs(HeadlessCombobox, { ...props, children: [
116
+ /* @__PURE__ */ jsxs("div", { className: theme.root("relative", className), "data-component": "combobox", children: [
117
+ /* @__PURE__ */ jsx(
118
+ HeadlessComboboxInput,
119
+ {
120
+ className: theme.input(null, className),
121
+ size: 1,
122
+ displayValue,
123
+ onChange: handleQueryChange
124
+ }
125
+ ),
126
+ /* @__PURE__ */ jsx(HeadlessComboboxButton, { className: theme.icon("absolute"), children: /* @__PURE__ */ jsx(Icon, { children: /* @__PURE__ */ jsx(ChevronDownIcon, {}) }) })
127
+ ] }),
128
+ virtual && filteredItems ? /* @__PURE__ */ jsx(HeadlessComboboxOptions, { className: theme.options(), anchor: "bottom start", children: ({ option }) => /* @__PURE__ */ jsx(ComboboxOption, { value: option, children: items?.find((item) => item.value === option)?.label }) }) : null,
129
+ !virtual && filteredItems ? /* @__PURE__ */ jsxs(HeadlessComboboxOptions, { className: theme.options(), anchor: "bottom start", children: [
130
+ customValue && query.length ? /* @__PURE__ */ jsx(ComboboxOption, { value: query, children: query }, query) : null,
131
+ filteredItems.map((item) => /* @__PURE__ */ jsx(ComboboxOption, { value: item.value, children: item.label }, String(item.value)))
132
+ ] }) : null,
133
+ !filteredItems && Array.isArray(filteredChildren) ? /* @__PURE__ */ jsxs(HeadlessComboboxOptions, { className: theme.options(), anchor: "bottom start", children: [
134
+ customValue && query.length ? /* @__PURE__ */ jsx(ComboboxOption, { value: query, children: query }) : null,
135
+ filteredChildren
136
+ ] }) : null
137
+ ] });
138
+ }
139
+ );
140
+ export const comboboxTheme = {
141
+ classNames: {
142
+ root: "w-full min-w-32",
143
+ input: "flex w-full items-center rounded-2 border-2 border-gray-100 hover:border-gray-200 bg-white px-2.5 h-9 pr-9 gap-x-2 transition-colors shadow-inner font-sans text-sm",
144
+ icon: "text-gray-500 size-5 top-2 right-2 cursor-pointer",
145
+ options: "flex flex-col gap-y-1 shadow p-1 z-30 rounded-2 border-2 border-gray-100 hover:border-gray-200 bg-white text-left w-[var(--input-width)] [--anchor-gap:theme(spacing.1)] [--anchor-padding:theme(spacing.2)] [scrollbar-width:thin] empty:invisible transition-colors"
146
+ },
147
+ variants: {
148
+ disabled: {
149
+ true: {
150
+ root: "border-gray-100 text-gray-200 cursor-not-allowed",
151
+ input: "",
152
+ icon: "text-gray-200",
153
+ options: "border-gray-100"
154
+ },
155
+ false: {
156
+ root: "",
157
+ input: "",
158
+ icon: "",
159
+ options: ""
160
+ }
161
+ },
162
+ invalid: {
163
+ true: {
164
+ root: "",
165
+ input: "",
166
+ icon: "",
167
+ options: ""
168
+ },
169
+ false: {
170
+ root: "",
171
+ input: "",
172
+ icon: "",
173
+ options: ""
174
+ }
175
+ }
176
+ }
177
+ };
178
+ //# sourceMappingURL=Combobox.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/Combobox.tsx"],
4
+ "sourcesContent": ["// TODO: fix somehow\n/* eslint-disable complexity -- TODO */\nimport {\n Combobox as HeadlessCombobox,\n ComboboxButton as HeadlessComboboxButton,\n ComboboxInput as HeadlessComboboxInput,\n ComboboxOptions as HeadlessComboboxOptions,\n type ComboboxProps as HeadlessComboboxProps,\n} from '@headlessui/react';\nimport {ChevronDownIcon} from '@heroicons/react/24/outline';\nimport {\n type ChangeEvent,\n Children,\n type ComponentPropsWithoutRef,\n type ElementType,\n Fragment,\n type PropsWithChildren,\n type Ref,\n useCallback,\n useState,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {ComboboxOption} from './ComboboxOption.js';\nimport {Icon} from './Icon.js';\nimport {forwardRef, useFormId} from './internals.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useComboboxTheme = createComponentTheme('Combobox', {\n variants: {disabled: [true, false], invalid: [true, false]},\n elements: ['root', 'input', 'icon', 'options'],\n});\n\nconst COMBOBOX_ELEMENT = Fragment;\n\nexport type ComboboxItem<V> = {\n value: V;\n label: string;\n};\n\nexport type ComboboxProps<\n T extends ElementType,\n V extends boolean | number | string,\n> = PropsWithChildren<\n ComponentProps<typeof useComboboxTheme> &\n ComponentPropsWithoutRef<T> &\n (\n | {\n as?: T | undefined;\n value?: V | undefined;\n defaultValue?: V | undefined;\n multiple?: false | undefined;\n items?: Array<ComboboxItem<V>> | undefined;\n placeholder?: string;\n immediate?: boolean | undefined;\n virtual?: boolean | undefined;\n customValue?: boolean | undefined;\n name?: string | undefined;\n className?: string;\n onChange?: (selectedValue: V | undefined) => void;\n }\n | {\n as?: T | undefined;\n value?: V[] | undefined;\n defaultValue?: V[] | undefined;\n multiple: true;\n items?: Array<ComboboxItem<V>> | undefined;\n placeholder?: string;\n immediate?: boolean | undefined;\n virtual?: boolean | undefined;\n customValue?: boolean | undefined;\n name?: string | undefined;\n className?: string;\n onChange?: (selectedValue: V[] | undefined) => void;\n }\n )\n>;\n\nexport const Combobox = forwardRef(\n <T extends ElementType = typeof COMBOBOX_ELEMENT, V extends boolean | number | string = string>(\n {\n disabled = false,\n invalid = false,\n as = COMBOBOX_ELEMENT as unknown as T,\n value,\n defaultValue,\n multiple,\n items,\n placeholder,\n immediate = true,\n virtual = false,\n customValue = false,\n name,\n className,\n onChange,\n children,\n ...rest\n }: ComboboxProps<T, V>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useComboboxTheme({disabled, invalid});\n let formId = useFormId();\n let field = useField();\n let fieldName = useFieldName();\n let [query, setQuery] = useState('');\n\n let handleChange = useCallback(\n (selectedValue: V | null) => {\n if (selectedValue) {\n onChange?.(selectedValue as V & V[]);\n }\n\n if (selectedValue === null) {\n onChange?.(undefined);\n }\n },\n [onChange],\n );\n\n let displayValue = useCallback(\n (option: string) => {\n if (items) {\n let selectedItem = items.find((item) => item.value === option);\n\n if (selectedItem) {\n return selectedItem.label;\n }\n }\n\n return option;\n },\n [items],\n );\n\n let handleQueryChange = useCallback((event: ChangeEvent<HTMLInputElement>) => {\n setQuery(event.target.value);\n }, []);\n\n if (virtual && !items) {\n throw new Error('Combobox requires `items` prop in virtual scrolling mode!');\n }\n\n if (virtual && customValue) {\n throw new Error(\"Combobox doesn't support `customValue` prop in virtual scrolling mode!\");\n }\n\n if (items && children) {\n throw new Error('Combobox accepts only either `items` prop, or children!');\n }\n\n let filteredItems =\n query ?\n items?.filter((item) =>\n `${item.label as number | string}`\n .toLowerCase()\n .replace(/\\s+/g, '')\n .includes(query.toLowerCase().replace(/\\s+/g, '')),\n )\n : items;\n let filteredChildren =\n query ?\n Children.toArray(children).filter((child) => {\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n typeof (child.props as {children?: unknown[] | string}).children === 'string' &&\n (child.props as {children: string}).children\n .toLowerCase()\n .replace(/\\s+/g, '')\n .includes(query.toLowerCase().replace(/\\s+/g, ''))\n ) {\n return true;\n }\n\n return false;\n })\n : children;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessComboboxProps<any, any, any> = {\n as,\n ref,\n name: field?.name ?? fieldName ?? name,\n value: value ?? null,\n defaultValue,\n multiple,\n disabled,\n immediate,\n form: formId,\n onChange: handleChange,\n ...rest,\n };\n\n if (virtual) {\n props.virtual = {\n options: filteredItems?.map((item) => item.value) ?? [],\n };\n }\n\n return (\n <HeadlessCombobox {...props}>\n <div className={theme.root('relative', className)} data-component=\"combobox\">\n <HeadlessComboboxInput\n className={theme.input(null, className)}\n size={1} // so the input default width without styling is small\n displayValue={displayValue}\n onChange={handleQueryChange}\n />\n <HeadlessComboboxButton className={theme.icon('absolute')}>\n <Icon>\n <ChevronDownIcon />\n </Icon>\n </HeadlessComboboxButton>\n </div>\n\n {virtual && filteredItems ?\n <HeadlessComboboxOptions className={theme.options()} anchor=\"bottom start\">\n {({option}: {option: V}) => (\n <ComboboxOption value={option}>\n {items?.find((item) => item.value === option)?.label}\n </ComboboxOption>\n )}\n </HeadlessComboboxOptions>\n : null}\n\n {!virtual && filteredItems ?\n <HeadlessComboboxOptions className={theme.options()} anchor=\"bottom start\">\n {customValue && query.length ?\n <ComboboxOption key={query} value={query}>\n {query}\n </ComboboxOption>\n : null}\n {filteredItems.map((item) => (\n <ComboboxOption key={String(item.value)} value={item.value}>\n {item.label}\n </ComboboxOption>\n ))}\n </HeadlessComboboxOptions>\n : null}\n\n {!filteredItems && Array.isArray(filteredChildren) ?\n <HeadlessComboboxOptions className={theme.options()} anchor=\"bottom start\">\n {customValue && query.length ?\n <ComboboxOption value={query}>{query}</ComboboxOption>\n : null}\n {filteredChildren}\n </HeadlessComboboxOptions>\n : null}\n </HeadlessCombobox>\n );\n },\n);\n\nexport const comboboxTheme: ComponentTheme<typeof useComboboxTheme> = {\n classNames: {\n root: 'w-full min-w-32',\n input:\n 'flex w-full items-center rounded-2 border-2 border-gray-100 hover:border-gray-200 bg-white px-2.5 h-9 pr-9 gap-x-2 transition-colors shadow-inner font-sans text-sm',\n icon: 'text-gray-500 size-5 top-2 right-2 cursor-pointer',\n options:\n 'flex flex-col gap-y-1 shadow p-1 z-30 rounded-2 border-2 border-gray-100 hover:border-gray-200 bg-white text-left w-[var(--input-width)] [--anchor-gap:theme(spacing.1)] [--anchor-padding:theme(spacing.2)] [scrollbar-width:thin] empty:invisible transition-colors',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-gray-100 text-gray-200 cursor-not-allowed',\n input: '',\n icon: 'text-gray-200',\n options: 'border-gray-100',\n },\n false: {\n root: '',\n input: '',\n icon: '',\n options: '',\n },\n },\n invalid: {\n true: {\n root: '',\n input: '',\n icon: '',\n options: '',\n },\n false: {\n root: '',\n input: '',\n icon: '',\n options: '',\n },\n },\n },\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,33 @@
1
+ import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
2
+ import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
3
+ export declare const useComboboxOptionTheme: ((themeProps: {
4
+ readonly disabled: boolean;
5
+ }) => {
6
+ icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
7
+ root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
8
+ }) & {
9
+ componentThemeName: "ComboboxOption";
10
+ themeDefinition: {
11
+ readonly variants: {
12
+ readonly disabled: [true, false];
13
+ };
14
+ readonly elements: ["root", "icon"];
15
+ };
16
+ };
17
+ export type ComboboxOptionProps<T extends ElementType, V extends boolean | number | string> = PropsWithChildren<ComponentProps<typeof useComboboxOptionTheme> & ComponentPropsWithoutRef<T> & {
18
+ as?: T | undefined;
19
+ value: V;
20
+ className?: string;
21
+ }>;
22
+ export declare const ComboboxOption: <T extends ElementType = "div", V extends string | number | boolean = string>(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
23
+ readonly disabled: boolean;
24
+ }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
25
+ as?: T | undefined;
26
+ value: V;
27
+ className?: string | undefined;
28
+ } & {
29
+ children?: import("react").ReactNode;
30
+ } & {
31
+ ref?: Ref<HTMLElement> | undefined;
32
+ }) => import("react").ReactNode;
33
+ export declare const comboboxOptionTheme: ComponentTheme<typeof useComboboxOptionTheme>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ ComboboxOption as HeadlessComboboxOption
5
+ } from "@headlessui/react";
6
+ import {
7
+ createComponentTheme
8
+ } from "../theme/internals.js";
9
+ import { Icon } from "./Icon.js";
10
+ import { forwardRef } from "./internals.js";
11
+ export const useComboboxOptionTheme = createComponentTheme("ComboboxOption", {
12
+ variants: { disabled: [true, false] },
13
+ elements: ["root", "icon"]
14
+ });
15
+ const LISTBOX_OPTION_ELEMENT = "div";
16
+ export const ComboboxOption = forwardRef(
17
+ ({
18
+ disabled = false,
19
+ as = LISTBOX_OPTION_ELEMENT,
20
+ value,
21
+ className,
22
+ children,
23
+ ...rest
24
+ }, ref) => {
25
+ let theme = useComboboxOptionTheme({ disabled });
26
+ let props = {
27
+ as,
28
+ ref,
29
+ value,
30
+ disabled,
31
+ className: theme.root("cursor-pointer", className),
32
+ "data-component": "combobox-option",
33
+ ...rest
34
+ };
35
+ return /* @__PURE__ */ jsxs(HeadlessComboboxOption, { ...props, children: [
36
+ /* @__PURE__ */ jsx("span", { className: theme.icon("absolute"), children: /* @__PURE__ */ jsx(Icon, { name: "Check" }) }),
37
+ children
38
+ ] });
39
+ }
40
+ );
41
+ export const comboboxOptionTheme = {
42
+ classNames: {
43
+ root: "relative group/option p-1 pr-6 rounded-1 hover:bg-gray-50 data-[active]:bg-gray-50 text-sm transition-colors",
44
+ icon: "hidden group-data-[selected]/option:block right-1 top-1 text-gray-500"
45
+ },
46
+ variants: {
47
+ disabled: {
48
+ true: {
49
+ root: "text-gray-200 cursor-not-allowed",
50
+ icon: "text-gray-200"
51
+ },
52
+ false: {
53
+ root: "",
54
+ icon: ""
55
+ }
56
+ }
57
+ }
58
+ };
59
+ //# sourceMappingURL=ComboboxOption.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/ComboboxOption.tsx"],
4
+ "sourcesContent": ["import {\n ComboboxOption as HeadlessComboboxOption,\n type ComboboxOptionProps as HeadlessComboboxOptionProps,\n} from '@headlessui/react';\nimport {\n type ComponentPropsWithoutRef,\n type ElementType,\n type PropsWithChildren,\n type Ref,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {Icon} from './Icon.js';\nimport {forwardRef} from './internals.js';\n\nexport const useComboboxOptionTheme = createComponentTheme('ComboboxOption', {\n variants: {disabled: [true, false]},\n elements: ['root', 'icon'],\n});\n\nconst LISTBOX_OPTION_ELEMENT = 'div';\n\nexport type ComboboxOptionProps<\n T extends ElementType,\n V extends boolean | number | string,\n> = PropsWithChildren<\n ComponentProps<typeof useComboboxOptionTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n value: V;\n className?: string;\n }\n>;\n\nexport const ComboboxOption = forwardRef(\n <\n T extends ElementType = typeof LISTBOX_OPTION_ELEMENT,\n V extends boolean | number | string = string,\n >(\n {\n disabled = false,\n as = LISTBOX_OPTION_ELEMENT as T,\n value,\n className,\n children,\n ...rest\n }: ComboboxOptionProps<T, V>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useComboboxOptionTheme({disabled});\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessComboboxOptionProps<any, any> = {\n as,\n ref,\n value,\n disabled,\n className: theme.root('cursor-pointer', className),\n 'data-component': 'combobox-option',\n ...rest,\n };\n\n return (\n <HeadlessComboboxOption {...props}>\n <span className={theme.icon('absolute')}>\n <Icon name=\"Check\" />\n </span>\n {children}\n </HeadlessComboboxOption>\n );\n },\n);\n\nexport const comboboxOptionTheme: ComponentTheme<typeof useComboboxOptionTheme> = {\n classNames: {\n root: 'relative group/option p-1 pr-6 rounded-1 hover:bg-gray-50 data-[active]:bg-gray-50 text-sm transition-colors',\n icon: 'hidden group-data-[selected]/option:block right-1 top-1 text-gray-500',\n },\n variants: {\n disabled: {\n true: {\n root: 'text-gray-200 cursor-not-allowed',\n icon: 'text-gray-200',\n },\n false: {\n root: '',\n icon: '',\n },\n },\n },\n};\n"],
5
+ "mappings": ";AAmEM,SAEI,KAFJ;AAnEN;AAAA,EACE,kBAAkB;AAAA,OAEb;AAQP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,YAAW;AACnB,SAAQ,kBAAiB;AAElB,aAAM,yBAAyB,qBAAqB,kBAAkB;AAAA,EAC3E,UAAU,EAAC,UAAU,CAAC,MAAM,KAAK,EAAC;AAAA,EAClC,UAAU,CAAC,QAAQ,MAAM;AAC3B,CAAC;AAED,MAAM,yBAAyB;AAcxB,aAAM,iBAAiB;AAAA,EAC5B,CAIE;AAAA,IACE,WAAW;AAAA,IACX,KAAK;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,QAAI,QAAQ,uBAAuB,EAAC,SAAQ,CAAC;AAG7C,QAAI,QAA+C;AAAA,MACjD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,MAAM,KAAK,kBAAkB,SAAS;AAAA,MACjD,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,WACE,qBAAC,0BAAwB,GAAG,OAC1B;AAAA,0BAAC,UAAK,WAAW,MAAM,KAAK,UAAU,GACpC,8BAAC,QAAK,MAAK,SAAQ,GACrB;AAAA,MACC;AAAA,OACH;AAAA,EAEJ;AACF;AAEO,aAAM,sBAAqE;AAAA,EAChF,YAAY;AAAA,IACV,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,70 @@
1
+ import { type ColumnDef, type RowData } from '@tanstack/react-table';
2
+ import { z } from 'zod';
3
+ declare module '@tanstack/react-table' {
4
+ interface ColumnMeta<TData extends RowData, TValue> {
5
+ filterVariant?: 'range' | 'select' | 'text';
6
+ }
7
+ }
8
+ export declare const dataTablePaginationSchema: z.ZodObject<{
9
+ /** Page number, starts with 1. */
10
+ page: z.ZodNumber;
11
+ pageSize: z.ZodUnion<[z.ZodLiteral<10>, z.ZodLiteral<25>, z.ZodLiteral<50>, z.ZodLiteral<75>, z.ZodLiteral<100>]>;
12
+ pageCount: z.ZodNumber;
13
+ }, "strip", z.ZodTypeAny, {
14
+ page: number;
15
+ pageCount: number;
16
+ pageSize: 10 | 25 | 50 | 75 | 100;
17
+ }, {
18
+ page: number;
19
+ pageCount: number;
20
+ pageSize: 10 | 25 | 50 | 75 | 100;
21
+ }>;
22
+ export type DataTablePagination = z.infer<typeof dataTablePaginationSchema>;
23
+ export declare const dataTableSortingSchema: z.ZodUnion<[z.ZodLiteral<false>, z.ZodObject<{
24
+ column: z.ZodString;
25
+ direction: z.ZodEnum<["ascending", "descending"]>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ direction: "ascending" | "descending";
28
+ column: string;
29
+ }, {
30
+ direction: "ascending" | "descending";
31
+ column: string;
32
+ }>]>;
33
+ export type DataTableSorting = z.infer<typeof dataTableSortingSchema>;
34
+ export declare const dataTableFiltersSchema: z.ZodUnion<[z.ZodLiteral<false>, z.ZodArray<z.ZodObject<{
35
+ column: z.ZodString;
36
+ filter: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodTuple<[z.ZodOptional<z.ZodNullable<z.ZodNumber>>, z.ZodOptional<z.ZodNullable<z.ZodNumber>>], null>]>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ filter: string | number | boolean | [number | null | undefined, number | null | undefined];
39
+ column: string;
40
+ }, {
41
+ filter: string | number | boolean | [number | null | undefined, number | null | undefined];
42
+ column: string;
43
+ }>, "many">]>;
44
+ export type DataTableFilters = z.infer<typeof dataTableFiltersSchema>;
45
+ export declare const dataTableFacetingSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
46
+ values: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
47
+ min: z.ZodOptional<z.ZodUnknown>;
48
+ max: z.ZodOptional<z.ZodUnknown>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ values?: unknown[] | undefined;
51
+ max?: unknown;
52
+ min?: unknown;
53
+ }, {
54
+ values?: unknown[] | undefined;
55
+ max?: unknown;
56
+ min?: unknown;
57
+ }>>;
58
+ export type DataTableFaceting = z.infer<typeof dataTableFacetingSchema>;
59
+ export type DataTableProps<D, C> = {
60
+ data: D[];
61
+ columns: C;
62
+ pagination?: DataTablePagination | undefined;
63
+ onPagination?: ((pagination: Pick<DataTablePagination, 'page'> | Pick<DataTablePagination, 'pageSize'>) => void) | undefined;
64
+ sorting?: DataTableSorting | undefined;
65
+ onSorting?: ((sorting: DataTableSorting) => void) | undefined;
66
+ filters?: DataTableFilters | undefined;
67
+ onFiltering?: ((filters: DataTableFilters) => void) | undefined;
68
+ faceting?: DataTableFaceting | undefined;
69
+ };
70
+ export declare function DataTable<D extends RowData, C extends Array<ColumnDef<D>>>({ data, columns, pagination: controlledPagination, onPagination, sorting: controlledSorting, onSorting, filters: controlledFilters, onFiltering, faceting, }: DataTableProps<D, C>): import("react/jsx-runtime").JSX.Element;