@alma-oss/spirit-web-react 4.4.2 → 4.5.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 (417) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/DEPRECATIONS.md +2 -2
  3. package/README.md +135 -6
  4. package/dist/bundles/web-react.umd.js +1731 -624
  5. package/dist/bundles/web-react.umd.js.map +1 -1
  6. package/dist/bundles/web-react.umd.min.js +1 -1
  7. package/dist/bundles/web-react.umd.min.js.map +1 -1
  8. package/dist/components/Button/Button.cjs +1 -1
  9. package/dist/components/Button/Button.cjs.map +1 -1
  10. package/dist/components/Button/Button.js +19 -19
  11. package/dist/components/Button/Button.js.map +1 -1
  12. package/dist/components/ButtonLink/ButtonLink.cjs +1 -1
  13. package/dist/components/ButtonLink/ButtonLink.cjs.map +1 -1
  14. package/dist/components/ButtonLink/ButtonLink.d.ts +2 -2
  15. package/dist/components/ButtonLink/ButtonLink.js +23 -18
  16. package/dist/components/ButtonLink/ButtonLink.js.map +1 -1
  17. package/dist/components/ButtonLink/useButtonLinkStyleProps.cjs.map +1 -1
  18. package/dist/components/ButtonLink/useButtonLinkStyleProps.d.ts +9 -9
  19. package/dist/components/ButtonLink/useButtonLinkStyleProps.js.map +1 -1
  20. package/dist/components/Card/CardLink.cjs +1 -1
  21. package/dist/components/Card/CardLink.cjs.map +1 -1
  22. package/dist/components/Card/CardLink.d.ts +2 -2
  23. package/dist/components/Card/CardLink.js +10 -15
  24. package/dist/components/Card/CardLink.js.map +1 -1
  25. package/dist/components/CharacterCounter/CharacterCounter.cjs +2 -0
  26. package/dist/components/CharacterCounter/CharacterCounter.cjs.map +1 -0
  27. package/dist/components/CharacterCounter/CharacterCounter.d.ts +7 -0
  28. package/dist/components/CharacterCounter/CharacterCounter.js +23 -0
  29. package/dist/components/CharacterCounter/CharacterCounter.js.map +1 -0
  30. package/dist/components/CharacterCounter/constants.cjs +2 -0
  31. package/dist/components/CharacterCounter/constants.cjs.map +1 -0
  32. package/dist/components/CharacterCounter/constants.d.ts +1 -0
  33. package/dist/components/CharacterCounter/constants.js +5 -0
  34. package/dist/components/CharacterCounter/constants.js.map +1 -0
  35. package/dist/components/CharacterCounter/index.cjs +2 -0
  36. package/dist/components/CharacterCounter/index.d.ts +3 -0
  37. package/dist/components/CharacterCounter/index.js +7 -0
  38. package/dist/components/{UNSTABLE_Attachment → CharacterCounter}/index.js.map +1 -1
  39. package/dist/components/CharacterCounter/types.d.ts +6 -0
  40. package/dist/components/CharacterCounter/useCharacterCounterState.cjs +2 -0
  41. package/dist/components/CharacterCounter/useCharacterCounterState.cjs.map +1 -0
  42. package/dist/components/CharacterCounter/useCharacterCounterState.d.ts +25 -0
  43. package/dist/components/CharacterCounter/useCharacterCounterState.js +66 -0
  44. package/dist/components/CharacterCounter/useCharacterCounterState.js.map +1 -0
  45. package/dist/components/CharacterCounter.d.ts +2 -0
  46. package/dist/components/Checkbox/Checkbox.cjs +1 -1
  47. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  48. package/dist/components/Checkbox/Checkbox.js +58 -54
  49. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  50. package/dist/components/ControlButton/useControlButtonStyleProps.cjs.map +1 -1
  51. package/dist/components/ControlButton/useControlButtonStyleProps.js.map +1 -1
  52. package/dist/components/Dropdown/DropdownPopover.cjs.map +1 -1
  53. package/dist/components/Dropdown/DropdownPopover.d.ts +2 -2
  54. package/dist/components/Dropdown/DropdownPopover.js.map +1 -1
  55. package/dist/components/Field/index.cjs +1 -1
  56. package/dist/components/Field/index.d.ts +0 -2
  57. package/dist/components/Field/index.js +2 -4
  58. package/dist/components/Field/index.js.map +1 -1
  59. package/dist/components/Field/types.d.ts +1 -1
  60. package/dist/components/FieldGroup/FieldGroup.cjs +1 -1
  61. package/dist/components/FieldGroup/FieldGroup.cjs.map +1 -1
  62. package/dist/components/FieldGroup/FieldGroup.js +15 -16
  63. package/dist/components/FieldGroup/FieldGroup.js.map +1 -1
  64. package/dist/components/FileUploader/FileUploaderInput.cjs +1 -1
  65. package/dist/components/FileUploader/FileUploaderInput.cjs.map +1 -1
  66. package/dist/components/FileUploader/FileUploaderInput.js +36 -35
  67. package/dist/components/FileUploader/FileUploaderInput.js.map +1 -1
  68. package/dist/components/Header/HeaderDialogLink.cjs +1 -1
  69. package/dist/components/Header/HeaderDialogLink.cjs.map +1 -1
  70. package/dist/components/Header/HeaderDialogLink.js +18 -17
  71. package/dist/components/Header/HeaderDialogLink.js.map +1 -1
  72. package/dist/components/Header/HeaderLink.cjs +1 -1
  73. package/dist/components/Header/HeaderLink.cjs.map +1 -1
  74. package/dist/components/Header/HeaderLink.js +16 -15
  75. package/dist/components/Header/HeaderLink.js.map +1 -1
  76. package/dist/components/InputDetails/InputDetails.cjs +2 -0
  77. package/dist/components/InputDetails/InputDetails.cjs.map +1 -0
  78. package/dist/components/InputDetails/InputDetails.d.ts +7 -0
  79. package/dist/components/InputDetails/InputDetails.js +21 -0
  80. package/dist/components/InputDetails/InputDetails.js.map +1 -0
  81. package/dist/components/InputDetails/index.cjs +2 -0
  82. package/dist/components/InputDetails/index.cjs.map +1 -0
  83. package/dist/components/InputDetails/index.d.ts +2 -0
  84. package/dist/components/InputDetails/index.js +7 -0
  85. package/dist/components/InputDetails/index.js.map +1 -0
  86. package/dist/components/InputDetails/useInputDetailsStyleProps.cjs +2 -0
  87. package/dist/components/InputDetails/useInputDetailsStyleProps.cjs.map +1 -0
  88. package/dist/components/InputDetails/useInputDetailsStyleProps.d.ts +7 -0
  89. package/dist/components/InputDetails/useInputDetailsStyleProps.js +11 -0
  90. package/dist/components/InputDetails/useInputDetailsStyleProps.js.map +1 -0
  91. package/dist/components/InputDetails.d.ts +2 -0
  92. package/dist/components/Link/Link.cjs +1 -1
  93. package/dist/components/Link/Link.cjs.map +1 -1
  94. package/dist/components/Link/Link.js +10 -9
  95. package/dist/components/Link/Link.js.map +1 -1
  96. package/dist/components/Link/useLinkStyleProps.cjs.map +1 -1
  97. package/dist/components/Link/useLinkStyleProps.d.ts +1 -1
  98. package/dist/components/Link/useLinkStyleProps.js.map +1 -1
  99. package/dist/components/Pagination/PaginationLink.cjs +1 -1
  100. package/dist/components/Pagination/PaginationLink.cjs.map +1 -1
  101. package/dist/components/Pagination/PaginationLink.js +29 -18
  102. package/dist/components/Pagination/PaginationLink.js.map +1 -1
  103. package/dist/components/Radio/Radio.cjs +1 -1
  104. package/dist/components/Radio/Radio.cjs.map +1 -1
  105. package/dist/components/Radio/Radio.js +24 -25
  106. package/dist/components/Radio/Radio.js.map +1 -1
  107. package/dist/components/ScrollView/useScrollPosition.js +4 -4
  108. package/dist/components/Select/Select.cjs +1 -1
  109. package/dist/components/Select/Select.cjs.map +1 -1
  110. package/dist/components/Select/Select.js +28 -29
  111. package/dist/components/Select/Select.js.map +1 -1
  112. package/dist/components/Slider/Slider.cjs +1 -1
  113. package/dist/components/Slider/Slider.cjs.map +1 -1
  114. package/dist/components/Slider/Slider.js +23 -24
  115. package/dist/components/Slider/Slider.js.map +1 -1
  116. package/dist/components/Tabs/TabLink.cjs +1 -1
  117. package/dist/components/Tabs/TabLink.cjs.map +1 -1
  118. package/dist/components/Tabs/TabLink.js +18 -17
  119. package/dist/components/Tabs/TabLink.js.map +1 -1
  120. package/dist/components/Tag/constants.cjs +1 -1
  121. package/dist/components/Tag/constants.cjs.map +1 -1
  122. package/dist/components/Tag/constants.d.ts +1 -0
  123. package/dist/components/Tag/constants.js +4 -3
  124. package/dist/components/Tag/constants.js.map +1 -1
  125. package/dist/components/Tag/useTagStyleProps.cjs +1 -1
  126. package/dist/components/Tag/useTagStyleProps.cjs.map +1 -1
  127. package/dist/components/Tag/useTagStyleProps.js +25 -10
  128. package/dist/components/Tag/useTagStyleProps.js.map +1 -1
  129. package/dist/components/TextArea/TextArea.cjs +1 -1
  130. package/dist/components/TextArea/TextArea.cjs.map +1 -1
  131. package/dist/components/TextArea/TextArea.js +57 -21
  132. package/dist/components/TextArea/TextArea.js.map +1 -1
  133. package/dist/components/TextArea/constants.cjs +2 -0
  134. package/dist/components/TextArea/constants.cjs.map +1 -0
  135. package/dist/components/TextArea/constants.d.ts +1 -0
  136. package/dist/components/TextArea/constants.js +5 -0
  137. package/dist/components/TextArea/constants.js.map +1 -0
  138. package/dist/components/TextFieldBase/TextFieldBase.cjs +1 -1
  139. package/dist/components/TextFieldBase/TextFieldBase.cjs.map +1 -1
  140. package/dist/components/TextFieldBase/TextFieldBase.js +69 -59
  141. package/dist/components/TextFieldBase/TextFieldBase.js.map +1 -1
  142. package/dist/components/TextFieldBase/useTextFieldBaseStyleProps.cjs +1 -1
  143. package/dist/components/TextFieldBase/useTextFieldBaseStyleProps.cjs.map +1 -1
  144. package/dist/components/TextFieldBase/useTextFieldBaseStyleProps.d.ts +1 -0
  145. package/dist/components/TextFieldBase/useTextFieldBaseStyleProps.js +11 -10
  146. package/dist/components/TextFieldBase/useTextFieldBaseStyleProps.js.map +1 -1
  147. package/dist/components/Toggle/Toggle.cjs +1 -1
  148. package/dist/components/Toggle/Toggle.cjs.map +1 -1
  149. package/dist/components/Toggle/Toggle.js +59 -55
  150. package/dist/components/Toggle/Toggle.js.map +1 -1
  151. package/dist/components/UNSTABLE_File/UNSTABLE_File.cjs +2 -0
  152. package/dist/components/UNSTABLE_File/UNSTABLE_File.cjs.map +1 -0
  153. package/dist/components/UNSTABLE_File/UNSTABLE_File.d.ts +8 -0
  154. package/dist/components/UNSTABLE_File/UNSTABLE_File.js +88 -0
  155. package/dist/components/UNSTABLE_File/UNSTABLE_File.js.map +1 -0
  156. package/dist/components/UNSTABLE_File/UNSTABLE_FileImagePreview.cjs +2 -0
  157. package/dist/components/UNSTABLE_File/UNSTABLE_FileImagePreview.cjs.map +1 -0
  158. package/dist/components/UNSTABLE_File/UNSTABLE_FileImagePreview.d.ts +8 -0
  159. package/dist/components/UNSTABLE_File/UNSTABLE_FileImagePreview.js +29 -0
  160. package/dist/components/UNSTABLE_File/UNSTABLE_FileImagePreview.js.map +1 -0
  161. package/dist/components/UNSTABLE_File/constants.cjs +2 -0
  162. package/dist/components/UNSTABLE_File/constants.cjs.map +1 -0
  163. package/dist/components/UNSTABLE_File/constants.d.ts +9 -0
  164. package/dist/components/UNSTABLE_File/constants.js +13 -0
  165. package/dist/components/UNSTABLE_File/constants.js.map +1 -0
  166. package/dist/components/UNSTABLE_File/index.cjs +2 -0
  167. package/dist/components/UNSTABLE_File/index.cjs.map +1 -0
  168. package/dist/components/UNSTABLE_File/index.d.ts +6 -0
  169. package/dist/components/UNSTABLE_File/index.js +16 -0
  170. package/dist/components/UNSTABLE_File/index.js.map +1 -0
  171. package/dist/components/UNSTABLE_File/types.d.ts +48 -0
  172. package/dist/components/UNSTABLE_File/useFileImageStyles.cjs +2 -0
  173. package/dist/components/UNSTABLE_File/useFileImageStyles.cjs.map +1 -0
  174. package/dist/components/UNSTABLE_File/useFileImageStyles.d.ts +19 -0
  175. package/dist/components/UNSTABLE_File/useFileImageStyles.js +21 -0
  176. package/dist/components/UNSTABLE_File/useFileImageStyles.js.map +1 -0
  177. package/dist/components/UNSTABLE_File/useFileStyleProps.cjs +2 -0
  178. package/dist/components/UNSTABLE_File/useFileStyleProps.cjs.map +1 -0
  179. package/dist/components/UNSTABLE_File/useFileStyleProps.d.ts +20 -0
  180. package/dist/components/UNSTABLE_File/useFileStyleProps.js +29 -0
  181. package/dist/components/UNSTABLE_File/useFileStyleProps.js.map +1 -0
  182. package/dist/components/UNSTABLE_File.d.ts +2 -0
  183. package/dist/components/UNSTABLE_FileUpload/UNSTABLE_FileUpload.cjs +1 -1
  184. package/dist/components/UNSTABLE_FileUpload/UNSTABLE_FileUpload.cjs.map +1 -1
  185. package/dist/components/UNSTABLE_FileUpload/UNSTABLE_FileUpload.js +129 -112
  186. package/dist/components/UNSTABLE_FileUpload/UNSTABLE_FileUpload.js.map +1 -1
  187. package/dist/components/UNSTABLE_FileUpload/types.d.ts +6 -3
  188. package/dist/components/UNSTABLE_FileUpload/useFileUploadStyleProps.cjs +1 -1
  189. package/dist/components/UNSTABLE_FileUpload/useFileUploadStyleProps.cjs.map +1 -1
  190. package/dist/components/UNSTABLE_FileUpload/useFileUploadStyleProps.d.ts +2 -3
  191. package/dist/components/UNSTABLE_FileUpload/useFileUploadStyleProps.js +18 -16
  192. package/dist/components/UNSTABLE_FileUpload/useFileUploadStyleProps.js.map +1 -1
  193. package/dist/components/UNSTABLE_Picker/PickerContext.cjs +2 -0
  194. package/dist/components/UNSTABLE_Picker/PickerContext.cjs.map +1 -0
  195. package/dist/components/UNSTABLE_Picker/PickerContext.d.ts +3 -0
  196. package/dist/components/UNSTABLE_Picker/PickerContext.js +9 -0
  197. package/dist/components/UNSTABLE_Picker/PickerContext.js.map +1 -0
  198. package/dist/components/UNSTABLE_Picker/PickerPopoverContext.cjs +2 -0
  199. package/dist/components/UNSTABLE_Picker/PickerPopoverContext.cjs.map +1 -0
  200. package/dist/components/UNSTABLE_Picker/PickerPopoverContext.d.ts +3 -0
  201. package/dist/components/UNSTABLE_Picker/PickerPopoverContext.js +16 -0
  202. package/dist/components/UNSTABLE_Picker/PickerPopoverContext.js.map +1 -0
  203. package/dist/components/UNSTABLE_Picker/UNSTABLE_Picker.cjs +2 -0
  204. package/dist/components/UNSTABLE_Picker/UNSTABLE_Picker.cjs.map +1 -0
  205. package/dist/components/UNSTABLE_Picker/UNSTABLE_Picker.d.ts +4 -0
  206. package/dist/components/UNSTABLE_Picker/UNSTABLE_Picker.js +204 -0
  207. package/dist/components/UNSTABLE_Picker/UNSTABLE_Picker.js.map +1 -0
  208. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerGroup.cjs +2 -0
  209. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerGroup.cjs.map +1 -0
  210. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerGroup.d.ts +7 -0
  211. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerGroup.js +14 -0
  212. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerGroup.js.map +1 -0
  213. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerItem.cjs +2 -0
  214. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerItem.cjs.map +1 -0
  215. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerItem.d.ts +7 -0
  216. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerItem.js +32 -0
  217. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerItem.js.map +1 -0
  218. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerTag.cjs +2 -0
  219. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerTag.cjs.map +1 -0
  220. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerTag.d.ts +7 -0
  221. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerTag.js +64 -0
  222. package/dist/components/UNSTABLE_Picker/UNSTABLE_PickerTag.js.map +1 -0
  223. package/dist/components/UNSTABLE_Picker/UNSTABLE_UncontrolledPicker.cjs +2 -0
  224. package/dist/components/UNSTABLE_Picker/UNSTABLE_UncontrolledPicker.cjs.map +1 -0
  225. package/dist/components/UNSTABLE_Picker/UNSTABLE_UncontrolledPicker.d.ts +4 -0
  226. package/dist/components/UNSTABLE_Picker/UNSTABLE_UncontrolledPicker.js +40 -0
  227. package/dist/components/UNSTABLE_Picker/UNSTABLE_UncontrolledPicker.js.map +1 -0
  228. package/dist/components/UNSTABLE_Picker/constants.cjs +2 -0
  229. package/dist/components/UNSTABLE_Picker/constants.cjs.map +1 -0
  230. package/dist/components/UNSTABLE_Picker/constants.d.ts +6 -0
  231. package/dist/components/UNSTABLE_Picker/constants.js +11 -0
  232. package/dist/components/UNSTABLE_Picker/constants.js.map +1 -0
  233. package/dist/components/UNSTABLE_Picker/index.cjs +2 -0
  234. package/dist/components/UNSTABLE_Picker/index.cjs.map +1 -0
  235. package/dist/components/UNSTABLE_Picker/index.d.ts +11 -0
  236. package/dist/components/UNSTABLE_Picker/index.js +26 -0
  237. package/dist/components/UNSTABLE_Picker/index.js.map +1 -0
  238. package/dist/components/UNSTABLE_Picker/types.d.ts +91 -0
  239. package/dist/components/UNSTABLE_Picker/usePickerId.cjs +2 -0
  240. package/dist/components/UNSTABLE_Picker/usePickerId.cjs.map +1 -0
  241. package/dist/components/UNSTABLE_Picker/usePickerId.d.ts +8 -0
  242. package/dist/components/UNSTABLE_Picker/usePickerId.js +15 -0
  243. package/dist/components/UNSTABLE_Picker/usePickerId.js.map +1 -0
  244. package/dist/components/UNSTABLE_Picker/usePickerPopoverTabOutToTrigger.cjs +2 -0
  245. package/dist/components/UNSTABLE_Picker/usePickerPopoverTabOutToTrigger.cjs.map +1 -0
  246. package/dist/components/UNSTABLE_Picker/usePickerPopoverTabOutToTrigger.d.ts +11 -0
  247. package/dist/components/UNSTABLE_Picker/usePickerPopoverTabOutToTrigger.js +27 -0
  248. package/dist/components/UNSTABLE_Picker/usePickerPopoverTabOutToTrigger.js.map +1 -0
  249. package/dist/components/UNSTABLE_Picker/usePickerSelectionGridKeyboard.cjs +2 -0
  250. package/dist/components/UNSTABLE_Picker/usePickerSelectionGridKeyboard.cjs.map +1 -0
  251. package/dist/components/UNSTABLE_Picker/usePickerSelectionGridKeyboard.d.ts +13 -0
  252. package/dist/components/UNSTABLE_Picker/usePickerSelectionGridKeyboard.js +95 -0
  253. package/dist/components/UNSTABLE_Picker/usePickerSelectionGridKeyboard.js.map +1 -0
  254. package/dist/components/UNSTABLE_Picker/usePickerStyleProps.cjs +2 -0
  255. package/dist/components/UNSTABLE_Picker/usePickerStyleProps.cjs.map +1 -0
  256. package/dist/components/UNSTABLE_Picker/usePickerStyleProps.d.ts +21 -0
  257. package/dist/components/UNSTABLE_Picker/usePickerStyleProps.js +29 -0
  258. package/dist/components/UNSTABLE_Picker/usePickerStyleProps.js.map +1 -0
  259. package/dist/components/UNSTABLE_Picker/utils.cjs +2 -0
  260. package/dist/components/UNSTABLE_Picker/utils.cjs.map +1 -0
  261. package/dist/components/UNSTABLE_Picker/utils.d.ts +10 -0
  262. package/dist/components/UNSTABLE_Picker/utils.js +41 -0
  263. package/dist/components/UNSTABLE_Picker/utils.js.map +1 -0
  264. package/dist/components/UNSTABLE_Picker.d.ts +2 -0
  265. package/dist/components/index.cjs +1 -1
  266. package/dist/components/index.d.ts +4 -1
  267. package/dist/components/index.js +523 -498
  268. package/dist/components/index.js.map +1 -1
  269. package/dist/constants/index.cjs +1 -1
  270. package/dist/constants/index.d.ts +1 -0
  271. package/dist/constants/index.js +43 -40
  272. package/dist/constants/index.js.map +1 -1
  273. package/dist/constants/selection.cjs +2 -0
  274. package/dist/constants/selection.cjs.map +1 -0
  275. package/dist/constants/selection.d.ts +2 -0
  276. package/dist/constants/selection.js +6 -0
  277. package/dist/constants/selection.js.map +1 -0
  278. package/dist/context/RouterContext.cjs +2 -0
  279. package/dist/context/RouterContext.cjs.map +1 -0
  280. package/dist/context/RouterContext.d.ts +16 -0
  281. package/dist/context/RouterContext.js +12 -0
  282. package/dist/context/RouterContext.js.map +1 -0
  283. package/dist/context/index.cjs +1 -1
  284. package/dist/context/index.d.ts +1 -0
  285. package/dist/context/index.js +11 -7
  286. package/dist/context/index.js.map +1 -1
  287. package/dist/hooks/index.cjs +1 -1
  288. package/dist/hooks/index.d.ts +5 -1
  289. package/dist/hooks/index.js +54 -40
  290. package/dist/hooks/index.js.map +1 -1
  291. package/dist/hooks/useAriaIdRefs.cjs +2 -0
  292. package/dist/hooks/useAriaIdRefs.cjs.map +1 -0
  293. package/dist/hooks/useAriaIdRefs.d.ts +11 -0
  294. package/dist/hooks/useAriaIdRefs.js +23 -0
  295. package/dist/hooks/useAriaIdRefs.js.map +1 -0
  296. package/dist/hooks/useControlledModeGuard.cjs +2 -0
  297. package/dist/hooks/useControlledModeGuard.cjs.map +1 -0
  298. package/dist/hooks/useControlledModeGuard.d.ts +10 -0
  299. package/dist/hooks/useControlledModeGuard.js +33 -0
  300. package/dist/hooks/useControlledModeGuard.js.map +1 -0
  301. package/dist/hooks/useDebouncedValue.cjs +2 -0
  302. package/dist/hooks/useDebouncedValue.cjs.map +1 -0
  303. package/dist/hooks/useDebouncedValue.d.ts +1 -0
  304. package/dist/hooks/useDebouncedValue.js +17 -0
  305. package/dist/hooks/useDebouncedValue.js.map +1 -0
  306. package/dist/hooks/useLinkClick.cjs +2 -0
  307. package/dist/hooks/useLinkClick.cjs.map +1 -0
  308. package/dist/hooks/useLinkClick.d.ts +4 -0
  309. package/dist/hooks/useLinkClick.js +15 -0
  310. package/dist/hooks/useLinkClick.js.map +1 -0
  311. package/dist/hooks/useSelectionState.cjs +2 -0
  312. package/dist/hooks/useSelectionState.cjs.map +1 -0
  313. package/dist/hooks/useSelectionState.d.ts +17 -0
  314. package/dist/hooks/useSelectionState.js +41 -0
  315. package/dist/hooks/useSelectionState.js.map +1 -0
  316. package/dist/index.cjs +1 -1
  317. package/dist/index.js +722 -673
  318. package/dist/index.js.map +1 -1
  319. package/dist/translations/defaults.cjs +1 -1
  320. package/dist/translations/defaults.cjs.map +1 -1
  321. package/dist/translations/defaults.d.ts +17 -0
  322. package/dist/translations/defaults.js +17 -0
  323. package/dist/translations/defaults.js.map +1 -1
  324. package/dist/types/button.d.ts +3 -2
  325. package/dist/types/card.cjs.map +1 -1
  326. package/dist/types/card.d.ts +5 -7
  327. package/dist/types/card.js.map +1 -1
  328. package/dist/types/checkbox.d.ts +2 -2
  329. package/dist/types/controlButton.d.ts +2 -3
  330. package/dist/types/header.d.ts +3 -3
  331. package/dist/types/index.d.ts +1 -0
  332. package/dist/types/inputDetails.d.ts +9 -0
  333. package/dist/types/link.cjs.map +1 -1
  334. package/dist/types/link.d.ts +2 -2
  335. package/dist/types/link.js.map +1 -1
  336. package/dist/types/pagination.d.ts +4 -4
  337. package/dist/types/shared/index.cjs.map +1 -1
  338. package/dist/types/shared/index.d.ts +1 -0
  339. package/dist/types/shared/index.js.map +1 -1
  340. package/dist/types/shared/inputs.d.ts +3 -0
  341. package/dist/types/shared/router.d.ts +3 -0
  342. package/dist/types/tabs.d.ts +2 -2
  343. package/dist/types/tag.d.ts +1 -0
  344. package/dist/types/textArea.d.ts +26 -5
  345. package/dist/types/textFieldBase.d.ts +5 -2
  346. package/dist/types/toggle.d.ts +2 -2
  347. package/dist/utils/debounce.cjs +1 -1
  348. package/dist/utils/debounce.cjs.map +1 -1
  349. package/dist/utils/debounce.d.ts +4 -1
  350. package/dist/utils/debounce.js +11 -8
  351. package/dist/utils/debounce.js.map +1 -1
  352. package/dist/utils/index.cjs +1 -1
  353. package/dist/utils/index.d.ts +1 -0
  354. package/dist/utils/index.js +36 -33
  355. package/dist/utils/index.js.map +1 -1
  356. package/dist/utils/router.cjs +2 -0
  357. package/dist/utils/router.cjs.map +1 -0
  358. package/dist/utils/router.d.ts +12 -0
  359. package/dist/utils/router.js +10 -0
  360. package/dist/utils/router.js.map +1 -0
  361. package/dist/utils/string.cjs +1 -1
  362. package/dist/utils/string.cjs.map +1 -1
  363. package/dist/utils/string.d.ts +1 -0
  364. package/dist/utils/string.js +10 -9
  365. package/dist/utils/string.js.map +1 -1
  366. package/package.json +38 -23
  367. package/dist/components/Field/useAriaIds.cjs +0 -2
  368. package/dist/components/Field/useAriaIds.cjs.map +0 -1
  369. package/dist/components/Field/useAriaIds.d.ts +0 -8
  370. package/dist/components/Field/useAriaIds.js +0 -15
  371. package/dist/components/Field/useAriaIds.js.map +0 -1
  372. package/dist/components/UNSTABLE_Attachment/UNSTABLE_Attachment.cjs +0 -2
  373. package/dist/components/UNSTABLE_Attachment/UNSTABLE_Attachment.cjs.map +0 -1
  374. package/dist/components/UNSTABLE_Attachment/UNSTABLE_Attachment.d.ts +0 -8
  375. package/dist/components/UNSTABLE_Attachment/UNSTABLE_Attachment.js +0 -42
  376. package/dist/components/UNSTABLE_Attachment/UNSTABLE_Attachment.js.map +0 -1
  377. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentActionButton.cjs +0 -2
  378. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentActionButton.cjs.map +0 -1
  379. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentActionButton.d.ts +0 -8
  380. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentActionButton.js +0 -30
  381. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentActionButton.js.map +0 -1
  382. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentDismissButton.cjs +0 -2
  383. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentDismissButton.cjs.map +0 -1
  384. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentDismissButton.d.ts +0 -8
  385. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentDismissButton.js +0 -29
  386. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentDismissButton.js.map +0 -1
  387. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentImagePreview.cjs +0 -2
  388. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentImagePreview.cjs.map +0 -1
  389. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentImagePreview.d.ts +0 -8
  390. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentImagePreview.js +0 -29
  391. package/dist/components/UNSTABLE_Attachment/UNSTABLE_AttachmentImagePreview.js.map +0 -1
  392. package/dist/components/UNSTABLE_Attachment/constants.cjs +0 -2
  393. package/dist/components/UNSTABLE_Attachment/constants.cjs.map +0 -1
  394. package/dist/components/UNSTABLE_Attachment/constants.d.ts +0 -9
  395. package/dist/components/UNSTABLE_Attachment/constants.js +0 -13
  396. package/dist/components/UNSTABLE_Attachment/constants.js.map +0 -1
  397. package/dist/components/UNSTABLE_Attachment/index.cjs +0 -2
  398. package/dist/components/UNSTABLE_Attachment/index.d.ts +0 -8
  399. package/dist/components/UNSTABLE_Attachment/index.js +0 -20
  400. package/dist/components/UNSTABLE_Attachment/types.d.ts +0 -42
  401. package/dist/components/UNSTABLE_Attachment/useAttachmentImageStyles.cjs +0 -2
  402. package/dist/components/UNSTABLE_Attachment/useAttachmentImageStyles.cjs.map +0 -1
  403. package/dist/components/UNSTABLE_Attachment/useAttachmentImageStyles.d.ts +0 -18
  404. package/dist/components/UNSTABLE_Attachment/useAttachmentImageStyles.js +0 -22
  405. package/dist/components/UNSTABLE_Attachment/useAttachmentImageStyles.js.map +0 -1
  406. package/dist/components/UNSTABLE_Attachment/useAttachmentStyleProps.cjs +0 -2
  407. package/dist/components/UNSTABLE_Attachment/useAttachmentStyleProps.cjs.map +0 -1
  408. package/dist/components/UNSTABLE_Attachment/useAttachmentStyleProps.d.ts +0 -21
  409. package/dist/components/UNSTABLE_Attachment/useAttachmentStyleProps.js +0 -24
  410. package/dist/components/UNSTABLE_Attachment/useAttachmentStyleProps.js.map +0 -1
  411. package/dist/components/UNSTABLE_Attachment.d.ts +0 -2
  412. package/dist/hooks/useAriaDescribedBy.cjs +0 -2
  413. package/dist/hooks/useAriaDescribedBy.cjs.map +0 -1
  414. package/dist/hooks/useAriaDescribedBy.d.ts +0 -5
  415. package/dist/hooks/useAriaDescribedBy.js +0 -7
  416. package/dist/hooks/useAriaDescribedBy.js.map +0 -1
  417. /package/dist/components/{UNSTABLE_Attachment → CharacterCounter}/index.cjs.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./classes.cjs"),n=require("./colors.cjs"),e=require("./dictionaries.cjs"),o=require("./direction.cjs"),s=require("./inputs.cjs"),l=require("./media.cjs"),d=require("./position.cjs"),t=require("./style.cjs"),i=require("./text.cjs");exports.CLASS_NAME_OPEN=r.CLASS_NAME_OPEN;exports.ColorPrefixes=n.ColorPrefixes;exports.AlignmentX=e.AlignmentX;exports.AlignmentXExtended=e.AlignmentXExtended;exports.AlignmentY=e.AlignmentY;exports.AlignmentYExtended=e.AlignmentYExtended;exports.BackgroundColors=e.BackgroundColors;exports.BackgroundGradients=e.BackgroundGradients;exports.BorderColors=e.BorderColors;exports.BorderRadii=e.BorderRadii;exports.BorderStyles=e.BorderStyles;exports.BorderWidths=e.BorderWidths;exports.ComponentButtonColors=e.ComponentButtonColors;exports.ContainerTokenSizes=e.ContainerTokenSizes;exports.EmotionColors=e.EmotionColors;exports.Emphasis=e.Emphasis;exports.FillVariants=e.FillVariants;exports.Intensity=e.Intensity;exports.LinkColors=e.LinkColors;exports.Placements=e.Placements;exports.ShapeVariants=e.ShapeVariants;exports.Sizes=e.Sizes;exports.SizesExtended=e.SizesExtended;exports.TextAlignments=e.TextAlignments;exports.TextColors=e.TextColors;exports.ValidationStates=e.ValidationStates;exports.Direction=o.Direction;exports.DirectionAxis=o.DirectionAxis;exports.DirectionExtended=o.DirectionExtended;exports.isDirectionHorizontal=o.isDirectionHorizontal;exports.InputPositions=s.InputPositions;exports.ObjectFit=l.ObjectFit;exports.Position=d.Position;exports.BackgroundStyleProps=t.BackgroundStyleProps;exports.BorderRadiusStyleProps=t.BorderRadiusStyleProps;exports.DisplayStyleProps=t.DisplayStyleProps;exports.HeadingStyleProps=t.HeadingStyleProps;exports.PaddingStyleProps=t.PaddingStyleProps;exports.SpacingStyleProp=t.SpacingStyleProp;exports.TextStyleProps=t.TextStyleProps;exports.ThemeStyleProps=t.ThemeStyleProps;exports.TextHyphens=i.TextHyphens;exports.TextWordBreaks=i.TextWordBreaks;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./classes.cjs"),s=require("./colors.cjs"),e=require("./dictionaries.cjs"),o=require("./direction.cjs"),l=require("./inputs.cjs"),d=require("./media.cjs"),a=require("./position.cjs"),i=require("./selection.cjs"),t=require("./style.cjs"),r=require("./text.cjs");exports.CLASS_NAME_OPEN=n.CLASS_NAME_OPEN;exports.ColorPrefixes=s.ColorPrefixes;exports.AlignmentX=e.AlignmentX;exports.AlignmentXExtended=e.AlignmentXExtended;exports.AlignmentY=e.AlignmentY;exports.AlignmentYExtended=e.AlignmentYExtended;exports.BackgroundColors=e.BackgroundColors;exports.BackgroundGradients=e.BackgroundGradients;exports.BorderColors=e.BorderColors;exports.BorderRadii=e.BorderRadii;exports.BorderStyles=e.BorderStyles;exports.BorderWidths=e.BorderWidths;exports.ComponentButtonColors=e.ComponentButtonColors;exports.ContainerTokenSizes=e.ContainerTokenSizes;exports.EmotionColors=e.EmotionColors;exports.Emphasis=e.Emphasis;exports.FillVariants=e.FillVariants;exports.Intensity=e.Intensity;exports.LinkColors=e.LinkColors;exports.Placements=e.Placements;exports.ShapeVariants=e.ShapeVariants;exports.Sizes=e.Sizes;exports.SizesExtended=e.SizesExtended;exports.TextAlignments=e.TextAlignments;exports.TextColors=e.TextColors;exports.ValidationStates=e.ValidationStates;exports.Direction=o.Direction;exports.DirectionAxis=o.DirectionAxis;exports.DirectionExtended=o.DirectionExtended;exports.isDirectionHorizontal=o.isDirectionHorizontal;exports.InputPositions=l.InputPositions;exports.ObjectFit=d.ObjectFit;exports.Position=a.Position;exports.MULTIPLE_SELECTION_MODE=i.MULTIPLE_SELECTION_MODE;exports.SINGLE_SELECTION_MODE=i.SINGLE_SELECTION_MODE;exports.BackgroundStyleProps=t.BackgroundStyleProps;exports.BorderRadiusStyleProps=t.BorderRadiusStyleProps;exports.DisplayStyleProps=t.DisplayStyleProps;exports.HeadingStyleProps=t.HeadingStyleProps;exports.PaddingStyleProps=t.PaddingStyleProps;exports.SpacingStyleProp=t.SpacingStyleProp;exports.TextStyleProps=t.TextStyleProps;exports.ThemeStyleProps=t.ThemeStyleProps;exports.TextHyphens=r.TextHyphens;exports.TextWordBreaks=r.TextWordBreaks;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -5,5 +5,6 @@ export * from './direction';
