@jakubmazanec/ui 0.1.0-next.86bf251

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 +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 +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 +12 -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 +3 -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 +3 -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 +2 -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 +354 -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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/DialogPanel.tsx"],
4
+ "sourcesContent": ["import {\n DialogPanel as HeadlessDialogPanel,\n type DialogPanelProps as HeadlessDialogPanelProps,\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 {filterProps, forwardRef} from './internals.js';\n\nexport const useDialogPanelTheme = createComponentTheme('DialogPanel');\n\nconst DIALOG_PANEL_ELEMENT = 'div';\n\nexport type DialogPanelProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useDialogPanelTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n className?: string;\n }\n>;\n\nexport const DialogPanel = forwardRef(\n <T extends ElementType = typeof DIALOG_PANEL_ELEMENT>(\n {as = DIALOG_PANEL_ELEMENT as T, className, children, ...rest}: DialogPanelProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useDialogPanelTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessDialogPanelProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n transition: true,\n 'data-component': 'dialog-panel',\n ...rest,\n });\n\n return <HeadlessDialogPanel {...props}>{children}</HeadlessDialogPanel>;\n },\n);\n\nexport const dialogPanelTheme: ComponentTheme<typeof useDialogPanelTheme> = {\n className:\n 'shadow-1 relative flex w-full min-w-[300px] max-w-[900px] flex-col gap-y-6 rounded-4 bg-white p-6 max-h-[calc(100vh-3rem)] overflow-hidden overflow-y-auto',\n};\n"],
5
+ "mappings": ";AA8CW;AA9CX;AAAA,EACE,eAAe;AAAA,OAEV;AAQP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,aAAa,kBAAiB;AAE/B,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,uBAAuB;AAUtB,aAAM,cAAc;AAAA,EACzB,CACE,EAAC,KAAK,sBAA2B,WAAW,UAAU,GAAG,KAAI,GAC7D,QACG;AACH,QAAI,QAAQ,oBAAoB;AAEhC,QAAI,QAAuC,YAAY;AAAA,MACrD;AAAA,MACA;AAAA,MACA,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL,CAAC;AAED,WAAO,oBAAC,uBAAqB,GAAG,OAAQ,UAAS;AAAA,EACnD;AACF;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WACE;AACJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
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 useDialogTitleTheme: (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
4
+ componentThemeName: "DialogTitle";
5
+ themeDefinition: undefined;
6
+ };
7
+ export type DialogTitleProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useDialogTitleTheme> & ComponentPropsWithoutRef<T> & {
8
+ as?: T | undefined;
9
+ className?: string;
10
+ }>;
11
+ export declare const DialogTitle: <T extends ElementType = "h2">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
+ as?: T | undefined;
13
+ className?: string | undefined;
14
+ } & {
15
+ children?: import("react").ReactNode;
16
+ } & {
17
+ ref?: Ref<HTMLElement> | undefined;
18
+ }) => import("react").ReactNode;
19
+ export declare const dialogTitleTheme: ComponentTheme<typeof useDialogTitleTheme>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import {
4
+ DialogTitle as HeadlessDialogTitle
5
+ } from "@headlessui/react";
6
+ import {
7
+ createComponentTheme
8
+ } from "../theme/internals.js";
9
+ import { filterProps, forwardRef } from "./internals.js";
10
+ export const useDialogTitleTheme = createComponentTheme("DialogTitle");
11
+ const DIALOG_TITLE_ELEMENT = "h2";
12
+ export const DialogTitle = forwardRef(
13
+ ({ as = DIALOG_TITLE_ELEMENT, className, children, ...rest }, ref) => {
14
+ let theme = useDialogTitleTheme();
15
+ let props = filterProps({
16
+ as,
17
+ ref,
18
+ className: theme(null, className),
19
+ "data-component": "dialog-title",
20
+ ...rest
21
+ });
22
+ return /* @__PURE__ */ jsx(HeadlessDialogTitle, { ...props, children });
23
+ }
24
+ );
25
+ export const dialogTitleTheme = {
26
+ className: "text-xl font-bold"
27
+ };
28
+ //# sourceMappingURL=DialogTitle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/DialogTitle.tsx"],
4
+ "sourcesContent": ["import {\n DialogTitle as HeadlessDialogTitle,\n type DialogTitleProps as HeadlessDialogTitleProps,\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 {filterProps, forwardRef} from './internals.js';\n\nexport const useDialogTitleTheme = createComponentTheme('DialogTitle');\n\nconst DIALOG_TITLE_ELEMENT = 'h2';\n\nexport type DialogTitleProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useDialogTitleTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n className?: string;\n }\n>;\n\nexport const DialogTitle = forwardRef(\n <T extends ElementType = typeof DIALOG_TITLE_ELEMENT>(\n {as = DIALOG_TITLE_ELEMENT as T, className, children, ...rest}: DialogTitleProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useDialogTitleTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessDialogTitleProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n 'data-component': 'dialog-title',\n ...rest,\n });\n\n return <HeadlessDialogTitle {...props}>{children}</HeadlessDialogTitle>;\n },\n);\n\nexport const dialogTitleTheme: ComponentTheme<typeof useDialogTitleTheme> = {\n className: 'text-xl font-bold',\n};\n"],
5
+ "mappings": ";AA6CW;AA7CX;AAAA,EACE,eAAe;AAAA,OAEV;AAQP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,aAAa,kBAAiB;AAE/B,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,uBAAuB;AAUtB,aAAM,cAAc;AAAA,EACzB,CACE,EAAC,KAAK,sBAA2B,WAAW,UAAU,GAAG,KAAI,GAC7D,QACG;AACH,QAAI,QAAQ,oBAAoB;AAEhC,QAAI,QAAuC,YAAY;AAAA,MACrD;AAAA,MACA;AAAA,MACA,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL,CAAC;AAED,WAAO,oBAAC,uBAAqB,GAAG,OAAQ,UAAS;AAAA,EACnD;AACF;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WAAW;AACb;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
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 useErrorTheme: (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
4
+ componentThemeName: "Error";
5
+ themeDefinition: undefined;
6
+ };
7
+ export type ErrorProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useErrorTheme> & ComponentPropsWithoutRef<T> & {
8
+ as?: T | undefined;
9
+ className?: string;
10
+ }>;
11
+ export declare const Error: <T extends ElementType = "p">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
12
+ as?: T | undefined;
13
+ className?: string | undefined;
14
+ } & {
15
+ children?: import("react").ReactNode;
16
+ } & {
17
+ ref?: Ref<HTMLElement> | undefined;
18
+ }) => import("react").ReactNode;
19
+ export declare const errorTheme: ComponentTheme<typeof useErrorTheme>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import {
4
+ createElement
5
+ } from "react";
6
+ import {
7
+ createComponentTheme
8
+ } from "../theme/internals.js";
9
+ import { forwardRef } from "./internals.js";
10
+ import { Text } from "./Text.js";
11
+ import { useField } from "./useField.js";
12
+ export const useErrorTheme = createComponentTheme("Error");
13
+ const ERROR_ELEMENT = "p";
14
+ export const Error = forwardRef(
15
+ ({ as: Component = ERROR_ELEMENT, className, children, ...rest }, ref) => {
16
+ let theme = useErrorTheme();
17
+ let field = useField();
18
+ let props = {
19
+ ref,
20
+ className: theme(null, className),
21
+ "data-component": "error",
22
+ ...rest
23
+ };
24
+ if (field) {
25
+ return createElement(
26
+ Component,
27
+ props,
28
+ field.errors ? field.errors.map((error) => /* @__PURE__ */ jsx(Text, { children: error }, error)) : null
29
+ );
30
+ }
31
+ return createElement(Component, props, children);
32
+ }
33
+ );
34
+ export const errorTheme = {
35
+ className: "flex text-danger-500 empty:hidden"
36
+ };
37
+ //# sourceMappingURL=Error.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/Error.tsx"],
4
+ "sourcesContent": ["import {\n type ComponentPropsWithoutRef,\n createElement,\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 {forwardRef} from './internals.js';\nimport {Text} from './Text.js';\nimport {useField} from './useField.js';\n\nexport const useErrorTheme = createComponentTheme('Error');\n\nconst ERROR_ELEMENT = 'p';\n\nexport type ErrorProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useErrorTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n className?: string;\n }\n>;\n\nexport const Error = forwardRef(\n <T extends ElementType = typeof ERROR_ELEMENT>(\n {as: Component = ERROR_ELEMENT as T, className, children, ...rest}: ErrorProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useErrorTheme();\n let field = useField();\n let props = {\n ref,\n className: theme(null, className),\n 'data-component': 'error',\n ...rest,\n };\n\n if (field) {\n return createElement(\n Component,\n props,\n field.errors ? field.errors.map((error) => <Text key={error}>{error}</Text>) : null,\n );\n }\n\n return createElement(Component, props, children);\n },\n);\n\nexport const errorTheme: ComponentTheme<typeof useErrorTheme> = {\n className: 'flex text-danger-500 empty:hidden',\n};\n"],
5
+ "mappings": ";AA+CmD;AA/CnD;AAAA,EAEE;AAAA,OAIK;AAEP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,kBAAiB;AACzB,SAAQ,YAAW;AACnB,SAAQ,gBAAe;AAEhB,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAUf,aAAM,QAAQ;AAAA,EACnB,CACE,EAAC,IAAI,YAAY,eAAoB,WAAW,UAAU,GAAG,KAAI,GACjE,QACG;AACH,QAAI,QAAQ,cAAc;AAC1B,QAAI,QAAQ,SAAS;AACrB,QAAI,QAAQ;AAAA,MACV;AAAA,MACA,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,QAAI,OAAO;AACT,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,MAAM,SAAS,MAAM,OAAO,IAAI,CAAC,UAAU,oBAAC,QAAkB,mBAAR,KAAc,CAAO,IAAI;AAAA,MACjF;AAAA,IACF;AAEA,WAAO,cAAc,WAAW,OAAO,QAAQ;AAAA,EACjD;AACF;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ import { type FieldMetadata, type FieldName } from '@conform-to/react';
2
+ import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
3
+ import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
4
+ export declare const useFieldTheme: (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
5
+ componentThemeName: "Field";
6
+ themeDefinition: undefined;
7
+ };
8
+ export type FieldProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useFieldTheme> & ComponentPropsWithoutRef<T> & ({
9
+ as?: T | undefined;
10
+ className?: string | undefined;
11
+ name?: FieldName<any, any> | string | undefined;
12
+ field?: undefined;
13
+ } | {
14
+ as?: T | undefined;
15
+ className?: string | undefined;
16
+ name?: undefined;
17
+ field?: FieldMetadata<any, any> | undefined;
18
+ })>;
19
+ export declare const Field: <T extends ElementType = "div">(props: FieldProps<T> & {
20
+ ref?: Ref<HTMLElement> | undefined;
21
+ }) => import("react").ReactNode;
22
+ export declare const fieldTheme: ComponentTheme<typeof useFieldTheme>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { Field as HeadlessField } from "@headlessui/react";
4
+ import {
5
+ createComponentTheme
6
+ } from "../theme/internals.js";
7
+ import { fieldContext, fieldNameContext, filterProps, forwardRef } from "./internals.js";
8
+ export const useFieldTheme = createComponentTheme("Field");
9
+ const FIELD_ELEMENT = "div";
10
+ export const Field = forwardRef(
11
+ ({ as = FIELD_ELEMENT, name, field, className, children, ...rest }, ref) => {
12
+ let theme = useFieldTheme();
13
+ let props = filterProps({
14
+ as,
15
+ ref,
16
+ className: theme(null, className),
17
+ "data-component": "field",
18
+ ...rest
19
+ });
20
+ if (field) {
21
+ return /* @__PURE__ */ jsx(fieldContext.Provider, { value: field, children: /* @__PURE__ */ jsx(HeadlessField, { ...props, children }) });
22
+ }
23
+ if (name) {
24
+ return /* @__PURE__ */ jsx(fieldNameContext.Provider, { value: name, children: /* @__PURE__ */ jsx(HeadlessField, { ...props, children }) });
25
+ }
26
+ return /* @__PURE__ */ jsx(HeadlessField, { ...props, children });
27
+ }
28
+ );
29
+ export const fieldTheme = {
30
+ className: "flex flex-col gap-y-2 font-sans"
31
+ };
32
+ //# sourceMappingURL=Field.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/Field.tsx"],
4
+ "sourcesContent": ["import {type FieldMetadata, type FieldName} from '@conform-to/react';\nimport {Field as HeadlessField, type FieldProps as HeadlessFieldProps} 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 {fieldContext, fieldNameContext, filterProps, forwardRef} from './internals.js';\n\nexport const useFieldTheme = createComponentTheme('Field');\n\nconst FIELD_ELEMENT = 'div';\n\nexport type FieldProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useFieldTheme> &\n ComponentPropsWithoutRef<T> &\n (\n | {\n as?: T | undefined;\n className?: string | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n name?: FieldName<any, any> | string | undefined;\n field?: undefined;\n }\n | {\n as?: T | undefined;\n className?: string | undefined;\n name?: undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n field?: FieldMetadata<any, any> | undefined;\n }\n )\n>;\n\nexport const Field = forwardRef(\n <T extends ElementType = typeof FIELD_ELEMENT>(\n {as = FIELD_ELEMENT as T, name, field, className, children, ...rest}: FieldProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useFieldTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessFieldProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n 'data-component': 'field',\n ...rest,\n });\n\n if (field) {\n return (\n <fieldContext.Provider value={field}>\n <HeadlessField {...props}>{children}</HeadlessField>\n </fieldContext.Provider>\n );\n }\n\n if (name) {\n return (\n <fieldNameContext.Provider value={name}>\n <HeadlessField {...props}>{children}</HeadlessField>\n </fieldNameContext.Provider>\n );\n }\n\n return <HeadlessField {...props}>{children}</HeadlessField>;\n },\n);\n\nexport const fieldTheme: ComponentTheme<typeof useFieldTheme> = {\n className: 'flex flex-col gap-y-2 font-sans',\n};\n"],
5
+ "mappings": ";AA2DU;AA1DV,SAAQ,SAAS,qBAA2D;AAQ5E;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,cAAc,kBAAkB,aAAa,kBAAiB;AAE/D,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAuBf,aAAM,QAAQ;AAAA,EACnB,CACE,EAAC,KAAK,eAAoB,MAAM,OAAO,WAAW,UAAU,GAAG,KAAI,GACnE,QACG;AACH,QAAI,QAAQ,cAAc;AAE1B,QAAI,QAAiC,YAAY;AAAA,MAC/C;AAAA,MACA;AAAA,MACA,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL,CAAC;AAED,QAAI,OAAO;AACT,aACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAC5B,8BAAC,iBAAe,GAAG,OAAQ,UAAS,GACtC;AAAA,IAEJ;AAEA,QAAI,MAAM;AACR,aACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,MAChC,8BAAC,iBAAe,GAAG,OAAQ,UAAS,GACtC;AAAA,IAEJ;AAEA,WAAO,oBAAC,iBAAe,GAAG,OAAQ,UAAS;AAAA,EAC7C;AACF;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
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 useFieldsetTheme: ((themeProps: {
4
+ readonly disabled: boolean;
5
+ }) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
6
+ componentThemeName: "Fieldset";
7
+ themeDefinition: {
8
+ readonly variants: {
9
+ readonly disabled: [true, false];
10
+ };
11
+ };
12
+ };
13
+ export type FieldsetProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useFieldsetTheme> & ComponentPropsWithoutRef<T> & {
14
+ as?: T | undefined;
15
+ className?: string | undefined;
16
+ }>;
17
+ export declare const Fieldset: <T extends ElementType = "fieldset">(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
18
+ readonly disabled: boolean;
19
+ }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
20
+ as?: T | undefined;
21
+ className?: string | undefined;
22
+ } & {
23
+ children?: import("react").ReactNode;
24
+ } & {
25
+ ref?: Ref<HTMLElement> | undefined;
26
+ }) => import("react").ReactNode;
27
+ export declare const fieldsetnTheme: ComponentTheme<typeof useFieldsetTheme>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import {
4
+ Fieldset as HeadlessFieldset
5
+ } from "@headlessui/react";
6
+ import {
7
+ createComponentTheme
8
+ } from "../theme/internals.js";
9
+ import { filterProps, forwardRef } from "./internals.js";
10
+ export const useFieldsetTheme = createComponentTheme("Fieldset", {
11
+ variants: {
12
+ disabled: [true, false]
13
+ }
14
+ });
15
+ const FIELDSET_ELEMENT = "fieldset";
16
+ export const Fieldset = forwardRef(
17
+ ({ as = FIELDSET_ELEMENT, disabled = false, className, children, ...rest }, ref) => {
18
+ let theme = useFieldsetTheme({ disabled });
19
+ let props = filterProps({
20
+ as,
21
+ ref,
22
+ disabled,
23
+ className: theme(null, className),
24
+ "data-component": "fieldset",
25
+ ...rest
26
+ });
27
+ return /* @__PURE__ */ jsx(HeadlessFieldset, { ...props, children });
28
+ }
29
+ );
30
+ export const fieldsetnTheme = {
31
+ className: "flex flex-col gap-y-6 [&>[data-component=legend]+[data-component=text]]:text-sm [&>[data-component=legend]+[data-component=text]]:-mt-4",
32
+ variants: {
33
+ disabled: {
34
+ true: "",
35
+ false: ""
36
+ }
37
+ }
38
+ };
39
+ //# sourceMappingURL=Fieldset.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/Fieldset.tsx"],
4
+ "sourcesContent": ["import {\n Fieldset as HeadlessFieldset,\n type FieldsetProps as HeadlessFieldsetProps,\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 {filterProps, forwardRef} from './internals.js';\n\nexport const useFieldsetTheme = createComponentTheme('Fieldset', {\n variants: {\n disabled: [true, false],\n },\n});\n\nconst FIELDSET_ELEMENT = 'fieldset';\n\nexport type FieldsetProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useFieldsetTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n className?: string | undefined;\n }\n>;\n\nexport const Fieldset = forwardRef(\n <T extends ElementType = typeof FIELDSET_ELEMENT>(\n {as = FIELDSET_ELEMENT as T, disabled = false, className, children, ...rest}: FieldsetProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useFieldsetTheme({disabled});\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessFieldsetProps<any> = filterProps({\n as,\n ref,\n disabled,\n className: theme(null, className),\n 'data-component': 'fieldset',\n ...rest,\n });\n\n return <HeadlessFieldset {...props}>{children}</HeadlessFieldset>;\n },\n);\n\nexport const fieldsetnTheme: ComponentTheme<typeof useFieldsetTheme> = {\n className:\n 'flex flex-col gap-y-6 [&>[data-component=legend]+[data-component=text]]:text-sm [&>[data-component=legend]+[data-component=text]]:-mt-4',\n variants: {\n disabled: {\n true: '',\n false: '',\n },\n },\n};\n"],
5
+ "mappings": ";AAkDW;AAlDX;AAAA,EACE,YAAY;AAAA,OAEP;AAQP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,aAAa,kBAAiB;AAE/B,aAAM,mBAAmB,qBAAqB,YAAY;AAAA,EAC/D,UAAU;AAAA,IACR,UAAU,CAAC,MAAM,KAAK;AAAA,EACxB;AACF,CAAC;AAED,MAAM,mBAAmB;AAUlB,aAAM,WAAW;AAAA,EACtB,CACE,EAAC,KAAK,kBAAuB,WAAW,OAAO,WAAW,UAAU,GAAG,KAAI,GAC3E,QACG;AACH,QAAI,QAAQ,iBAAiB,EAAC,SAAQ,CAAC;AAEvC,QAAI,QAAoC,YAAY;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL,CAAC;AAED,WAAO,oBAAC,oBAAkB,GAAG,OAAQ,UAAS;AAAA,EAChD;AACF;AAEO,aAAM,iBAA0D;AAAA,EACrE,WACE;AAAA,EACF,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ import { type FormMetadata } from '@conform-to/react';
2
+ import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type Ref } from 'react';
3
+ import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
4
+ export declare const useFormTheme: (() => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
5
+ componentThemeName: "Form";
6
+ themeDefinition: undefined;
7
+ };
8
+ export type FormProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useFormTheme> & ComponentPropsWithoutRef<T> & {
9
+ as?: T | undefined;
10
+ className?: string;
11
+ form?: FormMetadata<any, any> | undefined;
12
+ }>;
13
+ export declare const Form: <T extends ElementType = "form">(props: import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
14
+ as?: T | undefined;
15
+ className?: string | undefined;
16
+ form?: FormMetadata<any, any> | undefined;
17
+ } & {
18
+ children?: import("react").ReactNode;
19
+ } & {
20
+ ref?: Ref<HTMLElement> | undefined;
21
+ }) => import("react").ReactNode;
22
+ export declare const formTheme: ComponentTheme<typeof useFormTheme>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { FormProvider } from "@conform-to/react";
4
+ import {
5
+ createElement
6
+ } from "react";
7
+ import {
8
+ createComponentTheme
9
+ } from "../theme/internals.js";
10
+ import { formIdContext, forwardRef } from "./internals.js";
11
+ export const useFormTheme = createComponentTheme("Form");
12
+ const FORM_ELEMENT = "form";
13
+ export const Form = forwardRef(
14
+ ({ as: Component = FORM_ELEMENT, className, form, children, ...rest }, ref) => {
15
+ let theme = useFormTheme();
16
+ if (form) {
17
+ let props2 = {
18
+ ref,
19
+ id: form.id,
20
+ method: "post",
21
+ className: theme(null, className),
22
+ onSubmit: form.onSubmit,
23
+ "data-component": "form",
24
+ ...rest
25
+ };
26
+ return /* @__PURE__ */ jsx(formIdContext.Provider, { value: form.id, children: /* @__PURE__ */ jsx(FormProvider, { context: form.context, children: createElement(Component, props2, children) }) });
27
+ }
28
+ let props = {
29
+ ref,
30
+ method: "post",
31
+ className: theme(null, className),
32
+ "data-component": "form",
33
+ ...rest
34
+ };
35
+ return createElement(Component, props, children);
36
+ }
37
+ );
38
+ export const formTheme = {
39
+ className: "flex flex-col gap-y-6"
40
+ };
41
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/Form.tsx"],
4
+ "sourcesContent": ["import {type FormMetadata, FormProvider} from '@conform-to/react';\nimport {\n type ComponentPropsWithoutRef,\n createElement,\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 {formIdContext, forwardRef} from './internals.js';\n\nexport const useFormTheme = createComponentTheme('Form');\n\nconst FORM_ELEMENT = 'form';\n\nexport type FormProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useFormTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n className?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n form?: FormMetadata<any, any> | undefined;\n }\n>;\n\nexport const Form = forwardRef(\n <T extends ElementType = typeof FORM_ELEMENT>(\n {as: Component = FORM_ELEMENT as T, className, form, children, ...rest}: FormProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useFormTheme();\n\n if (form) {\n let props = {\n ref,\n id: form.id,\n method: 'post',\n className: theme(null, className),\n onSubmit: form.onSubmit,\n 'data-component': 'form',\n ...rest,\n };\n\n return (\n <formIdContext.Provider value={form.id}>\n <FormProvider context={form.context}>\n {createElement(Component, props, children)}\n </FormProvider>\n </formIdContext.Provider>\n );\n }\n\n let props = {\n ref,\n method: 'post',\n className: theme(null, className),\n 'data-component': 'form',\n ...rest,\n };\n\n return createElement(Component, props, children);\n },\n);\n\nexport const formTheme: ComponentTheme<typeof useFormTheme> = {\n className: 'flex flex-col gap-y-6',\n};\n"],
5
+ "mappings": ";AAkDU;AAlDV,SAA2B,oBAAmB;AAC9C;AAAA,EAEE;AAAA,OAIK;AAEP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,eAAe,kBAAiB;AAEjC,aAAM,eAAe,qBAAqB,MAAM;AAEvD,MAAM,eAAe;AAYd,aAAM,OAAO;AAAA,EAClB,CACE,EAAC,IAAI,YAAY,cAAmB,WAAW,MAAM,UAAU,GAAG,KAAI,GACtE,QACG;AACH,QAAI,QAAQ,aAAa;AAEzB,QAAI,MAAM;AACR,UAAIA,SAAQ;AAAA,QACV;AAAA,QACA,IAAI,KAAK;AAAA,QACT,QAAQ;AAAA,QACR,WAAW,MAAM,MAAM,SAAS;AAAA,QAChC,UAAU,KAAK;AAAA,QACf,kBAAkB;AAAA,QAClB,GAAG;AAAA,MACL;AAEA,aACE,oBAAC,cAAc,UAAd,EAAuB,OAAO,KAAK,IAClC,8BAAC,gBAAa,SAAS,KAAK,SACzB,wBAAc,WAAWA,QAAO,QAAQ,GAC3C,GACF;AAAA,IAEJ;AAEA,QAAI,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ;AAAA,MACR,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,WAAO,cAAc,WAAW,OAAO,QAAQ;AAAA,EACjD;AACF;AAEO,aAAM,YAAiD;AAAA,EAC5D,WAAW;AACb;",
6
+ "names": ["props"]
7
+ }
@@ -0,0 +1,32 @@
1
+ import { type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren, type ReactNode, type Ref } from 'react';
2
+ import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
3
+ export declare const useIconTheme: ((themeProps: {
4
+ readonly size: "small" | "medium" | "large";
5
+ readonly variant: "default" | "light";
6
+ }) => (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string) & {
7
+ componentThemeName: "Icon";
8
+ themeDefinition: {
9
+ readonly variants: {
10
+ readonly size: ["small", "medium", "large"];
11
+ readonly variant: ["default", "light"];
12
+ };
13
+ };
14
+ };
15
+ export type IconProps<T extends ElementType> = PropsWithChildren<ComponentProps<typeof useIconTheme> & ComponentPropsWithoutRef<T> & {
16
+ as?: T | undefined;
17
+ name?: string | undefined;
18
+ className?: string | undefined;
19
+ }>;
20
+ export declare const Icon: <T extends ElementType = "span">(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
21
+ readonly size: "small" | "medium" | "large";
22
+ readonly variant: "default" | "light";
23
+ }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
24
+ as?: T | undefined;
25
+ name?: string | undefined;
26
+ className?: string | undefined;
27
+ } & {
28
+ children?: ReactNode;
29
+ } & {
30
+ ref?: Ref<HTMLElement> | undefined;
31
+ }) => ReactNode;
32
+ export declare const iconTheme: ComponentTheme<typeof useIconTheme>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import * as icons16 from "@heroicons/react/16/solid";
4
+ import * as icons20 from "@heroicons/react/20/solid";
5
+ import * as icons24 from "@heroicons/react/24/outline";
6
+ import {
7
+ createElement
8
+ } from "react";
9
+ import {
10
+ createComponentTheme
11
+ } from "../theme/internals.js";
12
+ import { forwardRef } from "./internals.js";
13
+ export const useIconTheme = createComponentTheme("Icon", {
14
+ variants: {
15
+ size: ["small", "medium", "large"],
16
+ variant: ["default", "light"]
17
+ }
18
+ });
19
+ const ICON_ELEMENT = "span";
20
+ export const Icon = forwardRef(
21
+ ({
22
+ size = "medium",
23
+ variant = "default",
24
+ as: Component = ICON_ELEMENT,
25
+ name,
26
+ className,
27
+ children,
28
+ ...rest
29
+ }, ref) => {
30
+ let theme = useIconTheme({ size, variant });
31
+ let props = {
32
+ ref,
33
+ className: theme(null, className),
34
+ "data-component": "icon",
35
+ ...rest
36
+ };
37
+ let Child;
38
+ let resolvedName = `${name}Icon`;
39
+ if (size === "medium" && resolvedName && icons20[resolvedName]) {
40
+ Child = icons20[resolvedName];
41
+ }
42
+ if (size === "small" && resolvedName && icons16[resolvedName]) {
43
+ Child = icons16[resolvedName];
44
+ }
45
+ if (size === "large" && resolvedName && icons24[resolvedName]) {
46
+ Child = icons24[resolvedName];
47
+ }
48
+ return createElement(Component, props, Child ? /* @__PURE__ */ jsx(Child, {}) : children);
49
+ }
50
+ );
51
+ export const iconTheme = {
52
+ className: "inline-block shrink-0 *:w-full *:h-full data-[icon]:-mx-1 select-none",
53
+ variants: {
54
+ size: {
55
+ small: "size-4",
56
+ medium: "size-5",
57
+ large: "size-6"
58
+ },
59
+ variant: {
60
+ default: "",
61
+ light: "text-neutral-200"
62
+ }
63
+ }
64
+ };
65
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/components/Icon.tsx"],
4
+ "sourcesContent": ["import * as icons16 from '@heroicons/react/16/solid';\nimport * as icons20 from '@heroicons/react/20/solid';\nimport * as icons24 from '@heroicons/react/24/outline';\nimport {\n type ComponentPropsWithoutRef,\n createElement,\n type ElementType,\n type PropsWithChildren,\n type ReactNode,\n type Ref,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {forwardRef} from './internals.js';\n\nexport const useIconTheme = createComponentTheme('Icon', {\n variants: {\n size: ['small', 'medium', 'large'],\n variant: ['default', 'light'],\n },\n});\n\nconst ICON_ELEMENT = 'span';\n\nexport type IconProps<T extends ElementType> = PropsWithChildren<\n ComponentProps<typeof useIconTheme> &\n ComponentPropsWithoutRef<T> & {\n as?: T | undefined;\n name?: string | undefined;\n className?: string | undefined;\n }\n>;\n\nexport const Icon = forwardRef(\n <T extends ElementType = typeof ICON_ELEMENT>(\n {\n size = 'medium',\n variant = 'default',\n as: Component = ICON_ELEMENT as T,\n name,\n className,\n children,\n ...rest\n }: IconProps<T>,\n ref: Ref<HTMLElement>,\n ) => {\n let theme = useIconTheme({size, variant});\n let props: Record<string, unknown> = {\n ref,\n className: theme(null, className),\n 'data-component': 'icon',\n ...rest,\n };\n let Child: ElementType | undefined;\n let resolvedName = `${name}Icon`;\n\n if (\n size === 'medium' &&\n resolvedName &&\n (icons20[resolvedName as keyof typeof icons20] as unknown)\n ) {\n Child = icons20[resolvedName as keyof typeof icons20] as ElementType;\n }\n\n if (\n size === 'small' &&\n resolvedName &&\n (icons16[resolvedName as keyof typeof icons16] as unknown)\n ) {\n Child = icons16[resolvedName as keyof typeof icons16] as ElementType;\n }\n\n if (\n size === 'large' &&\n resolvedName &&\n (icons24[resolvedName as keyof typeof icons24] as unknown)\n ) {\n Child = icons24[resolvedName as keyof typeof icons24] as ElementType;\n }\n\n return createElement(Component, props, (Child ? <Child /> : children) as ReactNode);\n },\n);\n\nexport const iconTheme: ComponentTheme<typeof useIconTheme> = {\n className: 'inline-block shrink-0 *:w-full *:h-full data-[icon]:-mx-1 select-none',\n variants: {\n size: {\n small: 'size-4',\n medium: 'size-5',\n large: 'size-6',\n },\n variant: {\n default: '',\n light: 'text-neutral-200',\n },\n },\n};\n"],
5
+ "mappings": ";AAoFoD;AApFpD,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB;AAAA,EAEE;AAAA,OAKK;AAEP;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,kBAAiB;AAElB,aAAM,eAAe,qBAAqB,QAAQ;AAAA,EACvD,UAAU;AAAA,IACR,MAAM,CAAC,SAAS,UAAU,OAAO;AAAA,IACjC,SAAS,CAAC,WAAW,OAAO;AAAA,EAC9B;AACF,CAAC;AAED,MAAM,eAAe;AAWd,aAAM,OAAO;AAAA,EAClB,CACE;AAAA,IACE,OAAO;AAAA,IACP,UAAU;AAAA,IACV,IAAI,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,QAAI,QAAQ,aAAa,EAAC,MAAM,QAAO,CAAC;AACxC,QAAI,QAAiC;AAAA,MACnC;AAAA,MACA,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AACA,QAAI;AACJ,QAAI,eAAe,GAAG,IAAI;AAE1B,QACE,SAAS,YACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,cAAQ,QAAQ,YAAoC;AAAA,IACtD;AAEA,QACE,SAAS,WACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,cAAQ,QAAQ,YAAoC;AAAA,IACtD;AAEA,QACE,SAAS,WACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,cAAQ,QAAQ,YAAoC;AAAA,IACtD;AAEA,WAAO,cAAc,WAAW,OAAQ,QAAQ,oBAAC,SAAM,IAAK,QAAsB;AAAA,EACpF;AACF;AAEO,aAAM,YAAiD;AAAA,EAC5D,WAAW;AAAA,EACX,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ import { type ComponentPropsWithoutRef, type ComponentType, type ElementType, type Ref } from 'react';
2
+ import { type ComponentProps, type ComponentTheme } from '../theme/internals.js';
3
+ export declare const useInputTheme: ((themeProps: {
4
+ readonly disabled: boolean;
5
+ }) => {
6
+ input: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
7
+ icon: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
8
+ root: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
9
+ clearButton: (baseClassName?: import("../theme/internals.js").ClassName, overrideClassName?: import("../theme/internals.js").ClassName) => string;
10
+ }) & {
11
+ componentThemeName: "Input";
12
+ themeDefinition: {
13
+ readonly variants: {
14
+ readonly disabled: [true, false];
15
+ };
16
+ readonly elements: ["root", "input", "icon", "clearButton"];
17
+ };
18
+ };
19
+ export type InputProps<T extends ElementType> = ComponentProps<typeof useInputTheme> & ComponentPropsWithoutRef<T> & {
20
+ as?: T | undefined;
21
+ name?: string | undefined;
22
+ className?: string | undefined;
23
+ icon?: ComponentType<object> | string | undefined;
24
+ showClearButton?: boolean | undefined;
25
+ };
26
+ export declare const Input: <T extends ElementType = "input">(props: Partial<import("@jakubmazanec/ts-utils").Writable<{
27
+ readonly disabled: boolean;
28
+ }>> & import("react").PropsWithoutRef<import("react").ComponentProps<T>> & {
29
+ as?: T | undefined;
30
+ name?: string | undefined;
31
+ className?: string | undefined;
32
+ icon?: ComponentType<object> | string | undefined;
33
+ showClearButton?: boolean | undefined;
34
+ } & {
35
+ ref?: Ref<HTMLElement> | undefined;
36
+ }) => import("react").ReactNode;
37
+ export declare const inputTheme: ComponentTheme<typeof useInputTheme>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { getInputProps } from "@conform-to/react";
4
+ import { Input as HeadlessInput } from "@headlessui/react";
5
+ import {
6
+ useCallback,
7
+ useImperativeHandle,
8
+ useRef
9
+ } from "react";
10
+ import {
11
+ createComponentTheme
12
+ } from "../theme/internals.js";
13
+ import { Icon } from "./Icon.js";
14
+ import { forwardRef } from "./internals.js";
15
+ import { useField } from "./useField.js";
16
+ import { useFieldName } from "./useFieldName.js";
17
+ export const useInputTheme = createComponentTheme("Input", {
18
+ variants: {
19
+ disabled: [true, false]
20
+ },
21
+ elements: ["root", "input", "icon", "clearButton"]
22
+ });
23
+ const INPUT_ELEMENT = "input";
24
+ export const Input = forwardRef(
25
+ ({
26
+ disabled = false,
27
+ as = INPUT_ELEMENT,
28
+ name,
29
+ className,
30
+ icon: IconComponent,
31
+ showClearButton = false,
32
+ ...rest
33
+ }, ref) => {
34
+ let theme = useInputTheme({ disabled });
35
+ let fieldName = useFieldName();
36
+ let field = useField();
37
+ let inputRef = useRef();
38
+ useImperativeHandle(ref, () => {
39
+ if (inputRef.current) {
40
+ return inputRef.current;
41
+ }
42
+ return {};
43
+ });
44
+ let handleClear = useCallback(() => {
45
+ if (inputRef.current) {
46
+ inputRef.current.value = "";
47
+ inputRef.current.dispatchEvent(new Event("input", { bubbles: true }));
48
+ }
49
+ }, []);
50
+ let rootProps = {
51
+ className: theme.root("relative", className),
52
+ "data-component": "input"
53
+ };
54
+ let inputProps = {
55
+ as,
56
+ ref: inputRef,
57
+ disabled,
58
+ name: field?.name ?? fieldName ?? name,
59
+ className: theme.input(),
60
+ size: 1,
61
+ // so the input default width without styling is small
62
+ ...rest
63
+ };
64
+ let iconProps = {
65
+ className: theme.icon("absolute")
66
+ };
67
+ let clearButtonProps = {
68
+ className: theme.clearButton("absolute")
69
+ };
70
+ if (IconComponent) {
71
+ rootProps["data-icon"] = "";
72
+ }
73
+ if (showClearButton) {
74
+ rootProps["data-clear-button"] = "";
75
+ }
76
+ if (field) {
77
+ let { key, ...restProps } = getInputProps(field, { type: "text" });
78
+ inputProps = { ...restProps, ...inputProps };
79
+ }
80
+ return /* @__PURE__ */ jsxs("span", { ...rootProps, children: [
81
+ /* @__PURE__ */ jsx(HeadlessInput, { ...inputProps }),
82
+ IconComponent ? /* @__PURE__ */ jsx("span", { ...iconProps, children: typeof IconComponent === "string" ? /* @__PURE__ */ jsx(Icon, { name: IconComponent }) : /* @__PURE__ */ jsx(Icon, { size: "large", children: /* @__PURE__ */ jsx(IconComponent, {}) }) }) : null,
83
+ showClearButton ? /* @__PURE__ */ jsx("span", { ...clearButtonProps, onClick: handleClear, children: /* @__PURE__ */ jsx(Icon, { name: "XMark" }) }) : null
84
+ ] });
85
+ }
86
+ );
87
+ export const inputTheme = {
88
+ classNames: {
89
+ root: "group flex w-full items-center rounded-2 border-2 border-neutral-100 hover:border-neutral-200 px-2.5 h-9 bg-white shadow-inner transition-colors",
90
+ input: "p-0 focus-visible:outline-none w-full group-data-[icon]:pl-6 group-data-[clear-button]:pr-4 bg-transparent font-sans text-sm",
91
+ icon: "size-6 left-[0.3125rem] top-[0.3125rem] text-neutral-300",
92
+ clearButton: "text-neutral-500 size-5 right-2 cursor-pointer"
93
+ },
94
+ variants: {
95
+ disabled: {
96
+ true: {
97
+ root: "border-neutral-100 text-neutral-200 cursor-not-allowed",
98
+ input: "",
99
+ icon: "",
100
+ clearButton: ""
101
+ },
102
+ false: {
103
+ root: "",
104
+ input: "",
105
+ icon: "",
106
+ clearButton: ""
107
+ }
108
+ }
109
+ }
110
+ };
111
+ //# sourceMappingURL=Input.js.map