@utilitywarehouse/hearth-react 0.34.4 → 0.34.5

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 (398) hide show
  1. package/SKILL.md +7 -5
  2. package/dist/{chunk-AOWHE3JS.cjs → chunk-2DOX5QRE.cjs} +2 -2
  3. package/dist/{chunk-AOWHE3JS.cjs.map → chunk-2DOX5QRE.cjs.map} +1 -1
  4. package/dist/{chunk-2MQ6FGCP.js → chunk-2T6JOGY4.js} +2 -2
  5. package/dist/{chunk-SWIT4LGB.cjs → chunk-2UQFNTOW.cjs} +2 -2
  6. package/dist/{chunk-SWIT4LGB.cjs.map → chunk-2UQFNTOW.cjs.map} +1 -1
  7. package/dist/{chunk-OOUAAVCO.cjs → chunk-2YOFE27F.cjs} +2 -2
  8. package/dist/{chunk-OOUAAVCO.cjs.map → chunk-2YOFE27F.cjs.map} +1 -1
  9. package/dist/chunk-3KHNXMYU.js +4 -0
  10. package/dist/chunk-3KHNXMYU.js.map +1 -0
  11. package/dist/chunk-53VJM6HN.js +4 -0
  12. package/dist/chunk-53VJM6HN.js.map +1 -0
  13. package/dist/{chunk-75OLYAFB.cjs → chunk-6BVOGEQF.cjs} +2 -2
  14. package/dist/{chunk-75OLYAFB.cjs.map → chunk-6BVOGEQF.cjs.map} +1 -1
  15. package/dist/{chunk-X2QPGOUI.cjs → chunk-6GC2HQ72.cjs} +2 -2
  16. package/dist/{chunk-X2QPGOUI.cjs.map → chunk-6GC2HQ72.cjs.map} +1 -1
  17. package/dist/chunk-6TVIKYYN.js +4 -0
  18. package/dist/chunk-6TVIKYYN.js.map +1 -0
  19. package/dist/{chunk-GAFUPNEN.js → chunk-7BU5PUFF.js} +2 -2
  20. package/dist/chunk-7BU5PUFF.js.map +1 -0
  21. package/dist/{chunk-UNIBG2C6.js → chunk-7VHYXPJC.js} +2 -2
  22. package/dist/chunk-AEY4Y3ZM.cjs +4 -0
  23. package/dist/{chunk-YEZ6N62U.cjs.map → chunk-AEY4Y3ZM.cjs.map} +1 -1
  24. package/dist/chunk-AJDKAYX2.js +4 -0
  25. package/dist/{chunk-FSOQCT7B.js.map → chunk-AJDKAYX2.js.map} +1 -1
  26. package/dist/{chunk-I4T6DB7C.js → chunk-ALOYQFUV.js} +2 -2
  27. package/dist/chunk-ALOYQFUV.js.map +1 -0
  28. package/dist/chunk-ASLPRJKG.cjs +4 -0
  29. package/dist/chunk-ASLPRJKG.cjs.map +1 -0
  30. package/dist/{chunk-F7A4D3PD.cjs → chunk-BCWX6IU3.cjs} +2 -2
  31. package/dist/chunk-BCWX6IU3.cjs.map +1 -0
  32. package/dist/{chunk-RF5NDA46.cjs → chunk-C7UHLFA4.cjs} +2 -2
  33. package/dist/chunk-C7UHLFA4.cjs.map +1 -0
  34. package/dist/{chunk-WYLVXCEC.js → chunk-DDEAM7YH.js} +2 -2
  35. package/dist/chunk-DDEAM7YH.js.map +1 -0
  36. package/dist/{chunk-BB2SOLJS.cjs → chunk-DFHWFPXL.cjs} +2 -2
  37. package/dist/{chunk-BB2SOLJS.cjs.map → chunk-DFHWFPXL.cjs.map} +1 -1
  38. package/dist/{chunk-OQ7TRS57.js → chunk-DYMXUQM4.js} +2 -2
  39. package/dist/{chunk-VVBUEPWH.js → chunk-EERWIJJE.js} +2 -2
  40. package/dist/chunk-EEUINYIO.js +4 -0
  41. package/dist/{chunk-ICJHFSP5.js.map → chunk-EEUINYIO.js.map} +1 -1
  42. package/dist/chunk-ESNSLBNQ.js +4 -0
  43. package/dist/{chunk-BXDF7Z4R.js.map → chunk-ESNSLBNQ.js.map} +1 -1
  44. package/dist/{chunk-Y2YBHHIX.js → chunk-EWEFZ6ZZ.js} +2 -2
  45. package/dist/{chunk-IEKB4IRY.js → chunk-F4VHCEOC.js} +2 -2
  46. package/dist/{chunk-UNDW2NW7.cjs → chunk-FODRPEXV.cjs} +2 -2
  47. package/dist/chunk-FODRPEXV.cjs.map +1 -0
  48. package/dist/chunk-FOTB6NKY.cjs +4 -0
  49. package/dist/chunk-FOTB6NKY.cjs.map +1 -0
  50. package/dist/chunk-GI6ISM62.js +4 -0
  51. package/dist/chunk-GI6ISM62.js.map +1 -0
  52. package/dist/{chunk-7ILZKQOQ.js → chunk-HH27I2KI.js} +2 -2
  53. package/dist/chunk-HKZR7WEU.js +4 -0
  54. package/dist/chunk-HKZR7WEU.js.map +1 -0
  55. package/dist/chunk-HMJ7G2EA.cjs +4 -0
  56. package/dist/chunk-HMJ7G2EA.cjs.map +1 -0
  57. package/dist/{chunk-LUPMXBAE.cjs → chunk-HWN35OXS.cjs} +2 -2
  58. package/dist/{chunk-LUPMXBAE.cjs.map → chunk-HWN35OXS.cjs.map} +1 -1
  59. package/dist/chunk-I34GF57U.cjs +4 -0
  60. package/dist/{chunk-WMOTZLQC.cjs.map → chunk-I34GF57U.cjs.map} +1 -1
  61. package/dist/chunk-IV4TGFTS.cjs +4 -0
  62. package/dist/chunk-IV4TGFTS.cjs.map +1 -0
  63. package/dist/chunk-IWL2NRQW.js +4 -0
  64. package/dist/chunk-IWL2NRQW.js.map +1 -0
  65. package/dist/chunk-J4MYTSQR.js +4 -0
  66. package/dist/chunk-J4MYTSQR.js.map +1 -0
  67. package/dist/chunk-J6RR5ZAC.js +4 -0
  68. package/dist/chunk-J6RR5ZAC.js.map +1 -0
  69. package/dist/chunk-KLWPH3KA.js +4 -0
  70. package/dist/{chunk-XBK44AAM.js.map → chunk-KLWPH3KA.js.map} +1 -1
  71. package/dist/{chunk-XAJGQUSC.js → chunk-KNPNKYUS.js} +2 -2
  72. package/dist/chunk-LWJNN4FX.cjs +4 -0
  73. package/dist/chunk-LWJNN4FX.cjs.map +1 -0
  74. package/dist/{chunk-A5H4YOM6.cjs → chunk-LY2R2ZLM.cjs} +2 -2
  75. package/dist/{chunk-A5H4YOM6.cjs.map → chunk-LY2R2ZLM.cjs.map} +1 -1
  76. package/dist/{chunk-GLKPD2GP.cjs → chunk-MIQ4OWR2.cjs} +2 -2
  77. package/dist/{chunk-GLKPD2GP.cjs.map → chunk-MIQ4OWR2.cjs.map} +1 -1
  78. package/dist/chunk-MLPWLB6K.js +4 -0
  79. package/dist/chunk-MLPWLB6K.js.map +1 -0
  80. package/dist/chunk-MQPXIAIR.js +4 -0
  81. package/dist/chunk-MQPXIAIR.js.map +1 -0
  82. package/dist/{chunk-HE73I4VO.cjs → chunk-MT7HVLG6.cjs} +2 -2
  83. package/dist/{chunk-HE73I4VO.cjs.map → chunk-MT7HVLG6.cjs.map} +1 -1
  84. package/dist/{chunk-EC7L4PCG.cjs → chunk-NADTSPIX.cjs} +2 -2
  85. package/dist/{chunk-EC7L4PCG.cjs.map → chunk-NADTSPIX.cjs.map} +1 -1
  86. package/dist/chunk-NP362J2E.cjs +4 -0
  87. package/dist/chunk-NP362J2E.cjs.map +1 -0
  88. package/dist/chunk-OO46QHIG.js +4 -0
  89. package/dist/chunk-OO46QHIG.js.map +1 -0
  90. package/dist/{chunk-RVXQZ4CI.cjs → chunk-OP6OD46L.cjs} +2 -2
  91. package/dist/{chunk-RVXQZ4CI.cjs.map → chunk-OP6OD46L.cjs.map} +1 -1
  92. package/dist/{chunk-L3VPQN5T.js → chunk-OTXFBNCU.js} +2 -2
  93. package/dist/{chunk-XMFWH5SU.js → chunk-OUXB7ICZ.js} +2 -2
  94. package/dist/chunk-OUXB7ICZ.js.map +1 -0
  95. package/dist/chunk-P7QOD4IU.cjs +4 -0
  96. package/dist/chunk-P7QOD4IU.cjs.map +1 -0
  97. package/dist/chunk-PFUJ3AOW.cjs +4 -0
  98. package/dist/chunk-PFUJ3AOW.cjs.map +1 -0
  99. package/dist/{chunk-KKHWPT5B.js → chunk-PGDFEVA5.js} +2 -2
  100. package/dist/{chunk-N2PQS6HG.js → chunk-PJCXETFD.js} +2 -2
  101. package/dist/chunk-PUDGKBPK.cjs +4 -0
  102. package/dist/chunk-PUDGKBPK.cjs.map +1 -0
  103. package/dist/chunk-Q3DKQMOH.cjs +4 -0
  104. package/dist/chunk-Q3DKQMOH.cjs.map +1 -0
  105. package/dist/chunk-Q6ZC2EJ2.js +4 -0
  106. package/dist/chunk-Q6ZC2EJ2.js.map +1 -0
  107. package/dist/{chunk-OLBF7CZD.cjs → chunk-QE5G52MR.cjs} +2 -2
  108. package/dist/{chunk-OLBF7CZD.cjs.map → chunk-QE5G52MR.cjs.map} +1 -1
  109. package/dist/chunk-QLMLIOWZ.cjs +4 -0
  110. package/dist/chunk-QLMLIOWZ.cjs.map +1 -0
  111. package/dist/chunk-QNITBIE4.js +4 -0
  112. package/dist/chunk-QNITBIE4.js.map +1 -0
  113. package/dist/chunk-RLXZVTER.js +4 -0
  114. package/dist/chunk-RLXZVTER.js.map +1 -0
  115. package/dist/chunk-RNP3S7YU.js +4 -0
  116. package/dist/chunk-RNP3S7YU.js.map +1 -0
  117. package/dist/{chunk-3OBTLZHR.js → chunk-RQVUMCZA.js} +2 -2
  118. package/dist/chunk-RQXSWZUH.cjs +4 -0
  119. package/dist/chunk-RQXSWZUH.cjs.map +1 -0
  120. package/dist/chunk-RS5YT3MK.cjs +4 -0
  121. package/dist/chunk-RS5YT3MK.cjs.map +1 -0
  122. package/dist/chunk-RV2FEKIE.cjs +4 -0
  123. package/dist/chunk-RV2FEKIE.cjs.map +1 -0
  124. package/dist/{chunk-XCT44JDG.js → chunk-S4U7KSTZ.js} +2 -2
  125. package/dist/chunk-SIUB7RNN.js +4 -0
  126. package/dist/chunk-SIUB7RNN.js.map +1 -0
  127. package/dist/chunk-SSI6IYHS.cjs +4 -0
  128. package/dist/chunk-SSI6IYHS.cjs.map +1 -0
  129. package/dist/chunk-TEIATTNR.js +4 -0
  130. package/dist/chunk-TEIATTNR.js.map +1 -0
  131. package/dist/chunk-U7CFC6Z2.cjs +4 -0
  132. package/dist/chunk-U7CFC6Z2.cjs.map +1 -0
  133. package/dist/{chunk-JCNQCBO7.cjs → chunk-UG5NCEQH.cjs} +2 -2
  134. package/dist/{chunk-JCNQCBO7.cjs.map → chunk-UG5NCEQH.cjs.map} +1 -1
  135. package/dist/chunk-UPYADVVW.js +4 -0
  136. package/dist/chunk-UPYADVVW.js.map +1 -0
  137. package/dist/{chunk-U44ALMBI.js → chunk-UYQNCEW5.js} +2 -2
  138. package/dist/{chunk-HNPNWQMD.js → chunk-V4BZIPQB.js} +2 -2
  139. package/dist/{chunk-R6KCU4S7.cjs → chunk-V5F33HLX.cjs} +2 -2
  140. package/dist/{chunk-R6KCU4S7.cjs.map → chunk-V5F33HLX.cjs.map} +1 -1
  141. package/dist/chunk-VEOECLHI.cjs +4 -0
  142. package/dist/chunk-VEOECLHI.cjs.map +1 -0
  143. package/dist/chunk-VSV7P6QO.cjs +4 -0
  144. package/dist/{chunk-WB4GZ3CX.cjs.map → chunk-VSV7P6QO.cjs.map} +1 -1
  145. package/dist/{chunk-3SXNUUIV.cjs → chunk-VZ37XNSE.cjs} +2 -2
  146. package/dist/{chunk-3SXNUUIV.cjs.map → chunk-VZ37XNSE.cjs.map} +1 -1
  147. package/dist/chunk-WCHIJDDF.cjs +4 -0
  148. package/dist/chunk-WCHIJDDF.cjs.map +1 -0
  149. package/dist/{chunk-WAS47BSQ.js → chunk-X6FC4KSH.js} +2 -2
  150. package/dist/{chunk-NEUOBQLL.cjs → chunk-XKBBOWVM.cjs} +2 -2
  151. package/dist/{chunk-NEUOBQLL.cjs.map → chunk-XKBBOWVM.cjs.map} +1 -1
  152. package/dist/{chunk-L7I7AUWH.cjs → chunk-XL66CZU5.cjs} +2 -2
  153. package/dist/{chunk-L7I7AUWH.cjs.map → chunk-XL66CZU5.cjs.map} +1 -1
  154. package/dist/{chunk-UQEUXEEG.js → chunk-XNL45RW3.js} +2 -2
  155. package/dist/{chunk-4VS7B2ZG.cjs → chunk-XPN7BKU2.cjs} +2 -2
  156. package/dist/{chunk-4VS7B2ZG.cjs.map → chunk-XPN7BKU2.cjs.map} +1 -1
  157. package/dist/{chunk-TGMNEOLU.cjs → chunk-XYL3ZE55.cjs} +2 -2
  158. package/dist/chunk-XYL3ZE55.cjs.map +1 -0
  159. package/dist/{chunk-QVE4N4F2.js → chunk-YEUIB4QY.js} +2 -2
  160. package/dist/chunk-YOSI2OCC.js +4 -0
  161. package/dist/{chunk-F6H2C3OA.js.map → chunk-YOSI2OCC.js.map} +1 -1
  162. package/dist/{chunk-XZBPR3WG.cjs → chunk-ZKHAEQHH.cjs} +2 -2
  163. package/dist/{chunk-XZBPR3WG.cjs.map → chunk-ZKHAEQHH.cjs.map} +1 -1
  164. package/dist/components/Accordion/Accordion.cjs +1 -1
  165. package/dist/components/Accordion/Accordion.js +1 -1
  166. package/dist/components/Alert/Alert.cjs +1 -1
  167. package/dist/components/Alert/Alert.d.ts.map +1 -1
  168. package/dist/components/Alert/Alert.js +1 -1
  169. package/dist/components/Alert/AlertIconButton.cjs +1 -1
  170. package/dist/components/Alert/AlertIconButton.js +1 -1
  171. package/dist/components/Button/Button.cjs +1 -1
  172. package/dist/components/Button/Button.js +1 -1
  173. package/dist/components/ButtonBase/ButtonBase.cjs +1 -1
  174. package/dist/components/ButtonBase/ButtonBase.d.ts.map +1 -1
  175. package/dist/components/ButtonBase/ButtonBase.js +1 -1
  176. package/dist/components/CardAccordion/CardAccordion.cjs +1 -1
  177. package/dist/components/CardAccordion/CardAccordion.js +1 -1
  178. package/dist/components/CardAccordion/CardAccordionButton.cjs +1 -1
  179. package/dist/components/CardAccordion/CardAccordionButton.js +1 -1
  180. package/dist/components/CardAccordion/CardAccordionItem.cjs +1 -1
  181. package/dist/components/CardAccordion/CardAccordionItem.js +1 -1
  182. package/dist/components/Checkbox/Checkbox.cjs +1 -1
  183. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  184. package/dist/components/Checkbox/Checkbox.js +1 -1
  185. package/dist/components/CheckboxGroup/CheckboxGroup.cjs +1 -1
  186. package/dist/components/CheckboxGroup/CheckboxGroup.js +1 -1
  187. package/dist/components/CheckboxTile/CheckboxTile.cjs +1 -1
  188. package/dist/components/CheckboxTile/CheckboxTile.d.ts.map +1 -1
  189. package/dist/components/CheckboxTile/CheckboxTile.js +1 -1
  190. package/dist/components/Combobox/Combobox.cjs +1 -1
  191. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  192. package/dist/components/Combobox/Combobox.d.ts.map +1 -1
  193. package/dist/components/Combobox/Combobox.js +1 -1
  194. package/dist/components/CurrencyInput/CurrencyInput.cjs +1 -1
  195. package/dist/components/CurrencyInput/CurrencyInput.js +1 -1
  196. package/dist/components/DateInput/DateInput.cjs +1 -1
  197. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  198. package/dist/components/DateInput/DateInput.js +1 -1
  199. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  200. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  201. package/dist/components/DatePicker/DatePicker.js +1 -1
  202. package/dist/components/DatePicker/DatePickerHeader.cjs +1 -1
  203. package/dist/components/DatePicker/DatePickerHeader.d.ts.map +1 -1
  204. package/dist/components/DatePicker/DatePickerHeader.js +1 -1
  205. package/dist/components/DescriptionList/DescriptionList.cjs +1 -1
  206. package/dist/components/DescriptionList/DescriptionList.js +1 -1
  207. package/dist/components/ExpandableCard/ExpandableCardGroup.cjs +1 -1
  208. package/dist/components/ExpandableCard/ExpandableCardGroup.js +1 -1
  209. package/dist/components/FormGroupBase/FormGroupBase.cjs +1 -1
  210. package/dist/components/FormGroupBase/FormGroupBase.d.ts.map +1 -1
  211. package/dist/components/FormGroupBase/FormGroupBase.js +1 -1
  212. package/dist/components/IconButton/IconButton.cjs +1 -1
  213. package/dist/components/IconButton/IconButton.js +1 -1
  214. package/dist/components/List/List.cjs +1 -1
  215. package/dist/components/List/List.js +1 -1
  216. package/dist/components/List/ListActionButton.cjs +1 -1
  217. package/dist/components/List/ListActionButton.d.ts.map +1 -1
  218. package/dist/components/List/ListActionButton.js +1 -1
  219. package/dist/components/List/ListItemButton.cjs +1 -1
  220. package/dist/components/List/ListItemButton.d.ts.map +1 -1
  221. package/dist/components/List/ListItemButton.js +1 -1
  222. package/dist/components/Modal/Modal.cjs +1 -1
  223. package/dist/components/Modal/Modal.js +1 -1
  224. package/dist/components/Pagination/Pagination.cjs +1 -1
  225. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  226. package/dist/components/Pagination/Pagination.js +1 -1
  227. package/dist/components/PasswordInput/PasswordInput.cjs +1 -1
  228. package/dist/components/PasswordInput/PasswordInput.js +1 -1
  229. package/dist/components/ProgressStepper/ProgressStepButton.cjs +1 -1
  230. package/dist/components/ProgressStepper/ProgressStepButton.js +1 -1
  231. package/dist/components/Radio/Radio.cjs +1 -1
  232. package/dist/components/Radio/Radio.cjs.map +1 -1
  233. package/dist/components/Radio/Radio.d.ts.map +1 -1
  234. package/dist/components/Radio/Radio.js +1 -1
  235. package/dist/components/RadioCard/RadioCard.cjs +1 -1
  236. package/dist/components/RadioCard/RadioCard.js +1 -1
  237. package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
  238. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  239. package/dist/components/RadioTile/RadioTile.cjs +1 -1
  240. package/dist/components/RadioTile/RadioTile.cjs.map +1 -1
  241. package/dist/components/RadioTile/RadioTile.d.ts.map +1 -1
  242. package/dist/components/RadioTile/RadioTile.js +1 -1
  243. package/dist/components/SearchInput/SearchInput.cjs +1 -1
  244. package/dist/components/SearchInput/SearchInput.js +1 -1
  245. package/dist/components/SectionHeader/SectionHeader.cjs +1 -1
  246. package/dist/components/SectionHeader/SectionHeader.js +1 -1
  247. package/dist/components/Select/Select.cjs +1 -1
  248. package/dist/components/Select/Select.cjs.map +1 -1
  249. package/dist/components/Select/Select.d.ts.map +1 -1
  250. package/dist/components/Select/Select.js +1 -1
  251. package/dist/components/Skeleton/SkeletonBodyText.cjs +1 -1
  252. package/dist/components/Skeleton/SkeletonBodyText.js +1 -1
  253. package/dist/components/Switch/Switch.cjs +1 -1
  254. package/dist/components/Switch/Switch.d.ts.map +1 -1
  255. package/dist/components/Switch/Switch.js +1 -1
  256. package/dist/components/Table/Table.cjs +1 -1
  257. package/dist/components/Table/Table.d.ts.map +1 -1
  258. package/dist/components/Table/Table.js +1 -1
  259. package/dist/components/Table/TablePagination.cjs +1 -1
  260. package/dist/components/Table/TablePagination.js +1 -1
  261. package/dist/components/Tabs/TabsList.cjs +1 -1
  262. package/dist/components/Tabs/TabsList.d.ts.map +1 -1
  263. package/dist/components/Tabs/TabsList.js +1 -1
  264. package/dist/components/TextArea/TextArea.cjs +1 -1
  265. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  266. package/dist/components/TextArea/TextArea.js +1 -1
  267. package/dist/components/TextInput/TextInput.cjs +1 -1
  268. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  269. package/dist/components/TextInput/TextInput.js +1 -1
  270. package/dist/components/Toast/Toast.cjs +1 -1
  271. package/dist/components/Toast/Toast.js +1 -1
  272. package/dist/components/Toast/ToastProvider.cjs +1 -1
  273. package/dist/components/Toast/ToastProvider.cjs.map +1 -1
  274. package/dist/components/Toast/ToastProvider.d.ts +1 -1
  275. package/dist/components/Toast/ToastProvider.d.ts.map +1 -1
  276. package/dist/components/Toast/ToastProvider.js +1 -1
  277. package/dist/components/UnstyledIconButton/UnstyledIconButton.cjs +1 -1
  278. package/dist/components/UnstyledIconButton/UnstyledIconButton.d.ts.map +1 -1
  279. package/dist/components/UnstyledIconButton/UnstyledIconButton.js +1 -1
  280. package/dist/components/VerificationInput/VerificationInput.cjs +1 -1
  281. package/dist/components/VerificationInput/VerificationInput.d.ts.map +1 -1
  282. package/dist/components/VerificationInput/VerificationInput.js +1 -1
  283. package/dist/index.cjs +1 -1
  284. package/dist/index.cjs.map +1 -1
  285. package/dist/index.js +1 -1
  286. package/package.json +3 -3
  287. package/public/llms/components/button.md +5 -3
  288. package/public/llms/components/icon-button.md +5 -3
  289. package/public/llms/components/search-input.md +4 -3
  290. package/public/llms/components/switch.md +2 -3
  291. package/public/llms/components/unstyled-icon-button.md +5 -3
  292. package/public/llms/docs/getting-started.md +1 -1
  293. package/dist/chunk-2MIDU3YN.cjs +0 -4
  294. package/dist/chunk-2MIDU3YN.cjs.map +0 -1
  295. package/dist/chunk-55RXL2DV.js +0 -4
  296. package/dist/chunk-55RXL2DV.js.map +0 -1
  297. package/dist/chunk-6WCPGWVO.cjs +0 -4
  298. package/dist/chunk-6WCPGWVO.cjs.map +0 -1
  299. package/dist/chunk-B2HYTGSB.js +0 -4
  300. package/dist/chunk-B2HYTGSB.js.map +0 -1
  301. package/dist/chunk-BDJRXINR.js +0 -4
  302. package/dist/chunk-BDJRXINR.js.map +0 -1
  303. package/dist/chunk-BVXR3BGZ.cjs +0 -4
  304. package/dist/chunk-BVXR3BGZ.cjs.map +0 -1
  305. package/dist/chunk-BXDF7Z4R.js +0 -4
  306. package/dist/chunk-C3INLFOU.cjs +0 -4
  307. package/dist/chunk-C3INLFOU.cjs.map +0 -1
  308. package/dist/chunk-CAZQKOY3.cjs +0 -4
  309. package/dist/chunk-CAZQKOY3.cjs.map +0 -1
  310. package/dist/chunk-CQ2YNOHB.js +0 -4
  311. package/dist/chunk-CQ2YNOHB.js.map +0 -1
  312. package/dist/chunk-CVKTRCKW.js +0 -4
  313. package/dist/chunk-CVKTRCKW.js.map +0 -1
  314. package/dist/chunk-CW6UT3QU.js +0 -4
  315. package/dist/chunk-CW6UT3QU.js.map +0 -1
  316. package/dist/chunk-EFQSAW3M.js +0 -4
  317. package/dist/chunk-EFQSAW3M.js.map +0 -1
  318. package/dist/chunk-F6H2C3OA.js +0 -4
  319. package/dist/chunk-F7A4D3PD.cjs.map +0 -1
  320. package/dist/chunk-FSOQCT7B.js +0 -4
  321. package/dist/chunk-GAFUPNEN.js.map +0 -1
  322. package/dist/chunk-HMT3R4UW.cjs +0 -4
  323. package/dist/chunk-HMT3R4UW.cjs.map +0 -1
  324. package/dist/chunk-I4T6DB7C.js.map +0 -1
  325. package/dist/chunk-ICJHFSP5.js +0 -4
  326. package/dist/chunk-IXUXDCQL.cjs +0 -4
  327. package/dist/chunk-IXUXDCQL.cjs.map +0 -1
  328. package/dist/chunk-J55UWDJJ.js +0 -4
  329. package/dist/chunk-J55UWDJJ.js.map +0 -1
  330. package/dist/chunk-JEJLX5DM.js +0 -4
  331. package/dist/chunk-JEJLX5DM.js.map +0 -1
  332. package/dist/chunk-KZRXT3QQ.cjs +0 -4
  333. package/dist/chunk-KZRXT3QQ.cjs.map +0 -1
  334. package/dist/chunk-LBC2WFPQ.js +0 -4
  335. package/dist/chunk-LBC2WFPQ.js.map +0 -1
  336. package/dist/chunk-LRFEHB5Y.js +0 -4
  337. package/dist/chunk-LRFEHB5Y.js.map +0 -1
  338. package/dist/chunk-MD3VAECH.js +0 -4
  339. package/dist/chunk-MD3VAECH.js.map +0 -1
  340. package/dist/chunk-O7X6QXBO.js +0 -4
  341. package/dist/chunk-O7X6QXBO.js.map +0 -1
  342. package/dist/chunk-P4FX42C6.cjs +0 -4
  343. package/dist/chunk-P4FX42C6.cjs.map +0 -1
  344. package/dist/chunk-PEG7JY2N.js +0 -4
  345. package/dist/chunk-PEG7JY2N.js.map +0 -1
  346. package/dist/chunk-QLKWVS6B.js +0 -4
  347. package/dist/chunk-QLKWVS6B.js.map +0 -1
  348. package/dist/chunk-QWB4MMLE.js +0 -4
  349. package/dist/chunk-QWB4MMLE.js.map +0 -1
  350. package/dist/chunk-RF5NDA46.cjs.map +0 -1
  351. package/dist/chunk-S7R53S6F.js +0 -4
  352. package/dist/chunk-S7R53S6F.js.map +0 -1
  353. package/dist/chunk-TGMNEOLU.cjs.map +0 -1
  354. package/dist/chunk-TTW4NON4.cjs +0 -4
  355. package/dist/chunk-TTW4NON4.cjs.map +0 -1
  356. package/dist/chunk-UFHEYLW3.cjs +0 -4
  357. package/dist/chunk-UFHEYLW3.cjs.map +0 -1
  358. package/dist/chunk-UNDW2NW7.cjs.map +0 -1
  359. package/dist/chunk-UVHPJNXC.cjs +0 -4
  360. package/dist/chunk-UVHPJNXC.cjs.map +0 -1
  361. package/dist/chunk-VME2FDDL.cjs +0 -4
  362. package/dist/chunk-VME2FDDL.cjs.map +0 -1
  363. package/dist/chunk-WB4GZ3CX.cjs +0 -4
  364. package/dist/chunk-WFVKT4MG.cjs +0 -4
  365. package/dist/chunk-WFVKT4MG.cjs.map +0 -1
  366. package/dist/chunk-WMOTZLQC.cjs +0 -4
  367. package/dist/chunk-WW43YAWT.cjs +0 -4
  368. package/dist/chunk-WW43YAWT.cjs.map +0 -1
  369. package/dist/chunk-WYLVXCEC.js.map +0 -1
  370. package/dist/chunk-XBK44AAM.js +0 -4
  371. package/dist/chunk-XMFWH5SU.js.map +0 -1
  372. package/dist/chunk-YAI34QHN.cjs +0 -4
  373. package/dist/chunk-YAI34QHN.cjs.map +0 -1
  374. package/dist/chunk-YEZ6N62U.cjs +0 -4
  375. package/dist/chunk-YMTA7AWP.cjs +0 -4
  376. package/dist/chunk-YMTA7AWP.cjs.map +0 -1
  377. package/dist/chunk-Z6QLCWLT.js +0 -4
  378. package/dist/chunk-Z6QLCWLT.js.map +0 -1
  379. package/dist/chunk-ZMDXNCUJ.cjs +0 -4
  380. package/dist/chunk-ZMDXNCUJ.cjs.map +0 -1
  381. /package/dist/{chunk-2MQ6FGCP.js.map → chunk-2T6JOGY4.js.map} +0 -0
  382. /package/dist/{chunk-UNIBG2C6.js.map → chunk-7VHYXPJC.js.map} +0 -0
  383. /package/dist/{chunk-OQ7TRS57.js.map → chunk-DYMXUQM4.js.map} +0 -0
  384. /package/dist/{chunk-VVBUEPWH.js.map → chunk-EERWIJJE.js.map} +0 -0
  385. /package/dist/{chunk-Y2YBHHIX.js.map → chunk-EWEFZ6ZZ.js.map} +0 -0
  386. /package/dist/{chunk-IEKB4IRY.js.map → chunk-F4VHCEOC.js.map} +0 -0
  387. /package/dist/{chunk-7ILZKQOQ.js.map → chunk-HH27I2KI.js.map} +0 -0
  388. /package/dist/{chunk-XAJGQUSC.js.map → chunk-KNPNKYUS.js.map} +0 -0
  389. /package/dist/{chunk-L3VPQN5T.js.map → chunk-OTXFBNCU.js.map} +0 -0
  390. /package/dist/{chunk-KKHWPT5B.js.map → chunk-PGDFEVA5.js.map} +0 -0
  391. /package/dist/{chunk-N2PQS6HG.js.map → chunk-PJCXETFD.js.map} +0 -0
  392. /package/dist/{chunk-3OBTLZHR.js.map → chunk-RQVUMCZA.js.map} +0 -0
  393. /package/dist/{chunk-XCT44JDG.js.map → chunk-S4U7KSTZ.js.map} +0 -0
  394. /package/dist/{chunk-U44ALMBI.js.map → chunk-UYQNCEW5.js.map} +0 -0
  395. /package/dist/{chunk-HNPNWQMD.js.map → chunk-V4BZIPQB.js.map} +0 -0
  396. /package/dist/{chunk-WAS47BSQ.js.map → chunk-X6FC4KSH.js.map} +0 -0
  397. /package/dist/{chunk-UQEUXEEG.js.map → chunk-XNL45RW3.js.map} +0 -0
  398. /package/dist/{chunk-QVE4N4F2.js.map → chunk-YEUIB4QY.js.map} +0 -0