5
5
  export * from './inputs';
6
6
  export * from './media';
7
7
  export * from './position';
8
+ export * from './selection';
8
9
  export * from './style';
9
10
  export * from './text';
@@ -1,12 +1,13 @@
1
1
  import { CLASS_NAME_OPEN as r } from "./classes.js";
2
2
  import { ColorPrefixes as i } from "./colors.js";
3
- import { AlignmentX as s, AlignmentXExtended as l, AlignmentY as d, AlignmentYExtended as p, BackgroundColors as a, BackgroundGradients as x, BorderColors as m, BorderRadii as S, BorderStyles as P, BorderWidths as y, ComponentButtonColors as c, ContainerTokenSizes as g, EmotionColors as f, Emphasis as B, FillVariants as C, Intensity as A, LinkColors as E, Placements as u, ShapeVariants as T, Sizes as k, SizesExtended as h, TextAlignments as D, TextColors as z, ValidationStates as H } from "./dictionaries.js";
4
- import { Direction as F, DirectionAxis as I, DirectionExtended as L, isDirectionHorizontal as N } from "./direction.js";
5
- import { InputPositions as R } from "./inputs.js";
6
- import { ObjectFit as X } from "./media.js";
7
- import { Position as _ } from "./position.js";
8
- import { BackgroundStyleProps as j, BorderRadiusStyleProps as G, DisplayStyleProps as M, HeadingStyleProps as q, PaddingStyleProps as v, SpacingStyleProp as w, TextStyleProps as J, ThemeStyleProps as K } from "./style.js";
9
- import { TextHyphens as U, TextWordBreaks as Z } from "./text.js";
3
+ import { AlignmentX as s, AlignmentXExtended as l, AlignmentY as d, AlignmentYExtended as p, BackgroundColors as a, BackgroundGradients as x, BorderColors as m, BorderRadii as S, BorderStyles as E, BorderWidths as P, ComponentButtonColors as y, ContainerTokenSizes as C, EmotionColors as c, Emphasis as f, FillVariants as g, Intensity as B, LinkColors as T, Placements as A, ShapeVariants as u, Sizes as D, SizesExtended as L, TextAlignments as k, TextColors as I, ValidationStates as O } from "./dictionaries.js";
4
+ import { Direction as h, DirectionAxis as N, DirectionExtended as z, isDirectionHorizontal as M } from "./direction.js";
5
+ import { InputPositions as V } from "./inputs.js";
6
+ import { ObjectFit as G } from "./media.js";
7
+ import { Position as W } from "./position.js";
8
+ import { MULTIPLE_SELECTION_MODE as Y, SINGLE_SELECTION_MODE as b } from "./selection.js";
9
+ import { BackgroundStyleProps as U, BorderRadiusStyleProps as q, DisplayStyleProps as v, HeadingStyleProps as w, PaddingStyleProps as J, SpacingStyleProp as K, TextStyleProps as Q, ThemeStyleProps as Z } from "./style.js";
10
+ import { TextHyphens as oo, TextWordBreaks as eo } from "./text.js";
10
11
  export {
11
12
  s as AlignmentX,
12
13
  l as AlignmentXExtended,
@@ -14,42 +15,44 @@ export {
14
15
  p as AlignmentYExtended,
15
16
  a as BackgroundColors,
16
17
  x as BackgroundGradients,
17
- j as BackgroundStyleProps,
18
+ U as BackgroundStyleProps,
18
19
  m as BorderColors,
19
20
  S as BorderRadii,
20
- G as BorderRadiusStyleProps,
21
- P as BorderStyles,
22
- y as BorderWidths,
21
+ q as BorderRadiusStyleProps,
22
+ E as BorderStyles,
23
+ P as BorderWidths,
23
24
  r as CLASS_NAME_OPEN,
24
25
  i as ColorPrefixes,
25
- c as ComponentButtonColors,
26
- g as ContainerTokenSizes,
27
- F as Direction,
28
- I as DirectionAxis,
29
- L as DirectionExtended,
30
- M as DisplayStyleProps,
31
- f as EmotionColors,
32
- B as Emphasis,
33
- C as FillVariants,
34
- q as HeadingStyleProps,
35
- R as InputPositions,
36
- A as Intensity,
37
- E as LinkColors,
38
- X as ObjectFit,
39
- v as PaddingStyleProps,
40
- u as Placements,
41
- _ as Position,
42
- T as ShapeVariants,
43
- k as Sizes,
44
- h as SizesExtended,
45
- w as SpacingStyleProp,
46
- D as TextAlignments,
47
- z as TextColors,
48
- U as TextHyphens,
49
- J as TextStyleProps,
50
- Z as TextWordBreaks,
51
- K as ThemeStyleProps,
52
- H as ValidationStates,
53
- N as isDirectionHorizontal
26
+ y as ComponentButtonColors,
27
+ C as ContainerTokenSizes,
28
+ h as Direction,
29
+ N as DirectionAxis,
30
+ z as DirectionExtended,
31
+ v as DisplayStyleProps,
32
+ c as EmotionColors,
33
+ f as Emphasis,
34
+ g as FillVariants,
35
+ w as HeadingStyleProps,
36
+ V as InputPositions,
37
+ B as Intensity,
38
+ T as LinkColors,
39
+ Y as MULTIPLE_SELECTION_MODE,
40
+ G as ObjectFit,
41
+ J as PaddingStyleProps,
42
+ A as Placements,
43
+ W as Position,
44
+ b as SINGLE_SELECTION_MODE,
45
+ u as ShapeVariants,
46
+ D as Sizes,
47
+ L as SizesExtended,
48
+ K as SpacingStyleProp,
49
+ k as TextAlignments,
50
+ I as TextColors,
51
+ oo as TextHyphens,
52
+ Q as TextStyleProps,
53
+ eo as TextWordBreaks,
54
+ Z as ThemeStyleProps,
55
+ O as ValidationStates,
56
+ M as isDirectionHorizontal
54
57
  };
55
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E="multiple",t="single";exports.MULTIPLE_SELECTION_MODE=E;exports.SINGLE_SELECTION_MODE=t;
2
+ //# sourceMappingURL=selection.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.cjs","sources":["../../src/constants/selection.ts"],"sourcesContent":["export const MULTIPLE_SELECTION_MODE = 'multiple' as const;\nexport const SINGLE_SELECTION_MODE = 'single' as const;\n"],"names":["MULTIPLE_SELECTION_MODE","SINGLE_SELECTION_MODE"],"mappings":"gFAAO,MAAMA,EAA0B,WAC1BC,EAAwB"}
@@ -0,0 +1,2 @@
1
+ export declare const MULTIPLE_SELECTION_MODE: "multiple";
2
+ export declare const SINGLE_SELECTION_MODE: "single";
@@ -0,0 +1,6 @@
1
+ const E = "multiple", t = "single";
2
+ export {
3
+ E as MULTIPLE_SELECTION_MODE,
4
+ t as SINGLE_SELECTION_MODE
5
+ };
6
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sources":["../../src/constants/selection.ts"],"sourcesContent":["export const MULTIPLE_SELECTION_MODE = 'multiple' as const;\nexport const SINGLE_SELECTION_MODE = 'single' as const;\n"],"names":["MULTIPLE_SELECTION_MODE","SINGLE_SELECTION_MODE"],"mappings":"AAAO,MAAMA,IAA0B,YAC1BC,IAAwB;"}
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),s=null,t=e.createContext(s),c=t.Consumer,i=r=>{const{navigate:o,children:u}=r,n=e.useMemo(()=>({navigate:o}),[o]);return e.createElement(t.Provider,{value:n},u)},l=()=>e.useContext(t);exports.RouterConsumer=c;exports.RouterProvider=i;exports.useRouter=l;
2
+ //# sourceMappingURL=RouterContext.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterContext.cjs","sources":["../../src/context/RouterContext.ts"],"sourcesContent":["'use client';\n\nimport { type ReactNode, createContext, createElement, useContext, useMemo } from 'react';\n\n/** Return value is ignored by Spirit; typed as `unknown` so framework navigators (e.g. Next.js `push` → `Promise<boolean>`) stay assignable without wrappers. */\ntype RouterNavigate = (path: string, routerOptions?: Record<string, unknown>) => unknown;\n\ntype RouterContextType = {\n navigate: RouterNavigate;\n} | null;\n\ntype RouterProviderProps = {\n navigate: RouterNavigate;\n children: ReactNode;\n};\n\nconst defaultContext: RouterContextType = null;\n\nconst RouterContext = createContext<RouterContextType>(defaultContext);\nconst RouterConsumer = RouterContext.Consumer;\n\n/**\n * Wraps part of the app so Spirit link-like components (`Link`, `ButtonLink`, …) can call\n * `navigate` on internal clicks instead of a full page load.\n *\n * Pass your app’s navigation function as `navigate` (path plus optional options as a second argument;\n * e.g. Next.js App Router `router.push`; Pages Router often needs a thin wrapper—see package README).\n *\n * @param props Provider props.\n * @param props.navigate Invoked from link components on qualifying internal navigations (after `preventDefault` when intercepting).\n * @param props.children Subtree that should be wrapped; descendants may call {@link useRouter}.\n */\nconst RouterProvider = (props: RouterProviderProps): JSX.Element => {\n const { navigate, children } = props;\n const value = useMemo(() => ({ navigate }), [navigate]);\n\n return createElement(RouterContext.Provider, { value }, children);\n};\n\n/** Returns the router value from the nearest `RouterProvider`, or `null` when missing. */\nconst useRouter = (): RouterContextType => useContext(RouterContext);\n\nexport default RouterContext;\nexport { RouterConsumer, RouterProvider, useRouter };\nexport type { RouterContextType, RouterNavigate, RouterProviderProps };\n"],"names":["defaultContext","RouterContext","createContext","RouterConsumer","RouterProvider","props","navigate","children","value","useMemo","createElement","useRouter","useContext"],"mappings":"sHAgBMA,EAAoC,KAEpCC,EAAgBC,EAAAA,cAAiCF,CAAc,EAC/DG,EAAiBF,EAAc,SAa/BG,EAAkBC,GAA4C,CAClE,KAAM,CAAE,SAAAC,EAAU,SAAAC,CAAA,EAAaF,EACzBG,EAAQC,EAAAA,QAAQ,KAAO,CAAE,SAAAH,IAAa,CAACA,CAAQ,CAAC,EAEtD,OAAOI,EAAAA,cAAcT,EAAc,SAAU,CAAE,MAAAO,CAAA,EAASD,CAAQ,CAClE,EAGMI,EAAY,IAAyBC,EAAAA,WAAWX,CAAa"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ type RouterNavigate = (path: string, routerOptions?: Record<string, unknown>) => unknown;
3
+ type RouterContextType = {
4
+ navigate: RouterNavigate;
5
+ } | null;
6
+ type RouterProviderProps = {
7
+ navigate: RouterNavigate;
8
+ children: ReactNode;
9
+ };
10
+ declare const RouterContext: React.Context<RouterContextType>;
11
+ declare const RouterConsumer: React.Consumer<RouterContextType>;
12
+ declare const RouterProvider: (props: RouterProviderProps) => JSX.Element;
13
+ declare const useRouter: () => RouterContextType;
14
+ export default RouterContext;
15
+ export { RouterConsumer, RouterProvider, useRouter };
16
+ export type { RouterContextType, RouterNavigate, RouterProviderProps };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { createContext as s, useMemo as u, createElement as c, useContext as i } from "react";
3
+ const l = null, e = s(l), m = e.Consumer, C = (o) => {
4
+ const { navigate: t, children: n } = o, r = u(() => ({ navigate: t }), [t]);
5
+ return c(e.Provider, { value: r }, n);
6
+ }, x = () => i(e);
7
+ export {
8
+ m as RouterConsumer,
9
+ C as RouterProvider,
10
+ x as useRouter
11
+ };
12
+ //# sourceMappingURL=RouterContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterContext.js","sources":["../../src/context/RouterContext.ts"],"sourcesContent":["'use client';\n\nimport { type ReactNode, createContext, createElement, useContext, useMemo } from 'react';\n\n/** Return value is ignored by Spirit; typed as `unknown` so framework navigators (e.g. Next.js `push` → `Promise<boolean>`) stay assignable without wrappers. */\ntype RouterNavigate = (path: string, routerOptions?: Record<string, unknown>) => unknown;\n\ntype RouterContextType = {\n navigate: RouterNavigate;\n} | null;\n\ntype RouterProviderProps = {\n navigate: RouterNavigate;\n children: ReactNode;\n};\n\nconst defaultContext: RouterContextType = null;\n\nconst RouterContext = createContext<RouterContextType>(defaultContext);\nconst RouterConsumer = RouterContext.Consumer;\n\n/**\n * Wraps part of the app so Spirit link-like components (`Link`, `ButtonLink`, …) can call\n * `navigate` on internal clicks instead of a full page load.\n *\n * Pass your app’s navigation function as `navigate` (path plus optional options as a second argument;\n * e.g. Next.js App Router `router.push`; Pages Router often needs a thin wrapper—see package README).\n *\n * @param props Provider props.\n * @param props.navigate Invoked from link components on qualifying internal navigations (after `preventDefault` when intercepting).\n * @param props.children Subtree that should be wrapped; descendants may call {@link useRouter}.\n */\nconst RouterProvider = (props: RouterProviderProps): JSX.Element => {\n const { navigate, children } = props;\n const value = useMemo(() => ({ navigate }), [navigate]);\n\n return createElement(RouterContext.Provider, { value }, children);\n};\n\n/** Returns the router value from the nearest `RouterProvider`, or `null` when missing. */\nconst useRouter = (): RouterContextType => useContext(RouterContext);\n\nexport default RouterContext;\nexport { RouterConsumer, RouterProvider, useRouter };\nexport type { RouterContextType, RouterNavigate, RouterProviderProps };\n"],"names":["defaultContext","RouterContext","createContext","RouterConsumer","RouterProvider","props","navigate","children","value","useMemo","createElement","useRouter","useContext"],"mappings":";;AAgBA,MAAMA,IAAoC,MAEpCC,IAAgBC,EAAiCF,CAAc,GAC/DG,IAAiBF,EAAc,UAa/BG,IAAiB,CAACC,MAA4C;AAClE,QAAM,EAAE,UAAAC,GAAU,UAAAC,EAAA,IAAaF,GACzBG,IAAQC,EAAQ,OAAO,EAAE,UAAAH,MAAa,CAACA,CAAQ,CAAC;AAEtD,SAAOI,EAAcT,EAAc,UAAU,EAAE,OAAAO,EAAA,GAASD,CAAQ;AAClE,GAGMI,IAAY,MAAyBC,EAAWX,CAAa;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./ClassNamePrefixContext.cjs"),s=require("./IconsContext.cjs"),e=require("./PropsContext.cjs");exports.ClassNamePrefixConsumer=r.ClassNamePrefixConsumer;exports.ClassNamePrefixProvider=r.ClassNamePrefixProvider;exports.IconsConsumer=s.IconsConsumer;exports.IconsProvider=s.IconsProvider;exports.PropsConsumer=e.PropsConsumer;exports.PropsProvider=e.PropsProvider;exports.useContextProps=e.useContextProps;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./ClassNamePrefixContext.cjs"),s=require("./IconsContext.cjs"),e=require("./PropsContext.cjs"),r=require("./RouterContext.cjs");exports.ClassNamePrefixConsumer=o.ClassNamePrefixConsumer;exports.ClassNamePrefixProvider=o.ClassNamePrefixProvider;exports.IconsConsumer=s.IconsConsumer;exports.IconsProvider=s.IconsProvider;exports.PropsConsumer=e.PropsConsumer;exports.PropsProvider=e.PropsProvider;exports.useContextProps=e.useContextProps;exports.RouterConsumer=r.RouterConsumer;exports.RouterProvider=r.RouterProvider;exports.useRouter=r.useRouter;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
1
  export * from './ClassNamePrefixContext';
