@jakubmazanec/ui 0.6.0-unstable.f507ff42 → 0.6.0

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 (279) hide show
  1. package/README.md +1 -1
  2. package/build/components/Button.js +0 -1
  3. package/build/components/Button.js.map +1 -1
  4. package/build/components/Card.js +0 -1
  5. package/build/components/Card.js.map +1 -1
  6. package/build/components/Checkbox.js +0 -1
  7. package/build/components/Checkbox.js.map +1 -1
  8. package/build/components/CheckboxField.js +0 -1
  9. package/build/components/CheckboxField.js.map +1 -1
  10. package/build/components/Combobox.js +0 -1
  11. package/build/components/Combobox.js.map +1 -1
  12. package/build/components/ComboboxOption.js +0 -1
  13. package/build/components/ComboboxOption.js.map +1 -1
  14. package/build/components/ComponentRef.js +0 -1
  15. package/build/components/Container.js +0 -1
  16. package/build/components/Container.js.map +1 -1
  17. package/build/components/Description.js +0 -1
  18. package/build/components/Description.js.map +1 -1
  19. package/build/components/Dialog.js +0 -1
  20. package/build/components/Dialog.js.map +1 -1
  21. package/build/components/DialogPanel.js +0 -1
  22. package/build/components/DialogPanel.js.map +1 -1
  23. package/build/components/DialogTitle.js +0 -1
  24. package/build/components/DialogTitle.js.map +1 -1
  25. package/build/components/Error.js +0 -1
  26. package/build/components/Error.js.map +1 -1
  27. package/build/components/Field.js +0 -1
  28. package/build/components/Field.js.map +1 -1
  29. package/build/components/Fieldset.js +0 -1
  30. package/build/components/Fieldset.js.map +1 -1
  31. package/build/components/Form.js +0 -1
  32. package/build/components/Form.js.map +1 -1
  33. package/build/components/Heading.js +0 -1
  34. package/build/components/Heading.js.map +1 -1
  35. package/build/components/Icon.js +0 -1
  36. package/build/components/Icon.js.map +1 -1
  37. package/build/components/Input.js +0 -1
  38. package/build/components/Input.js.map +1 -1
  39. package/build/components/Label.js +0 -1
  40. package/build/components/Label.js.map +1 -1
  41. package/build/components/Legend.js +0 -1
  42. package/build/components/Legend.js.map +1 -1
  43. package/build/components/Listbox.js +0 -1
  44. package/build/components/Listbox.js.map +1 -1
  45. package/build/components/ListboxOption.js +0 -1
  46. package/build/components/ListboxOption.js.map +1 -1
  47. package/build/components/Menu.js +0 -1
  48. package/build/components/Menu.js.map +1 -1
  49. package/build/components/MenuButton.js +0 -1
  50. package/build/components/MenuButton.js.map +1 -1
  51. package/build/components/MenuHeading.js +0 -1
  52. package/build/components/MenuHeading.js.map +1 -1
  53. package/build/components/MenuItem.js +0 -1
  54. package/build/components/MenuItem.js.map +1 -1
  55. package/build/components/MenuItems.js +0 -1
  56. package/build/components/MenuItems.js.map +1 -1
  57. package/build/components/MenuSection.js +0 -1
  58. package/build/components/MenuSection.js.map +1 -1
  59. package/build/components/MenuSeparator.js +0 -1
  60. package/build/components/MenuSeparator.js.map +1 -1
  61. package/build/components/Popover.js +0 -1
  62. package/build/components/Popover.js.map +1 -1
  63. package/build/components/PopoverBackdrop.js +0 -1
  64. package/build/components/PopoverBackdrop.js.map +1 -1
  65. package/build/components/PopoverButton.js +0 -1
  66. package/build/components/PopoverButton.js.map +1 -1
  67. package/build/components/PopoverGroup.js +0 -1
  68. package/build/components/PopoverGroup.js.map +1 -1
  69. package/build/components/PopoverPanel.js +0 -1
  70. package/build/components/PopoverPanel.js.map +1 -1
  71. package/build/components/Radio.js +0 -1
  72. package/build/components/Radio.js.map +1 -1
  73. package/build/components/RadioField.js +0 -1
  74. package/build/components/RadioField.js.map +1 -1
  75. package/build/components/RadioGroup.js +0 -1
  76. package/build/components/RadioGroup.js.map +1 -1
  77. package/build/components/Spinner.js +0 -1
  78. package/build/components/Spinner.js.map +1 -1
  79. package/build/components/Table.js +0 -1
  80. package/build/components/Table.js.map +1 -1
  81. package/build/components/TableBody.js +0 -1
  82. package/build/components/TableBody.js.map +1 -1
  83. package/build/components/TableCaption.js +0 -1
  84. package/build/components/TableCaption.js.map +1 -1
  85. package/build/components/TableCell.js +0 -1
  86. package/build/components/TableCell.js.map +1 -1
  87. package/build/components/TableFoot.js +0 -1
  88. package/build/components/TableFoot.js.map +1 -1
  89. package/build/components/TableHead.js +0 -1
  90. package/build/components/TableHead.js.map +1 -1
  91. package/build/components/TableHeader.js +0 -1
  92. package/build/components/TableHeader.js.map +1 -1
  93. package/build/components/TableRow.js +0 -1
  94. package/build/components/TableRow.js.map +1 -1
  95. package/build/components/Text.js +0 -1
  96. package/build/components/Text.js.map +1 -1
  97. package/build/components/Textarea.js +0 -1
  98. package/build/components/Textarea.js.map +1 -1
  99. package/build/components/data-table/DataTable.js +0 -1
  100. package/build/components/data-table/DataTable.js.map +1 -1
  101. package/build/components/data-table/DataTableColumnOrder.js +0 -1
  102. package/build/components/data-table/DataTableColumnOrder.js.map +1 -1
  103. package/build/components/data-table/DataTableColumnPinning.js +0 -1
  104. package/build/components/data-table/DataTableColumnPinning.js.map +1 -1
  105. package/build/components/data-table/DataTableColumnVisibility.js +0 -1
  106. package/build/components/data-table/DataTableColumnVisibility.js.map +1 -1
  107. package/build/components/data-table/DataTableFaceting.js +0 -1
  108. package/build/components/data-table/DataTableFaceting.js.map +1 -1
  109. package/build/components/data-table/DataTableFilters.js +0 -1
  110. package/build/components/data-table/DataTableFilters.js.map +1 -1
  111. package/build/components/data-table/DataTablePagination.js +0 -1
  112. package/build/components/data-table/DataTablePagination.js.map +1 -1
  113. package/build/components/data-table/DataTableSearch.js +0 -1
  114. package/build/components/data-table/DataTableSearch.js.map +1 -1
  115. package/build/components/data-table/DataTableSorting.js +0 -1
  116. package/build/components/data-table/DataTableSorting.js.map +1 -1
  117. package/build/components/data-table/internals/DataTableFilter.js +0 -1
  118. package/build/components/data-table/internals/DataTableFilter.js.map +1 -1
  119. package/build/components/data-table/internals/DataTableFilters.js +0 -1
  120. package/build/components/data-table/internals/DataTableFilters.js.map +1 -1
  121. package/build/components/data-table/internals/DataTableHeader.js +0 -1
  122. package/build/components/data-table/internals/DataTableHeader.js.map +1 -1
  123. package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.js +0 -1
  124. package/build/components/data-table/internals/DataTableHeaderColumnCheckbox.js.map +1 -1
  125. package/build/components/data-table/internals/DataTableHeaderFilter.js +0 -1
  126. package/build/components/data-table/internals/DataTableHeaderFilter.js.map +1 -1
  127. package/build/components/data-table/internals/DataTableMenu.js +0 -1
  128. package/build/components/data-table/internals/DataTableMenu.js.map +1 -1
  129. package/build/components/data-table/internals/DataTablePageButton.js +0 -1
  130. package/build/components/data-table/internals/DataTablePageButton.js.map +1 -1
  131. package/build/components/data-table/internals/DataTablePagination.js +0 -1
  132. package/build/components/data-table/internals/DataTablePagination.js.map +1 -1
  133. package/build/components/data-table/internals/DataTableRow.js +0 -1
  134. package/build/components/data-table/internals/DataTableRow.js.map +1 -1
  135. package/build/components/data-table/internals/DataTableSearch.js +0 -1
  136. package/build/components/data-table/internals/DataTableSearch.js.map +1 -1
  137. package/build/components/data-table/internals/DataTableSetting.js +0 -1
  138. package/build/components/data-table/internals/DataTableSetting.js.map +1 -1
  139. package/build/components/data-table/internals/DataTableSettings.js +0 -1
  140. package/build/components/data-table/internals/DataTableSettings.js.map +1 -1
  141. package/build/components/data-table/internals/addFilter.js +0 -1
  142. package/build/components/data-table/internals/addFilter.js.map +1 -1
  143. package/build/components/data-table/internals/constants.js +0 -1
  144. package/build/components/data-table/internals/constants.js.map +1 -1
  145. package/build/components/data-table/internals/fromPinningState.js +0 -1
  146. package/build/components/data-table/internals/fromPinningState.js.map +1 -1
  147. package/build/components/data-table/internals/fuzzyFilter.js +0 -1
  148. package/build/components/data-table/internals/fuzzyFilter.js.map +1 -1
  149. package/build/components/data-table/internals/getCommonPinningClasses.js +0 -1
  150. package/build/components/data-table/internals/getCommonPinningClasses.js.map +1 -1
  151. package/build/components/data-table/internals/getCommonPinningStyles.js +0 -1
  152. package/build/components/data-table/internals/getCommonPinningStyles.js.map +1 -1
  153. package/build/components/data-table/internals/normalizeFilter.js +0 -1
  154. package/build/components/data-table/internals/normalizeFilter.js.map +1 -1
  155. package/build/components/data-table/internals/normalizeFilters.js +0 -1
  156. package/build/components/data-table/internals/normalizeFilters.js.map +1 -1
  157. package/build/components/data-table/internals/normalizeSorting.js +0 -1
  158. package/build/components/data-table/internals/normalizeSorting.js.map +1 -1
  159. package/build/components/data-table/internals/removeFilter.js +0 -1
  160. package/build/components/data-table/internals/removeFilter.js.map +1 -1
  161. package/build/components/data-table/internals.js +0 -1
  162. package/build/components/data-table/internals.js.map +1 -1
  163. package/build/components/data-table.js +0 -1
  164. package/build/components/data-table.js.map +1 -1
  165. package/build/components/internals/FieldContext.js +0 -1
  166. package/build/components/internals/FieldContext.js.map +1 -1
  167. package/build/components/internals/FieldNameContext.js +0 -1
  168. package/build/components/internals/FieldNameContext.js.map +1 -1
  169. package/build/components/internals/FormIdContext.js +0 -1
  170. package/build/components/internals/FormIdContext.js.map +1 -1
  171. package/build/components/internals/filterProps.js +0 -1
  172. package/build/components/internals/filterProps.js.map +1 -1
  173. package/build/components/internals/useFormId.js +0 -1
  174. package/build/components/internals/useFormId.js.map +1 -1
  175. package/build/components/internals.js +0 -1
  176. package/build/components/internals.js.map +1 -1
  177. package/build/components/useField.js +0 -1
  178. package/build/components/useField.js.map +1 -1
  179. package/build/components/useFieldName.js +0 -1
  180. package/build/components/useFieldName.js.map +1 -1
  181. package/build/components/useForm.js +0 -1
  182. package/build/components/useForm.js.map +1 -1
  183. package/build/components.js +0 -1
  184. package/build/components.js.map +1 -1
  185. package/build/development/createTailwindConfig.js +0 -1
  186. package/build/development/createTailwindConfig.js.map +1 -1
  187. package/build/development/createTailwindMerge.js +0 -1
  188. package/build/development/createTailwindMerge.js.map +1 -1
  189. package/build/development/internals/PaletteConfig.js +0 -1
  190. package/build/development/internals/SwatchValue.js +0 -1
  191. package/build/development/internals/clamp.js +0 -1
  192. package/build/development/internals/clamp.js.map +1 -1
  193. package/build/development/internals/constants.js +0 -1
  194. package/build/development/internals/constants.js.map +1 -1
  195. package/build/development/internals/createDisplayColor.js +0 -1
  196. package/build/development/internals/createDisplayColor.js.map +1 -1
  197. package/build/development/internals/createDistributionValues.js +0 -1
  198. package/build/development/internals/createDistributionValues.js.map +1 -1
  199. package/build/development/internals/createHueScale.js +0 -1
  200. package/build/development/internals/createHueScale.js.map +1 -1
  201. package/build/development/internals/createPalette.js +0 -1
  202. package/build/development/internals/createPalette.js.map +1 -1
  203. package/build/development/internals/createSaturationScale.js +0 -1
  204. package/build/development/internals/createSaturationScale.js.map +1 -1
  205. package/build/development/internals/createSwatches.js +0 -1
  206. package/build/development/internals/createSwatches.js.map +1 -1
  207. package/build/development/internals/createTailwindThemeColors.js +0 -1
  208. package/build/development/internals/createTailwindThemeColors.js.map +1 -1
  209. package/build/development/internals/hexToHsl.js +0 -1
  210. package/build/development/internals/hexToHsl.js.map +1 -1
  211. package/build/development/internals/hexToRgb.js +0 -1
  212. package/build/development/internals/hexToRgb.js.map +1 -1
  213. package/build/development/internals/hslToHex.js +0 -1
  214. package/build/development/internals/hslToHex.js.map +1 -1
  215. package/build/development/internals/hslToRgb.js +0 -1
  216. package/build/development/internals/hslToRgb.js.map +1 -1
  217. package/build/development/internals/isHex.js +0 -1
  218. package/build/development/internals/isHex.js.map +1 -1
  219. package/build/development/internals/round.js +0 -1
  220. package/build/development/internals/round.js.map +1 -1
  221. package/build/development/internals/unsignedModulo.js +0 -1
  222. package/build/development/internals/unsignedModulo.js.map +1 -1
  223. package/build/development/internals.js +0 -1
  224. package/build/development/internals.js.map +1 -1
  225. package/build/development.js +0 -1
  226. package/build/development.js.map +1 -1
  227. package/build/main.js +0 -1
  228. package/build/main.js.map +1 -1
  229. package/build/theme/Theme.js +0 -1
  230. package/build/theme/ThemeProvider.js +0 -1
  231. package/build/theme/ThemeProvider.js.map +1 -1
  232. package/build/theme/defaultTheme.js +0 -1
  233. package/build/theme/defaultTheme.js.map +1 -1
  234. package/build/theme/internals/ClassName.js +0 -1
  235. package/build/theme/internals/ComponentProps.js +0 -1
  236. package/build/theme/internals/ComponentTheme.js +0 -1
  237. package/build/theme/internals/ComponentThemeCompoundVariants.js +0 -1
  238. package/build/theme/internals/ComponentThemeDefinition.js +0 -1
  239. package/build/theme/internals/ComponentThemeDefinitionElements.js +0 -1
  240. package/build/theme/internals/ComponentThemeDefinitionVariants.js +0 -1
  241. package/build/theme/internals/ComponentThemeProps.js +0 -1
  242. package/build/theme/internals/ComponentThemeVariants.js +0 -1
  243. package/build/theme/internals/ComponentWithTheme.js +0 -1
  244. package/build/theme/internals/UseComponentTheme.js +0 -1
  245. package/build/theme/internals/UseComponentThemeReturn.js +0 -1
  246. package/build/theme/internals/booleanToString.js +0 -1
  247. package/build/theme/internals/booleanToString.js.map +1 -1
  248. package/build/theme/internals/createComponentTheme.js +0 -1
  249. package/build/theme/internals/createComponentTheme.js.map +1 -1
  250. package/build/theme/internals/createUseComponentThemeReturn.js +0 -1
  251. package/build/theme/internals/createUseComponentThemeReturn.js.map +1 -1
  252. package/build/theme/internals/pickPropertyIfExists.js +0 -1
  253. package/build/theme/internals/pickPropertyIfExists.js.map +1 -1
  254. package/build/theme/internals/themeContext.js +0 -1
  255. package/build/theme/internals/themeContext.js.map +1 -1
  256. package/build/theme/internals/useTheme.js +0 -1
  257. package/build/theme/internals/useTheme.js.map +1 -1
  258. package/build/theme/internals.js +0 -1
  259. package/build/theme/internals.js.map +1 -1
  260. package/build/theme.js +0 -1
  261. package/build/theme.js.map +1 -1
  262. package/build/utilities/WithLocaleOrLocales.js +0 -1
  263. package/build/utilities/formatDateTime.js +0 -1
  264. package/build/utilities/formatDateTime.js.map +1 -1
  265. package/build/utilities/formatNumber.js +0 -1
  266. package/build/utilities/formatNumber.js.map +1 -1
  267. package/build/utilities/internals/cache.js +0 -1
  268. package/build/utilities/internals/cache.js.map +1 -1
  269. package/build/utilities/internals/createCacheKey.js +0 -1
  270. package/build/utilities/internals/createCacheKey.js.map +1 -1
  271. package/build/utilities/internals/getMemoized.js +0 -1
  272. package/build/utilities/internals/getMemoized.js.map +1 -1
  273. package/build/utilities/internals/normalizeLocales.js +0 -1
  274. package/build/utilities/internals/normalizeLocales.js.map +1 -1
  275. package/build/utilities/internals.js +0 -1
  276. package/build/utilities/internals.js.map +1 -1
  277. package/build/utilities.js +0 -1
  278. package/build/utilities.js.map +1 -1
  279. package/package.json +5 -7