package/SKILL.md CHANGED
@@ -31,11 +31,13 @@ Load this skill — do not skip it — at each of these moments:
31
31
  silently bypassed — load this skill, or pass its instructions into the
32
32
  subagent's prompt, before delegating.
33
33
  - **Alongside `figma-implementation`, whenever adapting Figma output into
34
- code.** That skill covers the Figma-to-code verification workflow (per-file
35
- re-checks, why `docs-show` always outranks local inspection, and the
36
- mechanical spacing-variable check); this skill covers the Hearth React
37
- component API itself. Load both together — neither substitutes for the
38
- other.
34
+ code.** That skill covers the Figma-to-code verification workflow —
35
+ resolving an ambiguous node/URL before fetching context, per-file
36
+ re-checks, why `docs-show` always outranks local inspection, the mechanical
37
+ spacing-variable check, Code Connect ownership boundaries, and decoupling
38
+ component props from raw bound data shapes; this skill covers the Hearth
39
+ React component API itself. Load both together — neither substitutes for
40
+ the other.
39
41
 
40
42
  Treat each moment above as a hard gate, not a vague "this is UI work" prompt
41
43
  to get around to eventually.
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
2
2
 
3
- var _chunkGS47QEXRcjs = require('./chunk-GS47QEXR.cjs');var _chunkL7I7AUWHcjs = require('./chunk-L7I7AUWH.cjs');var _chunkIVFMFU6Ucjs = require('./chunk-IVFMFU6U.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var y="List",a=_chunk4Q432K4Wcjs.b.call(void 0, y),O= exports.a =_react.forwardRef.call(void 0, (P,o)=>{let{id:v,as:t="ul",className:x,colorScheme:r=void 0,variant:n,heading:i,headingElement:T,helperText:E,trailingContent:H,validationText:S,validationStatus:B,children:l,paddingNone:I,"aria-label":d,"aria-labelledby":R,...s}=_chunkZPJNQBTNcjs.a.call(void 0, P,_chunkOB7O3UFLcjs.a),w={heading:i,headingElement:T,helperText:E,trailingContent:H,validationText:S,validationStatus:B},{id:m,labelId:p}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:v,prefix:"list"}),f={"aria-label":d,"aria-labelledby":_nullishCoalesce(R, () => ((!!i&&!d?p:void 0))),"data-padding-none":I?"":void 0};return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkONNSZMWFcjs.a.call(void 0, a,x),"data-testid":a,children:[i?_jsxruntime.jsx.call(void 0, _chunkL7I7AUWHcjs.a,{id:p,...w}):null,n===void 0||r===void 0?_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{asChild:!0,id:m,className:`${a}Container`,role:"list",...f,children:_jsxruntime.jsx.call(void 0, t,{ref:o,...s,children:l})}):_jsxruntime.jsx.call(void 0, _chunkGS47QEXRcjs.a,{className:`${a}Container`,paddingNone:!0,variant:n,colorScheme:r,children:_jsxruntime.jsx.call(void 0, t,{ref:o,role:"list",id:m,...s,...f,children:l})})]})});O.displayName=y;exports.a = O;
4
- //# sourceMappingURL=chunk-AOWHE3JS.cjs.map
3
+ var _chunkGS47QEXRcjs = require('./chunk-GS47QEXR.cjs');var _chunkXL66CZU5cjs = require('./chunk-XL66CZU5.cjs');var _chunkIVFMFU6Ucjs = require('./chunk-IVFMFU6U.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var y="List",a=_chunk4Q432K4Wcjs.b.call(void 0, y),O= exports.a =_react.forwardRef.call(void 0, (P,o)=>{let{id:v,as:t="ul",className:x,colorScheme:r=void 0,variant:n,heading:i,headingElement:T,helperText:E,trailingContent:H,validationText:S,validationStatus:B,children:l,paddingNone:I,"aria-label":d,"aria-labelledby":R,...s}=_chunkZPJNQBTNcjs.a.call(void 0, P,_chunkOB7O3UFLcjs.a),w={heading:i,headingElement:T,helperText:E,trailingContent:H,validationText:S,validationStatus:B},{id:m,labelId:p}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:v,prefix:"list"}),f={"aria-label":d,"aria-labelledby":_nullishCoalesce(R, () => ((!!i&&!d?p:void 0))),"data-padding-none":I?"":void 0};return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkONNSZMWFcjs.a.call(void 0, a,x),"data-testid":a,children:[i?_jsxruntime.jsx.call(void 0, _chunkXL66CZU5cjs.a,{id:p,...w}):null,n===void 0||r===void 0?_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{asChild:!0,id:m,className:`${a}Container`,role:"list",...f,children:_jsxruntime.jsx.call(void 0, t,{ref:o,...s,children:l})}):_jsxruntime.jsx.call(void 0, _chunkGS47QEXRcjs.a,{className:`${a}Container`,paddingNone:!0,variant:n,colorScheme:r,children:_jsxruntime.jsx.call(void 0, t,{ref:o,role:"list",id:m,...s,...f,children:l})})]})});O.displayName=y;exports.a = O;
4
+ //# sourceMappingURL=chunk-2DOX5QRE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-AOWHE3JS.cjs","../src/components/List/List.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","List","forwardRef","props","ref","providedId","Tag","className","colorScheme","variant","heading","headingElement","helperText","trailingContent","validationText","validationStatus","children","paddingNone","ariaLabel","ariaLabelledby","listProps","extractProps","marginPropDefs","sectionHeaderProps","id","labelId","useIds","attributeProps","jsxs","cn","jsx","SectionHeader","Box"],"mappings":"AAAA,yLAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,8BCFvS,+CAoEvB,IAxDEA,CAAAA,CAAiB,MAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAOC,+BAAAA,CAAoCC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACrE,GAAM,CACJ,EAAA,CAAIC,CAAAA,CACJ,EAAA,CAAIC,CAAAA,CAAM,IAAA,CACV,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,KAAA,CAAA,CACd,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,YAAA,CAAcC,CAAAA,CACd,iBAAA,CAAmBC,CAAAA,CACnB,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAalB,CAAOmB,mBAAc,CAAA,CAEhCC,CAAAA,CAAqB,CACzB,OAAA,CAAAb,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CACF,CAAA,CAEM,CAAE,EAAA,CAAAS,CAAAA,CAAI,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAAS,UAAA,CAAArB,CAAAA,CAAY,MAAA,CAAQ,MAAO,CAAC,CAAA,CAKvDsB,CAAAA,CAAiB,CACrB,YAAA,CAAcT,CAAAA,CACd,iBAAA,kBAJ0BC,CAAAA,SAAAA,CADT,CAAA,CAAQT,CAAAA,EACkC,CAACQ,CAAAA,CAAYO,CAAAA,CAAU,KAAA,CAAA,GAAA,CAKlF,mBAAA,CAAqBR,CAAAA,CAAc,EAAA,CAAK,KAAA,CAC1C,CAAA,CAEA,OACEW,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAWC,iCAAAA,CAAG9B,CAAoBQ,CAAS,CAAA,CAAG,aAAA,CAAaR,CAAAA,CAC7D,QAAA,CAAA,CAAAW,CAAAA,CAAUoB,6BAAAA,mBAACC,CAAA,CAAc,EAAA,CAAIN,CAAAA,CAAU,GAAGF,CAAAA,CAAoB,CAAA,CAAK,IAAA,CACnEd,CAAAA,GAAY,KAAA,CAAA,EAAaD,CAAAA,GAAgB,KAAA,CAAA,CACxCsB,6BAAAA,mBAACE,CAAA,CACC,OAAA,CAAO,CAAA,CAAA,CACP,EAAA,CAAIR,CAAAA,CACJ,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-AOWHE3JS.cjs","sourcesContent":[null,"import { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ListProps } from './List.props';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { Card } from '../Card/Card';\nimport { Box } from '../Box/Box';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { SectionHeader } from '../SectionHeader/SectionHeader';\nimport { useIds } from '../../hooks/use-ids';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'List';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ListElement = ComponentRef<'ol'>;\n\n/**\n * Use List to display a list of items, with support for visual variants,\n * colour schemes, a heading, and helper text. Use ListItem for simple text\n * content, or as a container for more complex or interactive content such as\n * ListItemContent, ListItemButton, or ListItemLink. `variant` and\n * `colorScheme` must be used together — if either is left `undefined`, the\n * list falls back to its default appearance.\n *\n * @summary A list of items with an optional heading, helper text, and style variants.\n */\nexport const List = forwardRef<ListElement, ListProps>((props, ref) => {\n const {\n id: providedId,\n as: Tag = 'ul',\n className,\n colorScheme = undefined,\n variant,\n heading,\n headingElement,\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n children,\n paddingNone,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...listProps\n } = extractProps(props, marginPropDefs);\n\n const sectionHeaderProps = {\n heading,\n headingElement,\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n };\n\n const { id, labelId } = useIds({ providedId, prefix: 'list' });\n\n const hasHeading = Boolean(heading);\n const ariaLabelledbyValue = ariaLabelledby ?? (hasHeading && !ariaLabel ? labelId : undefined);\n\n const attributeProps = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyValue,\n 'data-padding-none': paddingNone ? '' : undefined,\n };\n\n return (\n <div className={cn(componentClassName, className)} data-testid={componentClassName}>\n {heading ? <SectionHeader id={labelId} {...sectionHeaderProps} /> : null}\n {variant === undefined || colorScheme === undefined ? (\n <Box\n asChild\n id={id}\n className={`${componentClassName}Container`}\n role=\"list\"\n {...attributeProps}\n >\n <Tag ref={ref} {...listProps}>\n {children}\n </Tag>\n </Box>\n ) : (\n <Card\n className={`${componentClassName}Container`}\n paddingNone\n variant={variant}\n colorScheme={colorScheme}\n >\n <Tag ref={ref} role=\"list\" id={id} {...listProps} {...attributeProps}>\n {children}\n </Tag>\n </Card>\n )}\n </div>\n );\n});\n\nList.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-2DOX5QRE.cjs","../src/components/List/List.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","List","forwardRef","props","ref","providedId","Tag","className","colorScheme","variant","heading","headingElement","helperText","trailingContent","validationText","validationStatus","children","paddingNone","ariaLabel","ariaLabelledby","listProps","extractProps","marginPropDefs","sectionHeaderProps","id","labelId","useIds","attributeProps","jsxs","cn","jsx","SectionHeader","Box"],"mappings":"AAAA,yLAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,8BCFvS,+CAoEvB,IAxDEA,CAAAA,CAAiB,MAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAOC,+BAAAA,CAAoCC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACrE,GAAM,CACJ,EAAA,CAAIC,CAAAA,CACJ,EAAA,CAAIC,CAAAA,CAAM,IAAA,CACV,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,KAAA,CAAA,CACd,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,YAAA,CAAcC,CAAAA,CACd,iBAAA,CAAmBC,CAAAA,CACnB,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAalB,CAAOmB,mBAAc,CAAA,CAEhCC,CAAAA,CAAqB,CACzB,OAAA,CAAAb,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CACF,CAAA,CAEM,CAAE,EAAA,CAAAS,CAAAA,CAAI,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAAS,UAAA,CAAArB,CAAAA,CAAY,MAAA,CAAQ,MAAO,CAAC,CAAA,CAKvDsB,CAAAA,CAAiB,CACrB,YAAA,CAAcT,CAAAA,CACd,iBAAA,kBAJ0BC,CAAAA,SAAAA,CADT,CAAA,CAAQT,CAAAA,EACkC,CAACQ,CAAAA,CAAYO,CAAAA,CAAU,KAAA,CAAA,GAAA,CAKlF,mBAAA,CAAqBR,CAAAA,CAAc,EAAA,CAAK,KAAA,CAC1C,CAAA,CAEA,OACEW,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAWC,iCAAAA,CAAG9B,CAAoBQ,CAAS,CAAA,CAAG,aAAA,CAAaR,CAAAA,CAC7D,QAAA,CAAA,CAAAW,CAAAA,CAAUoB,6BAAAA,mBAACC,CAAA,CAAc,EAAA,CAAIN,CAAAA,CAAU,GAAGF,CAAAA,CAAoB,CAAA,CAAK,IAAA,CACnEd,CAAAA,GAAY,KAAA,CAAA,EAAaD,CAAAA,GAAgB,KAAA,CAAA,CACxCsB,6BAAAA,mBAACE,CAAA,CACC,OAAA,CAAO,CAAA,CAAA,CACP,EAAA,CAAIR,CAAAA,CACJ,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-2DOX5QRE.cjs","sourcesContent":[null,"import { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ListProps } from './List.props';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { Card } from '../Card/Card';\nimport { Box } from '../Box/Box';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { SectionHeader } from '../SectionHeader/SectionHeader';\nimport { useIds } from '../../hooks/use-ids';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'List';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ListElement = ComponentRef<'ol'>;\n\n/**\n * Use List to display a list of items, with support for visual variants,\n * colour schemes, a heading, and helper text. Use ListItem for simple text\n * content, or as a container for more complex or interactive content such as\n * ListItemContent, ListItemButton, or ListItemLink. `variant` and\n * `colorScheme` must be used together — if either is left `undefined`, the\n * list falls back to its default appearance.\n *\n * @summary A list of items with an optional heading, helper text, and style variants.\n */\nexport const List = forwardRef<ListElement, ListProps>((props, ref) => {\n const {\n id: providedId,\n as: Tag = 'ul',\n className,\n colorScheme = undefined,\n variant,\n heading,\n headingElement,\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n children,\n paddingNone,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...listProps\n } = extractProps(props, marginPropDefs);\n\n const sectionHeaderProps = {\n heading,\n headingElement,\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n };\n\n const { id, labelId } = useIds({ providedId, prefix: 'list' });\n\n const hasHeading = Boolean(heading);\n const ariaLabelledbyValue = ariaLabelledby ?? (hasHeading && !ariaLabel ? labelId : undefined);\n\n const attributeProps = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledbyValue,\n 'data-padding-none': paddingNone ? '' : undefined,\n };\n\n return (\n <div className={cn(componentClassName, className)} data-testid={componentClassName}>\n {heading ? <SectionHeader id={labelId} {...sectionHeaderProps} /> : null}\n {variant === undefined || colorScheme === undefined ? (\n <Box\n asChild\n id={id}\n className={`${componentClassName}Container`}\n role=\"list\"\n {...attributeProps}\n >\n <Tag ref={ref} {...listProps}>\n {children}\n </Tag>\n </Box>\n ) : (\n <Card\n className={`${componentClassName}Container`}\n paddingNone\n variant={variant}\n colorScheme={colorScheme}\n >\n <Tag ref={ref} role=\"list\" id={id} {...listProps} {...attributeProps}>\n {children}\n </Tag>\n </Card>\n )}\n </div>\n );\n});\n\nList.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as T}from"./chunk-LRFEHB5Y.js";import{a as x}from"./chunk-AATRPKYT.js";import{a as M}from"./chunk-TJHI42VN.js";import{a as E}from"./chunk-J3AJBV4B.js";import{b as v}from"./chunk-PDEVCIQ3.js";import{forwardRef as A,useState as _,useRef as P,useEffect as k}from"react";import{useMergedRefs as q}from"@base-ui/utils/useMergedRefs";import{jsx as p}from"react/jsx-runtime";var D="CurrencyInput",B=v(D),F=A(({className:R,disabled:w,value:m,onChange:f,placeholder:N="0.00",disableGroupSeparators:g,defaultValue:d,...S},V)=>{let[b,H]=_(typeof d=="string"?d:""),r=P(null),n=P(null),L=q(V,r),h=m!==void 0,C=h?String(m??""):b,l=t=>{if(!t)return"";let o=t.split("."),e=o[0]||"";g||(e=e.replace(/\B(?=(\d{3})+(?!\d))/g,","));let s=o[1];return s!==void 0?e+"."+s:e},z=t=>{let o=t.target.value,e=t.target.selectionStart||0,s=l(C),I=o.replace(/[^\d.]/g,""),c=I.split("."),y=c.length>2?c[0]+"."+c.slice(1).join(""):I,u=y.split("."),i=u[1]!==void 0?u[0]+"."+u[1].substring(0,2):y;if(g)n.current=null;else{let a=l(i),O=(s.slice(0,Math.min(e,s.length)).match(/,/g)||[]).length,j=(a.slice(0,Math.min(e,a.length)).match(/,/g)||[]).length-O;n.current=e+j}if(h||H(i),f){let a={...t,target:{...t.target,value:i},currentTarget:{...t.currentTarget,value:i}};f(a)}};return k(()=>{r&&typeof r=="object"&&r.current&&n.current!==null&&(r.current.setSelectionRange(n.current,n.current),n.current=null)}),p(T,{ref:L,className:E(B,R),type:"text",inputMode:"decimal",disabled:w,value:l(C),onChange:z,placeholder:N,"data-testid":B,...S,children:p(M,{placement:"prefix",children:p(x,{size:"3xl",children:"\xA3"})})})});F.displayName=D;export{F as a};
4
- //# sourceMappingURL=chunk-2MQ6FGCP.js.map
3
+ import{a as T}from"./chunk-HKZR7WEU.js";import{a as x}from"./chunk-AATRPKYT.js";import{a as M}from"./chunk-TJHI42VN.js";import{a as E}from"./chunk-J3AJBV4B.js";import{b as v}from"./chunk-PDEVCIQ3.js";import{forwardRef as A,useState as _,useRef as P,useEffect as k}from"react";import{useMergedRefs as q}from"@base-ui/utils/useMergedRefs";import{jsx as p}from"react/jsx-runtime";var D="CurrencyInput",B=v(D),F=A(({className:R,disabled:w,value:m,onChange:f,placeholder:N="0.00",disableGroupSeparators:g,defaultValue:d,...S},V)=>{let[b,H]=_(typeof d=="string"?d:""),r=P(null),n=P(null),L=q(V,r),h=m!==void 0,C=h?String(m??""):b,l=t=>{if(!t)return"";let o=t.split("."),e=o[0]||"";g||(e=e.replace(/\B(?=(\d{3})+(?!\d))/g,","));let s=o[1];return s!==void 0?e+"."+s:e},z=t=>{let o=t.target.value,e=t.target.selectionStart||0,s=l(C),I=o.replace(/[^\d.]/g,""),c=I.split("."),y=c.length>2?c[0]+"."+c.slice(1).join(""):I,u=y.split("."),i=u[1]!==void 0?u[0]+"."+u[1].substring(0,2):y;if(g)n.current=null;else{let a=l(i),O=(s.slice(0,Math.min(e,s.length)).match(/,/g)||[]).length,j=(a.slice(0,Math.min(e,a.length)).match(/,/g)||[]).length-O;n.current=e+j}if(h||H(i),f){let a={...t,target:{...t.target,value:i},currentTarget:{...t.currentTarget,value:i}};f(a)}};return k(()=>{r&&typeof r=="object"&&r.current&&n.current!==null&&(r.current.setSelectionRange(n.current,n.current),n.current=null)}),p(T,{ref:L,className:E(B,R),type:"text",inputMode:"decimal",disabled:w,value:l(C),onChange:z,placeholder:N,"data-testid":B,...S,children:p(M,{placement:"prefix",children:p(x,{size:"3xl",children:"\xA3"})})})});F.displayName=D;export{F as a};
4
+ //# sourceMappingURL=chunk-2T6JOGY4.js.map
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkEU7QBTGKcjs = require('./chunk-EU7QBTGK.cjs');var _chunkWFVKT4MGcjs = require('./chunk-WFVKT4MG.cjs');var _chunkHHKQ3ZBDcjs = require('./chunk-HHKQ3ZBD.cjs');var _chunkPWY25JDNcjs = require('./chunk-PWY25JDN.cjs');var _chunkIVFMFU6Ucjs = require('./chunk-IVFMFU6U.cjs');var _chunkQKGE3FJXcjs = require('./chunk-QKGE3FJX.cjs');var _chunkDLU27EEOcjs = require('./chunk-DLU27EEO.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _radixui = require('radix-ui');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var D="Modal",i=_chunk4Q432K4Wcjs.b.call(void 0, D),A= exports.a =_react.forwardRef.call(void 0, ({className:M,image:v,forceMount:x,container:h,heading:B,description:t,hideCloseButton:f,fullScreen:I,loading:l,loadingText:r,loadingHeading:n,loadingDescription:s,children:$,...b},O)=>{let T={forceMount:x,container:h},u=!!v,w=!!(l?(r||n)&&s:t);return _jsxruntime.jsx.call(void 0, _radixui.Dialog.Portal,{...T,children:_jsxruntime.jsx.call(void 0, _radixui.Dialog.Overlay,{className:_chunk4Q432K4Wcjs.b.call(void 0, "Overlay"),children:_jsxruntime.jsx.call(void 0, "div",{className:`${i}Scroll`,children:_jsxruntime.jsx.call(void 0, "div",{className:`${i}ScrollPadding`,children:_jsxruntime.jsxs.call(void 0, _radixui.Dialog.Content,{ref:O,className:_chunkONNSZMWFcjs.a.call(void 0, i,M),"data-contains-image":u?"":void 0,"data-hide-close-button":f?"":void 0,"data-full-screen":I?"":void 0,"data-testid":i,...w?{}:{"aria-describedby":void 0},...b,children:[_jsxruntime.jsx.call(void 0, _chunkEU7QBTGKcjs.a,{children:_jsxruntime.jsx.call(void 0, _chunkWFVKT4MGcjs.a,{type:"button",label:"Close","data-visually-hidden":f?"":void 0,className:`${i}CloseIconButton`,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseMediumIcon,{})})}),_jsxruntime.jsxs.call(void 0, "div",{className:`${i}OuterContainer`,children:[l?null:_jsxruntime.jsxs.call(void 0, "div",{className:`${i}InnerContainer`,children:[u?_jsxruntime.jsx.call(void 0, "div",{className:`${i}Image`,children:v}):null,_jsxruntime.jsxs.call(void 0, "div",{className:`${i}Header`,children:[_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _radixui.Dialog.Title,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkPWY25JDNcjs.a,{size:"lg",textWrap:"wrap",children:B})})}),t?_jsxruntime.jsx.call(void 0, _radixui.Dialog.Description,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkDLU27EEOcjs.a,{size:"md",as:"span",children:t})}):null]})]}),l?_jsxruntime.jsxs.call(void 0, _chunkQKGE3FJXcjs.a,{direction:"column",gap:"300",alignItems:"center",paddingY:"200",width:"100%",children:[_jsxruntime.jsx.call(void 0, _chunkHHKQ3ZBDcjs.a,{size:"lg"}),_jsxruntime.jsxs.call(void 0, "div",{className:`${i}LoadingHeader`,children:[_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _radixui.Dialog.Title,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkPWY25JDNcjs.a,{size:"lg",textAlign:"center",textWrap:"wrap",children:n||r||"Loading"})})}),(r||n)&&s?_jsxruntime.jsx.call(void 0, _radixui.Dialog.Description,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkDLU27EEOcjs.a,{size:"md",as:"span",textAlign:"center",children:s})}):null]})]}):$]})]})})})})})});A.displayName=D;exports.a = A;
4
- //# sourceMappingURL=chunk-SWIT4LGB.cjs.map
3
+ var _chunkEU7QBTGKcjs = require('./chunk-EU7QBTGK.cjs');var _chunkRS5YT3MKcjs = require('./chunk-RS5YT3MK.cjs');var _chunkHHKQ3ZBDcjs = require('./chunk-HHKQ3ZBD.cjs');var _chunkPWY25JDNcjs = require('./chunk-PWY25JDN.cjs');var _chunkQKGE3FJXcjs = require('./chunk-QKGE3FJX.cjs');var _chunkIVFMFU6Ucjs = require('./chunk-IVFMFU6U.cjs');var _chunkDLU27EEOcjs = require('./chunk-DLU27EEO.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _radixui = require('radix-ui');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var D="Modal",i=_chunk4Q432K4Wcjs.b.call(void 0, D),A= exports.a =_react.forwardRef.call(void 0, ({className:M,image:v,forceMount:x,container:h,heading:B,description:t,hideCloseButton:f,fullScreen:I,loading:l,loadingText:r,loadingHeading:n,loadingDescription:s,children:$,...b},O)=>{let T={forceMount:x,container:h},u=!!v,w=!!(l?(r||n)&&s:t);return _jsxruntime.jsx.call(void 0, _radixui.Dialog.Portal,{...T,children:_jsxruntime.jsx.call(void 0, _radixui.Dialog.Overlay,{className:_chunk4Q432K4Wcjs.b.call(void 0, "Overlay"),children:_jsxruntime.jsx.call(void 0, "div",{className:`${i}Scroll`,children:_jsxruntime.jsx.call(void 0, "div",{className:`${i}ScrollPadding`,children:_jsxruntime.jsxs.call(void 0, _radixui.Dialog.Content,{ref:O,className:_chunkONNSZMWFcjs.a.call(void 0, i,M),"data-contains-image":u?"":void 0,"data-hide-close-button":f?"":void 0,"data-full-screen":I?"":void 0,"data-testid":i,...w?{}:{"aria-describedby":void 0},...b,children:[_jsxruntime.jsx.call(void 0, _chunkEU7QBTGKcjs.a,{children:_jsxruntime.jsx.call(void 0, _chunkRS5YT3MKcjs.a,{type:"button",label:"Close","data-visually-hidden":f?"":void 0,className:`${i}CloseIconButton`,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseMediumIcon,{})})}),_jsxruntime.jsxs.call(void 0, "div",{className:`${i}OuterContainer`,children:[l?null:_jsxruntime.jsxs.call(void 0, "div",{className:`${i}InnerContainer`,children:[u?_jsxruntime.jsx.call(void 0, "div",{className:`${i}Image`,children:v}):null,_jsxruntime.jsxs.call(void 0, "div",{className:`${i}Header`,children:[_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _radixui.Dialog.Title,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkPWY25JDNcjs.a,{size:"lg",textWrap:"wrap",children:B})})}),t?_jsxruntime.jsx.call(void 0, _radixui.Dialog.Description,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkDLU27EEOcjs.a,{size:"md",as:"span",children:t})}):null]})]}),l?_jsxruntime.jsxs.call(void 0, _chunkQKGE3FJXcjs.a,{direction:"column",gap:"300",alignItems:"center",paddingY:"200",width:"100%",children:[_jsxruntime.jsx.call(void 0, _chunkHHKQ3ZBDcjs.a,{size:"lg"}),_jsxruntime.jsxs.call(void 0, "div",{className:`${i}LoadingHeader`,children:[_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _radixui.Dialog.Title,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkPWY25JDNcjs.a,{size:"lg",textAlign:"center",textWrap:"wrap",children:n||r||"Loading"})})}),(r||n)&&s?_jsxruntime.jsx.call(void 0, _radixui.Dialog.Description,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkDLU27EEOcjs.a,{size:"md",as:"span",textAlign:"center",children:s})}):null]})]}):$]})]})})})})})});A.displayName=D;exports.a = A;
4
+ //# sourceMappingURL=chunk-2UQFNTOW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-SWIT4LGB.cjs","../src/components/Modal/Modal.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Modal","forwardRef","className","image","forceMount","container","heading","description","hideCloseButton","fullScreen","loading","loadingText","loadingHeading","loadingDescription","children","props","ref","portalProps","containsImage","hasDescription","jsx","DialogPrimitive"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,mCCAtU,wEAMV,8BAML,+CAkEP,IA/DdA,CAAAA,CAAiB,OAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAQC,+BAAAA,CAEjB,CACE,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,CAAAA,EACG,CACH,IAAMC,CAAAA,CAAc,CAAE,UAAA,CAAAb,CAAAA,CAAY,SAAA,CAAAC,CAAU,CAAA,CACtCa,CAAAA,CAAgB,CAAA,CAAQf,CAAAA,CACxBgB,CAAAA,CAAiB,CAAA,CAAA,CACrBT,CAAAA,CAAAA,CAAWC,CAAAA,EAAeC,CAAAA,CAAAA,EAAmBC,CAAAA,CAAqBN,CAAAA,CAAAA,CAGpE,OACEa,6BAAAA,eAACC,CAAgB,MAAA,CAAhB,CAAwB,GAAGJ,CAAAA,CAC1B,QAAA,CAAAG,6BAAAA,eAACC,CAAgB,OAAA,CAAhB,CAAwB,SAAA,CAAWtB,iCAAAA,SAA0B,CAAA,CAC5D,QAAA,CAAAqB,6BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-SWIT4LGB.cjs","sourcesContent":[null,"'use client';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ModalProps } from './Modal.props';\nimport { Heading } from '../Heading/Heading';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { CloseMediumIcon } from '@utilitywarehouse/hearth-react-icons';\nimport { BodyText } from '../BodyText/BodyText';\nimport { ModalClose } from './ModalClose';\nimport { Box } from '../Box/Box';\nimport { Flex } from '../Flex/Flex';\nimport { Spinner } from '../Spinner/Spinner';\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Modal';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ModalElement = ComponentRef<'div'>;\n\n/**\n * Use Modal to overlay content that requests a decision from the user or\n * informs them of important information, without navigating to a new page.\n * Modal must be wrapped in a ModalRoot, and is typically composed with\n * ModalTrigger, ModalContent, ModalFooter, and ModalClose. Pass `heading` and\n * `description` for standard content, or custom children alongside\n * ModalFooter for more control over layout.\n *\n * @summary An overlay that requests a decision or displays important information.\n */\nexport const Modal = forwardRef<ModalElement, ModalProps>(\n (\n {\n className,\n image,\n forceMount,\n container,\n heading,\n description,\n hideCloseButton,\n fullScreen,\n loading,\n loadingText,\n loadingHeading,\n loadingDescription,\n children,\n ...props\n },\n ref\n ) => {\n const portalProps = { forceMount, container };\n const containsImage = Boolean(image);\n const hasDescription = Boolean(\n loading ? (loadingText || loadingHeading) && loadingDescription : description\n );\n\n return (\n <DialogPrimitive.Portal {...portalProps}>\n <DialogPrimitive.Overlay className={withGlobalPrefix('Overlay')}>\n <div className={`${componentClassName}Scroll`}>\n <div className={`${componentClassName}ScrollPadding`}>\n <DialogPrimitive.Content\n ref={ref}\n className={cn(componentClassName, className)}\n data-contains-image={containsImage ? '' : undefined}\n data-hide-close-button={hideCloseButton ? '' : undefined}\n data-full-screen={fullScreen ? '' : undefined}\n data-testid={componentClassName}\n {...(hasDescription ? {} : { 'aria-describedby': undefined })}\n {...props}\n >\n <ModalClose>\n <UnstyledIconButton\n type=\"button\"\n label=\"Close\"\n data-visually-hidden={hideCloseButton ? '' : undefined}\n className={`${componentClassName}CloseIconButton`}\n >\n <CloseMediumIcon />\n </UnstyledIconButton>\n </ModalClose>\n <div className={`${componentClassName}OuterContainer`}>\n {!loading ? (\n <div className={`${componentClassName}InnerContainer`}>\n {containsImage ? (\n <div className={`${componentClassName}Image`}>{image}</div>\n ) : null}\n <div className={`${componentClassName}Header`}>\n <Box asChild>\n <DialogPrimitive.Title asChild>\n <Heading size=\"lg\" textWrap=\"wrap\">\n {heading}\n </Heading>\n </DialogPrimitive.Title>\n </Box>\n {description ? (\n <DialogPrimitive.Description asChild>\n <BodyText size=\"md\" as=\"span\">\n {description}\n </BodyText>\n </DialogPrimitive.Description>\n ) : null}\n </div>\n </div>\n ) : null}\n\n {loading ? (\n <Flex\n direction=\"column\"\n gap=\"300\"\n alignItems=\"center\"\n paddingY=\"200\"\n width=\"100%\"\n >\n <Spinner size=\"lg\" />\n <div className={`${componentClassName}LoadingHeader`}>\n <Box asChild>\n <DialogPrimitive.Title asChild>\n <Heading size=\"lg\" textAlign=\"center\" textWrap=\"wrap\">\n {loadingHeading || loadingText || 'Loading'}\n </Heading>\n </DialogPrimitive.Title>\n </Box>\n {(loadingText || loadingHeading) && loadingDescription ? (\n <DialogPrimitive.Description asChild>\n <BodyText size=\"md\" as=\"span\" textAlign=\"center\">\n {loadingDescription}\n </BodyText>\n </DialogPrimitive.Description>\n ) : null}\n </div>\n </Flex>\n ) : (\n children\n )}\n </div>\n </DialogPrimitive.Content>\n </div>\n </div>\n </DialogPrimitive.Overlay>\n </DialogPrimitive.Portal>\n );\n }\n);\n\nModal.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-2UQFNTOW.cjs","../src/components/Modal/Modal.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Modal","forwardRef","className","image","forceMount","container","heading","description","hideCloseButton","fullScreen","loading","loadingText","loadingHeading","loadingDescription","children","props","ref","portalProps","containsImage","hasDescription","jsx","DialogPrimitive"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,mCCAtU,wEAMV,8BAML,+CAkEP,IA/DdA,CAAAA,CAAiB,OAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAQC,+BAAAA,CAEjB,CACE,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CACAC,CAAAA,CAAAA,EACG,CACH,IAAMC,CAAAA,CAAc,CAAE,UAAA,CAAAb,CAAAA,CAAY,SAAA,CAAAC,CAAU,CAAA,CACtCa,CAAAA,CAAgB,CAAA,CAAQf,CAAAA,CACxBgB,CAAAA,CAAiB,CAAA,CAAA,CACrBT,CAAAA,CAAAA,CAAWC,CAAAA,EAAeC,CAAAA,CAAAA,EAAmBC,CAAAA,CAAqBN,CAAAA,CAAAA,CAGpE,OACEa,6BAAAA,eAACC,CAAgB,MAAA,CAAhB,CAAwB,GAAGJ,CAAAA,CAC1B,QAAA,CAAAG,6BAAAA,eAACC,CAAgB,OAAA,CAAhB,CAAwB,SAAA,CAAWtB,iCAAAA,SAA0B,CAAA,CAC5D,QAAA,CAAAqB,6BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-2UQFNTOW.cjs","sourcesContent":[null,"'use client';\n\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ModalProps } from './Modal.props';\nimport { Heading } from '../Heading/Heading';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { CloseMediumIcon } from '@utilitywarehouse/hearth-react-icons';\nimport { BodyText } from '../BodyText/BodyText';\nimport { ModalClose } from './ModalClose';\nimport { Box } from '../Box/Box';\nimport { Flex } from '../Flex/Flex';\nimport { Spinner } from '../Spinner/Spinner';\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Modal';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ModalElement = ComponentRef<'div'>;\n\n/**\n * Use Modal to overlay content that requests a decision from the user or\n * informs them of important information, without navigating to a new page.\n * Modal must be wrapped in a ModalRoot, and is typically composed with\n * ModalTrigger, ModalContent, ModalFooter, and ModalClose. Pass `heading` and\n * `description` for standard content, or custom children alongside\n * ModalFooter for more control over layout.\n *\n * @summary An overlay that requests a decision or displays important information.\n */\nexport const Modal = forwardRef<ModalElement, ModalProps>(\n (\n {\n className,\n image,\n forceMount,\n container,\n heading,\n description,\n hideCloseButton,\n fullScreen,\n loading,\n loadingText,\n loadingHeading,\n loadingDescription,\n children,\n ...props\n },\n ref\n ) => {\n const portalProps = { forceMount, container };\n const containsImage = Boolean(image);\n const hasDescription = Boolean(\n loading ? (loadingText || loadingHeading) && loadingDescription : description\n );\n\n return (\n <DialogPrimitive.Portal {...portalProps}>\n <DialogPrimitive.Overlay className={withGlobalPrefix('Overlay')}>\n <div className={`${componentClassName}Scroll`}>\n <div className={`${componentClassName}ScrollPadding`}>\n <DialogPrimitive.Content\n ref={ref}\n className={cn(componentClassName, className)}\n data-contains-image={containsImage ? '' : undefined}\n data-hide-close-button={hideCloseButton ? '' : undefined}\n data-full-screen={fullScreen ? '' : undefined}\n data-testid={componentClassName}\n {...(hasDescription ? {} : { 'aria-describedby': undefined })}\n {...props}\n >\n <ModalClose>\n <UnstyledIconButton\n type=\"button\"\n label=\"Close\"\n data-visually-hidden={hideCloseButton ? '' : undefined}\n className={`${componentClassName}CloseIconButton`}\n >\n <CloseMediumIcon />\n </UnstyledIconButton>\n </ModalClose>\n <div className={`${componentClassName}OuterContainer`}>\n {!loading ? (\n <div className={`${componentClassName}InnerContainer`}>\n {containsImage ? (\n <div className={`${componentClassName}Image`}>{image}</div>\n ) : null}\n <div className={`${componentClassName}Header`}>\n <Box asChild>\n <DialogPrimitive.Title asChild>\n <Heading size=\"lg\" textWrap=\"wrap\">\n {heading}\n </Heading>\n </DialogPrimitive.Title>\n </Box>\n {description ? (\n <DialogPrimitive.Description asChild>\n <BodyText size=\"md\" as=\"span\">\n {description}\n </BodyText>\n </DialogPrimitive.Description>\n ) : null}\n </div>\n </div>\n ) : null}\n\n {loading ? (\n <Flex\n direction=\"column\"\n gap=\"300\"\n alignItems=\"center\"\n paddingY=\"200\"\n width=\"100%\"\n >\n <Spinner size=\"lg\" />\n <div className={`${componentClassName}LoadingHeader`}>\n <Box asChild>\n <DialogPrimitive.Title asChild>\n <Heading size=\"lg\" textAlign=\"center\" textWrap=\"wrap\">\n {loadingHeading || loadingText || 'Loading'}\n </Heading>\n </DialogPrimitive.Title>\n </Box>\n {(loadingText || loadingHeading) && loadingDescription ? (\n <DialogPrimitive.Description asChild>\n <BodyText size=\"md\" as=\"span\" textAlign=\"center\">\n {loadingDescription}\n </BodyText>\n </DialogPrimitive.Description>\n ) : null}\n </div>\n </Flex>\n ) : (\n children\n )}\n </div>\n </DialogPrimitive.Content>\n </div>\n </div>\n </DialogPrimitive.Overlay>\n </DialogPrimitive.Portal>\n );\n }\n);\n\nModal.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkWFVKT4MGcjs = require('./chunk-WFVKT4MG.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _radixui = require('radix-ui');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _jsxruntime = require('react/jsx-runtime');var m="Toast",s=_chunk4Q432K4Wcjs.b.call(void 0, m),P= exports.a =_react.forwardRef.call(void 0, ({className:a,icon:n,description:p,showDismissButton:l,children:c,...f},T)=>_jsxruntime.jsxs.call(void 0, _radixui.Toast.Root,{ref:T,className:_chunkONNSZMWFcjs.a.call(void 0, s,a),"data-testid":s,...f,children:[n,_jsxruntime.jsx.call(void 0, _radixui.Toast.Description,{asChild:!0,children:_jsxruntime.jsx.call(void 0, "div",{className:`${s}Description`,children:p})}),c,l?_jsxruntime.jsx.call(void 0, _radixui.Toast.Close,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkWFVKT4MGcjs.a,{label:"Dismiss toast",inverted:!0,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseMediumIcon,{})})}):null]}));P.displayName=m;exports.a = P;
4
- //# sourceMappingURL=chunk-OOUAAVCO.cjs.map
3
+ var _chunkRS5YT3MKcjs = require('./chunk-RS5YT3MK.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _radixui = require('radix-ui');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _jsxruntime = require('react/jsx-runtime');var m="Toast",s=_chunk4Q432K4Wcjs.b.call(void 0, m),P= exports.a =_react.forwardRef.call(void 0, ({className:a,icon:n,description:p,showDismissButton:l,children:c,...f},T)=>_jsxruntime.jsxs.call(void 0, _radixui.Toast.Root,{ref:T,className:_chunkONNSZMWFcjs.a.call(void 0, s,a),"data-testid":s,...f,children:[n,_jsxruntime.jsx.call(void 0, _radixui.Toast.Description,{asChild:!0,children:_jsxruntime.jsx.call(void 0, "div",{className:`${s}Description`,children:p})}),c,l?_jsxruntime.jsx.call(void 0, _radixui.Toast.Close,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkRS5YT3MKcjs.a,{label:"Dismiss toast",inverted:!0,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseMediumIcon,{})})}):null]}));P.displayName=m;exports.a = P;
4
+ //# sourceMappingURL=chunk-2YOFE27F.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-OOUAAVCO.cjs","../src/components/Toast/Toast.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Toast","forwardRef","className","icon","description","showDismissButton","children","props","ref","jsxs","ToastPrimitive","cn","jsx"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,8BCA/F,mCAEa,wEAKR,+CAkB1B,IAhBAA,CAAAA,CAAiB,OAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAQC,+BAAAA,CAClB,CAAE,SAAA,CAAAC,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAM,WAAA,CAAAC,CAAAA,CAAa,iBAAA,CAAAC,CAAAA,CAAmB,QAAA,CAAAC,CAAAA,CAAU,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAEtEC,8BAAAA,cAACC,CAAe,IAAA,CAAf,CACC,GAAA,CAAKF,CAAAA,CACL,SAAA,CAAWG,iCAAAA,CAAGb,CAAoBI,CAAS,CAAA,CAC3C,aAAA,CAAaJ,CAAAA,CACZ,GAAGS,CAAAA,CAEH,QAAA,CAAA,CAAAJ,CAAAA,CACDS,6BAAAA,cAACF,CAAe,WAAA,CAAf,CAA2B,OAAA,CAAO,CAAA,CAAA,CACjC,QAAA,CAAAE,6BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-OOUAAVCO.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\nimport { Toast as ToastPrimitive } from 'radix-ui';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ToastProps } from './Toast.props';\nimport { cn } from '../../helpers/cn';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { CloseMediumIcon } from '@utilitywarehouse/hearth-react-icons';\n\nconst COMPONENT_NAME = 'Toast';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ToastElement = ComponentRef<'li'>;\n\n/**\n * Use Toast for a brief, non-intrusive message that provides feedback on an\n * action or notifies users of important information, auto-dismissing after a\n * set duration. It must be rendered inside a ToastProvider. For messages that\n * require the user to make a decision, use Alert instead.\n *\n * @summary A brief, temporary message providing feedback or notifications.\n */\nexport const Toast = forwardRef<ToastElement, ToastProps>(\n ({ className, icon, description, showDismissButton, children, ...props }, ref) => {\n return (\n <ToastPrimitive.Root\n ref={ref}\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...props}\n >\n {icon}\n <ToastPrimitive.Description asChild>\n <div className={`${componentClassName}Description`}>{description}</div>\n </ToastPrimitive.Description>\n {children}\n {showDismissButton ? (\n <ToastPrimitive.Close asChild>\n <UnstyledIconButton label=\"Dismiss toast\" inverted>\n <CloseMediumIcon />\n </UnstyledIconButton>\n </ToastPrimitive.Close>\n ) : null}\n </ToastPrimitive.Root>\n );\n }\n);\n\nToast.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-2YOFE27F.cjs","../src/components/Toast/Toast.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Toast","forwardRef","className","icon","description","showDismissButton","children","props","ref","jsxs","ToastPrimitive","cn","jsx"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,8BCA/F,mCAEa,wEAKR,+CAkB1B,IAhBAA,CAAAA,CAAiB,OAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAQC,+BAAAA,CAClB,CAAE,SAAA,CAAAC,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAM,WAAA,CAAAC,CAAAA,CAAa,iBAAA,CAAAC,CAAAA,CAAmB,QAAA,CAAAC,CAAAA,CAAU,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAEtEC,8BAAAA,cAACC,CAAe,IAAA,CAAf,CACC,GAAA,CAAKF,CAAAA,CACL,SAAA,CAAWG,iCAAAA,CAAGb,CAAoBI,CAAS,CAAA,CAC3C,aAAA,CAAaJ,CAAAA,CACZ,GAAGS,CAAAA,CAEH,QAAA,CAAA,CAAAJ,CAAAA,CACDS,6BAAAA,cAACF,CAAe,WAAA,CAAf,CAA2B,OAAA,CAAO,CAAA,CAAA,CACjC,QAAA,CAAAE,6BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-2YOFE27F.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\nimport { Toast as ToastPrimitive } from 'radix-ui';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ToastProps } from './Toast.props';\nimport { cn } from '../../helpers/cn';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { CloseMediumIcon } from '@utilitywarehouse/hearth-react-icons';\n\nconst COMPONENT_NAME = 'Toast';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ToastElement = ComponentRef<'li'>;\n\n/**\n * Use Toast for a brief, non-intrusive message that provides feedback on an\n * action or notifies users of important information, auto-dismissing after a\n * set duration. It must be rendered inside a ToastProvider. For messages that\n * require the user to make a decision, use Alert instead.\n *\n * @summary A brief, temporary message providing feedback or notifications.\n */\nexport const Toast = forwardRef<ToastElement, ToastProps>(\n ({ className, icon, description, showDismissButton, children, ...props }, ref) => {\n return (\n <ToastPrimitive.Root\n ref={ref}\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...props}\n >\n {icon}\n <ToastPrimitive.Description asChild>\n <div className={`${componentClassName}Description`}>{description}</div>\n </ToastPrimitive.Description>\n {children}\n {showDismissButton ? (\n <ToastPrimitive.Close asChild>\n <UnstyledIconButton label=\"Dismiss toast\" inverted>\n <CloseMediumIcon />\n </UnstyledIconButton>\n </ToastPrimitive.Close>\n ) : null}\n </ToastPrimitive.Root>\n );\n }\n);\n\nToast.displayName = COMPONENT_NAME;\n"]}
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import{a as v}from"./chunk-UDOSOH3G.js";import{a as T}from"./chunk-RXW6PYP7.js";import{a as b}from"./chunk-OPPG3NOC.js";import{a as h}from"./chunk-7X24J4CX.js";import{a as y}from"./chunk-VKE2TXPE.js";import{a as u}from"./chunk-KGEVWEVL.js";import{a as x}from"./chunk-J3AJBV4B.js";import{b as c}from"./chunk-PDEVCIQ3.js";import{forwardRef as M}from"react";import{jsx as d}from"react/jsx-runtime";var P="TextArea",A=c(P),S=M((g,I)=>{let{className:N,validationStatus:e,validationText:i,label:w,labelVariant:C,helperText:o,id:F,disabled:a,readOnly:n,required:s,placeholder:E,"aria-describedby":H,resize:O,rows:B=3,minHeight:D,maxHeight:R,...V}=u(g,b),{id:l,labelId:m,helperTextId:p,validationTextId:t}=h({providedId:F,prefix:"textarea"}),r=!n&&!a,q={id:l,labelId:m,helperTextId:p,validationTextId:t,label:w,labelVariant:C,helperText:o,validationText:r?i:void 0,validationStatus:r?e:void 0,required:s},f=r&&e==="invalid",z=y(H,o?p:void 0,r&&e!==void 0&&i!==void 0?t:void 0);return d(v,{"data-validation-status":e||void 0,"data-disabled":a?"":void 0,className:x(A,N),"data-testid":A,...q,children:d(T,{asChild:!0,minHeight:D,maxHeight:R,children:d("textarea",{ref:I,id:l,rows:B,required:s,disabled:a,readOnly:n,placeholder:a?void 0:E,"aria-labelledby":m,"aria-describedby":z,"aria-invalid":f?!0:void 0,"aria-errormessage":f&&i!==void 0?t:void 0,"data-resize":O,...V})})})});S.displayName=P;export{S as a};
4
+ //# sourceMappingURL=chunk-3KHNXMYU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TextArea/TextArea.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { mergeIds } from '../../helpers/merge-ids';\nimport { useIds } from '../../hooks/use-ids';\nimport type { TextAreaProps } from './TextArea.props';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { FormField } from '../FormField/FormField';\nimport { Box } from '../Box/Box';\n\nconst COMPONENT_NAME = 'TextArea';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype TextAreaElement = ComponentRef<'textarea'>;\n\n/**\n * Use TextArea for a multi-line text input, such as a comment, message, or\n * description field. For single-line input, use TextInput instead. A `label`\n * is required and should clearly describe the purpose of the field.\n *\n * @summary A multi-line text input field for longer text content.\n */\nexport const TextArea = forwardRef<TextAreaElement, TextAreaProps>((props, ref) => {\n const {\n className,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n readOnly,\n required,\n placeholder,\n 'aria-describedby': ariaDescribedby,\n resize,\n rows = 3,\n minHeight,\n maxHeight,\n ...textAreaProps\n } = extractProps(props, marginPropDefs);\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'textarea',\n });\n\n const showValidation = Boolean(!readOnly && !disabled);\n\n const formFieldProps = {\n id,\n labelId,\n helperTextId,\n validationTextId,\n label,\n labelVariant,\n helperText,\n validationText: showValidation ? validationText : undefined,\n validationStatus: showValidation ? validationStatus : undefined,\n required,\n };\n\n const isInvalid = showValidation && validationStatus === 'invalid';\n\n const ariaDescribedbyValue = mergeIds(\n ariaDescribedby,\n !!helperText ? helperTextId : undefined,\n showValidation && validationStatus !== undefined && validationText !== undefined\n ? validationTextId\n : undefined\n );\n\n return (\n <FormField\n data-validation-status={validationStatus ? validationStatus : undefined}\n data-disabled={disabled ? '' : undefined}\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...formFieldProps}\n >\n <Box asChild minHeight={minHeight} maxHeight={maxHeight}>\n <textarea\n ref={ref}\n id={id}\n rows={rows}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={!disabled ? placeholder : undefined}\n aria-labelledby={labelId}\n aria-describedby={ariaDescribedbyValue}\n aria-invalid={isInvalid ? true : undefined}\n aria-errormessage={\n isInvalid && validationText !== undefined ? validationTextId : undefined\n }\n data-resize={resize}\n {...textAreaProps}\n />\n </Box>\n </FormField>\n );\n});\n\nTextArea.displayName = COMPONENT_NAME;\n"],"mappings":";;gUAEA,OAAS,cAAAA,MAAkB,QAoFnB,cAAAC,MAAA,oBAxER,IAAMC,EAAiB,WACjBC,EAAqBC,EAAiBF,CAAc,EAW7CG,EAAWC,EAA2C,CAACC,EAAOC,IAAQ,CACjF,GAAM,CACJ,UAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,MAAAC,EACA,aAAAC,EACA,WAAAC,EACA,GAAIC,EACJ,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,YAAAC,EACA,mBAAoBC,EACpB,OAAAC,EACA,KAAAC,EAAO,EACP,UAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAIC,EAAanB,EAAOoB,CAAc,EAEhC,CAAE,GAAAC,EAAI,QAAAC,EAAS,aAAAC,EAAc,iBAAAC,CAAiB,EAAIC,EAAO,CAC7D,WAAAjB,EACA,OAAQ,UACV,CAAC,EAEKkB,EAAyB,CAAChB,GAAY,CAACD,EAEvCkB,EAAiB,CACrB,GAAAN,EACA,QAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,MAAAnB,EACA,aAAAC,EACA,WAAAC,EACA,eAAgBmB,EAAiBtB,EAAiB,OAClD,iBAAkBsB,EAAiBvB,EAAmB,OACtD,SAAAQ,CACF,EAEMiB,EAAYF,GAAkBvB,IAAqB,UAEnD0B,EAAuBC,EAC3BjB,EACEN,EAAagB,EAAe,OAC9BG,GAAkBvB,IAAqB,QAAaC,IAAmB,OACnEoB,EACA,MACN,EAEA,OACE9B,EAACqC,EAAA,CACC,yBAAwB5B,GAAsC,OAC9D,gBAAeM,EAAW,GAAK,OAC/B,UAAWuB,EAAGpC,EAAoBM,CAAS,EAC3C,cAAaN,EACZ,GAAG+B,EAEJ,SAAAjC,EAACuC,EAAA,CAAI,QAAO,GAAC,UAAWjB,EAAW,UAAWC,EAC5C,SAAAvB,EAAC,YACC,IAAKO,EACL,GAAIoB,EACJ,KAAMN,EACN,SAAUJ,EACV,SAAUF,EACV,SAAUC,EACV,YAAcD,EAAyB,OAAdG,EACzB,kBAAiBU,EACjB,mBAAkBO,EAClB,eAAcD,EAAY,GAAO,OACjC,oBACEA,GAAaxB,IAAmB,OAAYoB,EAAmB,OAEjE,cAAaV,EACZ,GAAGI,EACN,EACF,EACF,CAEJ,CAAC,EAEDpB,EAAS,YAAcH","names":["forwardRef","jsx","COMPONENT_NAME","componentClassName","withGlobalPrefix","TextArea","forwardRef","props","ref","className","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","readOnly","required","placeholder","ariaDescribedby","resize","rows","minHeight","maxHeight","textAreaProps","extractProps","marginPropDefs","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","isInvalid","ariaDescribedbyValue","mergeIds","FormField","cn","Box"]}
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import{a as f}from"./chunk-V6QXHP4D.js";import{a as d}from"./chunk-OPPG3NOC.js";import{a as s}from"./chunk-KGEVWEVL.js";import{a as t}from"./chunk-J3AJBV4B.js";import{b as i}from"./chunk-PDEVCIQ3.js";import{forwardRef as y}from"react";import{jsx as b,jsxs as c}from"react/jsx-runtime";var N="Table",e=i(N),P=y((T,a)=>{let{className:r,style:o,children:l,variant:n,pagination:m,...p}=s(T,d);return n===void 0?c("div",{className:t(e,r),"data-testid":e,style:o,children:[b("table",{ref:a,...p,children:l}),m]}):c(f,{className:t(e,r),"data-table-container":"card","data-testid":e,style:o,variant:n,colorScheme:"neutralStrong",paddingNone:!0,children:[b("table",{ref:a,...p,children:l}),m]})});P.displayName=N;export{P as a};
4
+ //# sourceMappingURL=chunk-53VJM6HN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Table/Table.tsx"],"sourcesContent":["import { cn } from '../../helpers/cn';\n\nimport type { TableProps } from './Table.props';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { Card } from '../Card/Card';\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Table';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype TableElement = ComponentRef<'table'>;\n\n/**\n * Use Table to arrange data in rows and columns, to communicate relationships\n * between content and to display references, comparisons, and choices. Compose\n * it with TableHeader, TableBody, TableRow, TableHeaderCell, and TableCell.\n * Pass `variant` to wrap the table in a Card container; omit it for a minimal,\n * unwrapped table.\n *\n * @summary A component for arranging data in rows and columns.\n */\nexport const Table = forwardRef<TableElement, TableProps>((props, ref) => {\n const { className, style, children, variant, pagination, ...tableProps } = extractProps(\n props,\n marginPropDefs\n );\n\n if (variant === undefined) {\n return (\n <div\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n style={style}\n >\n <table ref={ref} {...tableProps}>\n {children}\n </table>\n {pagination}\n </div>\n );\n }\n\n return (\n <Card\n className={cn(componentClassName, className)}\n data-table-container=\"card\"\n data-testid={componentClassName}\n style={style}\n variant={variant}\n colorScheme=\"neutralStrong\"\n paddingNone\n >\n <table ref={ref} {...tableProps}>\n {children}\n </table>\n {pagination}\n </Card>\n );\n});\n\nTable.displayName = COMPONENT_NAME;\n"],"mappings":";;wMAOA,OAAS,cAAAA,MAAkB,QAyBrB,OAKE,OAAAC,EALF,QAAAC,MAAA,oBAtBN,IAAMC,EAAiB,QACjBC,EAAqBC,EAAiBF,CAAc,EAa7CG,EAAQN,EAAqC,CAACO,EAAOC,IAAQ,CACxE,GAAM,CAAE,UAAAC,EAAW,MAAAC,EAAO,SAAAC,EAAU,QAAAC,EAAS,WAAAC,EAAY,GAAGC,CAAW,EAAIC,EACzER,EACAS,CACF,EAEA,OAAIJ,IAAY,OAEZV,EAAC,OACC,UAAWe,EAAGb,EAAoBK,CAAS,EAC3C,cAAaL,EACb,MAAOM,EAEP,UAAAT,EAAC,SAAM,IAAKO,EAAM,GAAGM,EAClB,SAAAH,EACH,EACCE,GACH,EAKFX,EAACgB,EAAA,CACC,UAAWD,EAAGb,EAAoBK,CAAS,EAC3C,uBAAqB,OACrB,cAAaL,EACb,MAAOM,EACP,QAASE,EACT,YAAY,gBACZ,YAAW,GAEX,UAAAX,EAAC,SAAM,IAAKO,EAAM,GAAGM,EAClB,SAAAH,EACH,EACCE,GACH,CAEJ,CAAC,EAEDP,EAAM,YAAcH","names":["forwardRef","jsx","jsxs","COMPONENT_NAME","componentClassName","withGlobalPrefix","Table","props","ref","className","style","children","variant","pagination","tableProps","extractProps","marginPropDefs","cn","Card"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunk2XTXL6ZEcjs = require('./chunk-2XTXL6ZE.cjs');var _chunkIVFMFU6Ucjs = require('./chunk-IVFMFU6U.cjs');var _chunkQKGE3FJXcjs = require('./chunk-QKGE3FJX.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var y="SkeletonBodyText",d=_chunk4Q432K4Wcjs.b.call(void 0, y),R= exports.a =_react.forwardRef.call(void 0, (c,t)=>{let{lines:r="1",className:m,margin:x,marginTop:g,marginRight:B,marginBottom:T,marginLeft:k,marginX:N,marginY:P,width:h,maxWidth:S,minWidth:u,...n}=_chunkZPJNQBTNcjs.a.call(void 0, c,_chunk2XTXL6ZEcjs.a),i={margin:x,marginTop:g,marginRight:B,marginBottom:T,marginLeft:k,marginX:N,marginY:P,width:h,maxWidth:S,minWidth:u};return r==="1"?_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{as:"div",ref:t,className:_chunkONNSZMWFcjs.a.call(void 0, d,m),...i,...n}):_jsxruntime.jsx.call(void 0, _chunkQKGE3FJXcjs.a,{ref:t,direction:"column",gap:"75",...i,children:Array.from({length:Number(r)},(v,C)=>_jsxruntime.jsx.call(void 0, "div",{className:_chunkONNSZMWFcjs.a.call(void 0, d,m),...n},C))})});R.displayName=y;exports.a = R;
4
- //# sourceMappingURL=chunk-75OLYAFB.cjs.map
3
+ var _chunk2XTXL6ZEcjs = require('./chunk-2XTXL6ZE.cjs');var _chunkQKGE3FJXcjs = require('./chunk-QKGE3FJX.cjs');var _chunkIVFMFU6Ucjs = require('./chunk-IVFMFU6U.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var y="SkeletonBodyText",d=_chunk4Q432K4Wcjs.b.call(void 0, y),R= exports.a =_react.forwardRef.call(void 0, (c,t)=>{let{lines:r="1",className:m,margin:x,marginTop:g,marginRight:B,marginBottom:T,marginLeft:k,marginX:N,marginY:P,width:h,maxWidth:S,minWidth:u,...n}=_chunkZPJNQBTNcjs.a.call(void 0, c,_chunk2XTXL6ZEcjs.a),i={margin:x,marginTop:g,marginRight:B,marginBottom:T,marginLeft:k,marginX:N,marginY:P,width:h,maxWidth:S,minWidth:u};return r==="1"?_jsxruntime.jsx.call(void 0, _chunkIVFMFU6Ucjs.a,{as:"div",ref:t,className:_chunkONNSZMWFcjs.a.call(void 0, d,m),...i,...n}):_jsxruntime.jsx.call(void 0, _chunkQKGE3FJXcjs.a,{ref:t,direction:"column",gap:"75",...i,children:Array.from({length:Number(r)},(v,C)=>_jsxruntime.jsx.call(void 0, "div",{className:_chunkONNSZMWFcjs.a.call(void 0, d,m),...n},C))})});R.displayName=y;exports.a = R;
4
+ //# sourceMappingURL=chunk-6BVOGEQF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-75OLYAFB.cjs","../src/components/Skeleton/SkeletonBodyText.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","SkeletonBodyText","forwardRef","props","ref","lines","className","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","width","maxWidth","minWidth","skeletonBodyTextProps","extractProps","skeletonBodyTextPropDefs","styleProps","jsx","Box","cn","Flex","_","index"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAoC,wDAAyC,wDAAyC,8BCArN,+CAuDnB,IA9CFA,CAAAA,CAAiB,kBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAmBC,+BAAAA,CAC7BC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACd,GAAM,CACJ,KAAA,CAAAC,CAAAA,CAAQ,GAAA,CACR,SAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAaf,CAAOgB,mBAAwB,CAAA,CAE1CC,CAAAA,CAAa,CACjB,MAAA,CAAAb,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,CAEA,OAAIX,CAAAA,GAAU,GAAA,CAEVgB,6BAAAA,mBAACC,CAAA,CACC,EAAA,CAAG,KAAA,CACH,GAAA,CAAKlB,CAAAA,CACL,SAAA,CAAWmB,iCAAAA,CAAGxB,CAAoBO,CAAS,CAAA,CAC1C,GAAGc,CAAAA,CACH,GAAGH,CAAAA,CACN,CAAA,CAKFI,6BAAAA,mBAACG,CAAA,CAAK,GAAA,CAAKpB,CAAAA,CAAK,SAAA,CAAU,QAAA,CAAS,GAAA,CAAI,IAAA,CAAM,GAAGgB,CAAAA,CAC7C,QAAA,CAAA,KAAA,CAAM,IAAA,CAAK,CAAE,MAAA,CAAQ,MAAA,CAAOf,CAAK,CAAE,CAAA,CAAG,CAACoB,CAAAA,CAAGC,CAAAA,CAAAA,EACzCL,6BAAAA,KAAC,CAAA,CAEC,SAAA,CAAWE,iCAAAA,CAAGxB,CAAoBO,CAAS,CAAA,CAC1C,GAAGW,CAAAA,CAAAA,CAFCS,CAGP,CACD,CAAA,CACH,CAEJ,CACF,CAAA,CAEAzB,CAAAA,CAAiB,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-75OLYAFB.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { skeletonBodyTextPropDefs, type SkeletonBodyTextProps } from './SkeletonBodyText.props';\nimport { extractProps } from '../../helpers/extract-props';\nimport { Flex } from '../Flex/Flex';\nimport { Box } from '../Box/Box';\n\nconst COMPONENT_NAME = 'SkeletonBodyText';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype SkeletonBodyTextElement = ComponentRef<'div'>;\n\n/**\n * Use SkeletonBodyText as a loading placeholder for BodyText content, inside\n * a Skeleton wrapper. It supports multiple lines via the `lines` prop and the\n * same size props as BodyText. For placeholder headings, use SkeletonHeading;\n * for arbitrary shapes like images or avatars, use SkeletonBox instead.\n *\n * @summary A loading placeholder for BodyText content, supporting multiple lines.\n */\nexport const SkeletonBodyText = forwardRef<SkeletonBodyTextElement, SkeletonBodyTextProps>(\n (props, ref) => {\n const {\n lines = '1',\n className,\n margin,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n width,\n maxWidth,\n minWidth,\n ...skeletonBodyTextProps\n } = extractProps(props, skeletonBodyTextPropDefs);\n\n const styleProps = {\n margin,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n width,\n maxWidth,\n minWidth,\n };\n\n if (lines === '1') {\n return (\n <Box\n as=\"div\"\n ref={ref}\n className={cn(componentClassName, className)}\n {...styleProps}\n {...skeletonBodyTextProps}\n />\n );\n }\n\n return (\n <Flex ref={ref} direction=\"column\" gap=\"75\" {...styleProps}>\n {Array.from({ length: Number(lines) }, (_, index) => (\n <div\n key={index}\n className={cn(componentClassName, className)}\n {...skeletonBodyTextProps}\n />\n ))}\n </Flex>\n );\n }\n);\n\nSkeletonBodyText.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-6BVOGEQF.cjs","../src/components/Skeleton/SkeletonBodyText.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","SkeletonBodyText","forwardRef","props","ref","lines","className","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","width","maxWidth","minWidth","skeletonBodyTextProps","extractProps","skeletonBodyTextPropDefs","styleProps","jsx","Box","cn","Flex","_","index"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAoC,wDAAyC,wDAAyC,8BCArN,+CAuDnB,IA9CFA,CAAAA,CAAiB,kBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAmBC,+BAAAA,CAC7BC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACd,GAAM,CACJ,KAAA,CAAAC,CAAAA,CAAQ,GAAA,CACR,SAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAaf,CAAOgB,mBAAwB,CAAA,CAE1CC,CAAAA,CAAa,CACjB,MAAA,CAAAb,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CACF,CAAA,CAEA,OAAIX,CAAAA,GAAU,GAAA,CAEVgB,6BAAAA,mBAACC,CAAA,CACC,EAAA,CAAG,KAAA,CACH,GAAA,CAAKlB,CAAAA,CACL,SAAA,CAAWmB,iCAAAA,CAAGxB,CAAoBO,CAAS,CAAA,CAC1C,GAAGc,CAAAA,CACH,GAAGH,CAAAA,CACN,CAAA,CAKFI,6BAAAA,mBAACG,CAAA,CAAK,GAAA,CAAKpB,CAAAA,CAAK,SAAA,CAAU,QAAA,CAAS,GAAA,CAAI,IAAA,CAAM,GAAGgB,CAAAA,CAC7C,QAAA,CAAA,KAAA,CAAM,IAAA,CAAK,CAAE,MAAA,CAAQ,MAAA,CAAOf,CAAK,CAAE,CAAA,CAAG,CAACoB,CAAAA,CAAGC,CAAAA,CAAAA,EACzCL,6BAAAA,KAAC,CAAA,CAEC,SAAA,CAAWE,iCAAAA,CAAGxB,CAAoBO,CAAS,CAAA,CAC1C,GAAGW,CAAAA,CAAAA,CAFCS,CAGP,CACD,CAAA,CACH,CAEJ,CACF,CAAA,CAEAzB,CAAAA,CAAiB,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-6BVOGEQF.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { skeletonBodyTextPropDefs, type SkeletonBodyTextProps } from './SkeletonBodyText.props';\nimport { extractProps } from '../../helpers/extract-props';\nimport { Flex } from '../Flex/Flex';\nimport { Box } from '../Box/Box';\n\nconst COMPONENT_NAME = 'SkeletonBodyText';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype SkeletonBodyTextElement = ComponentRef<'div'>;\n\n/**\n * Use SkeletonBodyText as a loading placeholder for BodyText content, inside\n * a Skeleton wrapper. It supports multiple lines via the `lines` prop and the\n * same size props as BodyText. For placeholder headings, use SkeletonHeading;\n * for arbitrary shapes like images or avatars, use SkeletonBox instead.\n *\n * @summary A loading placeholder for BodyText content, supporting multiple lines.\n */\nexport const SkeletonBodyText = forwardRef<SkeletonBodyTextElement, SkeletonBodyTextProps>(\n (props, ref) => {\n const {\n lines = '1',\n className,\n margin,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n width,\n maxWidth,\n minWidth,\n ...skeletonBodyTextProps\n } = extractProps(props, skeletonBodyTextPropDefs);\n\n const styleProps = {\n margin,\n marginTop,\n marginRight,\n marginBottom,\n marginLeft,\n marginX,\n marginY,\n width,\n maxWidth,\n minWidth,\n };\n\n if (lines === '1') {\n return (\n <Box\n as=\"div\"\n ref={ref}\n className={cn(componentClassName, className)}\n {...styleProps}\n {...skeletonBodyTextProps}\n />\n );\n }\n\n return (\n <Flex ref={ref} direction=\"column\" gap=\"75\" {...styleProps}>\n {Array.from({ length: Number(lines) }, (_, index) => (\n <div\n key={index}\n className={cn(componentClassName, className)}\n {...skeletonBodyTextProps}\n />\n ))}\n </Flex>\n );\n }\n);\n\nSkeletonBodyText.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkL7I7AUWHcjs = require('./chunk-L7I7AUWH.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _radixui = require('radix-ui');var _jsxruntime = require('react/jsx-runtime');var s="Accordion",p=_chunk4Q432K4Wcjs.b.call(void 0, s),u= exports.a =_react.forwardRef.call(void 0, (a,d)=>{let{className:l,type:o="multiple",heading:t,headingElement:f="h2",helperText:P,trailingContent:A,validationText:h,validationStatus:v,collapsible:C,...N}=_chunkZPJNQBTNcjs.a.call(void 0, a,_chunkOB7O3UFLcjs.a),R={heading:t,headingElement:f,helperText:P,trailingContent:A,validationText:h,validationStatus:v},y={type:o,...N,...o==="single"?{collapsible:C}:{}};return _jsxruntime.jsxs.call(void 0, "div",{ref:d,className:_chunkONNSZMWFcjs.a.call(void 0, p,l),"data-testid":p,children:[t?_jsxruntime.jsx.call(void 0, _chunkL7I7AUWHcjs.a,{...R}):null,_jsxruntime.jsx.call(void 0, _radixui.Accordion.Root,{...y})]})});u.displayName=s;exports.a = u;
4
- //# sourceMappingURL=chunk-X2QPGOUI.cjs.map
3
+ var _chunkXL66CZU5cjs = require('./chunk-XL66CZU5.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _radixui = require('radix-ui');var _jsxruntime = require('react/jsx-runtime');var s="Accordion",p=_chunk4Q432K4Wcjs.b.call(void 0, s),u= exports.a =_react.forwardRef.call(void 0, (a,d)=>{let{className:l,type:o="multiple",heading:t,headingElement:f="h2",helperText:P,trailingContent:A,validationText:h,validationStatus:v,collapsible:C,...N}=_chunkZPJNQBTNcjs.a.call(void 0, a,_chunkOB7O3UFLcjs.a),R={heading:t,headingElement:f,helperText:P,trailingContent:A,validationText:h,validationStatus:v},y={type:o,...N,...o==="single"?{collapsible:C}:{}};return _jsxruntime.jsxs.call(void 0, "div",{ref:d,className:_chunkONNSZMWFcjs.a.call(void 0, p,l),"data-testid":p,children:[t?_jsxruntime.jsx.call(void 0, _chunkXL66CZU5cjs.a,{...R}):null,_jsxruntime.jsx.call(void 0, _radixui.Accordion.Root,{...y})]})});u.displayName=s;exports.a = u;
4
+ //# sourceMappingURL=chunk-6GC2HQ72.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-X2QPGOUI.cjs","../src/components/Accordion/Accordion.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Accordion","forwardRef","props","ref","className","type","heading","headingElement","helperText","trailingContent","validationText","validationStatus","collapsible","restProps","extractProps","marginPropDefs","sectionHeaderProps","accordionProps","jsxs","cn","jsx","SectionHeader","AccordionPrimitive"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,8BCAjL,mCAKqB,+CAoD5C,IA/CEA,CAAAA,CAAiB,WAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAYC,+BAAAA,CAA8CC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACpF,GAAM,CACJ,SAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,UAAA,CACP,OAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CAAiB,IAAA,CACjB,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAaZ,CAAOa,mBAAc,CAAA,CAEhCC,CAAAA,CAAqB,CACzB,OAAA,CAAAV,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CACF,CAAA,CAEMM,CAAAA,CAAiB,CACrB,IAAA,CAAAZ,CAAAA,CACA,GAAGQ,CAAAA,CAGH,GAAIR,CAAAA,GAAS,QAAA,CAAW,CAAE,WAAA,CAAAO,CAAY,CAAA,CAAI,CAAC,CAC7C,CAAA,CAEA,OACEM,8BAAAA,KAAC,CAAA,CAAI,GAAA,CAAKf,CAAAA,CAAK,SAAA,CAAWgB,iCAAAA,CAAGrB,CAAoBM,CAAS,CAAA,CAAG,aAAA,CAAaN,CAAAA,CACvE,QAAA,CAAA,CAAAQ,CAAAA,CAAUc,6BAAAA,mBAACC,CAAA,CAAe,GAAGL,CAAAA,CAAoB,CAAA,CAAK,IAAA,CACvDI,6BAAAA,kBAACE,CAAmB,IAAA,CAAnB,CAAyB,GAAGL,CAAAA,CAAgB,CAAA,CAAA,CAC/C,CAEJ,CAAC,CAAA,CAEDjB,CAAAA,CAAU,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-X2QPGOUI.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ComponentPropsWithRef, ComponentRef } from 'react';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { AccordionProps } from './Accordion.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { SectionHeader } from '../SectionHeader/SectionHeader';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\n\nconst COMPONENT_NAME = 'Accordion';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype AccordionElement = ComponentRef<'div'>;\n\n/**\n * Use Accordion to let users expand or collapse individual content sections,\n * presenting a large amount of information in a compact, organised interface.\n * Compose it with `AccordionItem`, `AccordionHeader`, `AccordionTrigger`, and\n * `AccordionContent` for each disclosure item. The `type` prop is required and\n * determines whether one (`single`) or multiple (`multiple`) items can be\n * expanded at once.\n *\n * @summary A vertically stacked set of expandable and collapsible content sections.\n */\nexport const Accordion = forwardRef<AccordionElement, AccordionProps>((props, ref) => {\n const {\n className,\n type = 'multiple',\n heading,\n headingElement = 'h2',\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n collapsible,\n ...restProps\n } = extractProps(props, marginPropDefs);\n\n const sectionHeaderProps = {\n heading,\n headingElement,\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n };\n\n const accordionProps = {\n type,\n ...restProps,\n // `collapsible` is only valid for `type=\"single\"` — Radix doesn't strip it for\n // `type=\"multiple\"`, so passing it regardless would leak onto the DOM node.\n ...(type === 'single' ? { collapsible } : {}),\n } as ComponentPropsWithRef<typeof AccordionPrimitive.Root>;\n\n return (\n <div ref={ref} className={cn(componentClassName, className)} data-testid={componentClassName}>\n {heading ? <SectionHeader {...sectionHeaderProps} /> : null}\n <AccordionPrimitive.Root {...accordionProps} />\n </div>\n );\n});\n\nAccordion.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-6GC2HQ72.cjs","../src/components/Accordion/Accordion.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Accordion","forwardRef","props","ref","className","type","heading","headingElement","helperText","trailingContent","validationText","validationStatus","collapsible","restProps","extractProps","marginPropDefs","sectionHeaderProps","accordionProps","jsxs","cn","jsx","SectionHeader","AccordionPrimitive"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,8BCAjL,mCAKqB,+CAoD5C,IA/CEA,CAAAA,CAAiB,WAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAYC,+BAAAA,CAA8CC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACpF,GAAM,CACJ,SAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,UAAA,CACP,OAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CAAiB,IAAA,CACjB,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAaZ,CAAOa,mBAAc,CAAA,CAEhCC,CAAAA,CAAqB,CACzB,OAAA,CAAAV,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,gBAAA,CAAAC,CACF,CAAA,CAEMM,CAAAA,CAAiB,CACrB,IAAA,CAAAZ,CAAAA,CACA,GAAGQ,CAAAA,CAGH,GAAIR,CAAAA,GAAS,QAAA,CAAW,CAAE,WAAA,CAAAO,CAAY,CAAA,CAAI,CAAC,CAC7C,CAAA,CAEA,OACEM,8BAAAA,KAAC,CAAA,CAAI,GAAA,CAAKf,CAAAA,CAAK,SAAA,CAAWgB,iCAAAA,CAAGrB,CAAoBM,CAAS,CAAA,CAAG,aAAA,CAAaN,CAAAA,CACvE,QAAA,CAAA,CAAAQ,CAAAA,CAAUc,6BAAAA,mBAACC,CAAA,CAAe,GAAGL,CAAAA,CAAoB,CAAA,CAAK,IAAA,CACvDI,6BAAAA,kBAACE,CAAmB,IAAA,CAAnB,CAAyB,GAAGL,CAAAA,CAAgB,CAAA,CAAA,CAC/C,CAEJ,CAAC,CAAA,CAEDjB,CAAAA,CAAU,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-6GC2HQ72.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ComponentPropsWithRef, ComponentRef } from 'react';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { AccordionProps } from './Accordion.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { SectionHeader } from '../SectionHeader/SectionHeader';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\n\nconst COMPONENT_NAME = 'Accordion';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype AccordionElement = ComponentRef<'div'>;\n\n/**\n * Use Accordion to let users expand or collapse individual content sections,\n * presenting a large amount of information in a compact, organised interface.\n * Compose it with `AccordionItem`, `AccordionHeader`, `AccordionTrigger`, and\n * `AccordionContent` for each disclosure item. The `type` prop is required and\n * determines whether one (`single`) or multiple (`multiple`) items can be\n * expanded at once.\n *\n * @summary A vertically stacked set of expandable and collapsible content sections.\n */\nexport const Accordion = forwardRef<AccordionElement, AccordionProps>((props, ref) => {\n const {\n className,\n type = 'multiple',\n heading,\n headingElement = 'h2',\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n collapsible,\n ...restProps\n } = extractProps(props, marginPropDefs);\n\n const sectionHeaderProps = {\n heading,\n headingElement,\n helperText,\n trailingContent,\n validationText,\n validationStatus,\n };\n\n const accordionProps = {\n type,\n ...restProps,\n // `collapsible` is only valid for `type=\"single\"` — Radix doesn't strip it for\n // `type=\"multiple\"`, so passing it regardless would leak onto the DOM node.\n ...(type === 'single' ? { collapsible } : {}),\n } as ComponentPropsWithRef<typeof AccordionPrimitive.Root>;\n\n return (\n <div ref={ref} className={cn(componentClassName, className)} data-testid={componentClassName}>\n {heading ? <SectionHeader {...sectionHeaderProps} /> : null}\n <AccordionPrimitive.Root {...accordionProps} />\n </div>\n );\n});\n\nAccordion.displayName = COMPONENT_NAME;\n"]}
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import{a as f}from"./chunk-GBTQPGQG.js";import{c as u}from"./chunk-HY32GRZP.js";import{a as c}from"./chunk-JWPVXXER.js";import{a as n}from"./chunk-4MNQRAHO.js";import{a as p}from"./chunk-RXW6PYP7.js";import{a as b}from"./chunk-7X24J4CX.js";import{a as R}from"./chunk-VKE2TXPE.js";import{a as l}from"./chunk-J3AJBV4B.js";import{b as e}from"./chunk-PDEVCIQ3.js";import{forwardRef as S}from"react";import{RadioGroup as x}from"radix-ui";import{jsx as o,jsxs as i}from"react/jsx-runtime";var T="RadioTile",I=e(T),U=S(({className:y,id:N,label:r,helperText:a,image:P,"aria-labelledby":t,"aria-describedby":v,badge:C,flex:G,flexBasis:h,flexShrink:B,flexGrow:E,disabled:H,...w},F)=>{let{id:g,labelId:d,helperTextId:m}=b({providedId:N,prefix:"radio"}),{hasGroupHelperText:M,"aria-describedby":O}=u(),s=!M&&a!==void 0;return o(p,{asChild:!0,"data-testid":I,...{flex:G,flexBasis:h,flexShrink:B,flexGrow:E},children:o(x.Item,{ref:F,className:l(I,y),...w,disabled:H,id:g,"aria-describedby":R(v,s?m:O),"aria-labelledby":t||(r?d:void 0),children:i("div",{className:e("RadioContainer"),children:[o("div",{className:e("RadioItem"),children:o(x.Indicator,{className:e("RadioIndicator")})}),i(n,{direction:"column",alignItems:"start",children:[i(f,{as:"span",id:d,disableUserSelect:!0,children:[P,r]}),s?o(c,{id:m,disableUserSelect:!0,children:a}):null,C]})]})})})});U.displayName=T;export{U as a};
4
+ //# sourceMappingURL=chunk-6TVIKYYN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/RadioTile/RadioTile.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { RadioTileProps } from './RadioTile.props';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\nimport { useIds } from '../../hooks/use-ids';\nimport { mergeIds } from '../../helpers/merge-ids';\nimport { Label } from '../Label/Label';\nimport { HelperText } from '../HelperText/HelperText';\nimport { Flex } from '../Flex/Flex';\nimport { useFormGroupBase } from '../FormGroupBase/FormGroupBase.context';\nimport { Box } from '../Box/Box';\n\nconst COMPONENT_NAME = 'RadioTile';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype RadioTileElement = ComponentRef<'button'>;\n\n/**\n * Use RadioTile within a RadioGroup as the default way to present a grouped\n * set of selectable options — it offers a larger, tile-style target than\n * Radio. Use RadioCard instead when the option needs to display additional\n * child content, or Radio for a plain, compact radio button.\n *\n * @summary A tile-styled radio option for use within RadioGroup.\n */\nexport const RadioTile = forwardRef<RadioTileElement, RadioTileProps>(\n (\n {\n className,\n id: providedId,\n label,\n helperText,\n image,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': consumerAriaDescribedby,\n badge,\n flex,\n flexBasis,\n flexShrink,\n flexGrow,\n disabled,\n ...props\n },\n ref\n ) => {\n const { id, labelId, helperTextId } = useIds({ providedId, prefix: 'radio' });\n const { hasGroupHelperText, 'aria-describedby': ariaDescribedby } = useFormGroupBase();\n const showHelperText = Boolean(!hasGroupHelperText && helperText !== undefined);\n const flexItemProps = { flex, flexBasis, flexShrink, flexGrow };\n return (\n <Box asChild data-testid={componentClassName} {...flexItemProps}>\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(componentClassName, className)}\n {...props}\n disabled={disabled}\n id={id}\n aria-describedby={mergeIds(\n consumerAriaDescribedby,\n showHelperText ? helperTextId : ariaDescribedby\n )}\n aria-labelledby={ariaLabelledby ? ariaLabelledby : label ? labelId : undefined}\n >\n <div className={withGlobalPrefix('RadioContainer')}>\n <div className={withGlobalPrefix('RadioItem')}>\n <RadioGroupPrimitive.Indicator className={withGlobalPrefix('RadioIndicator')} />\n </div>\n <Flex direction=\"column\" alignItems=\"start\">\n <Label as=\"span\" id={labelId} disableUserSelect>\n {image}\n {label}\n </Label>\n {showHelperText ? (\n <HelperText id={helperTextId} disableUserSelect>\n {helperText}\n </HelperText>\n ) : null}\n {badge}\n </Flex>\n </div>\n </RadioGroupPrimitive.Item>\n </Box>\n );\n }\n);\n\nRadioTile.displayName = COMPONENT_NAME;\n"],"mappings":";;wWAEA,OAAS,cAAAA,MAAkB,QAK3B,OAAS,cAAcC,MAA2B,WA8DpC,cAAAC,EAGA,QAAAC,MAHA,oBArDd,IAAMC,EAAiB,YACjBC,EAAqBC,EAAiBF,CAAc,EAY7CG,EAAYC,EACvB,CACE,CACE,UAAAC,EACA,GAAIC,EACJ,MAAAC,EACA,WAAAC,EACA,MAAAC,EACA,kBAAmBC,EACnB,mBAAoBC,EACpB,MAAAC,EACA,KAAAC,EACA,UAAAC,EACA,WAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,GAAM,CAAE,GAAAC,EAAI,QAAAC,EAAS,aAAAC,CAAa,EAAIC,EAAO,CAAE,WAAAjB,EAAY,OAAQ,OAAQ,CAAC,EACtE,CAAE,mBAAAkB,EAAoB,mBAAoBC,CAAgB,EAAIC,EAAiB,EAC/EC,EAAyB,CAACH,GAAsBhB,IAAe,OAErE,OACEV,EAAC8B,EAAA,CAAI,QAAO,GAAC,cAAa3B,EAAqB,GAF3B,CAAE,KAAAY,EAAM,UAAAC,EAAW,WAAAC,EAAY,SAAAC,CAAS,EAG1D,SAAAlB,EAAC+B,EAAoB,KAApB,CACC,IAAKV,EACL,UAAWW,EAAG7B,EAAoBI,CAAS,EAC1C,GAAGa,EACJ,SAAUD,EACV,GAAIG,EACJ,mBAAkBW,EAChBpB,EACAgB,EAAiBL,EAAeG,CAClC,EACA,kBAAiBf,IAAkCH,EAAQc,EAAU,QAErE,SAAAtB,EAAC,OAAI,UAAWG,EAAiB,gBAAgB,EAC/C,UAAAJ,EAAC,OAAI,UAAWI,EAAiB,WAAW,EAC1C,SAAAJ,EAAC+B,EAAoB,UAApB,CAA8B,UAAW3B,EAAiB,gBAAgB,EAAG,EAChF,EACAH,EAACiC,EAAA,CAAK,UAAU,SAAS,WAAW,QAClC,UAAAjC,EAACkC,EAAA,CAAM,GAAG,OAAO,GAAIZ,EAAS,kBAAiB,GAC5C,UAAAZ,EACAF,GACH,EACCoB,EACC7B,EAACoC,EAAA,CAAW,GAAIZ,EAAc,kBAAiB,GAC5C,SAAAd,EACH,EACE,KACHI,GACH,GACF,EACF,EACF,CAEJ,CACF,EAEAT,EAAU,YAAcH","names":["forwardRef","RadioGroupPrimitive","jsx","jsxs","COMPONENT_NAME","componentClassName","withGlobalPrefix","RadioTile","forwardRef","className","providedId","label","helperText","image","ariaLabelledby","consumerAriaDescribedby","badge","flex","flexBasis","flexShrink","flexGrow","disabled","props","ref","id","labelId","helperTextId","useIds","hasGroupHelperText","ariaDescribedby","useFormGroupBase","showHelperText","Box","RadioGroupPrimitive","cn","mergeIds","Flex","Label","HelperText"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as o}from"./chunk-FYJYZWCS.js";import{a as m}from"./chunk-CQ2YNOHB.js";import{a as d}from"./chunk-7X24J4CX.js";import{a as i}from"./chunk-J3AJBV4B.js";import{b as u}from"./chunk-PDEVCIQ3.js";import{jsx as r,jsxs as z}from"react/jsx-runtime";var p="DateInput",t=u(p),k=({className:s,label:c,labelVariant:f,helperText:h,validationStatus:a,validationText:v,hideDay:g,hideMonth:y,hideYear:D,dayPlaceholder:I,monthPlaceholder:N,yearPlaceholder:$,dayValue:B,monthValue:P,yearValue:b,defaultDayValue:C,defaultMonthValue:F,defaultYearValue:G,onDayChange:x,onMonthChange:L,onYearChange:M,onDayFocus:V,onMonthFocus:E,onYearFocus:O,onDayBlur:q,onMonthBlur:w,onYearBlur:A,disabled:n,required:l,id:T,...Y})=>{let{id:e}=d({providedId:T,prefix:"date-input"}),_={...Y,disabled:n,label:c,labelVariant:f,helperText:h,validationText:v,validationStatus:a,id:e};return r(m,{className:i(t,s),"data-testid":t,validationPlacement:"bottom",..._,children:z("div",{className:`${t}Group`,children:[g?null:r(o,{maxLength:2,placeholder:I,value:B,defaultValue:C,onChange:x,onFocus:V,onBlur:q,disabled:n,required:l,"aria-invalid":a==="invalid"?!0:void 0,label:"Day",name:`${e}-day`,id:`${e}-day`}),y?null:r(o,{placeholder:N,value:P,defaultValue:F,onChange:L,onFocus:E,onBlur:w,disabled:n,required:l,"aria-invalid":a==="invalid"?!0:void 0,label:"Month",name:`${e}-month`,id:`${e}-month`}),D?null:r(o,{maxLength:4,minLength:4,placeholder:$,value:b,defaultValue:G,onChange:M,onFocus:O,onBlur:A,disabled:n,required:l,"aria-invalid":a==="invalid"?!0:void 0,label:"Year",name:`${e}-year`,id:`${e}-year`})]})})};k.displayName=p;export{k as a};
4
- //# sourceMappingURL=chunk-GAFUPNEN.js.map
3
+ import{a as o}from"./chunk-FYJYZWCS.js";import{a as m}from"./chunk-RNP3S7YU.js";import{a as d}from"./chunk-7X24J4CX.js";import{a as i}from"./chunk-J3AJBV4B.js";import{b as u}from"./chunk-PDEVCIQ3.js";import{jsx as r,jsxs as z}from"react/jsx-runtime";var p="DateInput",t=u(p),k=({className:s,label:c,labelVariant:f,helperText:h,validationStatus:a,validationText:v,hideDay:g,hideMonth:y,hideYear:D,dayPlaceholder:I,monthPlaceholder:N,yearPlaceholder:$,dayValue:B,monthValue:P,yearValue:b,defaultDayValue:x,defaultMonthValue:C,defaultYearValue:F,onDayChange:G,onMonthChange:L,onYearChange:M,onDayFocus:V,onMonthFocus:E,onYearFocus:O,onDayBlur:q,onMonthBlur:w,onYearBlur:A,disabled:n,required:l,id:T,...Y})=>{let{id:e}=d({providedId:T,prefix:"date-input"}),_={...Y,disabled:n,label:c,labelVariant:f,helperText:h,validationText:v,validationStatus:a,id:e};return r(m,{className:i(t,s),"data-testid":t,validationPlacement:"bottom",..._,children:z("div",{className:`${t}Group`,children:[g?null:r(o,{maxLength:2,placeholder:I,value:B,defaultValue:x,onChange:G,onFocus:V,onBlur:q,disabled:n,required:l,"aria-invalid":a==="invalid"?!0:void 0,label:"Day",name:`${e}-day`,id:`${e}-day`}),y?null:r(o,{maxLength:2,placeholder:N,value:P,defaultValue:C,onChange:L,onFocus:E,onBlur:w,disabled:n,required:l,"aria-invalid":a==="invalid"?!0:void 0,label:"Month",name:`${e}-month`,id:`${e}-month`}),D?null:r(o,{maxLength:4,minLength:4,placeholder:$,value:b,defaultValue:F,onChange:M,onFocus:O,onBlur:A,disabled:n,required:l,"aria-invalid":a==="invalid"?!0:void 0,label:"Year",name:`${e}-year`,id:`${e}-year`})]})})};k.displayName=p;export{k as a};
4
+ //# sourceMappingURL=chunk-7BU5PUFF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DateInput/DateInput.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { DateInputProps } from './DateInput.props';\nimport { FormGroupBase } from '../FormGroupBase/FormGroupBase';\nimport { useIds } from '../../hooks/use-ids';\nimport { DateInputSegment } from './DateInputSegment';\n\nconst COMPONENT_NAME = 'DateInput';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\n/**\n * Use DateInput when users need to enter a date manually, using separate\n * fields for day, month, and year. Use the `hideDay`, `hideMonth`, and\n * `hideYear` props to show only the segments you need.\n *\n * For a date picker with a visual calendar, use DatePicker instead.\n * DateInput renders the visual `valid`/`invalid` states but does not perform\n * validation internally — validation logic must be supplied by the consumer.\n *\n * @summary A manual date entry field with separate day, month, and year segments.\n */\nexport const DateInput = ({\n className,\n label,\n labelVariant,\n helperText,\n validationStatus,\n validationText,\n hideDay,\n hideMonth,\n hideYear,\n dayPlaceholder,\n monthPlaceholder,\n yearPlaceholder,\n dayValue,\n monthValue,\n yearValue,\n defaultDayValue,\n defaultMonthValue,\n defaultYearValue,\n onDayChange,\n onMonthChange,\n onYearChange,\n onDayFocus,\n onMonthFocus,\n onYearFocus,\n onDayBlur,\n onMonthBlur,\n onYearBlur,\n disabled,\n required,\n id: providedId,\n ...props\n}: DateInputProps) => {\n const { id } = useIds({ providedId, prefix: 'date-input' });\n const formGroupBaseProps = {\n ...props,\n disabled,\n label,\n labelVariant,\n helperText,\n validationText,\n validationStatus,\n id,\n };\n return (\n <FormGroupBase\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n validationPlacement=\"bottom\"\n {...formGroupBaseProps}\n >\n <div className={`${componentClassName}Group`}>\n {hideDay ? null : (\n <DateInputSegment\n maxLength={2}\n placeholder={dayPlaceholder}\n value={dayValue}\n defaultValue={defaultDayValue}\n onChange={onDayChange}\n onFocus={onDayFocus}\n onBlur={onDayBlur}\n disabled={disabled}\n required={required}\n aria-invalid={validationStatus === 'invalid' ? true : undefined}\n label=\"Day\"\n name={`${id}-day`}\n id={`${id}-day`}\n />\n )}\n {hideMonth ? null : (\n <DateInputSegment\n maxLength={2}\n placeholder={monthPlaceholder}\n value={monthValue}\n defaultValue={defaultMonthValue}\n onChange={onMonthChange}\n onFocus={onMonthFocus}\n onBlur={onMonthBlur}\n disabled={disabled}\n required={required}\n aria-invalid={validationStatus === 'invalid' ? true : undefined}\n label=\"Month\"\n name={`${id}-month`}\n id={`${id}-month`}\n />\n )}\n {hideYear ? null : (\n <DateInputSegment\n maxLength={4}\n minLength={4}\n placeholder={yearPlaceholder}\n value={yearValue}\n defaultValue={defaultYearValue}\n onChange={onYearChange}\n onFocus={onYearFocus}\n onBlur={onYearBlur}\n disabled={disabled}\n required={required}\n aria-invalid={validationStatus === 'invalid' ? true : undefined}\n label=\"Year\"\n name={`${id}-year`}\n id={`${id}-year`}\n />\n )}\n </div>\n </FormGroupBase>\n );\n};\n\nDateInput.displayName = COMPONENT_NAME;\n"],"mappings":";;wMA0EM,OAEI,OAAAA,EAFJ,QAAAC,MAAA,oBAjEN,IAAMC,EAAiB,YACjBC,EAAqBC,EAAiBF,CAAc,EAa7CG,EAAY,CAAC,CACxB,UAAAC,EACA,MAAAC,EACA,aAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,WAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,cAAAC,EACA,aAAAC,EACA,WAAAC,EACA,aAAAC,EACA,YAAAC,EACA,UAAAC,EACA,YAAAC,EACA,WAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAIC,EACJ,GAAGC,CACL,IAAsB,CACpB,GAAM,CAAE,GAAAC,CAAG,EAAIC,EAAO,CAAE,WAAAH,EAAY,OAAQ,YAAa,CAAC,EACpDI,EAAqB,CACzB,GAAGH,EACH,SAAAH,EACA,MAAA1B,EACA,aAAAC,EACA,WAAAC,EACA,eAAAE,EACA,iBAAAD,EACA,GAAA2B,CACF,EACA,OACErC,EAACwC,EAAA,CACC,UAAWC,EAAGtC,EAAoBG,CAAS,EAC3C,cAAaH,EACb,oBAAoB,SACnB,GAAGoC,EAEJ,SAAAtC,EAAC,OAAI,UAAW,GAAGE,CAAkB,QAClC,UAAAS,EAAU,KACTZ,EAAC0C,EAAA,CACC,UAAW,EACX,YAAa3B,EACb,MAAOG,EACP,aAAcG,EACd,SAAUG,EACV,QAASG,EACT,OAAQG,EACR,SAAUG,EACV,SAAUC,EACV,eAAcxB,IAAqB,UAAY,GAAO,OACtD,MAAM,MACN,KAAM,GAAG2B,CAAE,OACX,GAAI,GAAGA,CAAE,OACX,EAEDxB,EAAY,KACXb,EAAC0C,EAAA,CACC,UAAW,EACX,YAAa1B,EACb,MAAOG,EACP,aAAcG,EACd,SAAUG,EACV,QAASG,EACT,OAAQG,EACR,SAAUE,EACV,SAAUC,EACV,eAAcxB,IAAqB,UAAY,GAAO,OACtD,MAAM,QACN,KAAM,GAAG2B,CAAE,SACX,GAAI,GAAGA,CAAE,SACX,EAEDvB,EAAW,KACVd,EAAC0C,EAAA,CACC,UAAW,EACX,UAAW,EACX,YAAazB,EACb,MAAOG,EACP,aAAcG,EACd,SAAUG,EACV,QAASG,EACT,OAAQG,EACR,SAAUC,EACV,SAAUC,EACV,eAAcxB,IAAqB,UAAY,GAAO,OACtD,MAAM,OACN,KAAM,GAAG2B,CAAE,QACX,GAAI,GAAGA,CAAE,QACX,GAEJ,EACF,CAEJ,EAEAhC,EAAU,YAAcH","names":["jsx","jsxs","COMPONENT_NAME","componentClassName","withGlobalPrefix","DateInput","className","label","labelVariant","helperText","validationStatus","validationText","hideDay","hideMonth","hideYear","dayPlaceholder","monthPlaceholder","yearPlaceholder","dayValue","monthValue","yearValue","defaultDayValue","defaultMonthValue","defaultYearValue","onDayChange","onMonthChange","onYearChange","onDayFocus","onMonthFocus","onYearFocus","onDayBlur","onMonthBlur","onYearBlur","disabled","required","providedId","props","id","useIds","formGroupBaseProps","FormGroupBase","cn","DateInputSegment"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as b}from"./chunk-CQ2YNOHB.js";import{b as k}from"./chunk-YRTWVR3H.js";import{a as C}from"./chunk-4MNQRAHO.js";import{a as h}from"./chunk-J3AJBV4B.js";import{b as f}from"./chunk-PDEVCIQ3.js";import{forwardRef as S,useCallback as x}from"react";import{useControllableState as U}from"@radix-ui/react-use-controllable-state";import{jsx as n}from"react/jsx-runtime";var G="CheckboxGroup",a=f(G),q=S((v,P)=>{let{disabled:o,required:l,label:N,labelVariant:g,helperText:y,validationText:V,validationStatus:w,value:p,contentWidth:c="fit-content",direction:i="column",defaultValue:s,onValueChange:m,children:u,className:E,name:d,...F}=v,I={...F,disabled:o,required:l,label:N,labelVariant:g,helperText:y,validationText:V,validationStatus:w},B={width:c,direction:i,name:d,required:l,disabled:o,defaultValue:s,value:p,onValueChange:m,children:u},[R=[],e]=U({prop:p,defaultProp:s||[],onChange:m}),T=x(t=>e((r=[])=>[...r,t]),[e]),A=x(t=>e((r=[])=>r.filter(O=>O!==t)),[e]),M={name:d,value:R,onItemCheck:T,onItemUncheck:A};return n(b,{ref:P,className:h(a,E),"data-testid":a,...I,children:n(C,{...B,className:`${a}Content`,"data-orientation":i==="column"?"vertical":"horizontal","data-disabled":o?"":void 0,width:c,children:n(k,{value:M,children:u})})})});q.displayName=G;export{q as a};
4
- //# sourceMappingURL=chunk-UNIBG2C6.js.map
3
+ import{a as b}from"./chunk-RNP3S7YU.js";import{b as k}from"./chunk-YRTWVR3H.js";import{a as C}from"./chunk-4MNQRAHO.js";import{a as h}from"./chunk-J3AJBV4B.js";import{b as f}from"./chunk-PDEVCIQ3.js";import{forwardRef as S,useCallback as x}from"react";import{useControllableState as U}from"@radix-ui/react-use-controllable-state";import{jsx as n}from"react/jsx-runtime";var G="CheckboxGroup",a=f(G),q=S((v,P)=>{let{disabled:o,required:l,label:N,labelVariant:g,helperText:y,validationText:V,validationStatus:w,value:p,contentWidth:c="fit-content",direction:i="column",defaultValue:s,onValueChange:m,children:u,className:E,name:d,...F}=v,I={...F,disabled:o,required:l,label:N,labelVariant:g,helperText:y,validationText:V,validationStatus:w},B={width:c,direction:i,name:d,required:l,disabled:o,defaultValue:s,value:p,onValueChange:m,children:u},[R=[],e]=U({prop:p,defaultProp:s||[],onChange:m}),T=x(t=>e((r=[])=>[...r,t]),[e]),A=x(t=>e((r=[])=>r.filter(O=>O!==t)),[e]),M={name:d,value:R,onItemCheck:T,onItemUncheck:A};return n(b,{ref:P,className:h(a,E),"data-testid":a,...I,children:n(C,{...B,className:`${a}Content`,"data-orientation":i==="column"?"vertical":"horizontal","data-disabled":o?"":void 0,width:c,children:n(k,{value:M,children:u})})})});q.displayName=G;export{q as a};
4
+ //# sourceMappingURL=chunk-7VHYXPJC.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+ var _chunkDFHWFPXLcjs = require('./chunk-DFHWFPXL.cjs');var _chunkRS5YT3MKcjs = require('./chunk-RS5YT3MK.cjs');var _chunkDLU27EEOcjs = require('./chunk-DLU27EEO.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _radixui = require('radix-ui');var _jsxruntime = require('react/jsx-runtime');var N="Pagination",s=_chunk4Q432K4Wcjs.b.call(void 0, N),p="...",M=7,_=(a,e)=>{if(e<=M)return Array.from({length:e},(r,d)=>d+1);let n=[],t=a<=4,i=a>e-4;return t?(n.push(1,2,3,4,5),n.push(p),n.push(e)):i?(n.push(1),n.push(p),n.push(e-4,e-3,e-2,e-1,e)):(n.push(1),n.push(p),n.push(a-1,a,a+1),n.push(p),n.push(e)),n},w= exports.a =_react.forwardRef.call(void 0, (a,e)=>{let{className:n,currentPage:t,totalPages:i,onPageChange:r,condensed:d=!1,hideSkipButtons:u=!1,as:C="div",...g}=_chunkZPJNQBTNcjs.a.call(void 0, a,_chunkOB7O3UFLcjs.a),B=_(t,i),P=()=>{t>1&&r(t-1)},E=()=>{t<i&&r(t+1)},k=()=>{t!==1&&r(1)},L=()=>{t!==i&&r(i)};return _jsxruntime.jsx.call(void 0, _radixui.Slot.Root,{ref:e,"aria-label":"pagination",className:_chunkONNSZMWFcjs.a.call(void 0, s,n),"data-testid":s,...g,children:_jsxruntime.jsx.call(void 0, C,{children:_jsxruntime.jsxs.call(void 0, "div",{className:`${s}Container`,children:[_jsxruntime.jsxs.call(void 0, "div",{className:`${s}Controllers`,children:[!u&&_jsxruntime.jsx.call(void 0, _chunkRS5YT3MKcjs.a,{type:"button",label:"Go to first page",onClick:k,disabled:t===1,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SkipFirstSmallIcon,{})}),_jsxruntime.jsx.call(void 0, _chunkRS5YT3MKcjs.a,{type:"button",label:"Go to previous page",onClick:P,disabled:t===1,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.ChevronLeftSmallIcon,{})})]}),d?_jsxruntime.jsxs.call(void 0, _chunkDLU27EEOcjs.a,{size:"md",color:"primary",children:["Page ",t," of ",i]}):_jsxruntime.jsx.call(void 0, "div",{children:_jsxruntime.jsx.call(void 0, "ol",{className:`${s}Pages`,children:B.map((l,$)=>{if(l===p)return _jsxruntime.jsx.call(void 0, "li",{children:_jsxruntime.jsx.call(void 0, _chunkDLU27EEOcjs.a,{size:"md",color:"primary",className:`${s}Ellipsis`,children:p})},`ellipsis-${$}`);let y=l===t;return _jsxruntime.jsx.call(void 0, "li",{children:_jsxruntime.jsx.call(void 0, _chunkDFHWFPXLcjs.a,{type:"button",className:`${s}Page`,variant:"ghost",colorScheme:"functional",onClick:()=>r(l),"data-active":y?"":void 0,"aria-label":`Go to page ${l}`,"aria-current":y?"page":void 0,children:l})},l)})})}),_jsxruntime.jsxs.call(void 0, "div",{className:`${s}Controllers`,children:[_jsxruntime.jsx.call(void 0, _chunkRS5YT3MKcjs.a,{type:"button",label:"Go to next page",onClick:E,disabled:t===i,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.ChevronRightSmallIcon,{})}),!u&&_jsxruntime.jsx.call(void 0, _chunkRS5YT3MKcjs.a,{type:"button",label:"Go to last page",onClick:L,disabled:t===i,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SkipLastSmallIcon,{})})]})]})})})});w.displayName=N;exports.a = w;
4
+ //# sourceMappingURL=chunk-AEY4Y3ZM.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-YEZ6N62U.cjs","../src/components/Pagination/Pagination.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","ELLIPSIS","MAX_VISIBLE_ITEMS","generatePageNumbers","currentPage","totalPages","_","i","pages","isNearStart","isNearEnd","Pagination","forwardRef","props","ref","className","onPageChange","condensed","hideSkipButtons","Tag","paginationProps","extractProps","marginPropDefs","handlePrevious","handleNext","handleFirst","handleLast","jsx","Slot","cn","jsxs"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-YEZ6N62U.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport {\n ChevronLeftSmallIcon,\n ChevronRightSmallIcon,\n SkipFirstSmallIcon,\n SkipLastSmallIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { Button } from '../Button/Button';\nimport { BodyText } from '../BodyText/BodyText';\nimport type { PaginationProps } from './Pagination.props';\nimport { Slot } from 'radix-ui';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Pagination';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype PaginationElement = ComponentRef<'div'>;\n\nconst ELLIPSIS = '...';\nconst MAX_VISIBLE_ITEMS = 7;\n\n/**\n * Generates the array of page numbers and ellipsis to display\n * Max visible items is 7 (including ellipses)\n */\nconst generatePageNumbers = (\n currentPage: number,\n totalPages: number\n): Array<number | typeof ELLIPSIS> => {\n // If total pages fit within max visible items, show all\n if (totalPages <= MAX_VISIBLE_ITEMS) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: Array<number | typeof ELLIPSIS> = [];\n\n // Determine if current page is close to start or end\n const isNearStart = currentPage <= 4;\n const isNearEnd = currentPage > totalPages - 4;\n\n if (isNearStart) {\n // Page 1-4 selected: 1, 2, 3, 4, 5, ..., last\n pages.push(1, 2, 3, 4, 5);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n } else if (isNearEnd) {\n // Page (totalPages-4) to totalPages selected: 1, ..., last-4, last-3, last-2, last-1, last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages);\n } else {\n // Middle pages: 1, ..., current-1, current, current+1, ..., last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(currentPage - 1, currentPage, currentPage + 1);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n }\n\n return pages;\n};\n\n/**\n * Use Pagination to let users navigate through multiple pages of content, such\n * as search results or a paginated table. It automatically condenses to a\n * maximum of 7 visible page numbers (using ellipses) for large page counts.\n * Render `as=\"nav\"` when it acts as a standalone navigation landmark — in that\n * case also provide an `id` for accessibility. Use the `condensed` prop for\n * compact spaces where only a page count needs to be shown.\n *\n * @summary A control for navigating between pages of paginated content.\n */\nexport const Pagination = forwardRef<PaginationElement, PaginationProps>((props, ref) => {\n const {\n className,\n currentPage,\n totalPages,\n onPageChange,\n condensed = false,\n hideSkipButtons = false,\n as: Tag = 'div',\n ...paginationProps\n } = extractProps(props, marginPropDefs);\n\n const pages = generatePageNumbers(currentPage, totalPages);\n\n const handlePrevious = () => {\n if (currentPage > 1) {\n onPageChange(currentPage - 1);\n }\n };\n\n const handleNext = () => {\n if (currentPage < totalPages) {\n onPageChange(currentPage + 1);\n }\n };\n\n const handleFirst = () => {\n if (currentPage !== 1) {\n onPageChange(1);\n }\n };\n\n const handleLast = () => {\n if (currentPage !== totalPages) {\n onPageChange(totalPages);\n }\n };\n\n return (\n <Slot.Root\n ref={ref}\n aria-label=\"pagination\"\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...paginationProps}\n >\n <Tag>\n <div className={`${componentClassName}Container`}>\n <div className={`${componentClassName}Controllers`}>\n {!hideSkipButtons && (\n <UnstyledIconButton\n label=\"Go to first page\"\n onClick={handleFirst}\n disabled={currentPage === 1}\n >\n <SkipFirstSmallIcon />\n </UnstyledIconButton>\n )}\n\n <UnstyledIconButton\n label=\"Go to previous page\"\n onClick={handlePrevious}\n disabled={currentPage === 1}\n >\n <ChevronLeftSmallIcon />\n </UnstyledIconButton>\n </div>\n\n {condensed ? (\n <BodyText size=\"md\" color=\"primary\">\n Page {currentPage} of {totalPages}\n </BodyText>\n ) : (\n <div>\n <ol className={`${componentClassName}Pages`}>\n {pages.map((page, index) => {\n if (page === ELLIPSIS) {\n return (\n <li key={`ellipsis-${index}`}>\n <BodyText\n size=\"md\"\n color=\"primary\"\n className={`${componentClassName}Ellipsis`}\n >\n {ELLIPSIS}\n </BodyText>\n </li>\n );\n }\n const isActive = page === currentPage;\n return (\n <li key={page}>\n <Button\n className={`${componentClassName}Page`}\n variant=\"ghost\"\n colorScheme=\"functional\"\n onClick={() => onPageChange(page)}\n data-active={isActive ? '' : undefined}\n aria-label={`Go to page ${page}`}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </Button>\n </li>\n );\n })}\n </ol>\n </div>\n )}\n\n <div className={`${componentClassName}Controllers`}>\n <UnstyledIconButton\n label=\"Go to next page\"\n onClick={handleNext}\n disabled={currentPage === totalPages}\n >\n <ChevronRightSmallIcon />\n </UnstyledIconButton>\n\n {!hideSkipButtons && (\n <UnstyledIconButton\n label=\"Go to last page\"\n onClick={handleLast}\n disabled={currentPage === totalPages}\n >\n <SkipLastSmallIcon />\n </UnstyledIconButton>\n )}\n </div>\n </div>\n </Tag>\n </Slot.Root>\n );\n});\n\nPagination.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-AEY4Y3ZM.cjs","../src/components/Pagination/Pagination.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","ELLIPSIS","MAX_VISIBLE_ITEMS","generatePageNumbers","currentPage","totalPages","_","i","pages","isNearStart","isNearEnd","Pagination","forwardRef","props","ref","className","onPageChange","condensed","hideSkipButtons","Tag","paginationProps","extractProps","marginPropDefs","handlePrevious","handleNext","handleFirst","handleLast","jsx","Slot","cn","jsxs"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,8BCA9P,wEAOpB,mCAQc,+CA8GX,IA3GJA,CAAAA,CAAiB,YAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAIpDC,CAAAA,CAAW,KAAA,CACXC,CAAAA,CAAoB,CAAA,CAMpBC,CAAAA,CAAsB,CAC1BC,CAAAA,CACAC,CAAAA,CAAAA,EACoC,CAEpC,EAAA,CAAIA,CAAAA,EAAcH,CAAAA,CAChB,OAAO,KAAA,CAAM,IAAA,CAAK,CAAE,MAAA,CAAQG,CAAW,CAAA,CAAG,CAACC,CAAAA,CAAGC,CAAAA,CAAAA,EAAMA,CAAAA,CAAI,CAAC,CAAA,CAG3D,IAAMC,CAAAA,CAAyC,CAAC,CAAA,CAG1CC,CAAAA,CAAcL,CAAAA,EAAe,CAAA,CAC7BM,CAAAA,CAAYN,CAAAA,CAAcC,CAAAA,CAAa,CAAA,CAE7C,OAAII,CAAAA,CAAAA,CAEFD,CAAAA,CAAM,IAAA,CAAK,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAA,CAAG,CAAC,CAAA,CACxBA,CAAAA,CAAM,IAAA,CAAKP,CAAQ,CAAA,CACnBO,CAAAA,CAAM,IAAA,CAAKH,CAAU,CAAA,CAAA,CACZK,CAAAA,CAAAA,CAETF,CAAAA,CAAM,IAAA,CAAK,CAAC,CAAA,CACZA,CAAAA,CAAM,IAAA,CAAKP,CAAQ,CAAA,CACnBO,CAAAA,CAAM,IAAA,CAAKH,CAAAA,CAAa,CAAA,CAAGA,CAAAA,CAAa,CAAA,CAAGA,CAAAA,CAAa,CAAA,CAAGA,CAAAA,CAAa,CAAA,CAAGA,CAAU,CAAA,CAAA,CAAA,CAGrFG,CAAAA,CAAM,IAAA,CAAK,CAAC,CAAA,CACZA,CAAAA,CAAM,IAAA,CAAKP,CAAQ,CAAA,CACnBO,CAAAA,CAAM,IAAA,CAAKJ,CAAAA,CAAc,CAAA,CAAGA,CAAAA,CAAaA,CAAAA,CAAc,CAAC,CAAA,CACxDI,CAAAA,CAAM,IAAA,CAAKP,CAAQ,CAAA,CACnBO,CAAAA,CAAM,IAAA,CAAKH,CAAU,CAAA,CAAA,CAGhBG,CACT,CAAA,CAYaG,CAAAA,aAAaC,+BAAAA,CAAgDC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACvF,GAAM,CACJ,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAX,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,YAAA,CAAAW,CAAAA,CACA,SAAA,CAAAC,CAAAA,CAAY,CAAA,CAAA,CACZ,eAAA,CAAAC,CAAAA,CAAkB,CAAA,CAAA,CAClB,EAAA,CAAIC,CAAAA,CAAM,KAAA,CACV,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAaR,CAAOS,mBAAc,CAAA,CAEhCd,CAAAA,CAAQL,CAAAA,CAAoBC,CAAAA,CAAaC,CAAU,CAAA,CAEnDkB,CAAAA,CAAiB,CAAA,CAAA,EAAM,CACvBnB,CAAAA,CAAc,CAAA,EAChBY,CAAAA,CAAaZ,CAAAA,CAAc,CAAC,CAEhC,CAAA,CAEMoB,CAAAA,CAAa,CAAA,CAAA,EAAM,CACnBpB,CAAAA,CAAcC,CAAAA,EAChBW,CAAAA,CAAaZ,CAAAA,CAAc,CAAC,CAEhC,CAAA,CAEMqB,CAAAA,CAAc,CAAA,CAAA,EAAM,CACpBrB,CAAAA,GAAgB,CAAA,EAClBY,CAAAA,CAAa,CAAC,CAElB,CAAA,CAEMU,CAAAA,CAAa,CAAA,CAAA,EAAM,CACnBtB,CAAAA,GAAgBC,CAAAA,EAClBW,CAAAA,CAAaX,CAAU,CAE3B,CAAA,CAEA,OACEsB,6BAAAA,aAACC,CAAK,IAAA,CAAL,CACC,GAAA,CAAKd,CAAAA,CACL,YAAA,CAAW,YAAA,CACX,SAAA,CAAWe,iCAAAA,CAAG9B,CAAoBgB,CAAS,CAAA,CAC3C,aAAA,CAAahB,CAAAA,CACZ,GAAGqB,CAAAA,CAEJ,QAAA,CAAAO,6BAAAA,CAACR,CAAA,CACC,QAAA,CAAAW,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-AEY4Y3ZM.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport {\n ChevronLeftSmallIcon,\n ChevronRightSmallIcon,\n SkipFirstSmallIcon,\n SkipLastSmallIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { Button } from '../Button/Button';\nimport { BodyText } from '../BodyText/BodyText';\nimport type { PaginationProps } from './Pagination.props';\nimport { Slot } from 'radix-ui';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Pagination';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype PaginationElement = ComponentRef<'div'>;\n\nconst ELLIPSIS = '...';\nconst MAX_VISIBLE_ITEMS = 7;\n\n/**\n * Generates the array of page numbers and ellipsis to display\n * Max visible items is 7 (including ellipses)\n */\nconst generatePageNumbers = (\n currentPage: number,\n totalPages: number\n): Array<number | typeof ELLIPSIS> => {\n // If total pages fit within max visible items, show all\n if (totalPages <= MAX_VISIBLE_ITEMS) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: Array<number | typeof ELLIPSIS> = [];\n\n // Determine if current page is close to start or end\n const isNearStart = currentPage <= 4;\n const isNearEnd = currentPage > totalPages - 4;\n\n if (isNearStart) {\n // Page 1-4 selected: 1, 2, 3, 4, 5, ..., last\n pages.push(1, 2, 3, 4, 5);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n } else if (isNearEnd) {\n // Page (totalPages-4) to totalPages selected: 1, ..., last-4, last-3, last-2, last-1, last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages);\n } else {\n // Middle pages: 1, ..., current-1, current, current+1, ..., last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(currentPage - 1, currentPage, currentPage + 1);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n }\n\n return pages;\n};\n\n/**\n * Use Pagination to let users navigate through multiple pages of content, such\n * as search results or a paginated table. It automatically condenses to a\n * maximum of 7 visible page numbers (using ellipses) for large page counts.\n * Render `as=\"nav\"` when it acts as a standalone navigation landmark — in that\n * case also provide an `id` for accessibility. Use the `condensed` prop for\n * compact spaces where only a page count needs to be shown.\n *\n * @summary A control for navigating between pages of paginated content.\n */\nexport const Pagination = forwardRef<PaginationElement, PaginationProps>((props, ref) => {\n const {\n className,\n currentPage,\n totalPages,\n onPageChange,\n condensed = false,\n hideSkipButtons = false,\n as: Tag = 'div',\n ...paginationProps\n } = extractProps(props, marginPropDefs);\n\n const pages = generatePageNumbers(currentPage, totalPages);\n\n const handlePrevious = () => {\n if (currentPage > 1) {\n onPageChange(currentPage - 1);\n }\n };\n\n const handleNext = () => {\n if (currentPage < totalPages) {\n onPageChange(currentPage + 1);\n }\n };\n\n const handleFirst = () => {\n if (currentPage !== 1) {\n onPageChange(1);\n }\n };\n\n const handleLast = () => {\n if (currentPage !== totalPages) {\n onPageChange(totalPages);\n }\n };\n\n return (\n <Slot.Root\n ref={ref}\n aria-label=\"pagination\"\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...paginationProps}\n >\n <Tag>\n <div className={`${componentClassName}Container`}>\n <div className={`${componentClassName}Controllers`}>\n {!hideSkipButtons && (\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to first page\"\n onClick={handleFirst}\n disabled={currentPage === 1}\n >\n <SkipFirstSmallIcon />\n </UnstyledIconButton>\n )}\n\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to previous page\"\n onClick={handlePrevious}\n disabled={currentPage === 1}\n >\n <ChevronLeftSmallIcon />\n </UnstyledIconButton>\n </div>\n\n {condensed ? (\n <BodyText size=\"md\" color=\"primary\">\n Page {currentPage} of {totalPages}\n </BodyText>\n ) : (\n <div>\n <ol className={`${componentClassName}Pages`}>\n {pages.map((page, index) => {\n if (page === ELLIPSIS) {\n return (\n <li key={`ellipsis-${index}`}>\n <BodyText\n size=\"md\"\n color=\"primary\"\n className={`${componentClassName}Ellipsis`}\n >\n {ELLIPSIS}\n </BodyText>\n </li>\n );\n }\n const isActive = page === currentPage;\n return (\n <li key={page}>\n <Button\n type=\"button\"\n className={`${componentClassName}Page`}\n variant=\"ghost\"\n colorScheme=\"functional\"\n onClick={() => onPageChange(page)}\n data-active={isActive ? '' : undefined}\n aria-label={`Go to page ${page}`}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </Button>\n </li>\n );\n })}\n </ol>\n </div>\n )}\n\n <div className={`${componentClassName}Controllers`}>\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to next page\"\n onClick={handleNext}\n disabled={currentPage === totalPages}\n >\n <ChevronRightSmallIcon />\n </UnstyledIconButton>\n\n {!hideSkipButtons && (\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to last page\"\n onClick={handleLast}\n disabled={currentPage === totalPages}\n >\n <SkipLastSmallIcon />\n </UnstyledIconButton>\n )}\n </div>\n </div>\n </Tag>\n </Slot.Root>\n );\n});\n\nPagination.displayName = COMPONENT_NAME;\n"]}
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import{a as v}from"./chunk-OTXFBNCU.js";import{a as m}from"./chunk-QNITBIE4.js";import{a as f}from"./chunk-XVM5ECBR.js";import{a as I}from"./chunk-OPPG3NOC.js";import{a as S}from"./chunk-KGEVWEVL.js";import{a as h}from"./chunk-J3AJBV4B.js";import{b}from"./chunk-PDEVCIQ3.js";import{forwardRef as x}from"react";import{ChevronLeftSmallIcon as T,ChevronRightSmallIcon as A,SkipFirstSmallIcon as G,SkipLastSmallIcon as R}from"@utilitywarehouse/hearth-react-icons";import{Slot as U}from"radix-ui";import{jsx as o,jsxs as c}from"react/jsx-runtime";var N="Pagination",s=b(N),p="...",M=7,_=(a,e)=>{if(e<=M)return Array.from({length:e},(r,d)=>d+1);let n=[],t=a<=4,i=a>e-4;return t?(n.push(1,2,3,4,5),n.push(p),n.push(e)):i?(n.push(1),n.push(p),n.push(e-4,e-3,e-2,e-1,e)):(n.push(1),n.push(p),n.push(a-1,a,a+1),n.push(p),n.push(e)),n},w=x((a,e)=>{let{className:n,currentPage:t,totalPages:i,onPageChange:r,condensed:d=!1,hideSkipButtons:u=!1,as:C="div",...g}=S(a,I),B=_(t,i),P=()=>{t>1&&r(t-1)},E=()=>{t<i&&r(t+1)},k=()=>{t!==1&&r(1)},L=()=>{t!==i&&r(i)};return o(U.Root,{ref:e,"aria-label":"pagination",className:h(s,n),"data-testid":s,...g,children:o(C,{children:c("div",{className:`${s}Container`,children:[c("div",{className:`${s}Controllers`,children:[!u&&o(m,{type:"button",label:"Go to first page",onClick:k,disabled:t===1,children:o(G,{})}),o(m,{type:"button",label:"Go to previous page",onClick:P,disabled:t===1,children:o(T,{})})]}),d?c(f,{size:"md",color:"primary",children:["Page ",t," of ",i]}):o("div",{children:o("ol",{className:`${s}Pages`,children:B.map((l,$)=>{if(l===p)return o("li",{children:o(f,{size:"md",color:"primary",className:`${s}Ellipsis`,children:p})},`ellipsis-${$}`);let y=l===t;return o("li",{children:o(v,{type:"button",className:`${s}Page`,variant:"ghost",colorScheme:"functional",onClick:()=>r(l),"data-active":y?"":void 0,"aria-label":`Go to page ${l}`,"aria-current":y?"page":void 0,children:l})},l)})})}),c("div",{className:`${s}Controllers`,children:[o(m,{type:"button",label:"Go to next page",onClick:E,disabled:t===i,children:o(A,{})}),!u&&o(m,{type:"button",label:"Go to last page",onClick:L,disabled:t===i,children:o(R,{})})]})]})})})});w.displayName=N;export{w as a};
4
+ //# sourceMappingURL=chunk-AJDKAYX2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport {\n ChevronLeftSmallIcon,\n ChevronRightSmallIcon,\n SkipFirstSmallIcon,\n SkipLastSmallIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { Button } from '../Button/Button';\nimport { BodyText } from '../BodyText/BodyText';\nimport type { PaginationProps } from './Pagination.props';\nimport { Slot } from 'radix-ui';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Pagination';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype PaginationElement = ComponentRef<'div'>;\n\nconst ELLIPSIS = '...';\nconst MAX_VISIBLE_ITEMS = 7;\n\n/**\n * Generates the array of page numbers and ellipsis to display\n * Max visible items is 7 (including ellipses)\n */\nconst generatePageNumbers = (\n currentPage: number,\n totalPages: number\n): Array<number | typeof ELLIPSIS> => {\n // If total pages fit within max visible items, show all\n if (totalPages <= MAX_VISIBLE_ITEMS) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: Array<number | typeof ELLIPSIS> = [];\n\n // Determine if current page is close to start or end\n const isNearStart = currentPage <= 4;\n const isNearEnd = currentPage > totalPages - 4;\n\n if (isNearStart) {\n // Page 1-4 selected: 1, 2, 3, 4, 5, ..., last\n pages.push(1, 2, 3, 4, 5);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n } else if (isNearEnd) {\n // Page (totalPages-4) to totalPages selected: 1, ..., last-4, last-3, last-2, last-1, last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages);\n } else {\n // Middle pages: 1, ..., current-1, current, current+1, ..., last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(currentPage - 1, currentPage, currentPage + 1);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n }\n\n return pages;\n};\n\n/**\n * Use Pagination to let users navigate through multiple pages of content, such\n * as search results or a paginated table. It automatically condenses to a\n * maximum of 7 visible page numbers (using ellipses) for large page counts.\n * Render `as=\"nav\"` when it acts as a standalone navigation landmark — in that\n * case also provide an `id` for accessibility. Use the `condensed` prop for\n * compact spaces where only a page count needs to be shown.\n *\n * @summary A control for navigating between pages of paginated content.\n */\nexport const Pagination = forwardRef<PaginationElement, PaginationProps>((props, ref) => {\n const {\n className,\n currentPage,\n totalPages,\n onPageChange,\n condensed = false,\n hideSkipButtons = false,\n as: Tag = 'div',\n ...paginationProps\n } = extractProps(props, marginPropDefs);\n\n const pages = generatePageNumbers(currentPage, totalPages);\n\n const handlePrevious = () => {\n if (currentPage > 1) {\n onPageChange(currentPage - 1);\n }\n };\n\n const handleNext = () => {\n if (currentPage < totalPages) {\n onPageChange(currentPage + 1);\n }\n };\n\n const handleFirst = () => {\n if (currentPage !== 1) {\n onPageChange(1);\n }\n };\n\n const handleLast = () => {\n if (currentPage !== totalPages) {\n onPageChange(totalPages);\n }\n };\n\n return (\n <Slot.Root\n ref={ref}\n aria-label=\"pagination\"\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...paginationProps}\n >\n <Tag>\n <div className={`${componentClassName}Container`}>\n <div className={`${componentClassName}Controllers`}>\n {!hideSkipButtons && (\n <UnstyledIconButton\n label=\"Go to first page\"\n onClick={handleFirst}\n disabled={currentPage === 1}\n >\n <SkipFirstSmallIcon />\n </UnstyledIconButton>\n )}\n\n <UnstyledIconButton\n label=\"Go to previous page\"\n onClick={handlePrevious}\n disabled={currentPage === 1}\n >\n <ChevronLeftSmallIcon />\n </UnstyledIconButton>\n </div>\n\n {condensed ? (\n <BodyText size=\"md\" color=\"primary\">\n Page {currentPage} of {totalPages}\n </BodyText>\n ) : (\n <div>\n <ol className={`${componentClassName}Pages`}>\n {pages.map((page, index) => {\n if (page === ELLIPSIS) {\n return (\n <li key={`ellipsis-${index}`}>\n <BodyText\n size=\"md\"\n color=\"primary\"\n className={`${componentClassName}Ellipsis`}\n >\n {ELLIPSIS}\n </BodyText>\n </li>\n );\n }\n const isActive = page === currentPage;\n return (\n <li key={page}>\n <Button\n className={`${componentClassName}Page`}\n variant=\"ghost\"\n colorScheme=\"functional\"\n onClick={() => onPageChange(page)}\n data-active={isActive ? '' : undefined}\n aria-label={`Go to page ${page}`}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </Button>\n </li>\n );\n })}\n </ol>\n </div>\n )}\n\n <div className={`${componentClassName}Controllers`}>\n <UnstyledIconButton\n label=\"Go to next page\"\n onClick={handleNext}\n disabled={currentPage === totalPages}\n >\n <ChevronRightSmallIcon />\n </UnstyledIconButton>\n\n {!hideSkipButtons && (\n <UnstyledIconButton\n label=\"Go to last page\"\n onClick={handleLast}\n disabled={currentPage === totalPages}\n >\n <SkipLastSmallIcon />\n </UnstyledIconButton>\n )}\n </div>\n </div>\n </Tag>\n </Slot.Root>\n );\n});\n\nPagination.displayName = COMPONENT_NAME;\n"],"mappings":"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","names":["forwardRef","ChevronLeftSmallIcon","ChevronRightSmallIcon","SkipFirstSmallIcon","SkipLastSmallIcon","Slot","jsx","jsxs","COMPONENT_NAME","componentClassName","withGlobalPrefix","ELLIPSIS","MAX_VISIBLE_ITEMS","generatePageNumbers","currentPage","totalPages","_","i","pages","isNearStart","isNearEnd","Pagination","forwardRef","props","ref","className","onPageChange","condensed","hideSkipButtons","Tag","paginationProps","extractProps","marginPropDefs","handlePrevious","handleNext","handleFirst","handleLast","cn","UnstyledIconButton","SkipFirstSmallIcon","ChevronLeftSmallIcon","BodyText","page","index","isActive","Button","ChevronRightSmallIcon","SkipLastSmallIcon"]}
1
+ {"version":3,"sources":["../src/components/Pagination/Pagination.tsx"],"sourcesContent":["'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport {\n ChevronLeftSmallIcon,\n ChevronRightSmallIcon,\n SkipFirstSmallIcon,\n SkipLastSmallIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { Button } from '../Button/Button';\nimport { BodyText } from '../BodyText/BodyText';\nimport type { PaginationProps } from './Pagination.props';\nimport { Slot } from 'radix-ui';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'Pagination';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype PaginationElement = ComponentRef<'div'>;\n\nconst ELLIPSIS = '...';\nconst MAX_VISIBLE_ITEMS = 7;\n\n/**\n * Generates the array of page numbers and ellipsis to display\n * Max visible items is 7 (including ellipses)\n */\nconst generatePageNumbers = (\n currentPage: number,\n totalPages: number\n): Array<number | typeof ELLIPSIS> => {\n // If total pages fit within max visible items, show all\n if (totalPages <= MAX_VISIBLE_ITEMS) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: Array<number | typeof ELLIPSIS> = [];\n\n // Determine if current page is close to start or end\n const isNearStart = currentPage <= 4;\n const isNearEnd = currentPage > totalPages - 4;\n\n if (isNearStart) {\n // Page 1-4 selected: 1, 2, 3, 4, 5, ..., last\n pages.push(1, 2, 3, 4, 5);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n } else if (isNearEnd) {\n // Page (totalPages-4) to totalPages selected: 1, ..., last-4, last-3, last-2, last-1, last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages);\n } else {\n // Middle pages: 1, ..., current-1, current, current+1, ..., last\n pages.push(1);\n pages.push(ELLIPSIS);\n pages.push(currentPage - 1, currentPage, currentPage + 1);\n pages.push(ELLIPSIS);\n pages.push(totalPages);\n }\n\n return pages;\n};\n\n/**\n * Use Pagination to let users navigate through multiple pages of content, such\n * as search results or a paginated table. It automatically condenses to a\n * maximum of 7 visible page numbers (using ellipses) for large page counts.\n * Render `as=\"nav\"` when it acts as a standalone navigation landmark — in that\n * case also provide an `id` for accessibility. Use the `condensed` prop for\n * compact spaces where only a page count needs to be shown.\n *\n * @summary A control for navigating between pages of paginated content.\n */\nexport const Pagination = forwardRef<PaginationElement, PaginationProps>((props, ref) => {\n const {\n className,\n currentPage,\n totalPages,\n onPageChange,\n condensed = false,\n hideSkipButtons = false,\n as: Tag = 'div',\n ...paginationProps\n } = extractProps(props, marginPropDefs);\n\n const pages = generatePageNumbers(currentPage, totalPages);\n\n const handlePrevious = () => {\n if (currentPage > 1) {\n onPageChange(currentPage - 1);\n }\n };\n\n const handleNext = () => {\n if (currentPage < totalPages) {\n onPageChange(currentPage + 1);\n }\n };\n\n const handleFirst = () => {\n if (currentPage !== 1) {\n onPageChange(1);\n }\n };\n\n const handleLast = () => {\n if (currentPage !== totalPages) {\n onPageChange(totalPages);\n }\n };\n\n return (\n <Slot.Root\n ref={ref}\n aria-label=\"pagination\"\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...paginationProps}\n >\n <Tag>\n <div className={`${componentClassName}Container`}>\n <div className={`${componentClassName}Controllers`}>\n {!hideSkipButtons && (\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to first page\"\n onClick={handleFirst}\n disabled={currentPage === 1}\n >\n <SkipFirstSmallIcon />\n </UnstyledIconButton>\n )}\n\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to previous page\"\n onClick={handlePrevious}\n disabled={currentPage === 1}\n >\n <ChevronLeftSmallIcon />\n </UnstyledIconButton>\n </div>\n\n {condensed ? (\n <BodyText size=\"md\" color=\"primary\">\n Page {currentPage} of {totalPages}\n </BodyText>\n ) : (\n <div>\n <ol className={`${componentClassName}Pages`}>\n {pages.map((page, index) => {\n if (page === ELLIPSIS) {\n return (\n <li key={`ellipsis-${index}`}>\n <BodyText\n size=\"md\"\n color=\"primary\"\n className={`${componentClassName}Ellipsis`}\n >\n {ELLIPSIS}\n </BodyText>\n </li>\n );\n }\n const isActive = page === currentPage;\n return (\n <li key={page}>\n <Button\n type=\"button\"\n className={`${componentClassName}Page`}\n variant=\"ghost\"\n colorScheme=\"functional\"\n onClick={() => onPageChange(page)}\n data-active={isActive ? '' : undefined}\n aria-label={`Go to page ${page}`}\n aria-current={isActive ? 'page' : undefined}\n >\n {page}\n </Button>\n </li>\n );\n })}\n </ol>\n </div>\n )}\n\n <div className={`${componentClassName}Controllers`}>\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to next page\"\n onClick={handleNext}\n disabled={currentPage === totalPages}\n >\n <ChevronRightSmallIcon />\n </UnstyledIconButton>\n\n {!hideSkipButtons && (\n <UnstyledIconButton\n type=\"button\"\n label=\"Go to last page\"\n onClick={handleLast}\n disabled={currentPage === totalPages}\n >\n <SkipLastSmallIcon />\n </UnstyledIconButton>\n )}\n </div>\n </div>\n </Tag>\n </Slot.Root>\n );\n});\n\nPagination.displayName = COMPONENT_NAME;\n"],"mappings":"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","names":["forwardRef","ChevronLeftSmallIcon","ChevronRightSmallIcon","SkipFirstSmallIcon","SkipLastSmallIcon","Slot","jsx","jsxs","COMPONENT_NAME","componentClassName","withGlobalPrefix","ELLIPSIS","MAX_VISIBLE_ITEMS","generatePageNumbers","currentPage","totalPages","_","i","pages","isNearStart","isNearEnd","Pagination","forwardRef","props","ref","className","onPageChange","condensed","hideSkipButtons","Tag","paginationProps","extractProps","marginPropDefs","handlePrevious","handleNext","handleFirst","handleLast","cn","UnstyledIconButton","SkipFirstSmallIcon","ChevronLeftSmallIcon","BodyText","page","index","isActive","Button","ChevronRightSmallIcon","SkipLastSmallIcon"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as r}from"./chunk-5DXUL2KU.js";import{a as n}from"./chunk-J3AJBV4B.js";import{b as m}from"./chunk-PDEVCIQ3.js";import{ChevronRightSmallIcon as d}from"@utilitywarehouse/hearth-react-icons";import{forwardRef as N}from"react";import{jsx as t}from"react/jsx-runtime";var i="ListItemButton",P=m(i),b=N(({className:s,heading:p,helperText:f,leadingContent:u,trailingContent:o,badge:a,badgePlacement:c,children:l,disabled:e,onClick:I,...L},C)=>{let B={heading:p,helperText:f,leadingContent:u,badge:a,badgePlacement:c};return t("button",{ref:C,className:n(P,s),...L,"aria-disabled":e||void 0,onClick:e?void 0:I,children:t(r,{trailingContent:o||t(d,{}),...B,children:l})})});b.displayName=i;export{b as a};
4
- //# sourceMappingURL=chunk-I4T6DB7C.js.map
3
+ import{a as r}from"./chunk-5DXUL2KU.js";import{a as n}from"./chunk-J3AJBV4B.js";import{b as m}from"./chunk-PDEVCIQ3.js";import{ChevronRightSmallIcon as d}from"@utilitywarehouse/hearth-react-icons";import{forwardRef as N}from"react";import{jsx as t}from"react/jsx-runtime";var i="ListItemButton",b=m(i),y=N(({className:s,heading:p,helperText:f,leadingContent:u,trailingContent:o,badge:a,badgePlacement:c,children:l,disabled:e,onClick:I,...L},C)=>{let B={heading:p,helperText:f,leadingContent:u,badge:a,badgePlacement:c};return t("button",{ref:C,type:"button",className:n(b,s),...L,"aria-disabled":e||void 0,onClick:e?void 0:I,children:t(r,{trailingContent:o||t(d,{}),...B,children:l})})});y.displayName=i;export{y as a};
4
+ //# sourceMappingURL=chunk-ALOYQFUV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/List/ListItemButton.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '../../helpers/cn';\nimport type { ListItemButtonProps } from './ListItemButton.props';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { ChevronRightSmallIcon } from '@utilitywarehouse/hearth-react-icons';\nimport { ListItemContent } from './ListItemContent';\nimport type { ComponentRef } from 'react';\nimport { forwardRef } from 'react';\n\nconst COMPONENT_NAME = 'ListItemButton';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ListItemButtonElement = ComponentRef<'button'>;\n\nexport const ListItemButton = forwardRef<ListItemButtonElement, ListItemButtonProps>(\n (\n {\n className,\n heading,\n helperText,\n leadingContent,\n trailingContent,\n badge,\n badgePlacement,\n children,\n disabled,\n onClick,\n ...props\n },\n ref\n ) => {\n const contentProps = {\n heading,\n helperText,\n leadingContent,\n badge,\n badgePlacement,\n };\n return (\n <button\n ref={ref}\n type=\"button\"\n className={cn(componentClassName, className)}\n {...props}\n aria-disabled={disabled || undefined}\n onClick={disabled ? undefined : onClick}\n >\n <ListItemContent\n trailingContent={trailingContent ? trailingContent : <ChevronRightSmallIcon />}\n {...contentProps}\n >\n {children}\n </ListItemContent>\n </button>\n );\n }\n);\n\nListItemButton.displayName = COMPONENT_NAME;\n"],"mappings":";;wHAKA,OAAS,yBAAAA,MAA6B,uCAGtC,OAAS,cAAAC,MAAkB,QAyCoC,cAAAC,MAAA,oBAvC/D,IAAMC,EAAiB,iBACjBC,EAAqBC,EAAiBF,CAAc,EAI7CG,EAAiBL,EAC5B,CACE,CACE,UAAAM,EACA,QAAAC,EACA,WAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,eAAAC,EACA,SAAAC,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,IACG,CACH,IAAMC,EAAe,CACnB,QAAAX,EACA,WAAAC,EACA,eAAAC,EACA,MAAAE,EACA,eAAAC,CACF,EACA,OACEX,EAAC,UACC,IAAKgB,EACL,KAAK,SACL,UAAWE,EAAGhB,EAAoBG,CAAS,EAC1C,GAAGU,EACJ,gBAAeF,GAAY,OAC3B,QAASA,EAAW,OAAYC,EAEhC,SAAAd,EAACmB,EAAA,CACC,gBAAiBV,GAAoCT,EAACoB,EAAA,EAAsB,EAC3E,GAAGH,EAEH,SAAAL,EACH,EACF,CAEJ,CACF,EAEAR,EAAe,YAAcH","names":["ChevronRightSmallIcon","forwardRef","jsx","COMPONENT_NAME","componentClassName","withGlobalPrefix","ListItemButton","className","heading","helperText","leadingContent","trailingContent","badge","badgePlacement","children","disabled","onClick","props","ref","contentProps","cn","ListItemContent","ChevronRightSmallIcon"]}
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
+
3
+ var _chunkQFHOANX3cjs = require('./chunk-QFHOANX3.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkZPJNQBTNcjs = require('./chunk-ZPJNQBTN.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _radixui = require('radix-ui');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var a=n=>n.preventDefault(),S="ButtonBase",t=_chunk4Q432K4Wcjs.b.call(void 0, S),A= exports.a =_react.forwardRef.call(void 0, (n,l)=>{let{colorScheme:v,inverted:E,className:m,disabled:o,onClick:p,onAuxClick:c,asChild:d,children:s,...u}=_chunkZPJNQBTNcjs.a.call(void 0, n,_chunkQFHOANX3cjs.a,_chunkOB7O3UFLcjs.a),{variant:r="solid"}=n,f={"data-colorscheme":v||(r==="emphasis"||r==="solid"?"highlight":"functional"),"data-inverted":E?"":void 0},B=d?_radixui.Slot.Root:"button";return r==="emphasis"?_jsxruntime.jsxs.call(void 0, B,{ref:l,"aria-disabled":o||void 0,className:_chunkONNSZMWFcjs.a.call(void 0, t,m),onClick:o?a:p,onAuxClick:o?a:c,...f,"data-testid":t,...u,children:[_jsxruntime.jsx.call(void 0, "span",{className:`${t}Shadow`}),d?_jsxruntime.jsx.call(void 0, _radixui.Slot.Slottable,{child:s,children:k=>_jsxruntime.jsx.call(void 0, "span",{className:`${t}Front`,children:k})}):_jsxruntime.jsx.call(void 0, "span",{className:`${t}Front`,children:s})]}):_jsxruntime.jsx.call(void 0, B,{ref:l,"aria-disabled":o||void 0,className:_chunkONNSZMWFcjs.a.call(void 0, t,m),onClick:o?a:p,onAuxClick:o?a:c,...f,"data-testid":t,...u,children:s})});A.displayName=S;exports.a = A;
4
+ //# sourceMappingURL=chunk-ASLPRJKG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-ASLPRJKG.cjs","../src/components/ButtonBase/ButtonBase.tsx"],"names":["preventDefault","event","COMPONENT_NAME","componentClassName","withGlobalPrefix","ButtonBase","forwardRef","props","ref","colorScheme","inverted","className","disabled","onClick","onAuxClick","asChild","children","buttonBaseProps","extractProps","buttonBasePropDefs","marginPropDefs","variant","dataAttributeProps","Component","Slot","jsxs","cn","jsx"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,mCCAvL,8BAOM,+CAyCrB,IAnCAA,CAAAA,CAAkBC,CAAAA,EAAyCA,CAAAA,CAAM,cAAA,CAAe,CAAA,CAEhFC,CAAAA,CAAiB,YAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAI7CC,CAAAA,aAAaC,+BAAAA,CAAgDC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CACvF,GAAM,CACJ,WAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAaX,CAAOY,mBAAAA,CAAoBC,mBAAc,CAAA,CACpD,CAAE,OAAA,CAAAC,CAAAA,CAAU,OAAQ,CAAA,CAAId,CAAAA,CAIxBe,CAAAA,CAAqB,CACzB,kBAAA,CAAoBb,CAAAA,EAAAA,CAFpBY,CAAAA,GAAY,UAAA,EAAcA,CAAAA,GAAY,OAAA,CAAU,WAAA,CAAc,YAAA,CAAA,CAG9D,eAAA,CAAiBX,CAAAA,CAAW,EAAA,CAAK,KAAA,CACnC,CAAA,CAEMa,CAAAA,CAAYR,CAAAA,CAAUS,aAAAA,CAAK,IAAA,CAAO,QAAA,CAKxC,OAAIH,CAAAA,GAAY,UAAA,CAEZI,8BAAAA,CAACF,CAAA,CACC,GAAA,CAAKf,CAAAA,CACL,eAAA,CAAeI,CAAAA,EAAY,KAAA,CAAA,CAC3B,SAAA,CAAWc,iCAAAA,CAAGvB,CAAoBQ,CAAS,CAAA,CAC3C,OAAA,CAASC,CAAAA,CAAWZ,CAAAA,CAAiBa,CAAAA,CACrC,UAAA,CAAYD,CAAAA,CAAWZ,CAAAA,CAAiBc,CAAAA,CACvC,GAAGQ,CAAAA,CACJ,aAAA,CAAanB,CAAAA,CACZ,GAAGc,CAAAA,CAEJ,QAAA,CAAA,CAAAU,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-ASLPRJKG.cjs","sourcesContent":[null,"'use client';\n\nimport { Slot } from 'radix-ui';\nimport { cn } from '../../helpers/cn';\nimport { buttonBasePropDefs } from './ButtonBase.props';\nimport type { ButtonBaseProps } from './ButtonBase.props';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { forwardRef } from 'react';\nimport type { ComponentRef, MouseEvent } from 'react';\n\n// aria-disabled keeps the button focusable but doesn't block its default\n// action, so cancel clicks (including middle-click via auxclick) to stop form\n// submission and link navigation.\nconst preventDefault = (event: MouseEvent<HTMLButtonElement>) => event.preventDefault();\n\nconst COMPONENT_NAME = 'ButtonBase';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\nexport type ButtonBaseElement = ComponentRef<'button'>;\n\nexport const ButtonBase = forwardRef<ButtonBaseElement, ButtonBaseProps>((props, ref) => {\n const {\n colorScheme,\n inverted,\n className,\n disabled,\n onClick,\n onAuxClick,\n asChild,\n children,\n ...buttonBaseProps\n } = extractProps(props, buttonBasePropDefs, marginPropDefs);\n const { variant = 'solid' } = props;\n\n const defaultColorScheme =\n variant === 'emphasis' || variant === 'solid' ? 'highlight' : 'functional';\n const dataAttributeProps = {\n 'data-colorscheme': colorScheme || defaultColorScheme,\n 'data-inverted': inverted ? '' : undefined,\n };\n\n const Component = asChild ? Slot.Root : 'button';\n\n // We're rendering a different component here so that we don't have to apply\n // transitions to box-shadow, which causes re-paints on every frame, heavily\n // impacting performance.\n if (variant === 'emphasis') {\n return (\n <Component\n ref={ref}\n aria-disabled={disabled || undefined}\n className={cn(componentClassName, className)}\n onClick={disabled ? preventDefault : onClick}\n onAuxClick={disabled ? preventDefault : onAuxClick}\n {...dataAttributeProps}\n data-testid={componentClassName}\n {...buttonBaseProps}\n >\n <span className={`${componentClassName}Shadow`}></span>\n {asChild ? (\n <Slot.Slottable child={children}>\n {subtreeChildren => (\n <span className={`${componentClassName}Front`}>{subtreeChildren}</span>\n )}\n </Slot.Slottable>\n ) : (\n <span className={`${componentClassName}Front`}>{children}</span>\n )}\n </Component>\n );\n }\n return (\n <Component\n ref={ref}\n aria-disabled={disabled || undefined}\n className={cn(componentClassName, className)}\n onClick={disabled ? preventDefault : onClick}\n onAuxClick={disabled ? preventDefault : onAuxClick}\n {...dataAttributeProps}\n data-testid={componentClassName}\n {...buttonBaseProps}\n >\n {children}\n </Component>\n );\n});\n\nButtonBase.displayName = COMPONENT_NAME;\n"]}