2
2
  export * from './IconsContext';
3
3
  export * from './PropsContext';
4
+ export * from './RouterContext';
@@ -1,13 +1,17 @@
1
1
  import { ClassNamePrefixConsumer as e, ClassNamePrefixProvider as s } from "./ClassNamePrefixContext.js";
2
- import { IconsConsumer as P, IconsProvider as t } from "./IconsContext.js";
3
- import { PropsConsumer as n, PropsProvider as p, useContextProps as x } from "./PropsContext.js";
2
+ import { IconsConsumer as m, IconsProvider as u } from "./IconsContext.js";
3
+ import { PropsConsumer as i, PropsProvider as n, useContextProps as p } from "./PropsContext.js";
4
+ import { RouterConsumer as C, RouterProvider as f, useRouter as a } from "./RouterContext.js";
4
5
  export {
5
6
  e as ClassNamePrefixConsumer,
6
7
  s as ClassNamePrefixProvider,
7
- P as IconsConsumer,
8
- t as IconsProvider,
9
- n as PropsConsumer,
10
- p as PropsProvider,
11
- x as useContextProps
8
+ m as IconsConsumer,
9
+ u as IconsProvider,
10
+ i as PropsConsumer,
11
+ n as PropsProvider,
12
+ C as RouterConsumer,
13
+ f as RouterProvider,
14
+ p as useContextProps,
15
+ a as useRouter
12
16
  };