package/README.md CHANGED
@@ -21,7 +21,7 @@ It cannot be required from a CommonJS module.
21
21
  #### Prerequisites
22
22
 
23
23
  - Node.js 24 or later
24
- - TypeScript 5 or later
24
+ - TypeScript 6 or later
25
25
 
26
26
  <!-- prerequisites -->
27
27
 
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx, jsxs } from "react/jsx-runtime";
3
2
  import { Button as HeadlessButton } from "@headlessui/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Button.tsx"],
4
4
  "sourcesContent": ["import {Button as HeadlessButton, type ButtonProps as HeadlessButtonProps} from '@headlessui/react';\nimport {\n Children,\n cloneElement,\n type ComponentPropsWithoutRef,\n type ElementType,\n isValidElement,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {Icon} from './Icon.js';\nimport {Spinner} from './Spinner.js';\n\nexport const useButtonTheme = createComponentTheme('Button', {\n variants: {\n variant: ['solid', 'outline', 'text', 'invisible'],\n size: ['small', 'medium', 'large'],\n disabled: [true, false],\n },\n});\n\nconst BUTTON_ELEMENT = 'button';\n\nexport type ButtonProps<T extends ElementType> = ComponentProps<typeof useButtonTheme> &\n ComponentRef<T> &\n Omit<ComponentPropsWithoutRef<T>, 'type'> & {\n as?: T | undefined;\n submit?: boolean | undefined;\n idle?: boolean | undefined;\n autoFocus?: boolean | undefined;\n className?: string | undefined;\n // ref?: Ref<R> | undefined;\n children?: HeadlessButtonProps['children'] | undefined; // sadly, we cannot use `T`'s children type, because Headless UI always, if `children` is function, calls it with its own render props documented here: https://headlessui.com/react/button#using-render-props\n };\n\nexport function Button<T extends ElementType = typeof BUTTON_ELEMENT>({\n variant = 'solid',\n size = 'medium',\n disabled = false,\n as = BUTTON_ELEMENT as T,\n idle = true,\n autoFocus = false,\n submit = false,\n className,\n ref,\n children,\n ...rest\n}: ButtonProps<T>) {\n let theme = useButtonTheme({variant, size, disabled});\n\n let props: Record<string, unknown> = {\n as,\n ref,\n className: theme(disabled ? 'pointer-events-none' : null, className),\n disabled: disabled || (submit && !idle),\n autoFocus,\n 'data-component': 'button',\n ...rest,\n };\n\n if (as === BUTTON_ELEMENT) {\n props.type = 'button';\n }\n\n if (submit) {\n props.type = 'submit';\n }\n\n if (typeof children === 'function') {\n return <HeadlessButton {...props}>{children}</HeadlessButton>;\n }\n\n let enhancedChildren = Children.map(children, (child) => {\n if (isValidElement(child) && (child.type === Icon || child.type === Spinner)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n return cloneElement<any>(child, {'data-slot': 'icon'});\n }\n\n if (!isValidElement(child) && typeof child === 'string') {\n return <span data-slot=\"text\">{child}</span>;\n }\n\n return child;\n });\n\n return (\n <HeadlessButton {...props}>\n {submit && !idle ?\n <Spinner data-icon />\n : null}\n {enhancedChildren}\n </HeadlessButton>\n );\n}\n\nexport const buttonTheme: ComponentTheme<typeof useButtonTheme> = {\n className:\n 'rounded-2 inline-flex items-center justify-center text-nowrap font-sans font-medium text-sm transition-colors',\n variants: {\n variant: {\n solid: 'text-white bg-neutral-900 hover:bg-neutral-800',\n outline: 'text-neutral-950 border-2 border-neutral-100 hover:border-neutral-200',\n text: 'text-neutral-950 border-2 border-transparent hover:border-neutral-200',\n invisible: 'cursor-default text-neutral-200 hover:text-neutral-600 select-none',\n },\n size: {\n small:\n 'text-sm leading-6 px-2.5 h-8 min-w-8 gap-x-1 *:first:data-[slot=icon]:-ml-2 *:last:data-[slot=icon]:-mr-2',\n medium:\n 'leading-6 px-2.5 h-9 min-w-9 gap-x-1 *:first:data-[slot=icon]:-ml-1.5 *:last:data-[slot=icon]:-mr-1.5',\n large:\n 'text-lg leading-6 px-3 h-10 min-w-10 gap-x-1 *:first:data-[slot=icon]:-ml-1 *:last:data-[slot=icon]:-mr-1',\n },\n disabled: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n {\n variant: 'solid',\n size: 'small',\n className: 'px-3',\n },\n {\n variant: 'solid',\n size: 'medium',\n className: 'px-3',\n },\n {\n variant: 'solid',\n size: 'large',\n className: 'px-3.5',\n },\n {\n variant: 'invisible',\n size: 'small',\n className: 'text-xs px-2 h-5 min-w-5',\n },\n {\n variant: 'invisible',\n size: 'medium',\n className: 'px-2 h-6 min-w-6',\n },\n {\n variant: 'invisible',\n size: 'large',\n className: 'px-2 h-7 min-w-7',\n },\n {\n variant: 'solid',\n disabled: true,\n className: 'text-white bg-neutral-200 hover:bg-neutral-200',\n },\n {\n variant: 'outline',\n disabled: true,\n className: 'text-neutral-200 hover:border-neutral-100',\n },\n {\n variant: 'text',\n disabled: true,\n className: 'text-neutral-200 hover:border-transparent',\n },\n {\n variant: 'invisible',\n disabled: true,\n className: 'text-neutral-200 ',\n },\n ],\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import {
3
2
  createElement
4
3
  } from "react";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Card.ts"],
4
4
  "sourcesContent": ["import {\n type ComponentPropsWithoutRef,\n createElement,\n type ElementType,\n type PropsWithChildren,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\n\nexport const useCardTheme = createComponentTheme('Card');\n\nconst CARD_ELEMENT = 'button';\n\nexport type CardProps<T extends ElementType> = ComponentProps<typeof useCardTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren<{\n as?: T | undefined;\n className?: string;\n }>;\n\nexport function Card<T extends ElementType = typeof CARD_ELEMENT>({\n as: Component = CARD_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: CardProps<T>) {\n let theme = useCardTheme();\n let props = {\n ref,\n className: theme(null, className),\n 'data-component': 'card',\n ...rest,\n };\n\n return createElement(Component, props, children);\n}\n\nexport const cardTheme: ComponentTheme<typeof useCardTheme> = {\n className: 'rounded-2 border border-neutral-100 p-4',\n};\n"],
