@spark-ui/components 17.9.0-beta.1 → 17.9.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 (314) hide show
  1. package/dist/FormFieldRequiredIndicator-CEB8Ez-q.js.map +1 -1
  2. package/dist/FormFieldRequiredIndicator-CzdpinIz.mjs.map +1 -1
  3. package/dist/accordion/AccordionItem.d.ts +3 -0
  4. package/dist/accordion/index.js.map +1 -1
  5. package/dist/accordion/index.mjs.map +1 -1
  6. package/dist/alert-dialog/AlertDialogAction.d.ts +3 -0
  7. package/dist/alert-dialog/AlertDialogBody.d.ts +3 -0
  8. package/dist/alert-dialog/AlertDialogCancel.d.ts +3 -0
  9. package/dist/alert-dialog/AlertDialogContent.d.ts +3 -0
  10. package/dist/alert-dialog/AlertDialogDescription.d.ts +3 -0
  11. package/dist/alert-dialog/AlertDialogFooter.d.ts +3 -0
  12. package/dist/alert-dialog/AlertDialogHeader.d.ts +3 -0
  13. package/dist/alert-dialog/AlertDialogOverlay.d.ts +3 -0
  14. package/dist/alert-dialog/AlertDialogPortal.d.ts +3 -0
  15. package/dist/alert-dialog/AlertDialogTitle.d.ts +3 -0
  16. package/dist/alert-dialog/AlertDialogTrigger.d.ts +3 -0
  17. package/dist/alert-dialog/index.js.map +1 -1
  18. package/dist/alert-dialog/index.mjs.map +1 -1
  19. package/dist/avatar/AvatarAction.d.ts +3 -0
  20. package/dist/avatar/AvatarImage.d.ts +3 -0
  21. package/dist/avatar/AvatarOnlineBadge.d.ts +3 -0
  22. package/dist/avatar/AvatarPlaceholder.d.ts +3 -0
  23. package/dist/avatar/AvatarUser.d.ts +3 -0
  24. package/dist/avatar/index.js.map +1 -1
  25. package/dist/avatar/index.mjs.map +1 -1
  26. package/dist/badge/index.js +1 -1
  27. package/dist/badge/index.js.map +1 -1
  28. package/dist/badge/index.mjs +3 -3
  29. package/dist/badge/index.mjs.map +1 -1
  30. package/dist/breadcrumb/BreadcrumbCurrentPage.d.ts +3 -0
  31. package/dist/breadcrumb/BreadcrumbItem.d.ts +3 -0
  32. package/dist/breadcrumb/BreadcrumbLink.d.ts +3 -0
  33. package/dist/breadcrumb/BreadcrumbSeparator.d.ts +3 -0
  34. package/dist/breadcrumb/index.js +1 -1
  35. package/dist/breadcrumb/index.js.map +1 -1
  36. package/dist/breadcrumb/index.mjs +1 -1
  37. package/dist/breadcrumb/index.mjs.map +1 -1
  38. package/dist/card/Backdrop.d.ts +17 -0
  39. package/dist/card/Content.d.ts +3 -0
  40. package/dist/card/index.js.map +1 -1
  41. package/dist/card/index.mjs.map +1 -1
  42. package/dist/carousel/CarouselControls.d.ts +3 -0
  43. package/dist/carousel/CarouselNextButton.d.ts +3 -0
  44. package/dist/carousel/CarouselPageIndicator.d.ts +3 -0
  45. package/dist/carousel/CarouselPagePicker.d.ts +3 -0
  46. package/dist/carousel/CarouselPrevButton.d.ts +3 -0
  47. package/dist/carousel/CarouselSlide.d.ts +3 -0
  48. package/dist/carousel/CarouselSlides.d.ts +3 -0
  49. package/dist/carousel/CarouselViewport.d.ts +3 -0
  50. package/dist/carousel/index.js.map +1 -1
  51. package/dist/carousel/index.mjs.map +1 -1
  52. package/dist/chip/ChipClearButton.d.ts +3 -0
  53. package/dist/chip/ChipContent.d.ts +3 -0
  54. package/dist/chip/ChipLeadingIcon.d.ts +3 -0
  55. package/dist/chip/ChipTrailingIcon.d.ts +3 -0
  56. package/dist/chip/index.js.map +1 -1
  57. package/dist/chip/index.mjs.map +1 -1
  58. package/dist/circular-meter/CircularMeterContent.d.ts +3 -0
  59. package/dist/circular-meter/CircularMeterLabel.d.ts +3 -0
  60. package/dist/circular-meter/CircularMeterTrack.d.ts +3 -0
  61. package/dist/circular-meter/CircularMeterValue.d.ts +3 -0
  62. package/dist/circular-meter/index.js.map +1 -1
  63. package/dist/circular-meter/index.mjs.map +1 -1
  64. package/dist/collapsible/Content.d.ts +3 -0
  65. package/dist/collapsible/Trigger.d.ts +3 -0
  66. package/dist/collapsible/index.js.map +1 -1
  67. package/dist/collapsible/index.mjs.map +1 -1
  68. package/dist/combobox/ComboboxClearButton.d.ts +3 -0
  69. package/dist/combobox/ComboboxDisclosure.d.ts +3 -0
  70. package/dist/combobox/ComboboxEmpty.d.ts +3 -0
  71. package/dist/combobox/ComboboxGroup.d.ts +3 -0
  72. package/dist/combobox/ComboboxInput.d.ts +3 -0
  73. package/dist/combobox/ComboboxItem.d.ts +3 -0
  74. package/dist/combobox/ComboboxItemIndicator.d.ts +3 -0
  75. package/dist/combobox/ComboboxItemText.d.ts +3 -0
  76. package/dist/combobox/ComboboxItems.d.ts +3 -0
  77. package/dist/combobox/ComboboxLabel.d.ts +3 -0
  78. package/dist/combobox/ComboboxLeadingIcon.d.ts +3 -0
  79. package/dist/combobox/ComboboxPopover.d.ts +3 -0
  80. package/dist/combobox/ComboboxPortal.d.ts +3 -0
  81. package/dist/combobox/ComboboxSelectedItems.d.ts +3 -0
  82. package/dist/combobox/ComboboxTrigger.d.ts +3 -0
  83. package/dist/combobox/index.js.map +1 -1
  84. package/dist/combobox/index.mjs.map +1 -1
  85. package/dist/dialog/DialogBody.d.ts +3 -0
  86. package/dist/dialog/DialogClose.d.ts +3 -0
  87. package/dist/dialog/DialogContent.d.ts +3 -0
  88. package/dist/dialog/DialogDescription.d.ts +3 -0
  89. package/dist/dialog/DialogFooter.d.ts +3 -0
  90. package/dist/dialog/DialogHeader.d.ts +3 -0
  91. package/dist/dialog/DialogOverlay.d.ts +3 -0
  92. package/dist/dialog/DialogPortal.d.ts +3 -0
  93. package/dist/dialog/DialogTitle.d.ts +3 -0
  94. package/dist/dialog/DialogTrigger.d.ts +3 -0
  95. package/dist/dialog/index.js.map +1 -1
  96. package/dist/dialog/index.mjs.map +1 -1
  97. package/dist/divider/DividerContent.d.ts +3 -0
  98. package/dist/divider/index.js.map +1 -1
  99. package/dist/divider/index.mjs.map +1 -1
  100. package/dist/drawer/DrawerBody.d.ts +3 -0
  101. package/dist/drawer/DrawerClose.d.ts +3 -0
  102. package/dist/drawer/DrawerCloseButton.d.ts +3 -0
  103. package/dist/drawer/DrawerContent.d.ts +3 -0
  104. package/dist/drawer/DrawerDescription.d.ts +3 -0
  105. package/dist/drawer/DrawerFooter.d.ts +3 -0
  106. package/dist/drawer/DrawerHeader.d.ts +3 -0
  107. package/dist/drawer/DrawerOverlay.d.ts +3 -0
  108. package/dist/drawer/DrawerPortal.d.ts +3 -0
  109. package/dist/drawer/DrawerTitle.d.ts +3 -0
  110. package/dist/drawer/DrawerTrigger.d.ts +3 -0
  111. package/dist/drawer/index.js.map +1 -1
  112. package/dist/drawer/index.mjs.map +1 -1
  113. package/dist/dropdown/DropdownDivider.d.ts +3 -0
  114. package/dist/dropdown/DropdownGroup.d.ts +3 -0
  115. package/dist/dropdown/DropdownItem.d.ts +3 -0
  116. package/dist/dropdown/DropdownItemIndicator.d.ts +3 -0
  117. package/dist/dropdown/DropdownItemText.d.ts +3 -0
  118. package/dist/dropdown/DropdownItems.d.ts +3 -0
  119. package/dist/dropdown/DropdownLabel.d.ts +3 -0
  120. package/dist/dropdown/DropdownLeadingIcon.d.ts +3 -0
  121. package/dist/dropdown/DropdownPopover.d.ts +3 -0
  122. package/dist/dropdown/DropdownPortal.d.ts +3 -0
  123. package/dist/dropdown/DropdownTrigger.d.ts +3 -0
  124. package/dist/dropdown/DropdownValue.d.ts +3 -0
  125. package/dist/dropdown/index.js.map +1 -1
  126. package/dist/dropdown/index.mjs.map +1 -1
  127. package/dist/file-upload/FileUploadAcceptedFile.d.ts +1 -0
  128. package/dist/file-upload/FileUploadContext.d.ts +1 -0
  129. package/dist/file-upload/FileUploadDropzone.d.ts +3 -0
  130. package/dist/file-upload/FileUploadItemDeleteTrigger.d.ts +3 -0
  131. package/dist/file-upload/FileUploadPreviewImage.d.ts +1 -0
  132. package/dist/file-upload/FileUploadRejectedFile.d.ts +1 -0
  133. package/dist/file-upload/FileUploadRejectedFileDeleteTrigger.d.ts +1 -0
  134. package/dist/file-upload/FileUploadTrigger.d.ts +3 -0
  135. package/dist/file-upload/index.js.map +1 -1
  136. package/dist/file-upload/index.mjs.map +1 -1
  137. package/dist/form-field/FormFieldAlertMessage.d.ts +1 -0
  138. package/dist/form-field/FormFieldCharactersCount.d.ts +1 -0
  139. package/dist/form-field/FormFieldControl.d.ts +1 -0
  140. package/dist/form-field/FormFieldErrorMessage.d.ts +1 -0
  141. package/dist/form-field/FormFieldHelperMessage.d.ts +1 -0
  142. package/dist/form-field/FormFieldLabel.d.ts +1 -0
  143. package/dist/form-field/FormFieldRequiredIndicator.d.ts +1 -0
  144. package/dist/form-field/FormFieldStateMessage.d.ts +3 -0
  145. package/dist/form-field/FormFieldSuccessMessage.d.ts +1 -0
  146. package/dist/form-field/index.js +1 -1
  147. package/dist/form-field/index.mjs +1 -1
  148. package/dist/{form-field-CYGgse45.js → form-field-1sKqNg7F.js} +2 -2
  149. package/dist/form-field-1sKqNg7F.js.map +1 -0
  150. package/dist/{form-field-CV5dzt-I.mjs → form-field-OhKW7u5I.mjs} +2 -2
  151. package/dist/form-field-OhKW7u5I.mjs.map +1 -0
  152. package/dist/input/InputLeadingIcon.d.ts +1 -0
  153. package/dist/input/InputTrailingIcon.d.ts +1 -0
  154. package/dist/input-BIuBpTEq.mjs.map +1 -1
  155. package/dist/input-Cx5cfgE8.js.map +1 -1
  156. package/dist/input-otp/InputOTPGroup.d.ts +3 -0
  157. package/dist/input-otp/InputOTPSeparator.d.ts +3 -0
  158. package/dist/input-otp/InputOTPSlot.d.ts +3 -0
  159. package/dist/input-otp/index.js.map +1 -1
  160. package/dist/input-otp/index.mjs.map +1 -1
  161. package/dist/kbd/index.js +1 -1
  162. package/dist/kbd/index.js.map +1 -1
  163. package/dist/kbd/index.mjs +1 -1
  164. package/dist/kbd/index.mjs.map +1 -1
  165. package/dist/label/LabelRequiredIndicator.d.ts +3 -0
  166. package/dist/label-BCSEss4U.js.map +1 -1
  167. package/dist/label-DDBRKLUX.mjs.map +1 -1
  168. package/dist/link-box/LinkBoxLink.d.ts +3 -0
  169. package/dist/link-box/LinkBoxRaised.d.ts +24 -0
  170. package/dist/link-box/index.js.map +1 -1
  171. package/dist/link-box/index.mjs.map +1 -1
  172. package/dist/menu/Menu.d.ts +15 -0
  173. package/dist/menu/MenuCheckboxItem.d.ts +20 -0
  174. package/dist/menu/MenuCheckboxItemIndicator.d.ts +25 -0
  175. package/dist/menu/MenuGroup.d.ts +12 -0
  176. package/dist/menu/MenuGroupLabel.d.ts +19 -0
  177. package/dist/menu/MenuItem.d.ts +19 -0
  178. package/dist/menu/MenuItemStyles.d.ts +5 -0
  179. package/dist/menu/MenuLinkItem.d.ts +27 -0
  180. package/dist/menu/MenuPopup.d.ts +19 -0
  181. package/dist/menu/MenuPortal.d.ts +12 -0
  182. package/dist/menu/MenuPositioner.d.ts +12 -0
  183. package/dist/menu/MenuRadioGroup.d.ts +12 -0
  184. package/dist/menu/MenuRadioItem.d.ts +20 -0
  185. package/dist/menu/MenuRadioItemIndicator.d.ts +25 -0
  186. package/dist/menu/MenuSeparator.d.ts +12 -0
  187. package/dist/menu/MenuSubmenu.d.ts +16 -0
  188. package/dist/menu/MenuSubmenuContext.d.ts +8 -0
  189. package/dist/menu/MenuSubmenuTrigger.d.ts +19 -0
  190. package/dist/menu/MenuTrigger.d.ts +21 -0
  191. package/dist/menu/index.d.mts +49 -0
  192. package/dist/menu/index.d.ts +49 -0
  193. package/dist/menu/index.js +2 -0
  194. package/dist/menu/index.js.map +1 -0
  195. package/dist/menu/index.mjs +289 -0
  196. package/dist/menu/index.mjs.map +1 -0
  197. package/dist/menu/useRenderSlot.d.ts +1 -0
  198. package/dist/meter/MeterLabel.d.ts +3 -0
  199. package/dist/meter/MeterTrack.d.ts +3 -0
  200. package/dist/meter/MeterValue.d.ts +3 -0
  201. package/dist/meter/index.js.map +1 -1
  202. package/dist/meter/index.mjs.map +1 -1
  203. package/dist/pagination/PaginationEllipsis.d.ts +3 -0
  204. package/dist/pagination/PaginationFirstPageTrigger.d.ts +3 -0
  205. package/dist/pagination/PaginationLastPageTrigger.d.ts +3 -0
  206. package/dist/pagination/PaginationNextTrigger.d.ts +3 -0
  207. package/dist/pagination/PaginationPages.d.ts +3 -0
  208. package/dist/pagination/PaginationPrevTrigger.d.ts +3 -0
  209. package/dist/pagination/index.js.map +1 -1
  210. package/dist/pagination/index.mjs.map +1 -1
  211. package/dist/popover/PopoverAnchor.d.ts +3 -0
  212. package/dist/popover/PopoverArrow.d.ts +3 -0
  213. package/dist/popover/PopoverCloseButton.d.ts +3 -0
  214. package/dist/popover/PopoverContent.d.ts +3 -0
  215. package/dist/popover/PopoverHeader.d.ts +3 -0
  216. package/dist/popover/PopoverPortal.d.ts +3 -0
  217. package/dist/popover/PopoverTrigger.d.ts +3 -0
  218. package/dist/popover-DKa4WOQV.mjs.map +1 -1
  219. package/dist/popover-ayPbAw59.js.map +1 -1
  220. package/dist/progress/ProgressLabel.d.ts +3 -0
  221. package/dist/progress/ProgressTrack.d.ts +1 -0
  222. package/dist/progress/ProgressValue.d.ts +1 -0
  223. package/dist/progress-C-Zs94G2.mjs.map +1 -1
  224. package/dist/progress-DaQt4olK.js.map +1 -1
  225. package/dist/progress-tracker/ProgressTrackerStep.d.ts +1 -0
  226. package/dist/progress-tracker/ProgressTrackerStepIndicator.d.ts +1 -0
  227. package/dist/progress-tracker/ProgressTrackerStepLabel.d.ts +1 -0
  228. package/dist/progress-tracker/index.js +1 -1
  229. package/dist/progress-tracker/index.js.map +1 -1
  230. package/dist/progress-tracker/index.mjs +2 -2
  231. package/dist/progress-tracker/index.mjs.map +1 -1
  232. package/dist/radio-group/Radio.d.ts +3 -0
  233. package/dist/radio-group/index.js.map +1 -1
  234. package/dist/radio-group/index.mjs.map +1 -1
  235. package/dist/rating/index.js +1 -1
  236. package/dist/rating/index.js.map +1 -1
  237. package/dist/rating/index.mjs +2 -2
  238. package/dist/rating/index.mjs.map +1 -1
  239. package/dist/rating-display/RatingDisplayCount.d.ts +1 -0
  240. package/dist/rating-display/RatingDisplayStars.d.ts +1 -0
  241. package/dist/rating-display/RatingDisplayValue.d.ts +1 -0
  242. package/dist/rating-display/index.js +1 -1
  243. package/dist/rating-display/index.js.map +1 -1
  244. package/dist/rating-display/index.mjs +4 -4
  245. package/dist/rating-display/index.mjs.map +1 -1
  246. package/dist/scrolling-list/ScrollingListControls.d.ts +1 -0
  247. package/dist/scrolling-list/ScrollingListItem.d.ts +1 -0
  248. package/dist/scrolling-list/ScrollingListItems.d.ts +1 -0
  249. package/dist/scrolling-list/ScrollingListNextButton.d.ts +1 -0
  250. package/dist/scrolling-list/ScrollingListPrevButton.d.ts +1 -0
  251. package/dist/scrolling-list/ScrollingListSkipButton.d.ts +1 -0
  252. package/dist/scrolling-list/index.js.map +1 -1
  253. package/dist/scrolling-list/index.mjs.map +1 -1
  254. package/dist/segmented-control/SegmentedControlIndicator.d.ts +1 -0
  255. package/dist/segmented-control/SegmentedControlItem.d.ts +1 -0
  256. package/dist/segmented-control/index.js.map +1 -1
  257. package/dist/segmented-control/index.mjs.map +1 -1
  258. package/dist/segmented-gauge/SegmentedGaugeLabel.d.ts +1 -0
  259. package/dist/segmented-gauge/SegmentedGaugeSegment.d.ts +3 -0
  260. package/dist/segmented-gauge/SegmentedGaugeTrack.d.ts +1 -0
  261. package/dist/segmented-gauge/index.js.map +1 -1
  262. package/dist/segmented-gauge/index.mjs.map +1 -1
  263. package/dist/select/SelectGroup.d.ts +3 -0
  264. package/dist/select/SelectItem.d.ts +3 -0
  265. package/dist/select/SelectItems.d.ts +3 -0
  266. package/dist/select/SelectLabel.d.ts +3 -0
  267. package/dist/select/SelectLeadingIcon.d.ts +3 -0
  268. package/dist/select/SelectPlaceholder.d.ts +3 -0
  269. package/dist/select/SelectTrigger.d.ts +3 -0
  270. package/dist/select/SelectValue.d.ts +3 -0
  271. package/dist/select/index.js.map +1 -1
  272. package/dist/select/index.mjs.map +1 -1
  273. package/dist/skeleton/SkeletonItem.d.ts +3 -0
  274. package/dist/skeleton/index.js.map +1 -1
  275. package/dist/skeleton/index.mjs.map +1 -1
  276. package/dist/slider/SliderControl.d.ts +1 -0
  277. package/dist/slider/SliderIndicator.d.ts +1 -0
  278. package/dist/slider/SliderLabel.d.ts +1 -0
  279. package/dist/slider/SliderMaxValue.d.ts +1 -0
  280. package/dist/slider/SliderMinValue.d.ts +1 -0
  281. package/dist/slider/SliderThumb.d.ts +1 -0
  282. package/dist/slider/SliderTrack.d.ts +1 -0
  283. package/dist/slider/SliderValue.d.ts +1 -3
  284. package/dist/slider/index.js.map +1 -1
  285. package/dist/slider/index.mjs.map +1 -1
  286. package/dist/stepper/index.js.map +1 -1
  287. package/dist/stepper/index.mjs.map +1 -1
  288. package/dist/table/TableBody.d.ts +1 -0
  289. package/dist/table/TableBulkBar.d.ts +15 -0
  290. package/dist/table/TableCell.d.ts +1 -0
  291. package/dist/table/TableColumn.d.ts +1 -0
  292. package/dist/table/TableHeader.d.ts +1 -0
  293. package/dist/table/TableRow.d.ts +1 -0
  294. package/dist/table/index.js.map +1 -1
  295. package/dist/table/index.mjs.map +1 -1
  296. package/dist/tabs/TabsContent.d.ts +1 -0
  297. package/dist/tabs/TabsList.d.ts +1 -0
  298. package/dist/tabs/TabsTrigger.d.ts +1 -0
  299. package/dist/tabs/index.js +1 -1
  300. package/dist/tabs/index.js.map +1 -1
  301. package/dist/tabs/index.mjs +1 -1
  302. package/dist/tabs/index.mjs.map +1 -1
  303. package/dist/text-link/index.js +1 -1
  304. package/dist/text-link/index.js.map +1 -1
  305. package/dist/text-link/index.mjs +1 -1
  306. package/dist/text-link/index.mjs.map +1 -1
  307. package/dist/textarea/TextareaClearButton.d.ts +1 -0
  308. package/dist/textarea/TextareaLeadingIcon.d.ts +1 -0
  309. package/dist/textarea/TextareaTrailingIcon.d.ts +1 -0
  310. package/dist/textarea/index.js.map +1 -1
  311. package/dist/textarea/index.mjs.map +1 -1
  312. package/package.json +5 -5
  313. package/dist/form-field-CV5dzt-I.mjs.map +0 -1
  314. package/dist/form-field-CYGgse45.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-field-CYGgse45.js","names":[],"sources":["../src/form-field/FormFieldContext.tsx","../src/form-field/FormFieldProvider.tsx","../src/form-field/FormField.tsx","../src/form-field/FormFieldMessage.tsx","../src/form-field/FormFieldStateMessage.tsx","../src/form-field/FormFieldAlertMessage.tsx","../src/form-field/FormFieldCharactersCount.tsx","../src/form-field/FormFieldControl.tsx","../src/form-field/FormFieldDescription.tsx","../src/form-field/FormFieldErrorMessage.tsx","../src/form-field/FormFieldHelperMessage.tsx","../src/form-field/FormFieldLabel.tsx","../src/form-field/FormFieldSuccessMessage.tsx","../src/form-field/index.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport interface FormFieldContextState {\n /**\n * Generated id for the input component.\n */\n id: string\n /**\n * Generated id for the label component.\n */\n labelId?: string\n /**\n * The name of the input. Submitted with its owning form as part of a name/value pair.\n */\n name?: string\n /**\n * A set of ids separated by a space used to describe the input component given by a set of messages.\n */\n description?: string\n /**\n * Disables the field and its associated input\n */\n disabled?: boolean\n /**\n * Marks the field and its associated input as read only\n */\n readOnly?: boolean\n /**\n * The validation state of the input.\n */\n state?: 'error' | 'success' | 'alert'\n /**\n * If true, the form field will be invalid.\n */\n isInvalid?: boolean\n /**\n * If true, the form field will be required.\n */\n isRequired?: boolean\n /**\n * Callback used to store a descriptive message.\n */\n onMessageIdAdd: (id: string) => void\n /**\n * Callback used to remove a descriptive message.\n */\n onMessageIdRemove: (id: string) => void\n}\n\nexport const FormFieldContext = createContext<FormFieldContextState | null>(null)\n\nexport const ID_PREFIX = ':form-field'\n\nexport const useFormField = () => {\n const context = useContext(FormFieldContext)\n\n if (!context) {\n throw Error('useFormField must be used within a FormField provider')\n }\n\n return context\n}\n","import { ReactNode, useCallback, useId, useMemo, useState } from 'react'\n\nimport { FormFieldContext, FormFieldContextState, ID_PREFIX } from './FormFieldContext'\n\nexport interface FormFieldProviderProps extends Pick<\n FormFieldContextState,\n 'id' | 'name' | 'disabled' | 'readOnly' | 'state' | 'isRequired'\n> {\n children: ReactNode\n}\n\nexport const FormFieldProvider = ({\n id,\n name,\n disabled = false,\n readOnly = false,\n state,\n isRequired,\n children,\n}: FormFieldProviderProps) => {\n const labelId = `${ID_PREFIX}-label-${useId()}`\n const [messageIds, setMessageIds] = useState<string[]>([])\n const description = messageIds.length > 0 ? messageIds.join(' ') : undefined\n\n const handleMessageIdAdd = useCallback((msgId: string) => {\n setMessageIds(ids => [...ids, msgId])\n }, [])\n\n const handleMessageIdRemove = useCallback((msgId: string) => {\n setMessageIds(ids => ids.filter(current => current !== msgId))\n }, [])\n\n const value = useMemo(() => {\n const isInvalid = state === 'error'\n\n return {\n id,\n labelId,\n name,\n disabled,\n readOnly,\n state,\n isRequired,\n isInvalid,\n description,\n onMessageIdAdd: handleMessageIdAdd,\n onMessageIdRemove: handleMessageIdRemove,\n }\n }, [\n id,\n labelId,\n name,\n disabled,\n readOnly,\n description,\n state,\n isRequired,\n handleMessageIdAdd,\n handleMessageIdRemove,\n ])\n\n return <FormFieldContext.Provider value={value}>{children}</FormFieldContext.Provider>\n}\n\nFormFieldProvider.displayName = 'FormFieldProvider'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref, useId } from 'react'\n\nimport { Slot } from '../slot'\nimport { FormFieldContextState, ID_PREFIX } from './FormFieldContext'\nimport { FormFieldProvider } from './FormFieldProvider'\n\nexport interface FormFieldProps\n extends\n ComponentPropsWithoutRef<'div'>,\n Pick<FormFieldContextState, 'name' | 'state' | 'isRequired'> {\n /**\n * Change the component to the HTML tag or custom component of the only child. This will merge the original component props with the props of the supplied element/component and change the underlying DOM node.\n */\n asChild?: boolean\n /**\n * When `true`, prevents the user from interacting.\n */\n disabled?: boolean\n /**\n * Sets the component as interactive or not.\n */\n readOnly?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const FormField = ({\n className,\n disabled = false,\n readOnly = false,\n name,\n state,\n isRequired = false,\n asChild = false,\n ref,\n ...others\n}: FormFieldProps) => {\n const id = `${ID_PREFIX}-${useId()}`\n const Component = asChild ? Slot : 'div'\n\n return (\n <FormFieldProvider\n id={id}\n name={name}\n isRequired={isRequired}\n disabled={disabled}\n readOnly={readOnly}\n state={state}\n >\n <Component\n ref={ref}\n data-spark-component=\"form-field\"\n className={cx(className, 'gap-md flex flex-col')}\n {...others}\n />\n </FormFieldProvider>\n )\n}\n\nFormField.displayName = 'FormField'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref, useEffect, useId } from 'react'\n\nimport { ID_PREFIX, useFormField } from './FormFieldContext'\n\nexport type FormFieldMessageProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldMessage = ({\n id: idProp,\n className,\n ref,\n ...others\n}: FormFieldMessageProps) => {\n const { onMessageIdAdd, onMessageIdRemove } = useFormField()\n const currentId = `${ID_PREFIX}-message-${useId()}`\n const id = idProp || currentId\n\n useEffect(() => {\n onMessageIdAdd(id)\n\n return () => {\n onMessageIdRemove(id)\n }\n }, [id, onMessageIdAdd, onMessageIdRemove])\n\n return (\n <span\n ref={ref}\n id={id}\n data-spark-component=\"form-field-message\"\n className={cx(className, 'default:text-caption')}\n {...others}\n />\n )\n}\n\nFormFieldMessage.displayName = 'FormField.Message'\n","import { AlertOutline } from '@spark-ui/icons/AlertOutline'\nimport { Check } from '@spark-ui/icons/Check'\nimport { WarningOutline } from '@spark-ui/icons/WarningOutline'\nimport { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { useFormField } from './FormFieldContext'\nimport { FormFieldMessage, FormFieldMessageProps } from './FormFieldMessage'\n\nexport interface FormFieldStateMessageProps extends FormFieldMessageProps {\n state: 'error' | 'alert' | 'success'\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldStateMessage = ({\n className,\n state,\n children,\n ref,\n ...others\n}: FormFieldStateMessageProps) => {\n const field = useFormField()\n\n if (field.state !== state) {\n return null\n }\n\n return (\n <FormFieldMessage\n ref={ref}\n data-spark-component=\"form-field-state-message\"\n className={cx(\n 'gap-sm flex items-center',\n state === 'error' ? 'text-error' : 'text-on-surface/dim-1',\n className\n )}\n {...others}\n >\n {state === 'alert' && (\n <Icon size=\"sm\">\n <WarningOutline />\n </Icon>\n )}\n {state === 'error' && (\n <Icon size=\"sm\" intent=\"error\">\n <AlertOutline />\n </Icon>\n )}\n {state === 'success' && (\n <Icon size=\"sm\">\n <Check />\n </Icon>\n )}\n\n {children}\n </FormFieldMessage>\n )\n}\n\nFormFieldStateMessage.displayName = 'FormField.StateMessage'\n","import { Ref } from 'react'\n\nimport { FormFieldStateMessage, FormFieldStateMessageProps } from './FormFieldStateMessage'\n\nexport type FormFieldAlertMessageProps = Omit<FormFieldStateMessageProps, 'state'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldAlertMessage = ({ ref, ...props }: FormFieldAlertMessageProps) => {\n return (\n <FormFieldStateMessage\n ref={ref}\n data-spark-component=\"form-field-alert-message\"\n state=\"alert\"\n {...props}\n />\n )\n}\n\nFormFieldAlertMessage.displayName = 'FormField.AlertMessage'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref, useEffect, useState } from 'react'\n\nimport { FormFieldMessage } from './FormFieldMessage'\n\nexport type FormFieldCharactersCountProps = ComponentPropsWithoutRef<'span'> & {\n /**\n * This description is for the screen reader, read when the input is focused.\n */\n description?: string\n /**\n * The live announcement is for the screen read after a delay once the input value changes.\n */\n liveAnnouncement?: ({ remainingChars }: { remainingChars: number }) => string\n /**\n * Current value for the input this component belongs to.\n */\n value?: string\n /**\n * Maximum numeric value to be displayed.\n */\n maxLength: number\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldCharactersCount = ({\n className,\n value = '',\n maxLength,\n description,\n liveAnnouncement,\n ref,\n ...others\n}: FormFieldCharactersCountProps) => {\n const [throttledValue, setThrottledValue] = useState(value)\n\n /**\n * The value is throttled to avoid spamming the aria-live region (and consequently the screen reader).\n */\n useEffect(() => {\n const timeoutId = setTimeout(() => {\n setThrottledValue(value)\n }, 1000)\n\n return () => clearTimeout(timeoutId)\n }, [value])\n\n return (\n <span className=\"ml-auto self-start\">\n {description && (\n <FormFieldMessage className=\"default:sr-only\">{description}</FormFieldMessage>\n )}\n <span\n ref={ref}\n aria-hidden\n data-spark-component=\"form-field-characters-count\"\n className={cx(className, 'text-caption', 'text-neutral')}\n {...others}\n >\n {`${value.length}/${maxLength}`}\n </span>\n\n {liveAnnouncement && (\n <span className=\"sr-only\" aria-live=\"polite\">\n {liveAnnouncement({ remainingChars: maxLength - throttledValue.length })}\n </span>\n )}\n </span>\n )\n}\n\nFormFieldCharactersCount.displayName = 'FormField.CharactersCount'\n","import { ReactNode, useContext } from 'react'\n\nimport { FormFieldContext, FormFieldContextState } from './FormFieldContext'\n\ntype State = Partial<\n Pick<\n FormFieldContextState,\n | 'id'\n | 'name'\n | 'description'\n | 'labelId'\n | 'disabled'\n | 'readOnly'\n | 'state'\n | 'isInvalid'\n | 'isRequired'\n >\n>\n\nexport interface FormFieldControlProps {\n children: (state: State) => ReactNode\n}\n\nexport const useFormFieldControl = () => {\n const { id, name, description, disabled, readOnly, state, labelId, isInvalid, isRequired } =\n useContext(FormFieldContext) || {}\n\n return {\n id,\n name,\n description,\n disabled,\n readOnly,\n state,\n labelId,\n isInvalid,\n isRequired,\n } as State\n}\n\nexport const FormFieldControl = ({ children }: FormFieldControlProps) => {\n const props = useFormFieldControl()\n\n return <>{children(props)}</>\n}\n\nFormFieldControl.displayName = 'FormField.Control'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { FormFieldMessage, FormFieldMessageProps } from './FormFieldMessage'\n\nexport type FormFieldDescriptionProps = FormFieldMessageProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldDescription = ({ className, ref, ...others }: FormFieldDescriptionProps) => {\n return (\n <FormFieldMessage\n ref={ref}\n data-spark-component=\"form-field-description\"\n className={cx('text-on-surface/dim-1 text-body-2', className)}\n {...others}\n />\n )\n}\n\nFormFieldDescription.displayName = 'FormField.Description'\n","import { Ref } from 'react'\n\nimport { FormFieldStateMessage, FormFieldStateMessageProps } from './FormFieldStateMessage'\n\nexport type FormFieldErrorMessageProps = Omit<FormFieldStateMessageProps, 'state'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldErrorMessage = ({ ref, ...props }: FormFieldErrorMessageProps) => {\n return (\n <FormFieldStateMessage\n ref={ref}\n data-spark-component=\"form-field-error-message\"\n state=\"error\"\n {...props}\n />\n )\n}\n\nFormFieldErrorMessage.displayName = 'FormField.ErrorMessage'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { FormFieldMessage, FormFieldMessageProps } from './FormFieldMessage'\n\nexport type FormFieldHelperMessageProps = FormFieldMessageProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldHelperMessage = ({\n className,\n ref,\n ...others\n}: FormFieldHelperMessageProps) => {\n return (\n <FormFieldMessage\n ref={ref}\n data-spark-component=\"form-field-helper-message\"\n className={cx('text-on-surface/dim-1', className)}\n {...others}\n />\n )\n}\n\nFormFieldHelperMessage.displayName = 'FormField.HelperMessage'\n","import { cx } from 'class-variance-authority'\nimport { ReactNode, Ref } from 'react'\n\nimport { Label, LabelProps } from '../label'\nimport { Slottable } from '../slot'\nimport { useFormField } from './FormFieldContext'\nimport { FormFieldRequiredIndicator } from './FormFieldRequiredIndicator'\n\nexport interface FormFieldLabelProps extends LabelProps {\n /**\n * Element shown when the input is required inside the label.\n */\n requiredIndicator?: ReactNode\n ref?: Ref<HTMLLabelElement>\n}\n\nexport const FormFieldLabel = ({\n htmlFor: htmlForProp,\n className,\n children,\n requiredIndicator = <FormFieldRequiredIndicator />,\n asChild,\n ref,\n ...others\n}: FormFieldLabelProps) => {\n const control = useFormField()\n\n const { disabled, labelId, isRequired } = control\n const htmlFor = asChild ? undefined : htmlForProp || control.id\n\n return (\n <Label\n ref={ref}\n id={labelId}\n data-spark-component=\"form-field-label\"\n htmlFor={htmlFor}\n className={cx(\n 'default:font-medium',\n className,\n disabled ? 'text-on-surface/dim-3 pointer-events-none' : undefined\n )}\n asChild={asChild}\n {...others}\n >\n <>\n <Slottable>{children}</Slottable>\n {isRequired && requiredIndicator}\n </>\n </Label>\n )\n}\n\nFormFieldLabel.displayName = 'FormField.Label'\n","import { Ref } from 'react'\n\nimport { FormFieldStateMessage, FormFieldStateMessageProps } from './FormFieldStateMessage'\n\nexport type FormFieldSuccessMessageProps = Omit<FormFieldStateMessageProps, 'state'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const FormFieldSuccessMessage = ({ ref, ...props }: FormFieldSuccessMessageProps) => {\n return (\n <FormFieldStateMessage\n ref={ref}\n data-spark-component=\"form-field-success-message\"\n state=\"success\"\n {...props}\n />\n )\n}\n\nFormFieldSuccessMessage.displayName = 'FormField.SuccessMessage'\n","import { FormField as Root } from './FormField'\nimport { FormFieldAlertMessage } from './FormFieldAlertMessage'\nimport { FormFieldCharactersCount } from './FormFieldCharactersCount'\nimport { FormFieldControl } from './FormFieldControl'\nimport { FormFieldDescription } from './FormFieldDescription'\nimport { FormFieldErrorMessage } from './FormFieldErrorMessage'\nimport { FormFieldHelperMessage } from './FormFieldHelperMessage'\nimport { FormFieldLabel } from './FormFieldLabel'\nimport { FormFieldRequiredIndicator } from './FormFieldRequiredIndicator'\nimport { FormFieldStateMessage } from './FormFieldStateMessage'\nimport { FormFieldSuccessMessage } from './FormFieldSuccessMessage'\n\n/**\n * A wrapper component that provides consistent layout and accessibility features for form inputs.\n */\nexport const FormField: typeof Root & {\n Label: typeof FormFieldLabel\n Description: typeof FormFieldDescription\n Control: typeof FormFieldControl\n StateMessage: typeof FormFieldStateMessage\n SuccessMessage: typeof FormFieldSuccessMessage\n AlertMessage: typeof FormFieldAlertMessage\n ErrorMessage: typeof FormFieldErrorMessage\n HelperMessage: typeof FormFieldHelperMessage\n RequiredIndicator: typeof FormFieldRequiredIndicator\n CharactersCount: typeof FormFieldCharactersCount\n} = Object.assign(Root, {\n Label: FormFieldLabel,\n Description: FormFieldDescription,\n Control: FormFieldControl,\n StateMessage: FormFieldStateMessage,\n SuccessMessage: FormFieldSuccessMessage,\n AlertMessage: FormFieldAlertMessage,\n ErrorMessage: FormFieldErrorMessage,\n HelperMessage: FormFieldHelperMessage,\n RequiredIndicator: FormFieldRequiredIndicator,\n CharactersCount: FormFieldCharactersCount,\n})\n\nFormField.displayName = 'FormField'\nFormFieldLabel.displayName = 'FormField.Label'\nFormFieldDescription.displayName = 'FormField.Description'\nFormFieldControl.displayName = 'FormField.Control'\nFormFieldStateMessage.displayName = 'FormField.StateMessage'\nFormFieldSuccessMessage.displayName = 'FormField.SuccessMessage'\nFormFieldAlertMessage.displayName = 'FormField.AlertMessage'\nFormFieldErrorMessage.displayName = 'FormField.ErrorMessage'\nFormFieldHelperMessage.displayName = 'FormField.HelperMessage'\nFormFieldRequiredIndicator.displayName = 'FormField.RequiredIndicator'\nFormFieldCharactersCount.displayName = 'FormField.CharactersCount'\n\nexport { type FormFieldProps } from './FormField'\nexport { type FormFieldStateMessageProps } from './FormFieldStateMessage'\nexport { type FormFieldControl, useFormFieldControl } from './FormFieldControl'\nexport { type FormFieldDescriptionProps } from './FormFieldDescription'\nexport { type FormFieldHelperMessageProps } from './FormFieldHelperMessage'\nexport { type FormFieldSuccessMessageProps } from './FormFieldSuccessMessage'\nexport { type FormFieldAlertMessageProps } from './FormFieldAlertMessage'\nexport { type FormFieldErrorMessageProps } from './FormFieldErrorMessage'\nexport { type FormFieldLabelProps } from './FormFieldLabel'\nexport { type FormFieldRequiredIndicatorProps } from './FormFieldRequiredIndicator'\nexport { type FormFieldCharactersCountProps } from './FormFieldCharactersCount'\n"],"mappings":"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"}