13
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./styleProps.cjs"),s=require("./useAlignmentClass.cjs"),u=require("./useAriaDescribedBy.cjs"),r=require("./useCancelEvent.cjs"),t=require("./useClassNamePrefix.cjs"),i=require("./useClick.cjs"),o=require("./useClickOutside.cjs"),n=require("./useDeprecationMessage.cjs"),c=require("./useDimensionStyle.cjs"),l=require("./useDragAndDrop.cjs"),a=require("./useI18n.cjs"),C=require("./useIcon.cjs"),y=require("./useIconName.cjs"),m=require("./useInputPositionClass.cjs"),p=require("./useIsomorphicLayoutEffect.cjs"),q=require("./useLastActiveFocus.cjs"),g=require("./useResizeObserver.cjs"),S=require("./useScrollControl.cjs"),D=require("./useSpacingStyle.cjs"),I=require("./useSymmetry.cjs"),A=require("./useToggle.cjs"),d=require("./useWrapClass.cjs");exports.useStyleProps=e.useStyleProps;exports.useAlignmentClass=s.useAlignmentClass;exports.useAriaDescribedBy=u.useAriaDescribedBy;exports.useCancelEvent=r.useCancelEvent;exports.useClassNamePrefix=t.useClassNamePrefix;exports.useClick=i.useClick;exports.useClickOutside=o.useClickOutside;exports.useDeprecationMessage=n.useDeprecationMessage;exports.useDimensionStyle=c.useDimensionStyle;exports.useDragAndDrop=l.useDragAndDrop;exports.useI18n=a.useI18n;exports.useIcon=C.useIcon;exports.useIconName=y.useIconName;exports.useInputPositionClass=m.useInputPositionClass;exports.useIsomorphicLayoutEffect=p.useIsomorphicLayoutEffect;exports.useLastActiveFocus=q.useLastActiveFocus;exports.useResizeObserver=g.useResizeObserver;exports.useScrollControl=S.useScrollControl;exports.useSpacingStyle=D.useSpacingStyle;exports.useSymmetry=I.useSymmetry;exports.useToggle=A.useToggle;exports.useWrapClass=d.useWrapClass;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./styleProps.cjs"),r=require("./useAlignmentClass.cjs"),s=require("./useAriaIdRefs.cjs"),t=require("./useCancelEvent.cjs"),i=require("./useClassNamePrefix.cjs"),o=require("./useClick.cjs"),n=require("./useClickOutside.cjs"),c=require("./useControlledModeGuard.cjs"),l=require("./useDebouncedValue.cjs"),a=require("./useDeprecationMessage.cjs"),d=require("./useDimensionStyle.cjs"),S=require("./useDragAndDrop.cjs"),g=require("./useI18n.cjs"),C=require("./useIcon.cjs"),y=require("./useIconName.cjs"),q=require("./useInputPositionClass.cjs"),m=require("./useIsomorphicLayoutEffect.cjs"),p=require("./useLastActiveFocus.cjs"),D=require("./useLinkClick.cjs"),I=require("./useResizeObserver.cjs"),A=require("./useScrollControl.cjs"),e=require("./useSelectionState.cjs"),f=require("./useSpacingStyle.cjs"),k=require("./useSymmetry.cjs"),b=require("./useToggle.cjs"),v=require("./useWrapClass.cjs");exports.useStyleProps=u.useStyleProps;exports.useAlignmentClass=r.useAlignmentClass;exports.useAriaDescribedBy=s.useAriaDescribedBy;exports.useAriaDetails=s.useAriaDetails;exports.useAriaIdRefs=s.useAriaIdRefs;exports.useCancelEvent=t.useCancelEvent;exports.useClassNamePrefix=i.useClassNamePrefix;exports.useClick=o.useClick;exports.useClickOutside=n.useClickOutside;exports.useControlledModeGuard=c.useControlledModeGuard;exports.useDebouncedValue=l.useDebouncedValue;exports.useDeprecationMessage=a.useDeprecationMessage;exports.useDimensionStyle=d.useDimensionStyle;exports.useDragAndDrop=S.useDragAndDrop;exports.useI18n=g.useI18n;exports.useIcon=C.useIcon;exports.useIconName=y.useIconName;exports.useInputPositionClass=q.useInputPositionClass;exports.useIsomorphicLayoutEffect=m.useIsomorphicLayoutEffect;exports.useLastActiveFocus=p.useLastActiveFocus;exports.useLinkClick=D.useLinkClick;exports.useResizeObserver=I.useResizeObserver;exports.useScrollControl=A.useScrollControl;exports.getSelectedKeys=e.getSelectedKeys;exports.getToggledSelectedKeys=e.getToggledSelectedKeys;exports.isKeySelected=e.isKeySelected;exports.isSingleSelectionMode=e.isSingleSelectionMode;exports.useSelectionState=e.useSelectionState;exports.useSpacingStyle=f.useSpacingStyle;exports.useSymmetry=k.useSymmetry;exports.useToggle=b.useToggle;exports.useWrapClass=v.useWrapClass;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,10 +1,12 @@
1
1
  export * from './styleProps';