5
- "mappings": ";AAAA;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,aAAM,eAAe,qBAAqB,MAAM;AAEvD,MAAM,eAAe;AAUd,gBAAS,KAAkD;AAAA,EAChE,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,MAAI,QAAQ,aAAa;AACzB,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,YAAiD;AAAA,EAC5D,WAAW;AACb;",
5
+ "mappings": "AAAA;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,aAAM,eAAe,qBAAqB,MAAM;AAEvD,MAAM,eAAe;AAUd,gBAAS,KAAkD;AAAA,EAChE,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,MAAI,QAAQ,aAAa;AACzB,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,YAAiD;AAAA,EAC5D,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import {
4
3
  Checkbox as HeadlessCheckbox
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Checkbox.tsx"],
4
4
  "sourcesContent": ["import {\n Checkbox as HeadlessCheckbox,\n type CheckboxProps as HeadlessCheckboxProps,\n} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, useCallback} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {Icon} from './Icon.js';\nimport {useFormId} from './internals.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useCheckboxTheme = createComponentTheme('Checkbox', {\n variants: {\n disabled: [true, false],\n },\n elements: ['root', 'icon'],\n});\n\nconst CHECKBOX_ELEMENT = 'span';\n\nexport type CheckboxProps<T extends ElementType> = ComponentProps<typeof useCheckboxTheme> &\n ComponentRef<T> &\n Omit<ComponentPropsWithoutRef<T>, 'onChange'> & {\n as?: T | undefined;\n checked?: boolean | undefined;\n indeterminate?: boolean | undefined;\n autoFocus?: boolean | undefined;\n name?: string;\n className?: string;\n onChange?: ((checked: boolean) => void) | undefined;\n };\n\nexport function Checkbox<T extends ElementType = typeof CHECKBOX_ELEMENT>({\n disabled = false,\n as = CHECKBOX_ELEMENT as T,\n checked,\n indeterminate,\n autoFocus,\n name,\n className,\n onChange,\n ref,\n ...rest\n}: CheckboxProps<T>) {\n let theme = useCheckboxTheme({disabled});\n let fieldName = useFieldName();\n let field = useField();\n let formId = useFormId();\n\n let handleChange = useCallback(() => {\n onChange?.(!checked);\n }, [checked, onChange]);\n\n if (field || fieldName) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessCheckboxProps<any> = {\n as,\n ref,\n form: formId,\n name: field?.name ?? fieldName,\n indeterminate,\n autoFocus,\n className: theme.root('relative', className),\n 'data-component': 'checkbox',\n ...rest,\n };\n\n return (\n <HeadlessCheckbox {...props}>\n <span className={theme.icon()}>\n <Icon name=\"Check\" />\n </span>\n </HeadlessCheckbox>\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessCheckboxProps<any> = {\n as,\n ref,\n checked: Boolean(checked),\n name,\n indeterminate,\n autoFocus,\n className: theme.root('relative', className),\n 'data-component': 'checkbox',\n onChange: handleChange,\n ...rest,\n };\n\n return (\n <HeadlessCheckbox {...props}>\n <span className={theme.icon()}>\n <Icon name=\"Check\" />\n </span>\n </HeadlessCheckbox>\n );\n}\n\nexport const checkboxTheme: ComponentTheme<typeof useCheckboxTheme> = {\n classNames: {\n root: 'group/checkbox inline-block size-5 cursor-pointer',\n icon: 'flex justify-content justify-item size-5 *:rounded-2 *:bg-white *:border-2 *:border-neutral-100 *:hover:border-neutral-200 *:shadow-inner *:transition-colors *:text-transparent *:hover:text-neutral-100 group-data-[checked]/checkbox:*:bg-neutral-950 group-data-[checked]/checkbox:*:border-neutral-950 group-data-[checked]/checkbox:*:text-white hover:group-data-[checked]/checkbox:*:border-neutral-950 hover:group-data-[checked]/checkbox:*:text-white',\n },\n variants: {\n disabled: {\n true: {\n root: 'cursor-not-allowed',\n icon: '*:hover:text-transparent *:border-neutral-50 *:hover:border-neutral-50 group-data-[checked]/checkbox:*:bg-neutral-100 group-data-[checked]/checkbox:*:border-neutral-100 group-data-[checked]/checkbox:*:text-white hover:group-data-[checked]/checkbox:*:border-neutral-100 hover:group-data-[checked]/checkbox:*:text-white',\n },\n false: {\n root: '',\n icon: '',\n },\n },\n },\n};\n"],
5
- "mappings": ";AA4EU;AA5EV;AAAA,EACE,YAAY;AAAA,OAEP;AACP,SAAyD,mBAAkB;AAE3E;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AACnB,SAAQ,iBAAgB;AACxB,SAAQ,gBAAe;AACvB,SAAQ,oBAAmB;AAEpB,aAAM,mBAAmB,qBAAqB,YAAY;AAAA,EAC/D,UAAU;AAAA,IACR,UAAU,CAAC,MAAM,KAAK;AAAA,EACxB;AAAA,EACA,UAAU,CAAC,QAAQ,MAAM;AAC3B,CAAC;AAED,MAAM,mBAAmB;AAclB,gBAAS,SAA0D;AAAA,EACxE,WAAW;AAAA,EACX,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqB;AACnB,MAAI,QAAQ,iBAAiB,EAAC,SAAQ,CAAC;AACvC,MAAI,YAAY,aAAa;AAC7B,MAAI,QAAQ,SAAS;AACrB,MAAI,SAAS,UAAU;AAEvB,MAAI,eAAe,YAAY,MAAM;AACnC,eAAW,CAAC,OAAO;AAAA,EACrB,GAAG,CAAC,SAAS,QAAQ,CAAC;AAEtB,MAAI,SAAS,WAAW;AAEtB,QAAIA,SAAoC;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,MAAM,OAAO,QAAQ;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,MAAM,KAAK,YAAY,SAAS;AAAA,MAC3C,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,WACE,oBAAC,oBAAkB,GAAGA,QACpB,8BAAC,UAAK,WAAW,MAAM,KAAK,GAC1B,8BAAC,QAAK,MAAK,SAAQ,GACrB,GACF;AAAA,EAEJ;AAGA,MAAI,QAAoC;AAAA,IACtC;AAAA,IACA;AAAA,IACA,SAAS,QAAQ,OAAO;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,KAAK,YAAY,SAAS;AAAA,IAC3C,kBAAkB;AAAA,IAClB,UAAU;AAAA,IACV,GAAG;AAAA,EACL;AAEA,SACE,oBAAC,oBAAkB,GAAG,OACpB,8BAAC,UAAK,WAAW,MAAM,KAAK,GAC1B,8BAAC,QAAK,MAAK,SAAQ,GACrB,GACF;AAEJ;AAEO,aAAM,gBAAyD;AAAA,EACpE,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;",
5
+ "mappings": "AA4EU;AA5EV;AAAA,EACE,YAAY;AAAA,OAEP;AACP,SAAyD,mBAAkB;AAE3E;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AACnB,SAAQ,iBAAgB;AACxB,SAAQ,gBAAe;AACvB,SAAQ,oBAAmB;AAEpB,aAAM,mBAAmB,qBAAqB,YAAY;AAAA,EAC/D,UAAU;AAAA,IACR,UAAU,CAAC,MAAM,KAAK;AAAA,EACxB;AAAA,EACA,UAAU,CAAC,QAAQ,MAAM;AAC3B,CAAC;AAED,MAAM,mBAAmB;AAclB,gBAAS,SAA0D;AAAA,EACxE,WAAW;AAAA,EACX,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqB;AACnB,MAAI,QAAQ,iBAAiB,EAAC,SAAQ,CAAC;AACvC,MAAI,YAAY,aAAa;AAC7B,MAAI,QAAQ,SAAS;AACrB,MAAI,SAAS,UAAU;AAEvB,MAAI,eAAe,YAAY,MAAM;AACnC,eAAW,CAAC,OAAO;AAAA,EACrB,GAAG,CAAC,SAAS,QAAQ,CAAC;AAEtB,MAAI,SAAS,WAAW;AAEtB,QAAIA,SAAoC;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MACN,MAAM,OAAO,QAAQ;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,MAAM,KAAK,YAAY,SAAS;AAAA,MAC3C,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,WACE,oBAAC,oBAAkB,GAAGA,QACpB,8BAAC,UAAK,WAAW,MAAM,KAAK,GAC1B,8BAAC,QAAK,MAAK,SAAQ,GACrB,GACF;AAAA,EAEJ;AAGA,MAAI,QAAoC;AAAA,IACtC;AAAA,IACA;AAAA,IACA,SAAS,QAAQ,OAAO;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,KAAK,YAAY,SAAS;AAAA,IAC3C,kBAAkB;AAAA,IAClB,UAAU;AAAA,IACV,GAAG;AAAA,EACL;AAEA,SACE,oBAAC,oBAAkB,GAAG,OACpB,8BAAC,UAAK,WAAW,MAAM,KAAK,GAC1B,8BAAC,QAAK,MAAK,SAAQ,GACrB,GACF;AAEJ;AAEO,aAAM,gBAAyD;AAAA,EACpE,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
6
  "names": ["props"]
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import { Field as HeadlessField } from "@headlessui/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/CheckboxField.tsx"],
4
4
  "sourcesContent": ["import {type FieldMetadata, type FieldName} from '@conform-to/react';\nimport {Field as HeadlessField} from '@headlessui/react';\nimport {type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {FieldContext, FieldNameContext} from './internals.js';\n\nexport const useCheckboxFieldTheme = createComponentTheme('CheckboxField');\n\nexport type CheckboxFieldProps = PropsWithChildren<\n ComponentProps<typeof useCheckboxFieldTheme> &\n (\n | {\n className?: string | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n field?: FieldMetadata<any, any> | undefined;\n name?: undefined;\n }\n | {\n className?: string | undefined;\n field?: undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n name?: FieldName<any, any> | string | undefined;\n }\n )\n>;\n\nexport function CheckboxField({field, name, className, children}: CheckboxFieldProps) {\n let theme = useCheckboxFieldTheme();\n\n if (field) {\n return (\n <FieldContext value={field}>\n <HeadlessField className={theme(null, className)} data-component=\"checkbox-field\">\n {children}\n </HeadlessField>\n </FieldContext>\n );\n }\n\n if (name) {\n return (\n <FieldNameContext value={name}>\n <HeadlessField className={theme(null, className)} data-component=\"checkbox-field\">\n {children}\n </HeadlessField>\n </FieldNameContext>\n );\n }\n\n return <HeadlessField className={theme(null, className)}>{children}</HeadlessField>;\n}\n\nexport const checkboxFieldTheme: ComponentTheme<typeof useCheckboxFieldTheme> = {\n className:\n 'grid grid-cols-[theme(spacing.5)_1fr] gap-x-2 gap-y-1 [&>[data-component=description]]:col-start-2',\n};\n"],