2
2
  export * from './useAlignmentClass';
3
- export * from './useAriaDescribedBy';
3
+ export * from './useAriaIdRefs';
4
4
  export * from './useCancelEvent';
5
5
  export * from './useClassNamePrefix';
6
6
  export * from './useClick';
7
7
  export * from './useClickOutside';
8
+ export * from './useControlledModeGuard';
9
+ export * from './useDebouncedValue';
8
10
  export * from './useDeprecationMessage';
9
11
  export * from './useDimensionStyle';
10
12
  export * from './useDragAndDrop';
@@ -14,8 +16,10 @@ export * from './useIconName';
14
16
  export * from './useInputPositionClass';
15
17
  export * from './useIsomorphicLayoutEffect';
16
18
  export * from './useLastActiveFocus';
19
+ export * from './useLinkClick';
17
20
  export * from './useResizeObserver';
18
21
  export * from './useScrollControl';
22
+ export * from './useSelectionState';
19
23
  export * from './useSpacingStyle';
20
24
  export * from './useSymmetry';
21
25
  export * from './useToggle';
@@ -1,47 +1,61 @@
1
1
  import { useStyleProps as r } from "./styleProps.js";
2
2
  import { useAlignmentClass as t } from "./useAlignmentClass.js";
3
- import { useAriaDescribedBy as p } from "./useAriaDescribedBy.js";
4
- import { useCancelEvent as f } from "./useCancelEvent.js";
5
- import { useClassNamePrefix as i } from "./useClassNamePrefix.js";
6
- import { useClick as l } from "./useClick.js";
7
- import { useClickOutside as c } from "./useClickOutside.js";
8
- import { useDeprecationMessage as y } from "./useDeprecationMessage.js";
9
- import { useDimensionStyle as S } from "./useDimensionStyle.js";
10
- import { useDragAndDrop as I } from "./useDragAndDrop.js";
11
- import { useI18n as d } from "./useI18n.js";
12
- import { useIcon as P } from "./useIcon.js";
13
- import { useIconName as k } from "./useIconName.js";
14
- import { useInputPositionClass as L } from "./useInputPositionClass.js";
15
- import { useIsomorphicLayoutEffect as O } from "./useIsomorphicLayoutEffect.js";
16
- import { useLastActiveFocus as z } from "./useLastActiveFocus.js";
17
- import { useResizeObserver as F } from "./useResizeObserver.js";
18
- import { useScrollControl as R } from "./useScrollControl.js";
19
- import { useSpacingStyle as W } from "./useSpacingStyle.js";
20
- import { useSymmetry as q } from "./useSymmetry.js";
21
- import { useToggle as G } from "./useToggle.js";
22
- import { useWrapClass as J } from "./useWrapClass.js";
3
+ import { useAriaDescribedBy as m, useAriaDetails as p, useAriaIdRefs as f } from "./useAriaIdRefs.js";
4
+ import { useCancelEvent as l } from "./useCancelEvent.js";
5
+ import { useClassNamePrefix as a } from "./useClassNamePrefix.js";
6
+ import { useClick as n } from "./useClick.js";
7
+ import { useClickOutside as S } from "./useClickOutside.js";
8
+ import { useControlledModeGuard as y } from "./useControlledModeGuard.js";
9
+ import { useDebouncedValue as D } from "./useDebouncedValue.js";
10
+ import { useDeprecationMessage as I } from "./useDeprecationMessage.js";
11
+ import { useDimensionStyle as b } from "./useDimensionStyle.js";
12
+ import { useDragAndDrop as K } from "./useDragAndDrop.js";
13
+ import { useI18n as M } from "./useI18n.js";
14
+ import { useIcon as E } from "./useIcon.js";
15
+ import { useIconName as O } from "./useIconName.js";
16
+ import { useInputPositionClass as T } from "./useInputPositionClass.js";
17
+ import { useIsomorphicLayoutEffect as z } from "./useIsomorphicLayoutEffect.js";
18
+ import { useLastActiveFocus as F } from "./useLastActiveFocus.js";
19
+ import { useLinkClick as V } from "./useLinkClick.js";
20
+ import { useResizeObserver as j } from "./useResizeObserver.js";
21
+ import { useScrollControl as w } from "./useScrollControl.js";
22
+ import { getSelectedKeys as J, getToggledSelectedKeys as Q, isKeySelected as U, isSingleSelectionMode as X, useSelectionState as Y } from "./useSelectionState.js";
23
+ import { useSpacingStyle as _ } from "./useSpacingStyle.js";
24
+ import { useSymmetry as ee } from "./useSymmetry.js";
25
+ import { useToggle as re } from "./useToggle.js";
26
+ import { useWrapClass as te } from "./useWrapClass.js";
23
27
  export {
28
+ J as getSelectedKeys,
29
+ Q as getToggledSelectedKeys,
30
+ U as isKeySelected,
31
+ X as isSingleSelectionMode,
24
32
  t as useAlignmentClass,
25
- p as useAriaDescribedBy,
26
- f as useCancelEvent,
27
- i as useClassNamePrefix,
28
- l as useClick,
29
- c as useClickOutside,
30
- y as useDeprecationMessage,
31
- S as useDimensionStyle,
32
- I as useDragAndDrop,
33
- d as useI18n,
34
- P as useIcon,
35
- k as useIconName,
36
- L as useInputPositionClass,
37
- O as useIsomorphicLayoutEffect,
38
- z as useLastActiveFocus,
39
- F as useResizeObserver,
40
- R as useScrollControl,
41
- W as useSpacingStyle,
33
+ m as useAriaDescribedBy,
34
+ p as useAriaDetails,
35
+ f as useAriaIdRefs,
36
+ l as useCancelEvent,
37
+ a as useClassNamePrefix,
38
+ n as useClick,
39
+ S as useClickOutside,
40
+ y as useControlledModeGuard,
41
+ D as useDebouncedValue,
42
+ I as useDeprecationMessage,
43
+ b as useDimensionStyle,
44
+ K as useDragAndDrop,
45
+ M as useI18n,
46
+ E as useIcon,
47
+ O as useIconName,
48
+ T as useInputPositionClass,
49
+ z as useIsomorphicLayoutEffect,
50
+ F as useLastActiveFocus,
51
+ V as useLinkClick,
52
+ j as useResizeObserver,
53
+ w as useScrollControl,
54
+ Y as useSelectionState,
55
+ _ as useSpacingStyle,
42
56
  r as useStyleProps,
43
- q as useSymmetry,
44
- G as useToggle,
45
- J as useWrapClass
57
+ ee as useSymmetry,
58
+ re as useToggle,
59
+ te as useWrapClass
46
60
  };
47
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react");function a(e,n){const[t,u]=i.useState(()=>{if(!n)return[];const r=n.trim().split(/\s+/).filter(Boolean);return Array.from(new Set(r))}),l=i.useCallback(({add:r,remove:o})=>{u(c=>{const s=new Set(c),d=s.size;return o&&s.delete(o),r&&s.add(r),s.size!==d?Array.from(s):c})},[]);return[i.useMemo(()=>t.length>0?{[e]:t.join(" ")}:{},[t,e]),l]}const f=e=>a("aria-describedby",e),y=e=>a("aria-details",e);exports.useAriaDescribedBy=f;exports.useAriaDetails=y;exports.useAriaIdRefs=a;
2
+ //# sourceMappingURL=useAriaIdRefs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAriaIdRefs.cjs","sources":["../../src/hooks/useAriaIdRefs.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo, useState } from 'react';\n\ntype AriaIdRefAttribute = 'aria-describedby' | 'aria-details';\n\nexport type RegisterParams = { add?: string; remove?: string };\nexport type RegisterType = (params: RegisterParams) => void;\nexport type AriaIdRefsReturn = [Partial<Record<AriaIdRefAttribute, string>>, RegisterType];\n\nexport function useAriaIdRefs(ariaAttribute: AriaIdRefAttribute, initialIds?: string): AriaIdRefsReturn {\n const [ids, setIds] = useState<string[]>(() => {\n if (!initialIds) {\n return [];\n }\n\n const parsed = initialIds.trim().split(/\\s+/).filter(Boolean);\n\n return Array.from(new Set(parsed));\n });\n\n const register = useCallback(({ add, remove }: RegisterParams) => {\n setIds((prevIds) => {\n const idsSet = new Set(prevIds);\n const initialSize = idsSet.size;\n\n if (remove) {\n idsSet.delete(remove);\n }\n\n if (add) {\n idsSet.add(add);\n }\n\n return idsSet.size !== initialSize ? Array.from(idsSet) : prevIds;\n });\n }, []);\n\n const ariaProps = useMemo(() => (ids.length > 0 ? { [ariaAttribute]: ids.join(' ') } : {}), [ids, ariaAttribute]);\n\n return [ariaProps, register];\n}\n\nexport const useAriaDescribedBy = (initialIds?: string): AriaIdRefsReturn =>\n useAriaIdRefs('aria-describedby', initialIds);\n\nexport const useAriaDetails = (initialIds?: string): AriaIdRefsReturn => useAriaIdRefs('aria-details', initialIds);\n\nexport default useAriaIdRefs;\n"],"names":["useAriaIdRefs","ariaAttribute","initialIds","ids","setIds","useState","parsed","register","useCallback","add","remove","prevIds","idsSet","initialSize","useMemo","useAriaDescribedBy","useAriaDetails"],"mappings":"sHAUO,SAASA,EAAcC,EAAmCC,EAAuC,CACtG,KAAM,CAACC,EAAKC,CAAM,EAAIC,EAAAA,SAAmB,IAAM,CAC7C,GAAI,CAACH,EACH,MAAO,CAAA,EAGT,MAAMI,EAASJ,EAAW,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO,EAE5D,OAAO,MAAM,KAAK,IAAI,IAAII,CAAM,CAAC,CACnC,CAAC,EAEKC,EAAWC,EAAAA,YAAY,CAAC,CAAE,IAAAC,EAAK,OAAAC,KAA6B,CAChEN,EAAQO,GAAY,CAClB,MAAMC,EAAS,IAAI,IAAID,CAAO,EACxBE,EAAcD,EAAO,KAE3B,OAAIF,GACFE,EAAO,OAAOF,CAAM,EAGlBD,GACFG,EAAO,IAAIH,CAAG,EAGTG,EAAO,OAASC,EAAc,MAAM,KAAKD,CAAM,EAAID,CAC5D,CAAC,CACH,EAAG,CAAA,CAAE,EAIL,MAAO,CAFWG,EAAAA,QAAQ,IAAOX,EAAI,OAAS,EAAI,CAAE,CAACF,CAAa,EAAGE,EAAI,KAAK,GAAG,GAAM,CAAA,EAAK,CAACA,EAAKF,CAAa,CAAC,EAE7FM,CAAQ,CAC7B,CAEO,MAAMQ,EAAsBb,GACjCF,EAAc,mBAAoBE,CAAU,EAEjCc,EAAkBd,GAA0CF,EAAc,eAAgBE,CAAU"}
@@ -0,0 +1,11 @@
1
+ type AriaIdRefAttribute = 'aria-describedby' | 'aria-details';
2
+ export type RegisterParams = {
3
+ add?: string;
4
+ remove?: string;
5
+ };
6
+ export type RegisterType = (params: RegisterParams) => void;
7
+ export type AriaIdRefsReturn = [Partial<Record<AriaIdRefAttribute, string>>, RegisterType];
8
+ export declare function useAriaIdRefs(ariaAttribute: AriaIdRefAttribute, initialIds?: string): AriaIdRefsReturn;
9
+ export declare const useAriaDescribedBy: (initialIds?: string) => AriaIdRefsReturn;
10
+ export declare const useAriaDetails: (initialIds?: string) => AriaIdRefsReturn;
11
+ export default useAriaIdRefs;
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { useState as f, useCallback as d, useMemo as m } from "react";
3
+ function a(e, i) {
4
+ const [t, c] = f(() => {
5
+ if (!i)
6
+ return [];
7
+ const r = i.trim().split(/\s+/).filter(Boolean);
8
+ return Array.from(new Set(r));
9
+ }), u = d(({ add: r, remove: n }) => {
10
+ c((o) => {
11
+ const s = new Set(o), l = s.size;
12
+ return n && s.delete(n), r && s.add(r), s.size !== l ? Array.from(s) : o;
13
+ });
14
+ }, []);
15
+ return [m(() => t.length > 0 ? { [e]: t.join(" ") } : {}, [t, e]), u];
16
+ }
17
+ const y = (e) => a("aria-describedby", e), A = (e) => a("aria-details", e);
18
+ export {
19
+ y as useAriaDescribedBy,
20
+ A as useAriaDetails,
21
+ a as useAriaIdRefs
22
+ };
23
+ //# sourceMappingURL=useAriaIdRefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAriaIdRefs.js","sources":["../../src/hooks/useAriaIdRefs.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useMemo, useState } from 'react';\n\ntype AriaIdRefAttribute = 'aria-describedby' | 'aria-details';\n\nexport type RegisterParams = { add?: string; remove?: string };\nexport type RegisterType = (params: RegisterParams) => void;\nexport type AriaIdRefsReturn = [Partial<Record<AriaIdRefAttribute, string>>, RegisterType];\n\nexport function useAriaIdRefs(ariaAttribute: AriaIdRefAttribute, initialIds?: string): AriaIdRefsReturn {\n const [ids, setIds] = useState<string[]>(() => {\n if (!initialIds) {\n return [];\n }\n\n const parsed = initialIds.trim().split(/\\s+/).filter(Boolean);\n\n return Array.from(new Set(parsed));\n });\n\n const register = useCallback(({ add, remove }: RegisterParams) => {\n setIds((prevIds) => {\n const idsSet = new Set(prevIds);\n const initialSize = idsSet.size;\n\n if (remove) {\n idsSet.delete(remove);\n }\n\n if (add) {\n idsSet.add(add);\n }\n\n return idsSet.size !== initialSize ? Array.from(idsSet) : prevIds;\n });\n }, []);\n\n const ariaProps = useMemo(() => (ids.length > 0 ? { [ariaAttribute]: ids.join(' ') } : {}), [ids, ariaAttribute]);\n\n return [ariaProps, register];\n}\n\nexport const useAriaDescribedBy = (initialIds?: string): AriaIdRefsReturn =>\n useAriaIdRefs('aria-describedby', initialIds);\n\nexport const useAriaDetails = (initialIds?: string): AriaIdRefsReturn => useAriaIdRefs('aria-details', initialIds);\n\nexport default useAriaIdRefs;\n"],"names":["useAriaIdRefs","ariaAttribute","initialIds","ids","setIds","useState","parsed","register","useCallback","add","remove","prevIds","idsSet","initialSize","useMemo","useAriaDescribedBy","useAriaDetails"],"mappings":";;AAUO,SAASA,EAAcC,GAAmCC,GAAuC;AACtG,QAAM,CAACC,GAAKC,CAAM,IAAIC,EAAmB,MAAM;AAC7C,QAAI,CAACH;AACH,aAAO,CAAA;AAGT,UAAMI,IAASJ,EAAW,KAAA,EAAO,MAAM,KAAK,EAAE,OAAO,OAAO;AAE5D,WAAO,MAAM,KAAK,IAAI,IAAII,CAAM,CAAC;AAAA,EACnC,CAAC,GAEKC,IAAWC,EAAY,CAAC,EAAE,KAAAC,GAAK,QAAAC,QAA6B;AAChE,IAAAN,EAAO,CAACO,MAAY;AAClB,YAAMC,IAAS,IAAI,IAAID,CAAO,GACxBE,IAAcD,EAAO;AAE3B,aAAIF,KACFE,EAAO,OAAOF,CAAM,GAGlBD,KACFG,EAAO,IAAIH,CAAG,GAGTG,EAAO,SAASC,IAAc,MAAM,KAAKD,CAAM,IAAID;AAAA,IAC5D,CAAC;AAAA,EACH,GAAG,CAAA,CAAE;AAIL,SAAO,CAFWG,EAAQ,MAAOX,EAAI,SAAS,IAAI,EAAE,CAACF,CAAa,GAAGE,EAAI,KAAK,GAAG,MAAM,CAAA,GAAK,CAACA,GAAKF,CAAa,CAAC,GAE7FM,CAAQ;AAC7B;AAEO,MAAMQ,IAAqB,CAACb,MACjCF,EAAc,oBAAoBE,CAAU,GAEjCc,IAAiB,CAACd,MAA0CF,EAAc,gBAAgBE,CAAU;"}
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),i=require("../common/utilities/warning.cjs"),v=f=>{const{value:u,defaultValue:l,componentName:t,valuePropName:e="value",defaultValuePropName:d="defaultValue",bothDefinedMessage:s,modeSwitchMessage:a}=f,o=u!==void 0,n=r.useRef(void 0),c=r.useRef(!1);r.useEffect(()=>{u!==void 0&&l!==void 0&&!c.current&&(c.current=!0,i.default(!1,s??`${t}: \`${e}\` and \`${d}\` cannot both be set. Use either controlled (\`${e}\`) or uncontrolled (\`${d}\`) mode.`))},[s,t,l,d,u,e]),r.useEffect(()=>{if(n.current===void 0){n.current=o;return}n.current!==o&&i.default(!1,a??`${t}: Do not switch between controlled (\`${e}\` defined) and uncontrolled (\`${e}\` undefined) modes across renders.`),n.current=o},[t,o,a,e])};exports.useControlledModeGuard=v;
2
+ //# sourceMappingURL=useControlledModeGuard.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useControlledModeGuard.cjs","sources":["../../src/hooks/useControlledModeGuard.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef } from 'react';\nimport { warning } from '../common/utilities';\n\nexport interface UseControlledModeGuardProps<T> {\n value?: T;\n defaultValue?: T;\n componentName: string;\n valuePropName?: string;\n defaultValuePropName?: string;\n bothDefinedMessage?: string;\n modeSwitchMessage?: string;\n}\n\n/**\n * Dev-only guard for controlled/uncontrolled APIs (`value` + `defaultValue`).\n * Warns when both props are set and when mode switches across renders.\n *\n * @param props - Guard configuration for controlled/uncontrolled checks.\n * @param props.value - Controlled value.\n * @param props.defaultValue - Uncontrolled initial value.\n * @param props.componentName - Name used in warning messages.\n * @param props.valuePropName - Optional controlled prop label for warning text.\n * @param props.defaultValuePropName - Optional uncontrolled prop label for warning text.\n * @param props.bothDefinedMessage - Optional custom warning when both value and defaultValue are set.\n * @param props.modeSwitchMessage - Optional custom warning when controlled mode changes across renders.\n */\nexport const useControlledModeGuard = <T>(props: UseControlledModeGuardProps<T>): void => {\n const {\n value,\n defaultValue,\n componentName,\n valuePropName = 'value',\n defaultValuePropName = 'defaultValue',\n bothDefinedMessage,\n modeSwitchMessage,\n } = props;\n const isControlled = value !== undefined;\n const isControlledRef = useRef<boolean | undefined>(undefined);\n const didWarnBothValueAndDefaultRef = useRef(false);\n\n useEffect(() => {\n if (value !== undefined && defaultValue !== undefined && !didWarnBothValueAndDefaultRef.current) {\n didWarnBothValueAndDefaultRef.current = true;\n\n warning(\n false,\n bothDefinedMessage ??\n `${componentName}: \\`${valuePropName}\\` and \\`${defaultValuePropName}\\` cannot both be set. Use either controlled (\\`${valuePropName}\\`) or uncontrolled (\\`${defaultValuePropName}\\`) mode.`,\n );\n }\n }, [bothDefinedMessage, componentName, defaultValue, defaultValuePropName, value, valuePropName]);\n\n useEffect(() => {\n if (isControlledRef.current === undefined) {\n isControlledRef.current = isControlled;\n\n return;\n }\n\n if (isControlledRef.current !== isControlled) {\n warning(\n false,\n modeSwitchMessage ??\n `${componentName}: Do not switch between controlled (\\`${valuePropName}\\` defined) and uncontrolled (\\`${valuePropName}\\` undefined) modes across renders.`,\n );\n }\n\n isControlledRef.current = isControlled;\n }, [componentName, isControlled, modeSwitchMessage, valuePropName]);\n};\n"],"names":["useControlledModeGuard","props","value","defaultValue","componentName","valuePropName","defaultValuePropName","bothDefinedMessage","modeSwitchMessage","isControlled","isControlledRef","useRef","didWarnBothValueAndDefaultRef","useEffect","warning"],"mappings":"mKA4BaA,EAA6BC,GAAgD,CACxF,KAAM,CACJ,MAAAC,EACA,aAAAC,EACA,cAAAC,EACA,cAAAC,EAAgB,QAChB,qBAAAC,EAAuB,eACvB,mBAAAC,EACA,kBAAAC,CAAA,EACEP,EACEQ,EAAeP,IAAU,OACzBQ,EAAkBC,EAAAA,OAA4B,MAAS,EACvDC,EAAgCD,EAAAA,OAAO,EAAK,EAElDE,EAAAA,UAAU,IAAM,CACVX,IAAU,QAAaC,IAAiB,QAAa,CAACS,EAA8B,UACtFA,EAA8B,QAAU,GAExCE,EAAAA,QACE,GACAP,GACE,GAAGH,CAAa,OAAOC,CAAa,YAAYC,CAAoB,mDAAmDD,CAAa,0BAA0BC,CAAoB,WAAA,EAG1L,EAAG,CAACC,EAAoBH,EAAeD,EAAcG,EAAsBJ,EAAOG,CAAa,CAAC,EAEhGQ,EAAAA,UAAU,IAAM,CACd,GAAIH,EAAgB,UAAY,OAAW,CACzCA,EAAgB,QAAUD,EAE1B,MACF,CAEIC,EAAgB,UAAYD,GAC9BK,EAAAA,QACE,GACAN,GACE,GAAGJ,CAAa,yCAAyCC,CAAa,mCAAmCA,CAAa,qCAAA,EAI5HK,EAAgB,QAAUD,CAC5B,EAAG,CAACL,EAAeK,EAAcD,EAAmBH,CAAa,CAAC,CACpE"}
@@ -0,0 +1,10 @@
1
+ export interface UseControlledModeGuardProps<T> {
2
+ value?: T;
3
+ defaultValue?: T;
4
+ componentName: string;
5
+ valuePropName?: string;
6
+ defaultValuePropName?: string;
7
+ bothDefinedMessage?: string;
8
+ modeSwitchMessage?: string;
9
+ }
10
+ export declare const useControlledModeGuard: <T>(props: UseControlledModeGuardProps<T>) => void;
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { useRef as c, useEffect as i } from "react";
3
+ import f from "../common/utilities/warning.js";
4
+ const h = (m) => {
5
+ const {
6
+ value: r,
7
+ defaultValue: l,
8
+ componentName: o,
9
+ valuePropName: e = "value",
10
+ defaultValuePropName: d = "defaultValue",
11
+ bothDefinedMessage: u,
12
+ modeSwitchMessage: s
13
+ } = m, t = r !== void 0, n = c(void 0), a = c(!1);
14
+ i(() => {
15
+ r !== void 0 && l !== void 0 && !a.current && (a.current = !0, f(
16
+ !1,
17
+ u ?? `${o}: \`${e}\` and \`${d}\` cannot both be set. Use either controlled (\`${e}\`) or uncontrolled (\`${d}\`) mode.`
18
+ ));
19
+ }, [u, o, l, d, r, e]), i(() => {
20
+ if (n.current === void 0) {
21
+ n.current = t;
22
+ return;
23
+ }
24
+ n.current !== t && f(
25
+ !1,
26
+ s ?? `${o}: Do not switch between controlled (\`${e}\` defined) and uncontrolled (\`${e}\` undefined) modes across renders.`
27
+ ), n.current = t;
28
+ }, [o, t, s, e]);
29
+ };
30
+ export {
31
+ h as useControlledModeGuard
32
+ };
33
+ //# sourceMappingURL=useControlledModeGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useControlledModeGuard.js","sources":["../../src/hooks/useControlledModeGuard.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef } from 'react';\nimport { warning } from '../common/utilities';\n\nexport interface UseControlledModeGuardProps<T> {\n value?: T;\n defaultValue?: T;\n componentName: string;\n valuePropName?: string;\n defaultValuePropName?: string;\n bothDefinedMessage?: string;\n modeSwitchMessage?: string;\n}\n\n/**\n * Dev-only guard for controlled/uncontrolled APIs (`value` + `defaultValue`).\n * Warns when both props are set and when mode switches across renders.\n *\n * @param props - Guard configuration for controlled/uncontrolled checks.\n * @param props.value - Controlled value.\n * @param props.defaultValue - Uncontrolled initial value.\n * @param props.componentName - Name used in warning messages.\n * @param props.valuePropName - Optional controlled prop label for warning text.\n * @param props.defaultValuePropName - Optional uncontrolled prop label for warning text.\n * @param props.bothDefinedMessage - Optional custom warning when both value and defaultValue are set.\n * @param props.modeSwitchMessage - Optional custom warning when controlled mode changes across renders.\n */\nexport const useControlledModeGuard = <T>(props: UseControlledModeGuardProps<T>): void => {\n const {\n value,\n defaultValue,\n componentName,\n valuePropName = 'value',\n defaultValuePropName = 'defaultValue',\n bothDefinedMessage,\n modeSwitchMessage,\n } = props;\n const isControlled = value !== undefined;\n const isControlledRef = useRef<boolean | undefined>(undefined);\n const didWarnBothValueAndDefaultRef = useRef(false);\n\n useEffect(() => {\n if (value !== undefined && defaultValue !== undefined && !didWarnBothValueAndDefaultRef.current) {\n didWarnBothValueAndDefaultRef.current = true;\n\n warning(\n false,\n bothDefinedMessage ??\n `${componentName}: \\`${valuePropName}\\` and \\`${defaultValuePropName}\\` cannot both be set. Use either controlled (\\`${valuePropName}\\`) or uncontrolled (\\`${defaultValuePropName}\\`) mode.`,\n );\n }\n }, [bothDefinedMessage, componentName, defaultValue, defaultValuePropName, value, valuePropName]);\n\n useEffect(() => {\n if (isControlledRef.current === undefined) {\n isControlledRef.current = isControlled;\n\n return;\n }\n\n if (isControlledRef.current !== isControlled) {\n warning(\n false,\n modeSwitchMessage ??\n `${componentName}: Do not switch between controlled (\\`${valuePropName}\\` defined) and uncontrolled (\\`${valuePropName}\\` undefined) modes across renders.`,\n );\n }\n\n isControlledRef.current = isControlled;\n }, [componentName, isControlled, modeSwitchMessage, valuePropName]);\n};\n"],"names":["useControlledModeGuard","props","value","defaultValue","componentName","valuePropName","defaultValuePropName","bothDefinedMessage","modeSwitchMessage","isControlled","isControlledRef","useRef","didWarnBothValueAndDefaultRef","useEffect","warning"],"mappings":";;;AA4BO,MAAMA,IAAyB,CAAIC,MAAgD;AACxF,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,sBAAAC,IAAuB;AAAA,IACvB,oBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEP,GACEQ,IAAeP,MAAU,QACzBQ,IAAkBC,EAA4B,MAAS,GACvDC,IAAgCD,EAAO,EAAK;AAElD,EAAAE,EAAU,MAAM;AACd,IAAIX,MAAU,UAAaC,MAAiB,UAAa,CAACS,EAA8B,YACtFA,EAA8B,UAAU,IAExCE;AAAA,MACE;AAAA,MACAP,KACE,GAAGH,CAAa,OAAOC,CAAa,YAAYC,CAAoB,mDAAmDD,CAAa,0BAA0BC,CAAoB;AAAA,IAAA;AAAA,EAG1L,GAAG,CAACC,GAAoBH,GAAeD,GAAcG,GAAsBJ,GAAOG,CAAa,CAAC,GAEhGQ,EAAU,MAAM;AACd,QAAIH,EAAgB,YAAY,QAAW;AACzC,MAAAA,EAAgB,UAAUD;AAE1B;AAAA,IACF;AAEA,IAAIC,EAAgB,YAAYD,KAC9BK;AAAA,MACE;AAAA,MACAN,KACE,GAAGJ,CAAa,yCAAyCC,CAAa,mCAAmCA,CAAa;AAAA,IAAA,GAI5HK,EAAgB,UAAUD;AAAA,EAC5B,GAAG,CAACL,GAAeK,GAAcD,GAAmBH,CAAa,CAAC;AACpE;"}
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),d=require("../utils/debounce.cjs"),i=(u,c)=>{const[o,r]=e.useState(u),n=e.useRef(!0),t=e.useMemo(()=>d.debounce(s=>r(s),c),[c]);return e.useEffect(()=>{if(n.current){n.current=!1;return}return t(u),()=>t.cancel()},[u,t]),o};exports.useDebouncedValue=i;
2
+ //# sourceMappingURL=useDebouncedValue.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebouncedValue.cjs","sources":["../../src/hooks/useDebouncedValue.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { debounce } from '../utils';\n\n/**\n * Returns a debounced version of the provided value.\n * The returned value updates only after the specified delay has passed\n * without the input value changing.\n *\n * On the initial call the value is returned immediately (no delay).\n *\n * @param {T} inputValue - The value to debounce.\n * @param {number} delay - Debounce delay in milliseconds.\n * @returns {T} The debounced value.\n */\nexport const useDebouncedValue = <T>(inputValue: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState(inputValue);\n const isInitialMount = useRef(true);\n\n const debouncedSetValue = useMemo(() => debounce((value: T) => setDebouncedValue(value), delay), [delay]);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n\n return undefined;\n }\n\n debouncedSetValue(inputValue);\n\n return () => debouncedSetValue.cancel();\n }, [inputValue, debouncedSetValue]);\n\n return debouncedValue;\n};\n"],"names":["useDebouncedValue","inputValue","delay","debouncedValue","setDebouncedValue","useState","isInitialMount","useRef","debouncedSetValue","useMemo","debounce","value","useEffect"],"mappings":"yJAgBaA,EAAoB,CAAIC,EAAeC,IAAqB,CACvE,KAAM,CAACC,EAAgBC,CAAiB,EAAIC,EAAAA,SAASJ,CAAU,EACzDK,EAAiBC,EAAAA,OAAO,EAAI,EAE5BC,EAAoBC,EAAAA,QAAQ,IAAMC,EAAAA,SAAUC,GAAaP,EAAkBO,CAAK,EAAGT,CAAK,EAAG,CAACA,CAAK,CAAC,EAExGU,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAIN,EAAe,QAAS,CAC1BA,EAAe,QAAU,GAEzB,MACF,CAEA,OAAAE,EAAkBP,CAAU,EAErB,IAAMO,EAAkB,OAAA,CACjC,EAAG,CAACP,EAAYO,CAAiB,CAAC,EAE3BL,CACT"}
@@ -0,0 +1 @@
1
+ export declare const useDebouncedValue: <T>(inputValue: T, delay: number) => T;
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { useState as s, useRef as d, useMemo as f, useEffect as i } from "react";
3
+ import { debounce as a } from "../utils/debounce.js";
4
+ const m = (e, u) => {
5
+ const [r, c] = s(e), o = d(!0), t = f(() => a((n) => c(n), u), [u]);
6
+ return i(() => {
7
+ if (o.current) {
8
+ o.current = !1;
9
+ return;
10
+ }
11
+ return t(e), () => t.cancel();
12
+ }, [e, t]), r;
13
+ };
14
+ export {
15
+ m as useDebouncedValue
16
+ };
17
+ //# sourceMappingURL=useDebouncedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebouncedValue.js","sources":["../../src/hooks/useDebouncedValue.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { debounce } from '../utils';\n\n/**\n * Returns a debounced version of the provided value.\n * The returned value updates only after the specified delay has passed\n * without the input value changing.\n *\n * On the initial call the value is returned immediately (no delay).\n *\n * @param {T} inputValue - The value to debounce.\n * @param {number} delay - Debounce delay in milliseconds.\n * @returns {T} The debounced value.\n */\nexport const useDebouncedValue = <T>(inputValue: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState(inputValue);\n const isInitialMount = useRef(true);\n\n const debouncedSetValue = useMemo(() => debounce((value: T) => setDebouncedValue(value), delay), [delay]);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n\n return undefined;\n }\n\n debouncedSetValue(inputValue);\n\n return () => debouncedSetValue.cancel();\n }, [inputValue, debouncedSetValue]);\n\n return debouncedValue;\n};\n"],"names":["useDebouncedValue","inputValue","delay","debouncedValue","setDebouncedValue","useState","isInitialMount","useRef","debouncedSetValue","useMemo","debounce","value","useEffect"],"mappings":";;;AAgBO,MAAMA,IAAoB,CAAIC,GAAeC,MAAqB;AACvE,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAASJ,CAAU,GACzDK,IAAiBC,EAAO,EAAI,GAE5BC,IAAoBC,EAAQ,MAAMC,EAAS,CAACC,MAAaP,EAAkBO,CAAK,GAAGT,CAAK,GAAG,CAACA,CAAK,CAAC;AAExG,SAAAU,EAAU,MAAM;AACd,QAAIN,EAAe,SAAS;AAC1B,MAAAA,EAAe,UAAU;AAEzB;AAAA,IACF;AAEA,WAAAE,EAAkBP,CAAU,GAErB,MAAMO,EAAkB,OAAA;AAAA,EACjC,GAAG,CAACP,GAAYO,CAAiB,CAAC,GAE3BL;AACT;"}
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),l=require("../context/RouterContext.cjs"),a=require("../utils/router.cjs"),k=s=>{const e=l.useRouter(),{routerOptions:t,href:r,target:o,download:u,onClick:i,isDisabled:n}=s;return c.useMemo(()=>a.handleLinkClick({router:e,routerOptions:t,href:r,target:o,download:u,onClick:i,isDisabled:n}),[e,t,r,o,u,i,n])};exports.useLinkClick=k;
2
+ //# sourceMappingURL=useLinkClick.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLinkClick.cjs","sources":["../../src/hooks/useLinkClick.ts"],"sourcesContent":["'use client';\n\nimport { type MouseEventHandler, useMemo } from 'react';\nimport { useRouter } from '../context/RouterContext';\nimport { type HandleLinkClickOptions, handleLinkClick } from '../utils/router';\n\nexport type UseLinkClickOptions = Omit<HandleLinkClickOptions, 'router'>;\n\nexport const useLinkClick = (options: UseLinkClickOptions): MouseEventHandler | undefined => {\n const router = useRouter();\n const { routerOptions, href, target, download, onClick, isDisabled } = options;\n\n return useMemo(\n () => handleLinkClick({ router, routerOptions, href, target, download, onClick, isDisabled }),\n [router, routerOptions, href, target, download, onClick, isDisabled],\n );\n};\n"],"names":["useLinkClick","options","router","useRouter","routerOptions","href","target","download","onClick","isDisabled","useMemo","handleLinkClick"],"mappings":"iMAQaA,EAAgBC,GAAgE,CAC3F,MAAMC,EAASC,EAAAA,UAAA,EACT,CAAE,cAAAC,EAAe,KAAAC,EAAM,OAAAC,EAAQ,SAAAC,EAAU,QAAAC,EAAS,WAAAC,GAAeR,EAEvE,OAAOS,EAAAA,QACL,IAAMC,EAAAA,gBAAgB,QAAET,EAAQ,cAAAE,EAAe,KAAAC,EAAM,OAAAC,EAAQ,SAAAC,EAAU,QAAAC,EAAS,WAAAC,EAAY,EAC5F,CAACP,EAAQE,EAAeC,EAAMC,EAAQC,EAAUC,EAASC,CAAU,CAAA,CAEvE"}
@@ -0,0 +1,4 @@
1
+ import { MouseEventHandler } from 'react';
2
+ import { HandleLinkClickOptions } from '../utils/router';
3
+ export type UseLinkClickOptions = Omit<HandleLinkClickOptions, 'router'>;
4
+ export declare const useLinkClick: (options: UseLinkClickOptions) => MouseEventHandler | undefined;