5
- "mappings": ";AAqCQ;AApCR,SAAQ,SAAS,qBAAoB;AAGrC;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,cAAc,wBAAuB;AAEtC,aAAM,wBAAwB,qBAAqB,eAAe;AAoBlE,gBAAS,cAAc,EAAC,OAAO,MAAM,WAAW,SAAQ,GAAuB;AACpF,MAAI,QAAQ,sBAAsB;AAElC,MAAI,OAAO;AACT,WACE,oBAAC,gBAAa,OAAO,OACnB,8BAAC,iBAAc,WAAW,MAAM,MAAM,SAAS,GAAG,kBAAe,kBAC9D,UACH,GACF;AAAA,EAEJ;AAEA,MAAI,MAAM;AACR,WACE,oBAAC,oBAAiB,OAAO,MACvB,8BAAC,iBAAc,WAAW,MAAM,MAAM,SAAS,GAAG,kBAAe,kBAC9D,UACH,GACF;AAAA,EAEJ;AAEA,SAAO,oBAAC,iBAAc,WAAW,MAAM,MAAM,SAAS,GAAI,UAAS;AACrE;AAEO,aAAM,qBAAmE;AAAA,EAC9E,WACE;AACJ;",
5
+ "mappings": "AAqCQ;AApCR,SAAQ,SAAS,qBAAoB;AAGrC;AAAA,EAGE;AAAA,OACK;AACP,SAAQ,cAAc,wBAAuB;AAEtC,aAAM,wBAAwB,qBAAqB,eAAe;AAoBlE,gBAAS,cAAc,EAAC,OAAO,MAAM,WAAW,SAAQ,GAAuB;AACpF,MAAI,QAAQ,sBAAsB;AAElC,MAAI,OAAO;AACT,WACE,oBAAC,gBAAa,OAAO,OACnB,8BAAC,iBAAc,WAAW,MAAM,MAAM,SAAS,GAAG,kBAAe,kBAC9D,UACH,GACF;AAAA,EAEJ;AAEA,MAAI,MAAM;AACR,WACE,oBAAC,oBAAiB,OAAO,MACvB,8BAAC,iBAAc,WAAW,MAAM,MAAM,SAAS,GAAG,kBAAe,kBAC9D,UACH,GACF;AAAA,EAEJ;AAEA,SAAO,oBAAC,iBAAc,WAAW,MAAM,MAAM,SAAS,GAAI,UAAS;AACrE;AAEO,aAAM,qBAAmE;AAAA,EAC9E,WACE;AACJ;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx, jsxs } from "react/jsx-runtime";
3
2
  import {
4
3
  Combobox as HeadlessCombobox,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Combobox.tsx"],
4
4
  "sourcesContent": ["import {\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 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 {type ComponentRef} from './ComponentRef.js';\nimport {Icon} from './Icon.js';\nimport {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> = ComponentProps<typeof useComboboxTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren &\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 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\nexport function Combobox<\n T extends ElementType = typeof COMBOBOX_ELEMENT,\n 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 ref,\n children,\n ...rest\n}: ComboboxProps<T, V>) {\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 .replaceAll(/\\s+/g, '')\n .includes(query.toLowerCase().replaceAll(/\\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 .replaceAll(/\\s+/g, '')\n .includes(query.toLowerCase().replaceAll(/\\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 ?? undefined,\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 displayValue={displayValue}\n size={1} // so the input default width without styling is small\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 anchor=\"bottom start\" className={theme.options()}>\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 anchor=\"bottom start\" className={theme.options()}>\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 anchor=\"bottom start\" className={theme.options()}>\n {customValue && query.length ?\n <ComboboxOption value={query}>{query}</ComboboxOption>\n : null}\n {filteredChildren}\n </HeadlessComboboxOptions>\n : null}\n </HeadlessCombobox>\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-neutral-100 hover:border-neutral-200 bg-white px-2.5 h-9 pr-9 gap-x-2 transition-colors shadow-inner font-sans text-sm',\n icon: 'text-neutral-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-neutral-100 hover:border-neutral-200 bg-white text-left w-[var(--input-width)] [--anchor-gap:var(--spacing)] [--anchor-padding:calc(var(--spacing)*2)] [scrollbar-width:thin] empty:invisible transition-colors',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-neutral-100 text-neutral-200 cursor-not-allowed',\n input: '',\n icon: 'text-neutral-200',\n options: 'border-neutral-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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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx, jsxs } from "react/jsx-runtime";
3
2
  import {
4
3
  ComboboxOption as HeadlessComboboxOption
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/ComboboxOption.tsx"],
4
4
  "sourcesContent": ["import {\n ComboboxOption as HeadlessComboboxOption,\n type ComboboxOptionProps as HeadlessComboboxOptionProps,\n} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {Icon} from './Icon.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> = ComponentProps<typeof useComboboxOptionTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n value: V;\n className?: string;\n };\n\nexport function ComboboxOption<\n T extends ElementType = typeof LISTBOX_OPTION_ELEMENT,\n V extends boolean | number | string = string,\n>({\n disabled = false,\n as = LISTBOX_OPTION_ELEMENT as T,\n value,\n className,\n children,\n ref,\n ...rest\n}: ComboboxOptionProps<T, V>) {\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\nexport const comboboxOptionTheme: ComponentTheme<typeof useComboboxOptionTheme> = {\n classNames: {\n root: 'relative group/option p-1 pr-6 rounded-1 hover:bg-neutral-50 data-[active]:bg-neutral-50 text-sm transition-colors',\n icon: 'hidden group-data-[selected]/option:block right-1 top-1 text-neutral-500',\n },\n variants: {\n disabled: {\n true: {\n root: 'text-neutral-200 cursor-not-allowed',\n icon: 'text-neutral-200',\n },\n false: {\n root: '',\n icon: '',\n },\n },\n },\n};\n"],
5
- "mappings": ";AA2DI,SAEI,KAFJ;AA3DJ;AAAA,EACE,kBAAkB;AAAA,OAEb;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AAEZ,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,gBAAS,eAGd;AAAA,EACA,WAAW;AAAA,EACX,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,MAAI,QAAQ,uBAAuB,EAAC,SAAQ,CAAC;AAG7C,MAAI,QAA+C;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,KAAK,kBAAkB,SAAS;AAAA,IACjD,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SACE,qBAAC,0BAAwB,GAAG,OAC1B;AAAA,wBAAC,UAAK,WAAW,MAAM,KAAK,UAAU,GACpC,8BAAC,QAAK,MAAK,SAAQ,GACrB;AAAA,IACC;AAAA,KACH;AAEJ;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;",
5
+ "mappings": "AA2DI,SAEI,KAFJ;AA3DJ;AAAA,EACE,kBAAkB;AAAA,OAEb;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AAEZ,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,gBAAS,eAGd;AAAA,EACA,WAAW;AAAA,EACX,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,MAAI,QAAQ,uBAAuB,EAAC,SAAQ,CAAC;AAG7C,MAAI,QAA+C;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,KAAK,kBAAkB,SAAS;AAAA,IACjD,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SACE,qBAAC,0BAAwB,GAAG,OAC1B;AAAA,wBAAC,UAAK,WAAW,MAAM,KAAK,UAAU,GACpC,8BAAC,QAAK,MAAK,SAAQ,GACrB;AAAA,IACC;AAAA,KACH;AAEJ;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
6
  "names": []
7
7
  }
@@ -1,2 +1 @@
1
- "use strict";
2
1
  //# sourceMappingURL=ComponentRef.js.map
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import {
3
2
  createElement
4
3
  } from "react";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Container.ts"],
4
4
  "sourcesContent": ["import {\n type ComponentPropsWithoutRef,\n createElement,\n type ElementType,\n type PropsWithChildren,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\n\nexport const useContainerTheme = createComponentTheme('Container', {\n variants: {\n spacing: ['extra-small', 'small', 'medium', 'large'],\n direction: ['row', 'column'],\n justify: ['normal', 'center', 'spaced', 'start', 'end'],\n align: ['normal', 'center'],\n },\n});\n\nconst TEXT_ELEMENT = 'div';\n\nexport type ContainerProps<T extends ElementType> = ComponentProps<typeof useContainerTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string;\n };\n\nexport function Container<T extends ElementType = typeof TEXT_ELEMENT>({\n spacing = 'medium',\n direction = 'row',\n justify = 'normal',\n align = 'normal',\n as: Component = TEXT_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: ContainerProps<T>) {\n let theme = useContainerTheme({spacing, direction, justify, align});\n let props = {\n ref,\n className: theme(null, className),\n 'data-component': 'container',\n ...rest,\n };\n\n return createElement(Component, props, children);\n}\n\nexport const containerTheme: ComponentTheme<typeof useContainerTheme> = {\n className: 'flex',\n variants: {\n spacing: {\n 'extra-small': 'gap-1',\n small: 'gap-2',\n medium: 'gap-4',\n large: 'gap-6',\n },\n direction: {\n row: '',\n column: 'flex-col',\n },\n justify: {\n normal: '',\n center: 'justify-center',\n spaced: 'justify-between',\n start: 'justify-start',\n end: 'justify-end',\n },\n align: {\n normal: '',\n center: 'items-center',\n },\n },\n};\n"],
5
- "mappings": ";AAAA;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,aAAM,oBAAoB,qBAAqB,aAAa;AAAA,EACjE,UAAU;AAAA,IACR,SAAS,CAAC,eAAe,SAAS,UAAU,OAAO;AAAA,IACnD,WAAW,CAAC,OAAO,QAAQ;AAAA,IAC3B,SAAS,CAAC,UAAU,UAAU,UAAU,SAAS,KAAK;AAAA,IACtD,OAAO,CAAC,UAAU,QAAQ;AAAA,EAC5B;AACF,CAAC;AAED,MAAM,eAAe;AAUd,gBAAS,UAAuD;AAAA,EACrE,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAsB;AACpB,MAAI,QAAQ,kBAAkB,EAAC,SAAS,WAAW,SAAS,MAAK,CAAC;AAClE,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,iBAA2D;AAAA,EACtE,WAAW;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,eAAe;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,KAAK;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AACF;",
5
+ "mappings": "AAAA;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,aAAM,oBAAoB,qBAAqB,aAAa;AAAA,EACjE,UAAU;AAAA,IACR,SAAS,CAAC,eAAe,SAAS,UAAU,OAAO;AAAA,IACnD,WAAW,CAAC,OAAO,QAAQ;AAAA,IAC3B,SAAS,CAAC,UAAU,UAAU,UAAU,SAAS,KAAK;AAAA,IACtD,OAAO,CAAC,UAAU,QAAQ;AAAA,EAC5B;AACF,CAAC;AAED,MAAM,eAAe;AAUd,gBAAS,UAAuD;AAAA,EACrE,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAsB;AACpB,MAAI,QAAQ,kBAAkB,EAAC,SAAS,WAAW,SAAS,MAAK,CAAC;AAClE,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,iBAA2D;AAAA,EACtE,WAAW;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,eAAe;AAAA,MACf,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,KAAK;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import {
4
3
  Description as HeadlessDescription
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Description.tsx"],
4
4
  "sourcesContent": ["import {\n Description as HeadlessDescription,\n type DescriptionProps as HeadlessDescriptionProps,\n} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} from './internals.js';\n\nexport const useDescriptionTheme = createComponentTheme('Description');\n\nconst DESCRIPTION_ELEMENT = 'p';\n\nexport type DescriptionProps<T extends ElementType> = ComponentProps<typeof useDescriptionTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string | undefined;\n };\n\nexport function Description<T extends ElementType = typeof DESCRIPTION_ELEMENT>({\n as = DESCRIPTION_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: DescriptionProps<T>) {\n let theme = useDescriptionTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessDescriptionProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n 'data-component': 'description',\n ...rest,\n });\n\n return <HeadlessDescription {...props}>{children}</HeadlessDescription>;\n}\n\nexport const descriptionTheme: ComponentTheme<typeof useDescriptionTheme> = {\n className: 'font-sans text-sm',\n};\n"],
5
- "mappings": ";AA2CS;AA3CT;AAAA,EACE,eAAe;AAAA,OAEV;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,sBAAsB;AAUrB,gBAAS,YAAgE;AAAA,EAC9E,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,MAAI,QAAQ,oBAAoB;AAEhC,MAAI,QAAuC,YAAY;AAAA,IACrD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,uBAAqB,GAAG,OAAQ,UAAS;AACnD;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WAAW;AACb;",
5
+ "mappings": "AA2CS;AA3CT;AAAA,EACE,eAAe;AAAA,OAEV;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,sBAAsB;AAUrB,gBAAS,YAAgE;AAAA,EAC9E,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,MAAI,QAAQ,oBAAoB;AAEhC,MAAI,QAAuC,YAAY;AAAA,IACrD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,uBAAqB,GAAG,OAAQ,UAAS;AACnD;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx, jsxs } from "react/jsx-runtime";
3
2
  import {
4
3
  Dialog as HeadlessDialog,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Dialog.tsx"],
4
4
  "sourcesContent": ["import {\n Dialog as HeadlessDialog,\n DialogBackdrop as HeadlessDialogBackdrop,\n type DialogProps as HeadlessDialogProps,\n} from '@headlessui/react';\nimport {\n type ComponentPropsWithoutRef,\n type ElementType,\n type PropsWithChildren,\n useCallback,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} from './internals.js';\n\nexport const useDialogTheme = createComponentTheme('Dialog', {\n elements: ['root', 'backdrop'],\n});\n\nconst DIALOG_ELEMENT = 'div';\n\nexport type DialogProps<T extends ElementType> = ComponentProps<typeof useDialogTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n open: boolean;\n static?: boolean | undefined;\n autoFocus?: boolean | undefined;\n className?: string;\n onClose?: () => void;\n };\n\nexport function Dialog<T extends ElementType = typeof DIALOG_ELEMENT>({\n as = DIALOG_ELEMENT as T,\n open,\n static: isStatic,\n autoFocus,\n className,\n onClose,\n ref,\n children,\n ...rest\n}: DialogProps<T>) {\n let theme = useDialogTheme();\n\n let handleClose = useCallback(() => {\n onClose?.();\n }, [onClose]);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessDialogProps<any> = filterProps({\n as,\n ref,\n open,\n static: isStatic,\n transition: true,\n onClose: handleClose,\n 'data-component': 'dialog',\n ...rest,\n });\n\n return (\n <HeadlessDialog {...props}>\n <HeadlessDialogBackdrop transition className={theme.backdrop('fixed inset-0')} />\n <div className={theme.root('fixed inset-0', className)}>{children}</div>\n </HeadlessDialog>\n );\n}\n\nexport const dialogTheme: ComponentTheme<typeof useDialogTheme> = {\n classNames: {\n root: 'flex w-screen items-center justify-center p-4 z-30',\n backdrop: 'bg-black/30 z-30',\n },\n};\n"],
5
- "mappings": ";AAoEI,SACE,KADF;AApEJ;AAAA,EACE,UAAU;AAAA,EACV,kBAAkB;AAAA,OAEb;AACP;AAAA,EAIE;AAAA,OACK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,iBAAiB,qBAAqB,UAAU;AAAA,EAC3D,UAAU,CAAC,QAAQ,UAAU;AAC/B,CAAC;AAED,MAAM,iBAAiB;AAchB,gBAAS,OAAsD;AAAA,EACpE,KAAK;AAAA,EACL;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmB;AACjB,MAAI,QAAQ,eAAe;AAE3B,MAAI,cAAc,YAAY,MAAM;AAClC,cAAU;AAAA,EACZ,GAAG,CAAC,OAAO,CAAC;AAGZ,MAAI,QAAkC,YAAY;AAAA,IAChD;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SACE,qBAAC,kBAAgB,GAAG,OAClB;AAAA,wBAAC,0BAAuB,YAAU,MAAC,WAAW,MAAM,SAAS,eAAe,GAAG;AAAA,IAC/E,oBAAC,SAAI,WAAW,MAAM,KAAK,iBAAiB,SAAS,GAAI,UAAS;AAAA,KACpE;AAEJ;AAEO,aAAM,cAAqD;AAAA,EAChE,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;",
5
+ "mappings": "AAoEI,SACE,KADF;AApEJ;AAAA,EACE,UAAU;AAAA,EACV,kBAAkB;AAAA,OAEb;AACP;AAAA,EAIE;AAAA,OACK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,iBAAiB,qBAAqB,UAAU;AAAA,EAC3D,UAAU,CAAC,QAAQ,UAAU;AAC/B,CAAC;AAED,MAAM,iBAAiB;AAchB,gBAAS,OAAsD;AAAA,EACpE,KAAK;AAAA,EACL;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmB;AACjB,MAAI,QAAQ,eAAe;AAE3B,MAAI,cAAc,YAAY,MAAM;AAClC,cAAU;AAAA,EACZ,GAAG,CAAC,OAAO,CAAC;AAGZ,MAAI,QAAkC,YAAY;AAAA,IAChD;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SACE,qBAAC,kBAAgB,GAAG,OAClB;AAAA,wBAAC,0BAAuB,YAAU,MAAC,WAAW,MAAM,SAAS,eAAe,GAAG;AAAA,IAC/E,oBAAC,SAAI,WAAW,MAAM,KAAK,iBAAiB,SAAS,GAAI,UAAS;AAAA,KACpE;AAEJ;AAEO,aAAM,cAAqD;AAAA,EAChE,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import {
4
3
  DialogPanel as HeadlessDialogPanel
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/DialogPanel.tsx"],
4
4
  "sourcesContent": ["import {\n DialogPanel as HeadlessDialogPanel,\n type DialogPanelProps as HeadlessDialogPanelProps,\n} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} from './internals.js';\n\nexport const useDialogPanelTheme = createComponentTheme('DialogPanel');\n\nconst DIALOG_PANEL_ELEMENT = 'div';\n\nexport type DialogPanelProps<T extends ElementType> = ComponentProps<typeof useDialogPanelTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string;\n };\n\nexport function DialogPanel<T extends ElementType = typeof DIALOG_PANEL_ELEMENT>({\n as = DIALOG_PANEL_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: DialogPanelProps<T>) {\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\nexport const dialogPanelTheme: ComponentTheme<typeof useDialogPanelTheme> = {\n className:\n 'shadow-1 relative w-full min-w-[300px] max-w-full lg:max-w-[900px] gap-y-6 rounded-4 bg-white p-6 max-h-full overflow-auto',\n};\n"],
5
- "mappings": ";AA4CS;AA5CT;AAAA,EACE,eAAe;AAAA,OAEV;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,uBAAuB;AAUtB,gBAAS,YAAiE;AAAA,EAC/E,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,MAAI,QAAQ,oBAAoB;AAEhC,MAAI,QAAuC,YAAY;AAAA,IACrD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,uBAAqB,GAAG,OAAQ,UAAS;AACnD;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WACE;AACJ;",
5
+ "mappings": "AA4CS;AA5CT;AAAA,EACE,eAAe;AAAA,OAEV;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,uBAAuB;AAUtB,gBAAS,YAAiE;AAAA,EAC/E,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,MAAI,QAAQ,oBAAoB;AAEhC,MAAI,QAAuC,YAAY;AAAA,IACrD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,uBAAqB,GAAG,OAAQ,UAAS;AACnD;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WACE;AACJ;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import * as react from "@headlessui/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/DialogTitle.tsx"],
4
4
  "sourcesContent": ["import * as react from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} from './internals.js';\n\nexport const useDialogTitleTheme = createComponentTheme('DialogTitle');\n\nconst DIALOG_TITLE_ELEMENT = 'h2';\n\nexport type DialogTitleProps<T extends ElementType> = ComponentProps<typeof useDialogTitleTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string;\n };\n\nexport const DialogTitle = <T extends ElementType = typeof DIALOG_TITLE_ELEMENT>({\n as = DIALOG_TITLE_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: DialogTitleProps<T>) => {\n let theme = useDialogTitleTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: react.DialogTitleProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n 'data-component': 'dialog-title',\n ...rest,\n });\n\n return <react.DialogTitle {...props}>{children}</react.DialogTitle>;\n};\n\nexport const dialogTitleTheme: ComponentTheme<typeof useDialogTitleTheme> = {\n className: 'text-lg font-medium',\n};\n"],
5
- "mappings": ";AAwCS;AAxCT,YAAY,WAAW;AAGvB;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,uBAAuB;AAUtB,aAAM,cAAc,CAAsD;AAAA,EAC/E,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACzB,MAAI,QAAQ,oBAAoB;AAEhC,MAAI,QAAqC,YAAY;AAAA,IACnD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,MAAM,aAAN,EAAmB,GAAG,OAAQ,UAAS;AACjD;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WAAW;AACb;",
5
+ "mappings": "AAwCS;AAxCT,YAAY,WAAW;AAGvB;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,sBAAsB,qBAAqB,aAAa;AAErE,MAAM,uBAAuB;AAUtB,aAAM,cAAc,CAAsD;AAAA,EAC/E,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACzB,MAAI,QAAQ,oBAAoB;AAEhC,MAAI,QAAqC,YAAY;AAAA,IACnD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,MAAM,aAAN,EAAmB,GAAG,OAAQ,UAAS;AACjD;AAEO,aAAM,mBAA+D;AAAA,EAC1E,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import {
4
3
  createElement
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Error.tsx"],
4
4
  "sourcesContent": ["import {\n type ComponentPropsWithoutRef,\n createElement,\n type ElementType,\n type PropsWithChildren,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {Text} from './Text.js';\nimport {useField} from './useField.js';\n\nexport const useErrorTheme = createComponentTheme('Error');\n\nconst ERROR_ELEMENT = 'div';\n\nexport type ErrorProps<T extends ElementType> = ComponentProps<typeof useErrorTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string;\n };\n\nexport function Error<T extends ElementType = typeof ERROR_ELEMENT>({\n as: Component = ERROR_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: ErrorProps<T>) {\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\nexport const errorTheme: ComponentTheme<typeof useErrorTheme> = {\n className: 'flex text-danger-500 empty:hidden',\n};\n"],
5
- "mappings": ";AAgDiD;AAhDjD;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AACnB,SAAQ,gBAAe;AAEhB,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAUf,gBAAS,MAAoD;AAAA,EAClE,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc;AAC1B,MAAI,QAAQ,SAAS;AACrB,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,MAAI,OAAO;AACT,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,MAAM,SAAS,MAAM,OAAO,IAAI,CAAC,UAAU,oBAAC,QAAkB,mBAAR,KAAc,CAAO,IAAI;AAAA,IACjF;AAAA,EACF;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
5
+ "mappings": "AAgDiD;AAhDjD;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AACnB,SAAQ,gBAAe;AAEhB,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAUf,gBAAS,MAAoD;AAAA,EAClE,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc;AAC1B,MAAI,QAAQ,SAAS;AACrB,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,MAAI,OAAO;AACT,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,MAAM,SAAS,MAAM,OAAO,IAAI,CAAC,UAAU,oBAAC,QAAkB,mBAAR,KAAc,CAAO,IAAI;AAAA,IACjF;AAAA,EACF;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import { Field as HeadlessField } from "@headlessui/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Field.tsx"],
4
4
  "sourcesContent": ["import {type FieldMetadata, type FieldName} from '@conform-to/react';\nimport {Field as HeadlessField, type FieldProps as HeadlessFieldProps} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {FieldContext, FieldNameContext, filterProps} from './internals.js';\n\nexport const useFieldTheme = createComponentTheme('Field');\n\nconst FIELD_ELEMENT = 'div';\n\nexport type FieldProps<T extends ElementType> = ComponentProps<typeof useFieldTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren &\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\nexport function Field<T extends ElementType = typeof FIELD_ELEMENT>({\n as = FIELD_ELEMENT as T,\n name,\n field,\n className,\n ref,\n children,\n ...rest\n}: FieldProps<T>) {\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 value={field}>\n <HeadlessField {...props}>{children}</HeadlessField>\n </FieldContext>\n );\n }\n\n if (name) {\n return (\n <FieldNameContext value={name}>\n <HeadlessField {...props}>{children}</HeadlessField>\n </FieldNameContext>\n );\n }\n\n return <HeadlessField {...props}>{children}</HeadlessField>;\n}\n\nexport const fieldTheme: ComponentTheme<typeof useFieldTheme> = {\n className: 'flex flex-col gap-y-2 font-sans',\n};\n"],
5
- "mappings": ";AA2DQ;AA1DR,SAAQ,SAAS,qBAA2D;AAG5E;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,cAAc,kBAAkB,mBAAkB;AAEnD,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAuBf,gBAAS,MAAoD;AAAA,EAClE,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc;AAE1B,MAAI,QAAiC,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,MAAI,OAAO;AACT,WACE,oBAAC,gBAAa,OAAO,OACnB,8BAAC,iBAAe,GAAG,OAAQ,UAAS,GACtC;AAAA,EAEJ;AAEA,MAAI,MAAM;AACR,WACE,oBAAC,oBAAiB,OAAO,MACvB,8BAAC,iBAAe,GAAG,OAAQ,UAAS,GACtC;AAAA,EAEJ;AAEA,SAAO,oBAAC,iBAAe,GAAG,OAAQ,UAAS;AAC7C;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
5
+ "mappings": "AA2DQ;AA1DR,SAAQ,SAAS,qBAA2D;AAG5E;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,cAAc,kBAAkB,mBAAkB;AAEnD,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAuBf,gBAAS,MAAoD;AAAA,EAClE,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc;AAE1B,MAAI,QAAiC,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,MAAI,OAAO;AACT,WACE,oBAAC,gBAAa,OAAO,OACnB,8BAAC,iBAAe,GAAG,OAAQ,UAAS,GACtC;AAAA,EAEJ;AAEA,MAAI,MAAM;AACR,WACE,oBAAC,oBAAiB,OAAO,MACvB,8BAAC,iBAAe,GAAG,OAAQ,UAAS,GACtC;AAAA,EAEJ;AAEA,SAAO,oBAAC,iBAAe,GAAG,OAAQ,UAAS;AAC7C;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import {
4
3
  Fieldset as HeadlessFieldset
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Fieldset.tsx"],
4
4
  "sourcesContent": ["import {\n Fieldset as HeadlessFieldset,\n type FieldsetProps as HeadlessFieldsetProps,\n} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} 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> = ComponentProps<typeof useFieldsetTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string | undefined;\n };\n\nexport function Fieldset<T extends ElementType = typeof FIELDSET_ELEMENT>({\n as = FIELDSET_ELEMENT as T,\n disabled = false,\n className,\n ref,\n children,\n ...rest\n}: FieldsetProps<T>) {\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\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": ";AAiDS;AAjDT;AAAA,EACE,YAAY;AAAA,OAEP;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,mBAAmB,qBAAqB,YAAY;AAAA,EAC/D,UAAU;AAAA,IACR,UAAU,CAAC,MAAM,KAAK;AAAA,EACxB;AACF,CAAC;AAED,MAAM,mBAAmB;AAUlB,gBAAS,SAA0D;AAAA,EACxE,KAAK;AAAA,EACL,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqB;AACnB,MAAI,QAAQ,iBAAiB,EAAC,SAAQ,CAAC;AAEvC,MAAI,QAAoC,YAAY;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,oBAAkB,GAAG,OAAQ,UAAS;AAChD;AAEO,aAAM,iBAA0D;AAAA,EACrE,WACE;AAAA,EACF,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
5
+ "mappings": "AAiDS;AAjDT;AAAA,EACE,YAAY;AAAA,OAEP;AAGP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,mBAAmB,qBAAqB,YAAY;AAAA,EAC/D,UAAU;AAAA,IACR,UAAU,CAAC,MAAM,KAAK;AAAA,EACxB;AACF,CAAC;AAED,MAAM,mBAAmB;AAUlB,gBAAS,SAA0D;AAAA,EACxE,KAAK;AAAA,EACL,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqB;AACnB,MAAI,QAAQ,iBAAiB,EAAC,SAAQ,CAAC;AAEvC,MAAI,QAAoC,YAAY;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,oBAAkB,GAAG,OAAQ,UAAS;AAChD;AAEO,aAAM,iBAA0D;AAAA,EACrE,WACE;AAAA,EACF,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import { FormProvider } from "@conform-to/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Form.tsx"],
4
4
  "sourcesContent": ["import {type FormMetadata, FormProvider} from '@conform-to/react';\nimport {\n type ComponentPropsWithoutRef,\n createElement,\n type ElementType,\n type PropsWithChildren,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {FormIdContext} from './internals.js';\n\nexport const useFormTheme = createComponentTheme('Form');\n\nconst FORM_ELEMENT = 'form';\n\nexport type FormProps<T extends ElementType> = ComponentProps<typeof useFormTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\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\nexport function Form<T extends ElementType = typeof FORM_ELEMENT>({\n as: Component = FORM_ELEMENT as T,\n className,\n form,\n ref,\n children,\n ...rest\n}: FormProps<T>) {\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 value={form.id}>\n <FormProvider context={form.context}>\n {createElement(Component, props, children)}\n </FormProvider>\n </FormIdContext>\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\nexport const formTheme: ComponentTheme<typeof useFormTheme> = {\n className: 'flex flex-col gap-y-6',\n};\n"],
5
- "mappings": ";AAqDQ;AArDR,SAA2B,oBAAmB;AAC9C;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,qBAAoB;AAErB,aAAM,eAAe,qBAAqB,MAAM;AAEvD,MAAM,eAAe;AAYd,gBAAS,KAAkD;AAAA,EAChE,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,MAAI,QAAQ,aAAa;AAEzB,MAAI,MAAM;AACR,QAAIA,SAAQ;AAAA,MACV;AAAA,MACA,IAAI,KAAK;AAAA,MACT,QAAQ;AAAA,MACR,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,UAAU,KAAK;AAAA,MACf,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,WACE,oBAAC,iBAAc,OAAO,KAAK,IACzB,8BAAC,gBAAa,SAAS,KAAK,SACzB,wBAAc,WAAWA,QAAO,QAAQ,GAC3C,GACF;AAAA,EAEJ;AAEA,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,IACR,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,YAAiD;AAAA,EAC5D,WAAW;AACb;",
5
+ "mappings": "AAqDQ;AArDR,SAA2B,oBAAmB;AAC9C;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,qBAAoB;AAErB,aAAM,eAAe,qBAAqB,MAAM;AAEvD,MAAM,eAAe;AAYd,gBAAS,KAAkD;AAAA,EAChE,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,MAAI,QAAQ,aAAa;AAEzB,MAAI,MAAM;AACR,QAAIA,SAAQ;AAAA,MACV;AAAA,MACA,IAAI,KAAK;AAAA,MACT,QAAQ;AAAA,MACR,WAAW,MAAM,MAAM,SAAS;AAAA,MAChC,UAAU,KAAK;AAAA,MACf,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACL;AAEA,WACE,oBAAC,iBAAc,OAAO,KAAK,IACzB,8BAAC,gBAAa,SAAS,KAAK,SACzB,wBAAc,WAAWA,QAAO,QAAQ,GAC3C,GACF;AAAA,EAEJ;AAEA,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,IACR,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,SAAO,cAAc,WAAW,OAAO,QAAQ;AACjD;AAEO,aAAM,YAAiD;AAAA,EAC5D,WAAW;AACb;",
6
6
  "names": ["props"]
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import {
3
2
  createElement
4
3
  } from "react";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Heading.ts"],
4
4
  "sourcesContent": ["import {\n type ComponentPropsWithoutRef,\n createElement,\n type ElementType,\n type PropsWithChildren,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\n\nexport const useHeadingTheme = createComponentTheme('Heading', {\n variants: {\n size: ['small', 'medium', 'large'],\n },\n});\n\nconst HEADING_ELEMENT = 'h1';\n\nexport type HeadingProps<T extends ElementType> = ComponentProps<typeof useHeadingTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string;\n };\n\nexport function Heading<T extends ElementType = typeof HEADING_ELEMENT>({\n size = 'medium',\n as: Component,\n className,\n ref,\n children,\n ...rest\n}: HeadingProps<T>) {\n let theme = useHeadingTheme({size});\n let props = {\n ref,\n className: theme(null, className),\n 'data-component': 'heading',\n ...rest,\n };\n // TODO: is this ok typings-wise? Are types for <h1> and <h2> different?\n let DefaultComponent = HEADING_ELEMENT;\n\n if (size === 'small') {\n DefaultComponent = 'h3';\n }\n\n if (size === 'medium') {\n DefaultComponent = 'h2';\n }\n\n return createElement(Component ?? DefaultComponent, props, children);\n}\n\nexport const headingTheme: ComponentTheme<typeof useHeadingTheme> = {\n className: 'm-0',\n variants: {\n size: {\n small: 'text-lg font-medium',\n medium: 'text-xl font-medium',\n large: 'text-2xl font-medium',\n },\n },\n};\n"],
5
- "mappings": ";AAAA;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,aAAM,kBAAkB,qBAAqB,WAAW;AAAA,EAC7D,UAAU;AAAA,IACR,MAAM,CAAC,SAAS,UAAU,OAAO;AAAA,EACnC;AACF,CAAC;AAED,MAAM,kBAAkB;AAUjB,gBAAS,QAAwD;AAAA,EACtE,OAAO;AAAA,EACP,IAAI;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoB;AAClB,MAAI,QAAQ,gBAAgB,EAAC,KAAI,CAAC;AAClC,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,MAAI,mBAAmB;AAEvB,MAAI,SAAS,SAAS;AACpB,uBAAmB;AAAA,EACrB;AAEA,MAAI,SAAS,UAAU;AACrB,uBAAmB;AAAA,EACrB;AAEA,SAAO,cAAc,aAAa,kBAAkB,OAAO,QAAQ;AACrE;AAEO,aAAM,eAAuD;AAAA,EAClE,WAAW;AAAA,EACX,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
5
+ "mappings": "AAAA;AAAA,EAEE;AAAA,OAGK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,aAAM,kBAAkB,qBAAqB,WAAW;AAAA,EAC7D,UAAU;AAAA,IACR,MAAM,CAAC,SAAS,UAAU,OAAO;AAAA,EACnC;AACF,CAAC;AAED,MAAM,kBAAkB;AAUjB,gBAAS,QAAwD;AAAA,EACtE,OAAO;AAAA,EACP,IAAI;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoB;AAClB,MAAI,QAAQ,gBAAgB,EAAC,KAAI,CAAC;AAClC,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AAEA,MAAI,mBAAmB;AAEvB,MAAI,SAAS,SAAS;AACpB,uBAAmB;AAAA,EACrB;AAEA,MAAI,SAAS,UAAU;AACrB,uBAAmB;AAAA,EACrB;AAEA,SAAO,cAAc,aAAa,kBAAkB,OAAO,QAAQ;AACrE;AAEO,aAAM,eAAuD;AAAA,EAClE,WAAW;AAAA,EACX,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import * as icons16 from "@heroicons/react/16/solid";
4
3
  import * as icons20 from "@heroicons/react/20/solid";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Icon.tsx"],
4
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} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.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> = ComponentProps<typeof useIconTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n name?: string | undefined;\n className?: string | undefined;\n };\n\nexport function Icon<T extends ElementType = typeof ICON_ELEMENT>({\n size = 'medium',\n variant = 'default',\n as: Component = ICON_ELEMENT as T,\n name,\n className,\n ref,\n children,\n ...rest\n}: IconProps<T>) {\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\nexport const iconTheme: ComponentTheme<typeof useIconTheme> = {\n className: 'inline-block shrink-0 *:w-full *:h-full 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": ";AAgFkD;AAhFlD,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB;AAAA,EAEE;AAAA,OAIK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,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,gBAAS,KAAkD;AAAA,EAChE,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,MAAI,QAAQ,aAAa,EAAC,MAAM,QAAO,CAAC;AACxC,MAAI,QAAiC;AAAA,IACnC;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AACA,MAAI;AACJ,MAAI,eAAe,GAAG,IAAI;AAE1B,MACE,SAAS,YACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,YAAQ,QAAQ,YAAoC;AAAA,EACtD;AAEA,MACE,SAAS,WACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,YAAQ,QAAQ,YAAoC;AAAA,EACtD;AAEA,MACE,SAAS,WACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,YAAQ,QAAQ,YAAoC;AAAA,EACtD;AAEA,SAAO,cAAc,WAAW,OAAQ,QAAQ,oBAAC,SAAM,IAAK,QAAsB;AACpF;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;",
5
+ "mappings": "AAgFkD;AAhFlD,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB,YAAY,aAAa;AACzB;AAAA,EAEE;AAAA,OAIK;AAEP;AAAA,EAGE;AAAA,OACK;AAGA,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,gBAAS,KAAkD;AAAA,EAChE,OAAO;AAAA,EACP,UAAU;AAAA,EACV,IAAI,YAAY;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiB;AACf,MAAI,QAAQ,aAAa,EAAC,MAAM,QAAO,CAAC;AACxC,MAAI,QAAiC;AAAA,IACnC;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL;AACA,MAAI;AACJ,MAAI,eAAe,GAAG,IAAI;AAE1B,MACE,SAAS,YACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,YAAQ,QAAQ,YAAoC;AAAA,EACtD;AAEA,MACE,SAAS,WACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,YAAQ,QAAQ,YAAoC;AAAA,EACtD;AAEA,MACE,SAAS,WACT,gBACC,QAAQ,YAAoC,GAC7C;AACA,YAAQ,QAAQ,YAAoC;AAAA,EACtD;AAEA,SAAO,cAAc,WAAW,OAAQ,QAAQ,oBAAC,SAAM,IAAK,QAAsB;AACpF;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
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx, jsxs } from "react/jsx-runtime";
3
2
  import { getInputProps } from "@conform-to/react";
4
3
  import { Input as HeadlessInput } from "@headlessui/react";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Input.tsx"],
4
4
  "sourcesContent": ["import {getInputProps} from '@conform-to/react';\nimport {Input as HeadlessInput} from '@headlessui/react';\nimport {\n type ComponentPropsWithoutRef,\n type ComponentType,\n type ElementType,\n useCallback,\n useImperativeHandle,\n useRef,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {Icon} from './Icon.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useInputTheme = createComponentTheme('Input', {\n variants: {\n disabled: [true, false],\n },\n elements: ['root', 'input', 'icon', 'clearButton'],\n});\n\nconst INPUT_ELEMENT = 'input';\n\nexport type InputProps<T extends ElementType> = ComponentProps<typeof useInputTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> & {\n as?: T | undefined;\n name?: string | undefined;\n className?: string | undefined;\n icon?: ComponentType<object> | string | undefined;\n showClearButton?: boolean | undefined;\n };\n\nexport function Input<T extends ElementType = typeof INPUT_ELEMENT>({\n disabled = false,\n as = INPUT_ELEMENT as T,\n name,\n className,\n icon: IconComponent,\n showClearButton = false,\n ref,\n ...rest\n}: InputProps<T>) {\n let theme = useInputTheme({disabled});\n let fieldName = useFieldName();\n let field = useField();\n let inputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => {\n if (inputRef.current) {\n return inputRef.current;\n }\n\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- false positive\n return {} as HTMLElement;\n });\n\n let handleClear = useCallback(() => {\n if (inputRef.current) {\n inputRef.current.value = '';\n inputRef.current.dispatchEvent(new Event('input', {bubbles: true}));\n }\n }, []);\n\n let rootProps: Record<string, unknown> = {\n className: theme.root('relative', className),\n 'data-component': 'input',\n };\n let inputProps: Record<string, unknown> = {\n as,\n ref: inputRef,\n disabled,\n name: field?.name ?? fieldName ?? name,\n className: theme.input(),\n size: 1, // so the input default width without styling is small\n ...rest,\n };\n let iconProps: Record<string, unknown> = {\n className: theme.icon('absolute'),\n };\n let clearButtonProps: Record<string, unknown> = {\n className: theme.clearButton('absolute'),\n };\n\n if (IconComponent) {\n rootProps['data-icon'] = '';\n }\n\n if (showClearButton) {\n rootProps['data-clear-button'] = '';\n }\n\n if (field) {\n let {key, ...restProps} = getInputProps(field, {type: 'text'});\n\n inputProps = {...restProps, ...inputProps};\n }\n\n return (\n <span {...rootProps}>\n <HeadlessInput {...inputProps} />\n {IconComponent ?\n <span {...iconProps}>\n {typeof IconComponent === 'string' ?\n <Icon name={IconComponent} />\n : <Icon size=\"large\">\n <IconComponent />\n </Icon>\n }\n </span>\n : null}\n {showClearButton ?\n <button type=\"button\" {...clearButtonProps} onClick={handleClear}>\n <Icon name=\"XMark\" />\n </button>\n : null}\n </span>\n );\n}\n\nexport const inputTheme: ComponentTheme<typeof useInputTheme> = {\n classNames: {\n 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 focus-within:outline-solid focus-within:outline-2 focus-within:outline-blue-400/50 focus-within:outline-offset-[calc(var(--spacing)*0.5)]',\n input:\n 'p-0 focus:outline-none w-full group-data-[icon]:pl-6 group-data-[clear-button]:pr-4 bg-transparent font-sans text-sm',\n icon: 'size-6 left-[0.3125rem] top-[0.3125rem] text-neutral-300',\n clearButton: 'rounded-1 text-neutral-500 size-5 right-2 cursor-pointer',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-neutral-100 text-neutral-200 cursor-not-allowed',\n input: '',\n icon: '',\n clearButton: '',\n },\n false: {\n root: '',\n input: '',\n icon: '',\n clearButton: '',\n },\n },\n },\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "AA0GI,SACE,KADF;AA1GJ,SAAQ,qBAAoB;AAC5B,SAAQ,SAAS,qBAAoB;AACrC;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,YAAW;AACnB,SAAQ,gBAAe;AACvB,SAAQ,oBAAmB;AAEpB,aAAM,gBAAgB,qBAAqB,SAAS;AAAA,EACzD,UAAU;AAAA,IACR,UAAU,CAAC,MAAM,KAAK;AAAA,EACxB;AAAA,EACA,UAAU,CAAC,QAAQ,SAAS,QAAQ,aAAa;AACnD,CAAC;AAED,MAAM,gBAAgB;AAYf,gBAAS,MAAoD;AAAA,EAClE,WAAW;AAAA,EACX,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,kBAAkB;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc,EAAC,SAAQ,CAAC;AACpC,MAAI,YAAY,aAAa;AAC7B,MAAI,QAAQ,SAAS;AACrB,MAAI,WAAW,OAAyB,IAAI;AAE5C,sBAAoB,KAAK,MAAM;AAC7B,QAAI,SAAS,SAAS;AACpB,aAAO,SAAS;AAAA,IAClB;AAGA,WAAO,CAAC;AAAA,EACV,CAAC;AAED,MAAI,cAAc,YAAY,MAAM;AAClC,QAAI,SAAS,SAAS;AACpB,eAAS,QAAQ,QAAQ;AACzB,eAAS,QAAQ,cAAc,IAAI,MAAM,SAAS,EAAC,SAAS,KAAI,CAAC,CAAC;AAAA,IACpE;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,MAAI,YAAqC;AAAA,IACvC,WAAW,MAAM,KAAK,YAAY,SAAS;AAAA,IAC3C,kBAAkB;AAAA,EACpB;AACA,MAAI,aAAsC;AAAA,IACxC;AAAA,IACA,KAAK;AAAA,IACL;AAAA,IACA,MAAM,OAAO,QAAQ,aAAa;AAAA,IAClC,WAAW,MAAM,MAAM;AAAA,IACvB,MAAM;AAAA;AAAA,IACN,GAAG;AAAA,EACL;AACA,MAAI,YAAqC;AAAA,IACvC,WAAW,MAAM,KAAK,UAAU;AAAA,EAClC;AACA,MAAI,mBAA4C;AAAA,IAC9C,WAAW,MAAM,YAAY,UAAU;AAAA,EACzC;AAEA,MAAI,eAAe;AACjB,cAAU,WAAW,IAAI;AAAA,EAC3B;AAEA,MAAI,iBAAiB;AACnB,cAAU,mBAAmB,IAAI;AAAA,EACnC;AAEA,MAAI,OAAO;AACT,QAAI,EAAC,KAAK,GAAG,UAAS,IAAI,cAAc,OAAO,EAAC,MAAM,OAAM,CAAC;AAE7D,iBAAa,EAAC,GAAG,WAAW,GAAG,WAAU;AAAA,EAC3C;AAEA,SACE,qBAAC,UAAM,GAAG,WACR;AAAA,wBAAC,iBAAe,GAAG,YAAY;AAAA,IAC9B,gBACC,oBAAC,UAAM,GAAG,WACP,iBAAO,kBAAkB,WACxB,oBAAC,QAAK,MAAM,eAAe,IAC3B,oBAAC,QAAK,MAAK,SACT,8BAAC,iBAAc,GACjB,GAEJ,IACA;AAAA,IACD,kBACC,oBAAC,YAAO,MAAK,UAAU,GAAG,kBAAkB,SAAS,aACnD,8BAAC,QAAK,MAAK,SAAQ,GACrB,IACA;AAAA,KACJ;AAEJ;AAEO,aAAM,aAAmD;AAAA,EAC9D,YAAY;AAAA,IACV,MAAM;AAAA,IACN,OACE;AAAA,IACF,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA,OAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import { Label as HeadlessLabel } from "@headlessui/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Label.tsx"],
4
4
  "sourcesContent": ["import {Label as HeadlessLabel, type LabelProps as HeadlessLabelProps} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} from './internals.js';\n\nexport const useLabelTheme = createComponentTheme('Label');\n\nconst LABEL_ELEMENT = 'label';\n\nexport type LabelProps<T extends ElementType> = ComponentProps<typeof useLabelTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string;\n };\n\nexport function Label<T extends ElementType = typeof LABEL_ELEMENT>({\n as = LABEL_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: LabelProps<T>) {\n let theme = useLabelTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessLabelProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n 'data-component': 'label',\n ...rest,\n });\n\n return <HeadlessLabel {...props}>{children}</HeadlessLabel>;\n}\n\nexport const labelTheme: ComponentTheme<typeof useLabelTheme> = {\n className: 'block cursor-pointer font-sans text-sm font-medium',\n};\n"],
5
- "mappings": ";AAwCS;AAxCT,SAAQ,SAAS,qBAA2D;AAG5E;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAUf,gBAAS,MAAoD;AAAA,EAClE,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc;AAE1B,MAAI,QAAiC,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,iBAAe,GAAG,OAAQ,UAAS;AAC7C;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
5
+ "mappings": "AAwCS;AAxCT,SAAQ,SAAS,qBAA2D;AAG5E;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,gBAAgB,qBAAqB,OAAO;AAEzD,MAAM,gBAAgB;AAUf,gBAAS,MAAoD;AAAA,EAClE,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,MAAI,QAAQ,cAAc;AAE1B,MAAI,QAAiC,YAAY;AAAA,IAC/C;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,iBAAe,GAAG,OAAQ,UAAS;AAC7C;AAEO,aAAM,aAAmD;AAAA,EAC9D,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { jsx } from "react/jsx-runtime";
3
2
  import { Legend as HeadlessLegend } from "@headlessui/react";
4
3
  import {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Legend.tsx"],
4
4
  "sourcesContent": ["import {Legend as HeadlessLegend, type LegendProps as HeadlessLegendProps} from '@headlessui/react';\nimport {type ComponentPropsWithoutRef, type ElementType, type PropsWithChildren} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {filterProps} from './internals.js';\n\nexport const useLegendTheme = createComponentTheme('Legend');\n\nconst LEGEND_ELEMENT = 'div';\n\nexport type LegendProps<T extends ElementType> = ComponentProps<typeof useLegendTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren & {\n as?: T | undefined;\n className?: string | undefined;\n };\n\nexport function Legend<T extends ElementType = typeof LEGEND_ELEMENT>({\n as = LEGEND_ELEMENT as T,\n className,\n ref,\n children,\n ...rest\n}: LegendProps<T>) {\n let theme = useLegendTheme();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessLegendProps<any> = filterProps({\n as,\n ref,\n className: theme(null, className),\n 'data-component': 'legend',\n ...rest,\n });\n\n return <HeadlessLegend {...props}>{children}</HeadlessLegend>;\n}\n\nexport const legendTheme: ComponentTheme<typeof useLegendTheme> = {\n className: 'font-sans font-medium text-sm',\n};\n"],
5
- "mappings": ";AAwCS;AAxCT,SAAQ,UAAU,sBAA8D;AAGhF;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,iBAAiB,qBAAqB,QAAQ;AAE3D,MAAM,iBAAiB;AAUhB,gBAAS,OAAsD;AAAA,EACpE,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmB;AACjB,MAAI,QAAQ,eAAe;AAE3B,MAAI,QAAkC,YAAY;AAAA,IAChD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,kBAAgB,GAAG,OAAQ,UAAS;AAC9C;AAEO,aAAM,cAAqD;AAAA,EAChE,WAAW;AACb;",
5
+ "mappings": "AAwCS;AAxCT,SAAQ,UAAU,sBAA8D;AAGhF;AAAA,EAGE;AAAA,OACK;AAEP,SAAQ,mBAAkB;AAEnB,aAAM,iBAAiB,qBAAqB,QAAQ;AAE3D,MAAM,iBAAiB;AAUhB,gBAAS,OAAsD;AAAA,EACpE,KAAK;AAAA,EACL;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmB;AACjB,MAAI,QAAQ,eAAe;AAE3B,MAAI,QAAkC,YAAY;AAAA,IAChD;AAAA,IACA;AAAA,IACA,WAAW,MAAM,MAAM,SAAS;AAAA,IAChC,kBAAkB;AAAA,IAClB,GAAG;AAAA,EACL,CAAC;AAED,SAAO,oBAAC,kBAAgB,GAAG,OAAQ,UAAS;AAC9C;AAEO,aAAM,cAAqD;AAAA,EAChE,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
2
  import {
4
3
  Listbox as HeadlessListbox,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../source/components/Listbox.tsx"],
4
4
  "sourcesContent": ["import {\n Listbox as HeadlessListbox,\n ListboxButton as HeadlessListboxButton,\n ListboxOptions as HeadlessListboxOptions,\n type ListboxProps as HeadlessListboxProps,\n} from '@headlessui/react';\nimport {\n Children,\n type ComponentPropsWithoutRef,\n type ElementType,\n Fragment,\n type InputEvent,\n type KeyboardEvent,\n type PropsWithChildren,\n type ReactNode,\n useCallback,\n useRef,\n useState,\n} from 'react';\n\nimport {\n type ComponentProps,\n type ComponentTheme,\n createComponentTheme,\n} from '../theme/internals.js';\nimport {type ComponentRef} from './ComponentRef.js';\nimport {Icon} from './Icon.js';\nimport {Input} from './Input.js';\nimport {useFormId} from './internals.js';\nimport {ListboxOption} from './ListboxOption.js';\nimport {useField} from './useField.js';\nimport {useFieldName} from './useFieldName.js';\n\nexport const useListboxTheme = createComponentTheme('Listbox', {\n variants: {disabled: [true, false], invalid: [true, false]},\n elements: ['root', 'label', 'icon', 'options', 'filter'],\n});\n\nconst LISTBOX_ELEMENT = Fragment;\n\nexport type ListboxItem<V> = {\n value: V;\n label: string;\n};\n\nexport type ListboxProps<\n T extends ElementType,\n V extends boolean | number | string,\n> = ComponentProps<typeof useListboxTheme> &\n ComponentPropsWithoutRef<T> &\n ComponentRef<T> &\n PropsWithChildren &\n (\n | {\n as?: T | undefined;\n value?: V[] | undefined;\n defaultValue?: V[] | undefined;\n multiple: true;\n hideSelected?:\n | {\n limit: number;\n message?: string | undefined;\n }\n | undefined;\n items?: Array<ListboxItem<V>> | undefined;\n placeholder?: string;\n name?: string | undefined;\n className?: string | undefined;\n showFilter?: boolean | undefined;\n onChange?: (selectedValue: V[]) => void;\n }\n | {\n as?: T | undefined;\n value?: V | undefined;\n defaultValue?: V | undefined;\n multiple?: false | undefined;\n hideSelected?: never; // must be here so the type of props is correct\n items?: Array<ListboxItem<V>> | undefined;\n placeholder?: string;\n name?: string | undefined;\n className?: string | undefined;\n showFilter?: boolean | undefined;\n onChange?: (selectedValue: V) => void;\n }\n );\n\nexport function Listbox<\n T extends ElementType = typeof LISTBOX_ELEMENT,\n V extends boolean | number | string = string,\n>({\n disabled = false,\n invalid = false,\n as = LISTBOX_ELEMENT as unknown as T,\n value,\n defaultValue,\n multiple,\n hideSelected,\n items,\n placeholder,\n name,\n className,\n showFilter,\n onChange,\n ref,\n children,\n ...rest\n}: ListboxProps<T, V>) {\n let theme = useListboxTheme({disabled, invalid});\n let formId = useFormId();\n let field = useField();\n let fieldName = useFieldName();\n let [query, setQuery] = useState('');\n let inputRef = useRef<HTMLInputElement>(null);\n\n let handleChange = useCallback(\n (selectedValue: V) => {\n onChange?.(selectedValue as V & V[]);\n },\n [onChange],\n );\n\n // hacky solution so the user is able to focus inout used for filtering\n let handleTab = useCallback(\n (event: KeyboardEvent) => {\n if (!showFilter) {\n return;\n }\n\n if (event.key === 'Tab' && document.activeElement !== inputRef.current) {\n event.preventDefault();\n inputRef.current?.focus();\n }\n },\n [showFilter],\n );\n\n let handleQueryChange = useCallback((event: InputEvent<HTMLInputElement>) => {\n setQuery(event.currentTarget.value);\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\n .toLowerCase()\n .replaceAll(/\\s+/g, '')\n .includes(query.toLowerCase().replaceAll(/\\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 .replaceAll(/\\s+/g, '')\n .includes(query.toLowerCase().replaceAll(/\\s+/g, ''))\n ) {\n return true;\n }\n\n return false;\n })\n : children;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- needed\n let props: HeadlessListboxProps<any, any> = {\n as,\n ref,\n name: field?.name ?? fieldName ?? name,\n value: value ?? undefined,\n defaultValue,\n multiple,\n disabled,\n invalid,\n form: formId,\n onChange: handleChange,\n ...rest,\n };\n\n return (\n <HeadlessListbox {...props}>\n <HeadlessListboxButton\n className={theme.root('relative', className)}\n data-component=\"listbox\"\n data-multiple={multiple ? true : null}\n >\n {({value: selectedValue}) => {\n if (!items && !multiple) {\n let selectedItem: ReactNode;\n\n Children.forEach(filteredChildren, (child) => {\n if (!child) {\n return;\n }\n\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n (child.props as Record<string, unknown>).value === selectedValue\n ) {\n selectedItem = (child.props as Record<string, unknown>).children as ReactNode;\n }\n });\n\n return (\n <>\n <span className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}>\n {selectedItem ?? placeholder ?? null}\n </span>\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n } else if (!items && multiple) {\n let itemsHidden = false;\n let selectedItems: ReactNode[] = [];\n\n Children.forEach(filteredChildren, (child) => {\n if (!child) {\n return;\n }\n\n if (\n typeof child === 'object' &&\n 'props' in child &&\n typeof child.props === 'object' &&\n (selectedValue as unknown[]).includes(\n (child.props as Record<string, unknown>).value,\n )\n ) {\n selectedItems.push((child.props as Record<string, unknown>).children as ReactNode);\n }\n });\n\n if (hideSelected && selectedItems.length > hideSelected.limit) {\n selectedItems = selectedItems.slice(0, hideSelected.limit);\n itemsHidden = true;\n }\n\n return (\n <>\n {selectedItems.length ?\n selectedItems.map((selectedItem, index) => (\n <span\n // eslint-disable-next-line react/no-array-index-key -- needed\n key={index}\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {selectedItem}\n </span>\n ))\n : (placeholder ?? null)}\n {itemsHidden ?\n <span\n data-ellipsis\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {hideSelected?.message ?? '\u2026'}\n </span>\n : null}\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n } else if (items && multiple) {\n let itemsHidden = false;\n let selectedItems =\n filteredItems?.filter((item) =>\n Boolean((selectedValue as unknown[] | undefined)?.includes(item.value)),\n ) ?? [];\n\n if (hideSelected && selectedItems.length > hideSelected.limit) {\n selectedItems = selectedItems.slice(0, hideSelected.limit);\n itemsHidden = true;\n }\n\n return (\n <>\n {selectedItems.length ?\n selectedItems.map((selectedItem, index) => (\n <span\n // eslint-disable-next-line react/no-array-index-key -- needed\n key={index}\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {selectedItem.label}\n </span>\n ))\n : (placeholder ?? null)}\n {itemsHidden ?\n <span\n data-ellipsis\n className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}\n >\n {hideSelected?.message ?? '\u2026'}\n </span>\n : null}\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n }\n\n let selectedItem = filteredItems?.find((item) => item.value === selectedValue);\n\n return (\n <>\n <span className={theme.label('overflow-hidden text-ellipsis whitespace-nowrap')}>\n {selectedItem?.label ?? placeholder ?? null}\n </span>\n <span className={theme.icon('absolute')}>\n <Icon name=\"ChevronUpDown\" />\n </span>\n </>\n );\n }}\n </HeadlessListboxButton>\n <HeadlessListboxOptions\n anchor=\"bottom start\"\n className={theme.options()}\n onKeyDown={handleTab}\n >\n {showFilter ?\n <div className={theme.filter()}>\n <Input ref={inputRef} showClearButton value={query} onInput={handleQueryChange} />\n </div>\n : null}\n {items ?\n filteredItems?.map((item) => (\n <ListboxOption key={item.label} value={item.value}>\n {item.label}\n </ListboxOption>\n ))\n : filteredChildren}\n </HeadlessListboxOptions>\n </HeadlessListbox>\n );\n}\n\nexport const listboxTheme: ComponentTheme<typeof useListboxTheme> = {\n classNames: {\n root: 'flex w-full min-w-32 items-center rounded-2 border-2 border-neutral-100 hover:border-neutral-200 bg-white px-2.5 h-9 pr-9 gap-x-2 transition-colors shadow-inner font-sans text-sm',\n label: 'flex gap-x-2',\n icon: 'text-neutral-500 size-5 top-1.5 right-1.5 cursor-pointer',\n options:\n 'flex flex-col gap-y-1 shadow p-1 z-30 rounded-2 border-2 border-neutral-100 hover:border-neutral-200 bg-white text-left w-[var(--button-width)] [--anchor-gap:theme(spacing.1)] [--anchor-padding:theme(spacing.2)] [scrollbar-width:thin] empty:invisible transition-colors',\n filter: '[&>[data-component=input]]:rounded',\n },\n variants: {\n disabled: {\n true: {\n root: 'border-neutral-100 text-neutral-200 cursor-not-allowed',\n label: '',\n icon: 'text-neutral-200',\n options: 'border-neutral-100',\n filter: '',\n },\n false: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n },\n invalid: {\n true: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n false: {\n root: '',\n label: '',\n icon: '',\n options: '',\n filter: '',\n },\n },\n },\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["Fragment", "selectedItem"]
7
7
  }