@utilitywarehouse/hearth-react 0.35.3 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/{chunk-A5H4MI3R.js → chunk-2POQFUPW.js} +2 -2
  2. package/dist/{chunk-B7FZH3QJ.cjs → chunk-2VGT344B.cjs} +2 -2
  3. package/dist/{chunk-B7FZH3QJ.cjs.map → chunk-2VGT344B.cjs.map} +1 -1
  4. package/dist/{chunk-GI5KDYNY.js → chunk-3UMZQPTB.js} +2 -2
  5. package/dist/{chunk-VBM2XJMT.cjs → chunk-53SQGRZU.cjs} +2 -2
  6. package/dist/{chunk-VBM2XJMT.cjs.map → chunk-53SQGRZU.cjs.map} +1 -1
  7. package/dist/{chunk-DT6UGKV4.cjs → chunk-57UF42KD.cjs} +2 -2
  8. package/dist/{chunk-DT6UGKV4.cjs.map → chunk-57UF42KD.cjs.map} +1 -1
  9. package/dist/{chunk-BQREA63R.js → chunk-5SZOTFTN.js} +2 -2
  10. package/dist/{chunk-6PSROLGA.cjs → chunk-5ZWFYZWX.cjs} +2 -2
  11. package/dist/{chunk-6PSROLGA.cjs.map → chunk-5ZWFYZWX.cjs.map} +1 -1
  12. package/dist/{chunk-LH3XNBC5.js → chunk-64CRCD2F.js} +2 -2
  13. package/dist/{chunk-HVV2WVNT.cjs → chunk-6FG65NIR.cjs} +2 -2
  14. package/dist/{chunk-HVV2WVNT.cjs.map → chunk-6FG65NIR.cjs.map} +1 -1
  15. package/dist/{chunk-JXJFIRXF.cjs → chunk-6VSNPADP.cjs} +2 -2
  16. package/dist/{chunk-JXJFIRXF.cjs.map → chunk-6VSNPADP.cjs.map} +1 -1
  17. package/dist/{chunk-C6CDS5PQ.js → chunk-6YP6GBJJ.js} +2 -2
  18. package/dist/{chunk-2HSP772B.cjs → chunk-ACXMHPQ3.cjs} +2 -2
  19. package/dist/{chunk-2HSP772B.cjs.map → chunk-ACXMHPQ3.cjs.map} +1 -1
  20. package/dist/chunk-BQOVHNOK.js +4 -0
  21. package/dist/chunk-BQOVHNOK.js.map +1 -0
  22. package/dist/{chunk-WBQ4Y5K5.js → chunk-DGLSILZC.js} +2 -2
  23. package/dist/{chunk-ZMALQQ3U.cjs → chunk-E5MPVODK.cjs} +2 -2
  24. package/dist/{chunk-ZMALQQ3U.cjs.map → chunk-E5MPVODK.cjs.map} +1 -1
  25. package/dist/chunk-EP5R4SFJ.js +4 -0
  26. package/dist/chunk-EP5R4SFJ.js.map +1 -0
  27. package/dist/{chunk-5W56X5HX.js → chunk-FCIQ3NDR.js} +2 -2
  28. package/dist/{chunk-HL2XTVPE.js → chunk-G6JMRKPA.js} +2 -2
  29. package/dist/{chunk-HIB3BFXI.cjs → chunk-GEGSED5I.cjs} +2 -2
  30. package/dist/{chunk-HIB3BFXI.cjs.map → chunk-GEGSED5I.cjs.map} +1 -1
  31. package/dist/{chunk-2AGUKOI4.js → chunk-GWRFSI2V.js} +2 -2
  32. package/dist/{chunk-X47DSANX.cjs → chunk-GYH2XRV5.cjs} +2 -2
  33. package/dist/{chunk-X47DSANX.cjs.map → chunk-GYH2XRV5.cjs.map} +1 -1
  34. package/dist/{chunk-HPWICESJ.cjs → chunk-H7RKHJW4.cjs} +2 -2
  35. package/dist/{chunk-HPWICESJ.cjs.map → chunk-H7RKHJW4.cjs.map} +1 -1
  36. package/dist/{chunk-PRWGO2PS.cjs → chunk-HCKLXU3O.cjs} +2 -2
  37. package/dist/{chunk-PRWGO2PS.cjs.map → chunk-HCKLXU3O.cjs.map} +1 -1
  38. package/dist/{chunk-5O535YRW.cjs → chunk-HD5AGH5Y.cjs} +2 -2
  39. package/dist/{chunk-5O535YRW.cjs.map → chunk-HD5AGH5Y.cjs.map} +1 -1
  40. package/dist/{chunk-II4GKC6I.cjs → chunk-HJTLMVKL.cjs} +2 -2
  41. package/dist/{chunk-II4GKC6I.cjs.map → chunk-HJTLMVKL.cjs.map} +1 -1
  42. package/dist/chunk-HPRZG47Z.cjs +4 -0
  43. package/dist/chunk-HPRZG47Z.cjs.map +1 -0
  44. package/dist/{chunk-GVN7FPA3.js → chunk-HQWHHX5G.js} +2 -2
  45. package/dist/{chunk-5BYAY76B.cjs → chunk-IBU23C5O.cjs} +2 -2
  46. package/dist/{chunk-5BYAY76B.cjs.map → chunk-IBU23C5O.cjs.map} +1 -1
  47. package/dist/{chunk-442G3TJT.cjs → chunk-IKACAZD6.cjs} +2 -2
  48. package/dist/{chunk-442G3TJT.cjs.map → chunk-IKACAZD6.cjs.map} +1 -1
  49. package/dist/{chunk-RNVIH5GE.cjs → chunk-ITIKNW5V.cjs} +2 -2
  50. package/dist/{chunk-RNVIH5GE.cjs.map → chunk-ITIKNW5V.cjs.map} +1 -1
  51. package/dist/{chunk-FYRU5TW5.js → chunk-LOZ7MNJB.js} +2 -2
  52. package/dist/chunk-MILM3WTW.cjs +4 -0
  53. package/dist/chunk-MILM3WTW.cjs.map +1 -0
  54. package/dist/chunk-NH3XHNZI.js +4 -0
  55. package/dist/chunk-NH3XHNZI.js.map +1 -0
  56. package/dist/{chunk-E7F4VIX4.js → chunk-NHBBYSIP.js} +2 -2
  57. package/dist/{chunk-OETOR5JL.cjs → chunk-NM6IOANT.cjs} +2 -2
  58. package/dist/{chunk-OETOR5JL.cjs.map → chunk-NM6IOANT.cjs.map} +1 -1
  59. package/dist/{chunk-66WTE4KP.js → chunk-NOEAGTZD.js} +2 -2
  60. package/dist/{chunk-YXONR42Y.js → chunk-OMFC7WL5.js} +2 -2
  61. package/dist/{chunk-Z4BV6MER.js → chunk-ORIRQN2S.js} +2 -2
  62. package/dist/{chunk-5P6WYPMO.cjs → chunk-OT4LNCUU.cjs} +2 -2
  63. package/dist/{chunk-5P6WYPMO.cjs.map → chunk-OT4LNCUU.cjs.map} +1 -1
  64. package/dist/{chunk-4PIL2ZIL.js → chunk-OUZD3M2B.js} +2 -2
  65. package/dist/{chunk-ZRURS7YW.js → chunk-PGNIIILR.js} +2 -2
  66. package/dist/{chunk-JZPT6HI4.cjs → chunk-QC7C2FCM.cjs} +2 -2
  67. package/dist/{chunk-JZPT6HI4.cjs.map → chunk-QC7C2FCM.cjs.map} +1 -1
  68. package/dist/{chunk-VZKBRGSY.js → chunk-QCFBAWB7.js} +2 -2
  69. package/dist/{chunk-TU2J3SLZ.cjs → chunk-QZ57NLHZ.cjs} +2 -2
  70. package/dist/{chunk-TU2J3SLZ.cjs.map → chunk-QZ57NLHZ.cjs.map} +1 -1
  71. package/dist/{chunk-LY7U64XG.js → chunk-R37FK3MT.js} +2 -2
  72. package/dist/{chunk-LEE6W35K.js → chunk-RMYZXT4P.js} +2 -2
  73. package/dist/{chunk-M4M5HXZW.js → chunk-RYDWH7IN.js} +2 -2
  74. package/dist/{chunk-4O2TRA5H.js → chunk-S4SIDGQ2.js} +2 -2
  75. package/dist/{chunk-ELPYGAQ6.cjs → chunk-SA3XUE4F.cjs} +2 -2
  76. package/dist/{chunk-ELPYGAQ6.cjs.map → chunk-SA3XUE4F.cjs.map} +1 -1
  77. package/dist/{chunk-UGXE62RP.cjs → chunk-T545JMFI.cjs} +2 -2
  78. package/dist/{chunk-UGXE62RP.cjs.map → chunk-T545JMFI.cjs.map} +1 -1
  79. package/dist/chunk-TJJUNG72.cjs +4 -0
  80. package/dist/chunk-TJJUNG72.cjs.map +1 -0
  81. package/dist/{chunk-6SDDML2Q.js → chunk-TKBCQH6F.js} +2 -2
  82. package/dist/{chunk-FVRGCOQE.cjs → chunk-TNAZRZLP.cjs} +2 -2
  83. package/dist/{chunk-FVRGCOQE.cjs.map → chunk-TNAZRZLP.cjs.map} +1 -1
  84. package/dist/{chunk-M7IRN3DO.js → chunk-TT64AG3N.js} +2 -2
  85. package/dist/{chunk-WHN7UIFI.cjs → chunk-WBRNLI2A.cjs} +2 -2
  86. package/dist/{chunk-WHN7UIFI.cjs.map → chunk-WBRNLI2A.cjs.map} +1 -1
  87. package/dist/{chunk-Z5V6AOA3.cjs → chunk-WINB2WI7.cjs} +2 -2
  88. package/dist/{chunk-Z5V6AOA3.cjs.map → chunk-WINB2WI7.cjs.map} +1 -1
  89. package/dist/{chunk-36WGBXBK.js → chunk-WTBHVREU.js} +2 -2
  90. package/dist/{chunk-MOY2EIGY.js → chunk-XTVYC2LZ.js} +2 -2
  91. package/dist/{chunk-IF3C3L42.js → chunk-YEYEZFIA.js} +2 -2
  92. package/dist/{chunk-EDTW2Z4H.cjs → chunk-Z4U3QUSD.cjs} +2 -2
  93. package/dist/{chunk-EDTW2Z4H.cjs.map → chunk-Z4U3QUSD.cjs.map} +1 -1
  94. package/dist/components/Accordion/Accordion.cjs +1 -1
  95. package/dist/components/Accordion/Accordion.js +1 -1
  96. package/dist/components/Accordion/AccordionContent.cjs +1 -1
  97. package/dist/components/Accordion/AccordionContent.cjs.map +1 -1
  98. package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
  99. package/dist/components/Accordion/AccordionContent.js +1 -1
  100. package/dist/components/Accordion/AccordionContent.props.d.ts +15 -1
  101. package/dist/components/Accordion/AccordionContent.props.d.ts.map +1 -1
  102. package/dist/components/Accordion/AccordionItem.cjs +1 -1
  103. package/dist/components/Accordion/AccordionItem.js +1 -1
  104. package/dist/components/Alert/Alert.cjs +1 -1
  105. package/dist/components/Alert/Alert.js +1 -1
  106. package/dist/components/Breadcrumbs/BreadcrumbItem.cjs +1 -1
  107. package/dist/components/Breadcrumbs/BreadcrumbItem.js +1 -1
  108. package/dist/components/Button/Button.cjs +1 -1
  109. package/dist/components/Button/Button.js +1 -1
  110. package/dist/components/CardAccordion/CardAccordion.cjs +1 -1
  111. package/dist/components/CardAccordion/CardAccordion.js +1 -1
  112. package/dist/components/CardAccordion/CardAccordionButton.cjs +1 -1
  113. package/dist/components/CardAccordion/CardAccordionButton.js +1 -1
  114. package/dist/components/CardAccordion/CardAccordionItem.cjs +1 -1
  115. package/dist/components/CardAccordion/CardAccordionItem.js +1 -1
  116. package/dist/components/Combobox/Combobox.cjs +1 -1
  117. package/dist/components/Combobox/Combobox.js +1 -1
  118. package/dist/components/CurrencyInput/CurrencyInput.cjs +1 -1
  119. package/dist/components/CurrencyInput/CurrencyInput.d.ts.map +1 -1
  120. package/dist/components/CurrencyInput/CurrencyInput.js +1 -1
  121. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  122. package/dist/components/DatePicker/DatePicker.js +1 -1
  123. package/dist/components/DatePicker/DatePickerHeader.cjs +1 -1
  124. package/dist/components/DatePicker/DatePickerHeader.js +1 -1
  125. package/dist/components/DescriptionList/DescriptionList.cjs +1 -1
  126. package/dist/components/DescriptionList/DescriptionList.js +1 -1
  127. package/dist/components/ExpandableCard/ExpandableCard.cjs +1 -1
  128. package/dist/components/ExpandableCard/ExpandableCard.js +1 -1
  129. package/dist/components/ExpandableCard/ExpandableCardGroup.cjs +1 -1
  130. package/dist/components/ExpandableCard/ExpandableCardGroup.js +1 -1
  131. package/dist/components/IconButton/IconButton.cjs +1 -1
  132. package/dist/components/IconButton/IconButton.js +1 -1
  133. package/dist/components/List/List.cjs +1 -1
  134. package/dist/components/List/List.js +1 -1
  135. package/dist/components/Modal/Modal.cjs +1 -1
  136. package/dist/components/Modal/Modal.cjs.map +1 -1
  137. package/dist/components/Modal/Modal.d.ts.map +1 -1
  138. package/dist/components/Modal/Modal.js +1 -1
  139. package/dist/components/Modal/Modal.props.d.ts +13 -1
  140. package/dist/components/Modal/Modal.props.d.ts.map +1 -1
  141. package/dist/components/Pagination/Pagination.cjs +1 -1
  142. package/dist/components/Pagination/Pagination.js +1 -1
  143. package/dist/components/PasswordInput/PasswordInput.cjs +1 -1
  144. package/dist/components/PasswordInput/PasswordInput.js +1 -1
  145. package/dist/components/ProgressBar/ProgressBar.cjs +1 -1
  146. package/dist/components/ProgressBar/ProgressBar.js +1 -1
  147. package/dist/components/ProgressBar/ProgressBarCircular.cjs +1 -1
  148. package/dist/components/ProgressBar/ProgressBarCircular.js +1 -1
  149. package/dist/components/ProgressBar/ProgressBarLinear.cjs +1 -1
  150. package/dist/components/ProgressBar/ProgressBarLinear.js +1 -1
  151. package/dist/components/RadioTile/RadioTile.cjs +1 -1
  152. package/dist/components/RadioTile/RadioTile.js +1 -1
  153. package/dist/components/SearchInput/SearchInput.cjs +1 -1
  154. package/dist/components/SearchInput/SearchInput.js +1 -1
  155. package/dist/components/SectionHeader/SectionHeader.cjs +1 -1
  156. package/dist/components/SectionHeader/SectionHeader.js +1 -1
  157. package/dist/components/Skeleton/SkeletonBodyText.cjs +1 -1
  158. package/dist/components/Skeleton/SkeletonBodyText.js +1 -1
  159. package/dist/components/Table/TablePagination.cjs +1 -1
  160. package/dist/components/Table/TablePagination.js +1 -1
  161. package/dist/components/TextInput/TextInput.cjs +1 -1
  162. package/dist/components/TextInput/TextInput.js +1 -1
  163. package/dist/components/VerificationInput/VerificationInput.cjs +1 -1
  164. package/dist/components/VerificationInput/VerificationInput.js +1 -1
  165. package/dist/index.cjs +1 -1
  166. package/dist/index.cjs.map +1 -1
  167. package/dist/index.js +1 -1
  168. package/package.json +3 -3
  169. package/public/llms/components/accordion.md +9 -5
  170. package/public/llms/components/modal.md +18 -1
  171. package/public/llms/docs/getting-started.md +1 -1
  172. package/dist/chunk-IKYAMUVC.js +0 -4
  173. package/dist/chunk-IKYAMUVC.js.map +0 -1
  174. package/dist/chunk-NCC6UCQ3.js +0 -4
  175. package/dist/chunk-NCC6UCQ3.js.map +0 -1
  176. package/dist/chunk-PR7YY5TA.cjs +0 -4
  177. package/dist/chunk-PR7YY5TA.cjs.map +0 -1
  178. package/dist/chunk-T2WIDWP7.cjs +0 -4
  179. package/dist/chunk-T2WIDWP7.cjs.map +0 -1
  180. package/dist/chunk-UENHGDFX.js +0 -4
  181. package/dist/chunk-UENHGDFX.js.map +0 -1
  182. package/dist/chunk-ZDNAR6RW.cjs +0 -4
  183. package/dist/chunk-ZDNAR6RW.cjs.map +0 -1
  184. /package/dist/{chunk-A5H4MI3R.js.map → chunk-2POQFUPW.js.map} +0 -0
  185. /package/dist/{chunk-GI5KDYNY.js.map → chunk-3UMZQPTB.js.map} +0 -0
  186. /package/dist/{chunk-BQREA63R.js.map → chunk-5SZOTFTN.js.map} +0 -0
  187. /package/dist/{chunk-LH3XNBC5.js.map → chunk-64CRCD2F.js.map} +0 -0
  188. /package/dist/{chunk-C6CDS5PQ.js.map → chunk-6YP6GBJJ.js.map} +0 -0
  189. /package/dist/{chunk-WBQ4Y5K5.js.map → chunk-DGLSILZC.js.map} +0 -0
  190. /package/dist/{chunk-5W56X5HX.js.map → chunk-FCIQ3NDR.js.map} +0 -0
  191. /package/dist/{chunk-HL2XTVPE.js.map → chunk-G6JMRKPA.js.map} +0 -0
  192. /package/dist/{chunk-2AGUKOI4.js.map → chunk-GWRFSI2V.js.map} +0 -0
  193. /package/dist/{chunk-GVN7FPA3.js.map → chunk-HQWHHX5G.js.map} +0 -0
  194. /package/dist/{chunk-FYRU5TW5.js.map → chunk-LOZ7MNJB.js.map} +0 -0
  195. /package/dist/{chunk-E7F4VIX4.js.map → chunk-NHBBYSIP.js.map} +0 -0
  196. /package/dist/{chunk-66WTE4KP.js.map → chunk-NOEAGTZD.js.map} +0 -0
  197. /package/dist/{chunk-YXONR42Y.js.map → chunk-OMFC7WL5.js.map} +0 -0
  198. /package/dist/{chunk-Z4BV6MER.js.map → chunk-ORIRQN2S.js.map} +0 -0
  199. /package/dist/{chunk-4PIL2ZIL.js.map → chunk-OUZD3M2B.js.map} +0 -0
  200. /package/dist/{chunk-ZRURS7YW.js.map → chunk-PGNIIILR.js.map} +0 -0
  201. /package/dist/{chunk-VZKBRGSY.js.map → chunk-QCFBAWB7.js.map} +0 -0
  202. /package/dist/{chunk-LY7U64XG.js.map → chunk-R37FK3MT.js.map} +0 -0
  203. /package/dist/{chunk-LEE6W35K.js.map → chunk-RMYZXT4P.js.map} +0 -0
  204. /package/dist/{chunk-M4M5HXZW.js.map → chunk-RYDWH7IN.js.map} +0 -0
  205. /package/dist/{chunk-4O2TRA5H.js.map → chunk-S4SIDGQ2.js.map} +0 -0
  206. /package/dist/{chunk-6SDDML2Q.js.map → chunk-TKBCQH6F.js.map} +0 -0
  207. /package/dist/{chunk-M7IRN3DO.js.map → chunk-TT64AG3N.js.map} +0 -0
  208. /package/dist/{chunk-36WGBXBK.js.map → chunk-WTBHVREU.js.map} +0 -0
  209. /package/dist/{chunk-MOY2EIGY.js.map → chunk-XTVYC2LZ.js.map} +0 -0
  210. /package/dist/{chunk-IF3C3L42.js.map → chunk-YEYEZFIA.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-HIB3BFXI.cjs","../src/components/CardAccordion/CardAccordionButton.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","CardAccordionButton","forwardRef","className","children","action","onClick","props","ref","steps","setPreviousSteps","setCurrentStep","previousSteps","useCardAccordion","context","useCardAccordionItem","jsx","Button","cn","e","prev","currentIndex","lastStep"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAoC,wDAAyC,wDAAyC,8BCA5K,+CA2BnB,IAlBFA,CAAAA,CAAiB,qBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAU7CC,CAAAA,aAAsBC,+BAAAA,CAChC,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAAA,CAAU,MAAA,CAAAC,CAAAA,CAAQ,OAAA,CAAAC,CAAAA,CAAS,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAAQ,CAC3D,GAAM,CAAE,KAAA,CAAAC,CAAAA,CAAO,gBAAA,CAAAC,CAAAA,CAAkB,cAAA,CAAAC,CAAAA,CAAgB,aAAA,CAAAC,CAAc,CAAA,CAAIC,iCAAAA,CAAiB,CAC9EC,CAAAA,CAAUC,iCAAAA,CAAqB,CAErC,OAAIV,CAAAA,GAAW,MAAA,CAEXW,6BAAAA,mBAACC,CAAA,CACC,GAAA,CAAKT,CAAAA,CACL,SAAA,CAAWU,iCAAAA,CAAGnB,CAAoBI,CAAS,CAAA,CAC3C,IAAA,CAAK,QAAA,CACJ,GAAGI,CAAAA,CACJ,OAAA,CAAQ,OAAA,CACR,WAAA,CAAY,WAAA,CACZ,aAAA,CAAY,MAAA,CACZ,OAAA,CAASY,CAAAA,EAAK,CAMZ,EAAA,CALIb,CAAAA,EACFA,CAAAA,CAAQa,CAAC,CAAA,CAGXT,CAAAA,CAAkBU,CAAAA,EAAwB,CAAC,GAAGA,CAAAA,CAAMN,CAAAA,CAAQ,KAAK,CAAC,CAAA,CAC9DL,CAAAA,CAAO,CACT,IAAMY,CAAAA,CAAeZ,CAAAA,CAAM,OAAA,CAAQK,CAAAA,CAAQ,KAAK,CAAA,CAC5CO,CAAAA,EAAgB,CAAA,EAAKA,CAAAA,CAAeZ,CAAAA,CAAM,MAAA,CAAS,CAAA,EACrDE,CAAAA,CAAeF,CAAAA,CAAMY,CAAAA,CAAe,CAAC,CAAW,CAEpD,CACF,CAAA,CAEC,QAAA,CAAAjB,CAAAA,EAAY,MAAA,CACf,CAAA,CAKFY,6BAAAA,mBAACC,CAAA,CACC,GAAA,CAAKT,CAAAA,CACL,SAAA,CAAWU,iCAAAA,CAAGnB,CAAoBI,CAAS,CAAA,CAC3C,IAAA,CAAK,QAAA,CACJ,GAAGI,CAAAA,CACJ,OAAA,CAAQ,SAAA,CACR,WAAA,CAAY,YAAA,CACZ,aAAA,CAAY,UAAA,CACZ,OAAA,CAASY,CAAAA,EAAK,CAIZ,EAAA,CAHIb,CAAAA,EACFA,CAAAA,CAAQa,CAAC,CAAA,CAEPP,CAAAA,CAAc,MAAA,CAAS,CAAA,CAAG,CAC5B,IAAMU,CAAAA,CAAWV,CAAAA,CAAcA,CAAAA,CAAc,MAAA,CAAS,CAAC,CAAA,CACvDD,CAAAA,CAAeW,CAAQ,CAAA,CACvBZ,CAAAA,CAAkBU,CAAAA,EAAwBA,CAAAA,CAAK,KAAA,CAAM,CAAA,CAAGA,CAAAA,CAAK,OAAA,CAAQN,CAAAA,CAAQ,KAAK,CAAC,CAAC,CACtF,CACF,CAAA,CAEC,QAAA,CAAAV,CAAAA,EAAY,UAAA,CACf,CAEJ,CACF,CAAA,CAEAH,CAAAA,CAAoB,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-HIB3BFXI.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ComponentRef } from 'react';\nimport { Button } from '../Button/Button';\nimport type { CardAccordionButtonProps } from './CardAccordionButton.props';\nimport { useCardAccordion } from './CardAccordion.context';\nimport { useCardAccordionItem } from './CardAccordionItem.context';\n\nconst COMPONENT_NAME = 'CardAccordionButton';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype CardAccordionButtonElement = ComponentRef<'button'>;\n\n/**\n * Use CardAccordionButton inside a CardAccordionItem to navigate between\n * steps of a CardAccordion.\n *\n * @summary A step-navigation button for a CardAccordionItem.\n */\nexport const CardAccordionButton = forwardRef<CardAccordionButtonElement, CardAccordionButtonProps>(\n ({ className, children, action, onClick, ...props }, ref) => {\n const { steps, setPreviousSteps, setCurrentStep, previousSteps } = useCardAccordion();\n const context = useCardAccordionItem();\n\n if (action === 'next') {\n return (\n <Button\n ref={ref}\n className={cn(componentClassName, className)}\n type=\"button\"\n {...props}\n variant=\"solid\"\n colorScheme=\"highlight\"\n data-action=\"next\"\n onClick={e => {\n if (onClick) {\n onClick(e);\n }\n\n setPreviousSteps((prev: Array<string>) => [...prev, context.value]);\n if (steps) {\n const currentIndex = steps.indexOf(context.value);\n if (currentIndex >= 0 && currentIndex < steps.length - 1) {\n setCurrentStep(steps[currentIndex + 1] as string);\n }\n }\n }}\n >\n {children || 'Next'}\n </Button>\n );\n }\n\n return (\n <Button\n ref={ref}\n className={cn(componentClassName, className)}\n type=\"button\"\n {...props}\n variant=\"outline\"\n colorScheme=\"functional\"\n data-action=\"previous\"\n onClick={e => {\n if (onClick) {\n onClick(e);\n }\n if (previousSteps.length > 0) {\n const lastStep = previousSteps[previousSteps.length - 1] as string;\n setCurrentStep(lastStep);\n setPreviousSteps((prev: Array<string>) => prev.slice(0, prev.indexOf(context.value)));\n }\n }}\n >\n {children || 'Previous'}\n </Button>\n );\n }\n);\n\nCardAccordionButton.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-GEGSED5I.cjs","../src/components/CardAccordion/CardAccordionButton.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","CardAccordionButton","forwardRef","className","children","action","onClick","props","ref","steps","setPreviousSteps","setCurrentStep","previousSteps","useCardAccordion","context","useCardAccordionItem","jsx","Button","cn","e","prev","currentIndex","lastStep"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAoC,wDAAyC,wDAAyC,8BCA5K,+CA2BnB,IAlBFA,CAAAA,CAAiB,qBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAU7CC,CAAAA,aAAsBC,+BAAAA,CAChC,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAAA,CAAU,MAAA,CAAAC,CAAAA,CAAQ,OAAA,CAAAC,CAAAA,CAAS,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAAQ,CAC3D,GAAM,CAAE,KAAA,CAAAC,CAAAA,CAAO,gBAAA,CAAAC,CAAAA,CAAkB,cAAA,CAAAC,CAAAA,CAAgB,aAAA,CAAAC,CAAc,CAAA,CAAIC,iCAAAA,CAAiB,CAC9EC,CAAAA,CAAUC,iCAAAA,CAAqB,CAErC,OAAIV,CAAAA,GAAW,MAAA,CAEXW,6BAAAA,mBAACC,CAAA,CACC,GAAA,CAAKT,CAAAA,CACL,SAAA,CAAWU,iCAAAA,CAAGnB,CAAoBI,CAAS,CAAA,CAC3C,IAAA,CAAK,QAAA,CACJ,GAAGI,CAAAA,CACJ,OAAA,CAAQ,OAAA,CACR,WAAA,CAAY,WAAA,CACZ,aAAA,CAAY,MAAA,CACZ,OAAA,CAASY,CAAAA,EAAK,CAMZ,EAAA,CALIb,CAAAA,EACFA,CAAAA,CAAQa,CAAC,CAAA,CAGXT,CAAAA,CAAkBU,CAAAA,EAAwB,CAAC,GAAGA,CAAAA,CAAMN,CAAAA,CAAQ,KAAK,CAAC,CAAA,CAC9DL,CAAAA,CAAO,CACT,IAAMY,CAAAA,CAAeZ,CAAAA,CAAM,OAAA,CAAQK,CAAAA,CAAQ,KAAK,CAAA,CAC5CO,CAAAA,EAAgB,CAAA,EAAKA,CAAAA,CAAeZ,CAAAA,CAAM,MAAA,CAAS,CAAA,EACrDE,CAAAA,CAAeF,CAAAA,CAAMY,CAAAA,CAAe,CAAC,CAAW,CAEpD,CACF,CAAA,CAEC,QAAA,CAAAjB,CAAAA,EAAY,MAAA,CACf,CAAA,CAKFY,6BAAAA,mBAACC,CAAA,CACC,GAAA,CAAKT,CAAAA,CACL,SAAA,CAAWU,iCAAAA,CAAGnB,CAAoBI,CAAS,CAAA,CAC3C,IAAA,CAAK,QAAA,CACJ,GAAGI,CAAAA,CACJ,OAAA,CAAQ,SAAA,CACR,WAAA,CAAY,YAAA,CACZ,aAAA,CAAY,UAAA,CACZ,OAAA,CAASY,CAAAA,EAAK,CAIZ,EAAA,CAHIb,CAAAA,EACFA,CAAAA,CAAQa,CAAC,CAAA,CAEPP,CAAAA,CAAc,MAAA,CAAS,CAAA,CAAG,CAC5B,IAAMU,CAAAA,CAAWV,CAAAA,CAAcA,CAAAA,CAAc,MAAA,CAAS,CAAC,CAAA,CACvDD,CAAAA,CAAeW,CAAQ,CAAA,CACvBZ,CAAAA,CAAkBU,CAAAA,EAAwBA,CAAAA,CAAK,KAAA,CAAM,CAAA,CAAGA,CAAAA,CAAK,OAAA,CAAQN,CAAAA,CAAQ,KAAK,CAAC,CAAC,CACtF,CACF,CAAA,CAEC,QAAA,CAAAV,CAAAA,EAAY,UAAA,CACf,CAEJ,CACF,CAAA,CAEAH,CAAAA,CAAoB,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-GEGSED5I.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ComponentRef } from 'react';\nimport { Button } from '../Button/Button';\nimport type { CardAccordionButtonProps } from './CardAccordionButton.props';\nimport { useCardAccordion } from './CardAccordion.context';\nimport { useCardAccordionItem } from './CardAccordionItem.context';\n\nconst COMPONENT_NAME = 'CardAccordionButton';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype CardAccordionButtonElement = ComponentRef<'button'>;\n\n/**\n * Use CardAccordionButton inside a CardAccordionItem to navigate between\n * steps of a CardAccordion.\n *\n * @summary A step-navigation button for a CardAccordionItem.\n */\nexport const CardAccordionButton = forwardRef<CardAccordionButtonElement, CardAccordionButtonProps>(\n ({ className, children, action, onClick, ...props }, ref) => {\n const { steps, setPreviousSteps, setCurrentStep, previousSteps } = useCardAccordion();\n const context = useCardAccordionItem();\n\n if (action === 'next') {\n return (\n <Button\n ref={ref}\n className={cn(componentClassName, className)}\n type=\"button\"\n {...props}\n variant=\"solid\"\n colorScheme=\"highlight\"\n data-action=\"next\"\n onClick={e => {\n if (onClick) {\n onClick(e);\n }\n\n setPreviousSteps((prev: Array<string>) => [...prev, context.value]);\n if (steps) {\n const currentIndex = steps.indexOf(context.value);\n if (currentIndex >= 0 && currentIndex < steps.length - 1) {\n setCurrentStep(steps[currentIndex + 1] as string);\n }\n }\n }}\n >\n {children || 'Next'}\n </Button>\n );\n }\n\n return (\n <Button\n ref={ref}\n className={cn(componentClassName, className)}\n type=\"button\"\n {...props}\n variant=\"outline\"\n colorScheme=\"functional\"\n data-action=\"previous\"\n onClick={e => {\n if (onClick) {\n onClick(e);\n }\n if (previousSteps.length > 0) {\n const lastStep = previousSteps[previousSteps.length - 1] as string;\n setCurrentStep(lastStep);\n setPreviousSteps((prev: Array<string>) => prev.slice(0, prev.indexOf(context.value)));\n }\n }}\n >\n {children || 'Previous'}\n </Button>\n );\n }\n);\n\nCardAccordionButton.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as f}from"./chunk-MB2NMZ2I.js";import{a as l}from"./chunk-EQN3DZC3.js";import{a as p}from"./chunk-4FIALSDU.js";import{a}from"./chunk-LYKZCNDZ.js";import{a as e}from"./chunk-J3AJBV4B.js";import{b as s}from"./chunk-PDEVCIQ3.js";import{forwardRef as E}from"react";import{jsx as o}from"react/jsx-runtime";var y="SkeletonBodyText",d=s(y),R=E((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}=a(c,f),i={margin:x,marginTop:g,marginRight:B,marginBottom:T,marginLeft:k,marginX:N,marginY:P,width:h,maxWidth:S,minWidth:u};return r==="1"?o(l,{as:"div",ref:t,className:e(d,m),...i,...n}):o(p,{ref:t,direction:"column",gap:"75",...i,children:Array.from({length:Number(r)},(v,C)=>o("div",{className:e(d,m),...n},C))})});R.displayName=y;export{R as a};
4
- //# sourceMappingURL=chunk-2AGUKOI4.js.map
3
+ import{a as f}from"./chunk-MB2NMZ2I.js";import{a as p}from"./chunk-4FIALSDU.js";import{a as l}from"./chunk-EQN3DZC3.js";import{a}from"./chunk-LYKZCNDZ.js";import{a as e}from"./chunk-J3AJBV4B.js";import{b as s}from"./chunk-PDEVCIQ3.js";import{forwardRef as E}from"react";import{jsx as o}from"react/jsx-runtime";var y="SkeletonBodyText",d=s(y),R=E((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}=a(c,f),i={margin:x,marginTop:g,marginRight:B,marginBottom:T,marginLeft:k,marginX:N,marginY:P,width:h,maxWidth:S,minWidth:u};return r==="1"?o(l,{as:"div",ref:t,className:e(d,m),...i,...n}):o(p,{ref:t,direction:"column",gap:"75",...i,children:Array.from({length:Number(r)},(v,C)=>o("div",{className:e(d,m),...n},C))})});R.displayName=y;export{R as a};
4
+ //# sourceMappingURL=chunk-GWRFSI2V.js.map
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
2
2
 
3
- var _chunkVBM2XJMTcjs = require('./chunk-VBM2XJMT.cjs');var _chunkEHKTA7G5cjs = require('./chunk-EHKTA7G5.cjs');var _chunk5PLNI5FWcjs = require('./chunk-5PLNI5FW.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkHIF6HKZ3cjs = require('./chunk-HIF6HKZ3.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _reactdatepicker = require('react-datepicker'); var _reactdatepicker2 = _interopRequireDefault(_reactdatepicker);var _dom = require('@floating-ui/dom');var _radixui = require('radix-ui');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var H="DatePicker",e=_chunk4Q432K4Wcjs.b.call(void 0, H),ie= exports.a =_react.forwardRef.call(void 0, (O,S)=>{let{className:R,onChange:p,onSelect:c,onCalendarOpen:m,onCalendarClose:f,validationStatus:n,validationText:s,label:F,labelVariant:$,helperText:y,id:L,disabled:P,readOnly:u,required:C,disableTodayIndicator:A,...K}=_chunkAPXABE3Qcjs.a.call(void 0, O,_chunkOB7O3UFLcjs.a),[Y,h]=_react.useState.call(void 0, !1),[t,i]=_react.useState.call(void 0, "days"),{id:W,labelId:k,helperTextId:v,validationTextId:d}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:L,prefix:"date-picker"}),o=!u&&!P,q={id:W,labelId:k,helperTextId:v,validationTextId:d,label:F,labelVariant:$,helperText:y,validationText:o?s:void 0,validationStatus:o?n:void 0,required:C},B=_chunkHIF6HKZ3cjs.a.call(void 0, y?v:void 0,o&&n!==void 0&&s!==void 0?d:void 0),G={days:"days",months:"days",years:"months"},_={days:"months",months:"years",years:"days"},z=(a,l)=>{p!==void 0&&p(a,l)},J=(a,l)=>{t!=="days"&&i(G[t]),c!==void 0&&c(a,l)},Q=()=>{h(!0),m&&m()},U=()=>{h(!1),i("days"),f&&f()},X={customInput:_jsxruntime.jsx.call(void 0, _chunkEHKTA7G5cjs.a,{ref:S,className:"","data-calendar-state":Y?"open":"closed"}),renderCustomHeader:a=>_jsxruntime.jsx.call(void 0, _chunkVBM2XJMTcjs.a,{...a,view:t,onClick:()=>{i(_[t])},disableTodayIndicator:A})},b=o&&n==="invalid",Z={"aria-labelledby":k,"aria-describedby":B,"aria-invalid":b?!0:void 0,"aria-errormessage":b&&s!==void 0?d:void 0},j={calendarClassName:`${e}Calendar`,dayClassName:()=>`${e}Day`,weekClassName:()=>`${e}Week`,monthClassName:()=>`${e}Month`,yearClassName:()=>`${e}Year`,popperClassName:`${e}Popper`},ee={required:C,disabled:P,readOnly:u,calendarStartDay:1,showIcon:!1,dateFormat:"dd/MM/yyyy",formatWeekDay:a=>a.toString().charAt(0)},te={showPopperArrow:!1,popperModifiers:[_dom.offset.call(void 0, -6)],popperPlacement:"bottom-start",popperProps:{strategy:"fixed"},popperContainer:_radixui.Portal.Root},ae={...{onChange:z,onSelect:J,onCalendarClose:U,onCalendarOpen:Q},...ee,...Z,...te,...j,...{showMonthYearPicker:t==="months",showYearPicker:t==="years",shouldCloseOnSelect:t==="days",closeOnScroll:!0},...X,...K};return _jsxruntime.jsx.call(void 0, _chunk5PLNI5FWcjs.a,{className:_chunkONNSZMWFcjs.a.call(void 0, e,R),"data-testid":e,...q,children:_jsxruntime.jsx.call(void 0, _reactdatepicker2.default,{...ae,selectsRange:!1,selectsMultiple:!1})})});ie.displayName=H;exports.a = ie;
4
- //# sourceMappingURL=chunk-X47DSANX.cjs.map
3
+ var _chunk53SQGRZUcjs = require('./chunk-53SQGRZU.cjs');var _chunkEHKTA7G5cjs = require('./chunk-EHKTA7G5.cjs');var _chunk5PLNI5FWcjs = require('./chunk-5PLNI5FW.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkHIF6HKZ3cjs = require('./chunk-HIF6HKZ3.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _reactdatepicker = require('react-datepicker'); var _reactdatepicker2 = _interopRequireDefault(_reactdatepicker);var _dom = require('@floating-ui/dom');var _radixui = require('radix-ui');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var H="DatePicker",e=_chunk4Q432K4Wcjs.b.call(void 0, H),ie= exports.a =_react.forwardRef.call(void 0, (O,S)=>{let{className:R,onChange:p,onSelect:c,onCalendarOpen:m,onCalendarClose:f,validationStatus:n,validationText:s,label:F,labelVariant:$,helperText:y,id:L,disabled:P,readOnly:u,required:C,disableTodayIndicator:A,...K}=_chunkAPXABE3Qcjs.a.call(void 0, O,_chunkOB7O3UFLcjs.a),[Y,h]=_react.useState.call(void 0, !1),[t,i]=_react.useState.call(void 0, "days"),{id:W,labelId:k,helperTextId:v,validationTextId:d}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:L,prefix:"date-picker"}),o=!u&&!P,q={id:W,labelId:k,helperTextId:v,validationTextId:d,label:F,labelVariant:$,helperText:y,validationText:o?s:void 0,validationStatus:o?n:void 0,required:C},B=_chunkHIF6HKZ3cjs.a.call(void 0, y?v:void 0,o&&n!==void 0&&s!==void 0?d:void 0),G={days:"days",months:"days",years:"months"},_={days:"months",months:"years",years:"days"},z=(a,l)=>{p!==void 0&&p(a,l)},J=(a,l)=>{t!=="days"&&i(G[t]),c!==void 0&&c(a,l)},Q=()=>{h(!0),m&&m()},U=()=>{h(!1),i("days"),f&&f()},X={customInput:_jsxruntime.jsx.call(void 0, _chunkEHKTA7G5cjs.a,{ref:S,className:"","data-calendar-state":Y?"open":"closed"}),renderCustomHeader:a=>_jsxruntime.jsx.call(void 0, _chunk53SQGRZUcjs.a,{...a,view:t,onClick:()=>{i(_[t])},disableTodayIndicator:A})},b=o&&n==="invalid",Z={"aria-labelledby":k,"aria-describedby":B,"aria-invalid":b?!0:void 0,"aria-errormessage":b&&s!==void 0?d:void 0},j={calendarClassName:`${e}Calendar`,dayClassName:()=>`${e}Day`,weekClassName:()=>`${e}Week`,monthClassName:()=>`${e}Month`,yearClassName:()=>`${e}Year`,popperClassName:`${e}Popper`},ee={required:C,disabled:P,readOnly:u,calendarStartDay:1,showIcon:!1,dateFormat:"dd/MM/yyyy",formatWeekDay:a=>a.toString().charAt(0)},te={showPopperArrow:!1,popperModifiers:[_dom.offset.call(void 0, -6)],popperPlacement:"bottom-start",popperProps:{strategy:"fixed"},popperContainer:_radixui.Portal.Root},ae={...{onChange:z,onSelect:J,onCalendarClose:U,onCalendarOpen:Q},...ee,...Z,...te,...j,...{showMonthYearPicker:t==="months",showYearPicker:t==="years",shouldCloseOnSelect:t==="days",closeOnScroll:!0},...X,...K};return _jsxruntime.jsx.call(void 0, _chunk5PLNI5FWcjs.a,{className:_chunkONNSZMWFcjs.a.call(void 0, e,R),"data-testid":e,...q,children:_jsxruntime.jsx.call(void 0, _reactdatepicker2.default,{...ae,selectsRange:!1,selectsMultiple:!1})})});ie.displayName=H;exports.a = ie;
4
+ //# sourceMappingURL=chunk-GYH2XRV5.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-X47DSANX.cjs","../src/components/DatePicker/DatePicker.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","DatePicker","forwardRef","props","ref","className","onChange","onSelect","onCalendarOpen","onCalendarClose","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","readOnly","required","disableTodayIndicator","datePickerProps","extractProps","marginPropDefs","calendarOpen","setCalendarOpen","useState","view","setView","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","ariaDescribedbyValue","mergeIds","prevView","nextView","handleChange","date","event","handleSelect","handleCalendarOpen","handleCalendarClose","customComponents","jsx","DatePickerTrigger","DatePickerHeader","isInvalid","ariaProps","classNameProps"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-X47DSANX.cjs","sourcesContent":[null,"'use client';\n\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport DatePickerPrimitive from 'react-datepicker';\nimport type { ReactDatePickerCustomHeaderProps } from 'react-datepicker';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { cn } from '../../helpers/cn';\nimport { offset } from '@floating-ui/dom';\nimport type { DatePickerProps, View } from './DatePicker.props';\nimport { DatePickerTrigger } from './DatePickerTrigger';\nimport { DatePickerHeader } from './DatePickerHeader';\nimport { FormField } from '../FormField/FormField';\nimport { useIds } from '../../hooks/use-ids';\nimport { mergeIds } from '../../helpers/merge-ids';\nimport { Portal } from 'radix-ui';\nimport { forwardRef, useState } from 'react';\nimport type { ComponentRef, MouseEvent, KeyboardEvent } from 'react';\n\nconst COMPONENT_NAME = 'DatePicker';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype DatePickerElement = ComponentRef<'button'>;\n\n/**\n * Use DatePicker when a user needs to specify a single date via an\n * expandable calendar. It is built on the React Datepicker library and only\n * supports single-date selection — range and multi-date selection are not\n * supported.\n *\n * For faster, manual date entry without a calendar, use DateInput instead.\n *\n * @summary A field for selecting a single date from an expandable calendar.\n */\nexport const DatePicker = forwardRef<DatePickerElement, DatePickerProps>((props, ref) => {\n const {\n className,\n onChange,\n onSelect,\n onCalendarOpen,\n onCalendarClose,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n readOnly,\n required,\n disableTodayIndicator,\n ...datePickerProps\n } = extractProps(props, marginPropDefs);\n\n const [calendarOpen, setCalendarOpen] = useState(false);\n const [view, setView] = useState<View>('days');\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'date-picker',\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 ariaDescribedbyValue = mergeIds(\n !!helperText ? helperTextId : undefined,\n showValidation && validationStatus !== undefined && validationText !== undefined\n ? validationTextId\n : undefined\n );\n\n const prevView: { [key in View]: View } = {\n days: 'days',\n months: 'days',\n years: 'months',\n };\n\n const nextView: { [key in View]: View } = {\n days: 'months',\n months: 'years',\n years: 'days',\n };\n\n const handleChange = (\n date: Date | null,\n event?: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (onChange !== undefined) {\n onChange(date, event);\n }\n };\n\n const handleSelect = (\n date: Date | null,\n event?: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (view !== 'days') {\n setView(prevView[view]);\n }\n if (onSelect !== undefined) {\n onSelect(date, event);\n }\n };\n\n const handleCalendarOpen = () => {\n setCalendarOpen(true);\n if (onCalendarOpen) {\n onCalendarOpen();\n }\n };\n\n const handleCalendarClose = () => {\n setCalendarOpen(false);\n setView('days');\n if (onCalendarClose) {\n onCalendarClose();\n }\n };\n\n const customComponents = {\n customInput: (\n <DatePickerTrigger\n ref={ref}\n className=\"\"\n data-calendar-state={calendarOpen ? 'open' : 'closed'}\n />\n ),\n renderCustomHeader: (props: ReactDatePickerCustomHeaderProps) => (\n <DatePickerHeader\n {...props}\n view={view}\n onClick={() => {\n setView(nextView[view]);\n }}\n disableTodayIndicator={disableTodayIndicator}\n />\n ),\n };\n\n const isInvalid = showValidation && validationStatus === 'invalid';\n\n const ariaProps = {\n 'aria-labelledby': labelId,\n 'aria-describedby': ariaDescribedbyValue,\n 'aria-invalid': isInvalid ? true : undefined,\n 'aria-errormessage': isInvalid && validationText !== undefined ? validationTextId : undefined,\n };\n\n const classNameProps = {\n calendarClassName: `${componentClassName}Calendar`,\n dayClassName: () => `${componentClassName}Day`,\n weekClassName: () => `${componentClassName}Week`,\n monthClassName: () => `${componentClassName}Month`,\n yearClassName: () => `${componentClassName}Year`,\n popperClassName: `${componentClassName}Popper`,\n };\n\n const defaultProps = {\n required,\n disabled,\n readOnly,\n calendarStartDay: 1,\n showIcon: false,\n dateFormat: 'dd/MM/yyyy',\n formatWeekDay: (day: Date) => day.toString().charAt(0),\n };\n\n const popperProps = {\n showPopperArrow: false,\n popperModifiers: [offset(-6)],\n popperPlacement: 'bottom-start',\n popperProps: { strategy: 'fixed' },\n popperContainer: Portal.Root,\n };\n\n const eventHandlingProps = {\n onChange: handleChange,\n onSelect: handleSelect,\n onCalendarClose: handleCalendarClose,\n onCalendarOpen: handleCalendarOpen,\n };\n\n const stateProps = {\n showMonthYearPicker: view === 'months',\n showYearPicker: view === 'years',\n shouldCloseOnSelect: view === 'days',\n closeOnScroll: true,\n };\n\n const reactDatePickerProps = {\n ...eventHandlingProps,\n ...defaultProps,\n ...ariaProps,\n ...popperProps,\n ...classNameProps,\n ...stateProps,\n ...customComponents,\n ...datePickerProps,\n };\n\n return (\n <FormField\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...formFieldProps}\n >\n <DatePickerPrimitive\n {...reactDatePickerProps}\n // @ts-expect-error having to be explicit about these types to ensure onChange type is correct\n selectsRange={false}\n // @ts-expect-error having to be explicit about these types to ensure onChange type is correct\n selectsMultiple={false}\n />\n </FormField>\n );\n});\n\nDatePicker.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-GYH2XRV5.cjs","../src/components/DatePicker/DatePicker.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","DatePicker","forwardRef","props","ref","className","onChange","onSelect","onCalendarOpen","onCalendarClose","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","readOnly","required","disableTodayIndicator","datePickerProps","extractProps","marginPropDefs","calendarOpen","setCalendarOpen","useState","view","setView","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","ariaDescribedbyValue","mergeIds","prevView","nextView","handleChange","date","event","handleSelect","handleCalendarOpen","handleCalendarClose","customComponents","jsx","DatePickerTrigger","DatePickerHeader","isInvalid","ariaProps","classNameProps"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-GYH2XRV5.cjs","sourcesContent":[null,"'use client';\n\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport DatePickerPrimitive from 'react-datepicker';\nimport type { ReactDatePickerCustomHeaderProps } from 'react-datepicker';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { cn } from '../../helpers/cn';\nimport { offset } from '@floating-ui/dom';\nimport type { DatePickerProps, View } from './DatePicker.props';\nimport { DatePickerTrigger } from './DatePickerTrigger';\nimport { DatePickerHeader } from './DatePickerHeader';\nimport { FormField } from '../FormField/FormField';\nimport { useIds } from '../../hooks/use-ids';\nimport { mergeIds } from '../../helpers/merge-ids';\nimport { Portal } from 'radix-ui';\nimport { forwardRef, useState } from 'react';\nimport type { ComponentRef, MouseEvent, KeyboardEvent } from 'react';\n\nconst COMPONENT_NAME = 'DatePicker';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype DatePickerElement = ComponentRef<'button'>;\n\n/**\n * Use DatePicker when a user needs to specify a single date via an\n * expandable calendar. It is built on the React Datepicker library and only\n * supports single-date selection — range and multi-date selection are not\n * supported.\n *\n * For faster, manual date entry without a calendar, use DateInput instead.\n *\n * @summary A field for selecting a single date from an expandable calendar.\n */\nexport const DatePicker = forwardRef<DatePickerElement, DatePickerProps>((props, ref) => {\n const {\n className,\n onChange,\n onSelect,\n onCalendarOpen,\n onCalendarClose,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n readOnly,\n required,\n disableTodayIndicator,\n ...datePickerProps\n } = extractProps(props, marginPropDefs);\n\n const [calendarOpen, setCalendarOpen] = useState(false);\n const [view, setView] = useState<View>('days');\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'date-picker',\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 ariaDescribedbyValue = mergeIds(\n !!helperText ? helperTextId : undefined,\n showValidation && validationStatus !== undefined && validationText !== undefined\n ? validationTextId\n : undefined\n );\n\n const prevView: { [key in View]: View } = {\n days: 'days',\n months: 'days',\n years: 'months',\n };\n\n const nextView: { [key in View]: View } = {\n days: 'months',\n months: 'years',\n years: 'days',\n };\n\n const handleChange = (\n date: Date | null,\n event?: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (onChange !== undefined) {\n onChange(date, event);\n }\n };\n\n const handleSelect = (\n date: Date | null,\n event?: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (view !== 'days') {\n setView(prevView[view]);\n }\n if (onSelect !== undefined) {\n onSelect(date, event);\n }\n };\n\n const handleCalendarOpen = () => {\n setCalendarOpen(true);\n if (onCalendarOpen) {\n onCalendarOpen();\n }\n };\n\n const handleCalendarClose = () => {\n setCalendarOpen(false);\n setView('days');\n if (onCalendarClose) {\n onCalendarClose();\n }\n };\n\n const customComponents = {\n customInput: (\n <DatePickerTrigger\n ref={ref}\n className=\"\"\n data-calendar-state={calendarOpen ? 'open' : 'closed'}\n />\n ),\n renderCustomHeader: (props: ReactDatePickerCustomHeaderProps) => (\n <DatePickerHeader\n {...props}\n view={view}\n onClick={() => {\n setView(nextView[view]);\n }}\n disableTodayIndicator={disableTodayIndicator}\n />\n ),\n };\n\n const isInvalid = showValidation && validationStatus === 'invalid';\n\n const ariaProps = {\n 'aria-labelledby': labelId,\n 'aria-describedby': ariaDescribedbyValue,\n 'aria-invalid': isInvalid ? true : undefined,\n 'aria-errormessage': isInvalid && validationText !== undefined ? validationTextId : undefined,\n };\n\n const classNameProps = {\n calendarClassName: `${componentClassName}Calendar`,\n dayClassName: () => `${componentClassName}Day`,\n weekClassName: () => `${componentClassName}Week`,\n monthClassName: () => `${componentClassName}Month`,\n yearClassName: () => `${componentClassName}Year`,\n popperClassName: `${componentClassName}Popper`,\n };\n\n const defaultProps = {\n required,\n disabled,\n readOnly,\n calendarStartDay: 1,\n showIcon: false,\n dateFormat: 'dd/MM/yyyy',\n formatWeekDay: (day: Date) => day.toString().charAt(0),\n };\n\n const popperProps = {\n showPopperArrow: false,\n popperModifiers: [offset(-6)],\n popperPlacement: 'bottom-start',\n popperProps: { strategy: 'fixed' },\n popperContainer: Portal.Root,\n };\n\n const eventHandlingProps = {\n onChange: handleChange,\n onSelect: handleSelect,\n onCalendarClose: handleCalendarClose,\n onCalendarOpen: handleCalendarOpen,\n };\n\n const stateProps = {\n showMonthYearPicker: view === 'months',\n showYearPicker: view === 'years',\n shouldCloseOnSelect: view === 'days',\n closeOnScroll: true,\n };\n\n const reactDatePickerProps = {\n ...eventHandlingProps,\n ...defaultProps,\n ...ariaProps,\n ...popperProps,\n ...classNameProps,\n ...stateProps,\n ...customComponents,\n ...datePickerProps,\n };\n\n return (\n <FormField\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...formFieldProps}\n >\n <DatePickerPrimitive\n {...reactDatePickerProps}\n // @ts-expect-error having to be explicit about these types to ensure onChange type is correct\n selectsRange={false}\n // @ts-expect-error having to be explicit about these types to ensure onChange type is correct\n selectsMultiple={false}\n />\n </FormField>\n );\n});\n\nDatePicker.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkUGXE62RPcjs = require('./chunk-UGXE62RP.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.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}=_chunkAPXABE3Qcjs.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, _chunkUGXE62RPcjs.a,{...R}):null,_jsxruntime.jsx.call(void 0, _radixui.Accordion.Root,{...y})]})});u.displayName=s;exports.a = u;
4
- //# sourceMappingURL=chunk-HPWICESJ.cjs.map
3
+ var _chunkT545JMFIcjs = require('./chunk-T545JMFI.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.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}=_chunkAPXABE3Qcjs.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, _chunkT545JMFIcjs.a,{...R}):null,_jsxruntime.jsx.call(void 0, _radixui.Accordion.Root,{...y})]})});u.displayName=s;exports.a = u;
4
+ //# sourceMappingURL=chunk-H7RKHJW4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-HPWICESJ.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-HPWICESJ.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-H7RKHJW4.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-H7RKHJW4.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,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkDT6UGKV4cjs = require('./chunk-DT6UGKV4.cjs');var _chunk4TQZRZEMcjs = require('./chunk-4TQZRZEM.cjs');var _chunk5O535YRWcjs = require('./chunk-5O535YRW.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkEDOOI4SYcjs = require('./chunk-EDOOI4SY.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var N="ProgressBar",x=_chunk4Q432K4Wcjs.b.call(void 0, N),D= exports.a =_react.forwardRef.call(void 0, (h,y)=>{let{className:C,variant:o="linear",colorScheme:s="default",value:T,min:e=0,max:r=100,label:E,formatValueText:t,"aria-valuetext":M,hideLabel:V,...w}=_chunkAPXABE3Qcjs.a.call(void 0, h,_chunk4TQZRZEMcjs.a,_chunkOB7O3UFLcjs.a),{labelId:l}=_chunkRIHABKWYcjs.a.call(void 0, {prefix:"progress"}),a=s==="success"?r:Math.max(e,Math.min(T,r)),m=_chunkEDOOI4SYcjs.a.call(void 0, a,e,r),i=t?t(a):`${m}%`,p={value:m,label:E,valueText:i,labelId:l,hideLabel:V};return _jsxruntime.jsxs.call(void 0, "div",{ref:y,className:_chunkONNSZMWFcjs.a.call(void 0, x,C),role:"progressbar","aria-valuenow":a,"aria-valuemin":e,"aria-valuemax":r,"aria-valuetext":M||i,"aria-labelledby":l,"data-colorscheme":s,"data-testid":x,...w,children:[o==="linear"?_jsxruntime.jsx.call(void 0, _chunkDT6UGKV4cjs.a,{...p}):null,o==="circular"?_jsxruntime.jsx.call(void 0, _chunk5O535YRWcjs.a,{...p}):null]})});D.displayName=N;exports.a = D;
4
- //# sourceMappingURL=chunk-PRWGO2PS.cjs.map
3
+ var _chunkHD5AGH5Ycjs = require('./chunk-HD5AGH5Y.cjs');var _chunk57UF42KDcjs = require('./chunk-57UF42KD.cjs');var _chunk4TQZRZEMcjs = require('./chunk-4TQZRZEM.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkEDOOI4SYcjs = require('./chunk-EDOOI4SY.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var N="ProgressBar",x=_chunk4Q432K4Wcjs.b.call(void 0, N),D= exports.a =_react.forwardRef.call(void 0, (h,y)=>{let{className:C,variant:o="linear",colorScheme:s="default",value:T,min:e=0,max:r=100,label:E,formatValueText:t,"aria-valuetext":M,hideLabel:V,...w}=_chunkAPXABE3Qcjs.a.call(void 0, h,_chunk4TQZRZEMcjs.a,_chunkOB7O3UFLcjs.a),{labelId:l}=_chunkRIHABKWYcjs.a.call(void 0, {prefix:"progress"}),a=s==="success"?r:Math.max(e,Math.min(T,r)),m=_chunkEDOOI4SYcjs.a.call(void 0, a,e,r),i=t?t(a):`${m}%`,p={value:m,label:E,valueText:i,labelId:l,hideLabel:V};return _jsxruntime.jsxs.call(void 0, "div",{ref:y,className:_chunkONNSZMWFcjs.a.call(void 0, x,C),role:"progressbar","aria-valuenow":a,"aria-valuemin":e,"aria-valuemax":r,"aria-valuetext":M||i,"aria-labelledby":l,"data-colorscheme":s,"data-testid":x,...w,children:[o==="linear"?_jsxruntime.jsx.call(void 0, _chunk57UF42KDcjs.a,{...p}):null,o==="circular"?_jsxruntime.jsx.call(void 0, _chunkHD5AGH5Ycjs.a,{...p}):null]})});D.displayName=N;exports.a = D;
4
+ //# sourceMappingURL=chunk-HCKLXU3O.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-PRWGO2PS.cjs","../src/components/ProgressBar/ProgressBar.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","ProgressBar","forwardRef","props","ref","className","variant","colorScheme","value","min","max","label","formatValueText","ariaValueText","hideLabel","progressBarProps","extractProps","progressBarPropDefs","marginPropDefs","labelId","useIds","effectiveValue","percentValue","valueToPercent","valueText"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,8BCUrV,+CAmDvB,IAhDEA,CAAAA,CAAiB,aAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAa7CC,CAAAA,aAAcC,+BAAAA,CAAkDC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CAC1F,GAAM,CACJ,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,QAAA,CACV,WAAA,CAAAC,CAAAA,CAAc,SAAA,CACd,KAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CAAM,CAAA,CACN,GAAA,CAAAC,CAAAA,CAAM,GAAA,CACN,KAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,gBAAA,CAAkBC,CAAAA,CAClB,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAab,CAAOc,mBAAAA,CAAqBC,mBAAc,CAAA,CAErD,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAAS,MAAA,CAAQ,UAAW,CAAC,CAAA,CAI3CC,CAAAA,CAAiBd,CAAAA,GAAgB,SAAA,CAAYG,CAAAA,CAAM,IAAA,CAAK,GAAA,CAAID,CAAAA,CAAK,IAAA,CAAK,GAAA,CAAID,CAAAA,CAAOE,CAAG,CAAC,CAAA,CAErFY,CAAAA,CAAeC,iCAAAA,CAAeF,CAAgBZ,CAAAA,CAAKC,CAAG,CAAA,CAEtDc,CAAAA,CAAYZ,CAAAA,CAAkBA,CAAAA,CAAgBS,CAAc,CAAA,CAAI,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-PRWGO2PS.cjs","sourcesContent":[null,"'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { progressBarPropDefs } from './ProgressBar.props';\nimport type { ProgressBarProps } from './ProgressBar.props';\nimport { ProgressBarLinear } from './ProgressBarLinear';\nimport { valueToPercent } from '../../helpers/value-to-percent';\nimport { useIds } from '../../hooks/use-ids';\nimport { ProgressBarCircular } from './ProgressBarCircular';\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'ProgressBar';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ProgressBarElement = ComponentRef<'div'>;\n\n/**\n * Use ProgressBar to show the progress of a task or process as a linear or\n * circular bar. Use the `colorScheme` prop to indicate success or danger\n * states, and always provide a `label` describing what is progressing (this\n * can be visually hidden with `hideLabel`). For a multi-step process where\n * each step is discrete, use ProgressStepper instead.\n *\n * @summary Displays the progress of a task or process as a linear or circular bar.\n */\nexport const ProgressBar = forwardRef<ProgressBarElement, ProgressBarProps>((props, ref) => {\n const {\n className,\n variant = 'linear',\n colorScheme = 'default',\n value,\n min = 0,\n max = 100,\n label,\n formatValueText,\n 'aria-valuetext': ariaValueText,\n hideLabel,\n ...progressBarProps\n } = extractProps(props, progressBarPropDefs, marginPropDefs);\n\n const { labelId } = useIds({ prefix: 'progress' });\n\n // Determine the logical value based on status\n // If 'success', we force 100% (max); otherwise, we clamp the actual value.\n const effectiveValue = colorScheme === 'success' ? max : Math.max(min, Math.min(value, max));\n // Get the whole number percentage\n const percentValue = valueToPercent(effectiveValue, min, max);\n // Determine the text display\n const valueText = formatValueText ? formatValueText(effectiveValue) : `${percentValue}%`;\n\n const internalProgressBarProps = {\n value: percentValue,\n label,\n valueText,\n labelId,\n hideLabel,\n };\n\n return (\n <div\n ref={ref}\n className={cn(componentClassName, className)}\n role=\"progressbar\"\n aria-valuenow={effectiveValue}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuetext={ariaValueText || valueText}\n aria-labelledby={labelId}\n data-colorscheme={colorScheme}\n data-testid={componentClassName}\n {...progressBarProps}\n >\n {variant === 'linear' ? <ProgressBarLinear {...internalProgressBarProps} /> : null}\n {variant === 'circular' ? <ProgressBarCircular {...internalProgressBarProps} /> : null}\n </div>\n );\n});\n\nProgressBar.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-HCKLXU3O.cjs","../src/components/ProgressBar/ProgressBar.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","ProgressBar","forwardRef","props","ref","className","variant","colorScheme","value","min","max","label","formatValueText","ariaValueText","hideLabel","progressBarProps","extractProps","progressBarPropDefs","marginPropDefs","labelId","useIds","effectiveValue","percentValue","valueToPercent","valueText"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,8BCUrV,+CAmDvB,IAhDEA,CAAAA,CAAiB,aAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAa7CC,CAAAA,aAAcC,+BAAAA,CAAkDC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CAC1F,GAAM,CACJ,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,QAAA,CACV,WAAA,CAAAC,CAAAA,CAAc,SAAA,CACd,KAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CAAM,CAAA,CACN,GAAA,CAAAC,CAAAA,CAAM,GAAA,CACN,KAAA,CAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,gBAAA,CAAkBC,CAAAA,CAClB,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAIC,iCAAAA,CAAab,CAAOc,mBAAAA,CAAqBC,mBAAc,CAAA,CAErD,CAAE,OAAA,CAAAC,CAAQ,CAAA,CAAIC,iCAAAA,CAAS,MAAA,CAAQ,UAAW,CAAC,CAAA,CAI3CC,CAAAA,CAAiBd,CAAAA,GAAgB,SAAA,CAAYG,CAAAA,CAAM,IAAA,CAAK,GAAA,CAAID,CAAAA,CAAK,IAAA,CAAK,GAAA,CAAID,CAAAA,CAAOE,CAAG,CAAC,CAAA,CAErFY,CAAAA,CAAeC,iCAAAA,CAAeF,CAAgBZ,CAAAA,CAAKC,CAAG,CAAA,CAEtDc,CAAAA,CAAYZ,CAAAA,CAAkBA,CAAAA,CAAgBS,CAAc,CAAA,CAAI,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-HCKLXU3O.cjs","sourcesContent":[null,"'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { progressBarPropDefs } from './ProgressBar.props';\nimport type { ProgressBarProps } from './ProgressBar.props';\nimport { ProgressBarLinear } from './ProgressBarLinear';\nimport { valueToPercent } from '../../helpers/value-to-percent';\nimport { useIds } from '../../hooks/use-ids';\nimport { ProgressBarCircular } from './ProgressBarCircular';\nimport { forwardRef } from 'react';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'ProgressBar';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ProgressBarElement = ComponentRef<'div'>;\n\n/**\n * Use ProgressBar to show the progress of a task or process as a linear or\n * circular bar. Use the `colorScheme` prop to indicate success or danger\n * states, and always provide a `label` describing what is progressing (this\n * can be visually hidden with `hideLabel`). For a multi-step process where\n * each step is discrete, use ProgressStepper instead.\n *\n * @summary Displays the progress of a task or process as a linear or circular bar.\n */\nexport const ProgressBar = forwardRef<ProgressBarElement, ProgressBarProps>((props, ref) => {\n const {\n className,\n variant = 'linear',\n colorScheme = 'default',\n value,\n min = 0,\n max = 100,\n label,\n formatValueText,\n 'aria-valuetext': ariaValueText,\n hideLabel,\n ...progressBarProps\n } = extractProps(props, progressBarPropDefs, marginPropDefs);\n\n const { labelId } = useIds({ prefix: 'progress' });\n\n // Determine the logical value based on status\n // If 'success', we force 100% (max); otherwise, we clamp the actual value.\n const effectiveValue = colorScheme === 'success' ? max : Math.max(min, Math.min(value, max));\n // Get the whole number percentage\n const percentValue = valueToPercent(effectiveValue, min, max);\n // Determine the text display\n const valueText = formatValueText ? formatValueText(effectiveValue) : `${percentValue}%`;\n\n const internalProgressBarProps = {\n value: percentValue,\n label,\n valueText,\n labelId,\n hideLabel,\n };\n\n return (\n <div\n ref={ref}\n className={cn(componentClassName, className)}\n role=\"progressbar\"\n aria-valuenow={effectiveValue}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuetext={ariaValueText || valueText}\n aria-labelledby={labelId}\n data-colorscheme={colorScheme}\n data-testid={componentClassName}\n {...progressBarProps}\n >\n {variant === 'linear' ? <ProgressBarLinear {...internalProgressBarProps} /> : null}\n {variant === 'circular' ? <ProgressBarCircular {...internalProgressBarProps} /> : null}\n </div>\n );\n});\n\nProgressBar.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunk63YIUVEIcjs = require('./chunk-63YIUVEI.cjs');var _chunkEAJQUKUYcjs = require('./chunk-EAJQUKUY.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var l="ProgressBarCircular",r=_chunk4Q432K4Wcjs.b.call(void 0, l),d= exports.a =_react.forwardRef.call(void 0, ({value:i,label:m,labelId:n,valueText:c,...p},g)=>_jsxruntime.jsxs.call(void 0, "div",{ref:g,className:r,...p,style:{"--h-value":`${i}`},children:[_jsxruntime.jsxs.call(void 0, "svg",{xmlns:"http://www.w3.org/2000/svg",role:"img","aria-hidden":"true",children:[_jsxruntime.jsx.call(void 0, "circle",{className:`${r}Track`}),_jsxruntime.jsx.call(void 0, "circle",{className:`${r}Indicator`})]}),_jsxruntime.jsxs.call(void 0, "div",{className:`${r}Content`,children:[_jsxruntime.jsx.call(void 0, _chunk63YIUVEIcjs.a,{children:c}),_jsxruntime.jsx.call(void 0, _chunkEAJQUKUYcjs.a,{id:n,children:m})]})]}));d.displayName=l;exports.a = d;
4
- //# sourceMappingURL=chunk-5O535YRW.cjs.map
3
+ var _chunkEAJQUKUYcjs = require('./chunk-EAJQUKUY.cjs');var _chunk63YIUVEIcjs = require('./chunk-63YIUVEI.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var l="ProgressBarCircular",r=_chunk4Q432K4Wcjs.b.call(void 0, l),d= exports.a =_react.forwardRef.call(void 0, ({value:i,label:m,labelId:n,valueText:c,...p},g)=>_jsxruntime.jsxs.call(void 0, "div",{ref:g,className:r,...p,style:{"--h-value":`${i}`},children:[_jsxruntime.jsxs.call(void 0, "svg",{xmlns:"http://www.w3.org/2000/svg",role:"img","aria-hidden":"true",children:[_jsxruntime.jsx.call(void 0, "circle",{className:`${r}Track`}),_jsxruntime.jsx.call(void 0, "circle",{className:`${r}Indicator`})]}),_jsxruntime.jsxs.call(void 0, "div",{className:`${r}Content`,children:[_jsxruntime.jsx.call(void 0, _chunk63YIUVEIcjs.a,{children:c}),_jsxruntime.jsx.call(void 0, _chunkEAJQUKUYcjs.a,{id:n,children:m})]})]}));d.displayName=l;exports.a = d;
4
+ //# sourceMappingURL=chunk-HD5AGH5Y.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-5O535YRW.cjs","../src/components/ProgressBar/ProgressBarCircular.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","ProgressBarCircular","forwardRef","value","label","labelId","valueText","props","ref","jsxs"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,8BCF/F,+CAsBnB,IAfFA,CAAAA,CAAiB,qBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAU7CC,CAAAA,aAAsBC,+BAAAA,CAChC,CAAE,KAAA,CAAAC,CAAAA,CAAO,KAAA,CAAAC,CAAAA,CAAO,OAAA,CAAAC,CAAAA,CAAS,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAE7CC,8BAAAA,KAAC,CAAA,CAAI,GAAA,CAAKD,CAAAA,CAAK,SAAA,CAAWT,CAAAA,CAAqB,GAAGQ,CAAAA,CAAO,KAAA,CAAO,CAAE,WAAA,CAAa,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-5O535YRW.cjs","sourcesContent":[null,"import { forwardRef } from 'react';\nimport type { ProgressBarInternalProps } from './ProgressBar.props';\nimport { ProgressBarLabel } from './ProgressBarLabel';\nimport { ProgressBarValueText } from './ProgressBarValueText';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'ProgressBarCircular';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ProgressBarCircularElement = ComponentRef<'div'>;\n\ndeclare module 'react' {\n interface CSSProperties {\n '--h-value'?: string;\n }\n}\n\nexport const ProgressBarCircular = forwardRef<ProgressBarCircularElement, ProgressBarInternalProps>(\n ({ value, label, labelId, valueText, ...props }, ref) => {\n return (\n <div ref={ref} className={componentClassName} {...props} style={{ '--h-value': `${value}` }}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-hidden=\"true\">\n <circle className={`${componentClassName}Track`} />\n <circle className={`${componentClassName}Indicator`} />\n </svg>\n <div className={`${componentClassName}Content`}>\n <ProgressBarValueText>{valueText}</ProgressBarValueText>\n <ProgressBarLabel id={labelId}>{label}</ProgressBarLabel>\n </div>\n </div>\n );\n }\n);\n\nProgressBarCircular.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-HD5AGH5Y.cjs","../src/components/ProgressBar/ProgressBarCircular.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","ProgressBarCircular","forwardRef","value","label","labelId","valueText","props","ref","jsxs"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,8BCF/F,+CAsBnB,IAfFA,CAAAA,CAAiB,qBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAU7CC,CAAAA,aAAsBC,+BAAAA,CAChC,CAAE,KAAA,CAAAC,CAAAA,CAAO,KAAA,CAAAC,CAAAA,CAAO,OAAA,CAAAC,CAAAA,CAAS,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAE7CC,8BAAAA,KAAC,CAAA,CAAI,GAAA,CAAKD,CAAAA,CAAK,SAAA,CAAWT,CAAAA,CAAqB,GAAGQ,CAAAA,CAAO,KAAA,CAAO,CAAE,WAAA,CAAa,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-HD5AGH5Y.cjs","sourcesContent":[null,"import { forwardRef } from 'react';\nimport type { ProgressBarInternalProps } from './ProgressBar.props';\nimport { ProgressBarLabel } from './ProgressBarLabel';\nimport { ProgressBarValueText } from './ProgressBarValueText';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'ProgressBarCircular';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype ProgressBarCircularElement = ComponentRef<'div'>;\n\ndeclare module 'react' {\n interface CSSProperties {\n '--h-value'?: string;\n }\n}\n\nexport const ProgressBarCircular = forwardRef<ProgressBarCircularElement, ProgressBarInternalProps>(\n ({ value, label, labelId, valueText, ...props }, ref) => {\n return (\n <div ref={ref} className={componentClassName} {...props} style={{ '--h-value': `${value}` }}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-hidden=\"true\">\n <circle className={`${componentClassName}Track`} />\n <circle className={`${componentClassName}Indicator`} />\n </svg>\n <div className={`${componentClassName}Content`}>\n <ProgressBarValueText>{valueText}</ProgressBarValueText>\n <ProgressBarLabel id={labelId}>{label}</ProgressBarLabel>\n </div>\n </div>\n );\n }\n);\n\nProgressBarCircular.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkASNOFSPAcjs = require('./chunk-ASNOFSPA.cjs');var _chunkFFOORK5Pcjs = require('./chunk-FFOORK5P.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 d="AccordionItem",o=_chunk4Q432K4Wcjs.b.call(void 0, d),P= exports.a =_react.forwardRef.call(void 0, ({className:a,title:e,description:c,children:s,headingElement:A,...f},l)=>_jsxruntime.jsxs.call(void 0, _radixui.Accordion.Item,{ref:l,className:_chunkONNSZMWFcjs.a.call(void 0, o,a),...f,children:[e?_jsxruntime.jsxs.call(void 0, "div",{className:`${o}Header`,children:[_jsxruntime.jsx.call(void 0, _chunkFFOORK5Pcjs.a,{as:A,children:_jsxruntime.jsx.call(void 0, _chunkASNOFSPAcjs.a,{children:e})}),c?_jsxruntime.jsx.call(void 0, "span",{className:`${o}Description`,children:c}):null]}):null,s]}));P.displayName=d;exports.a = P;
4
- //# sourceMappingURL=chunk-II4GKC6I.cjs.map
3
+ var _chunkFFOORK5Pcjs = require('./chunk-FFOORK5P.cjs');var _chunkASNOFSPAcjs = require('./chunk-ASNOFSPA.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 d="AccordionItem",o=_chunk4Q432K4Wcjs.b.call(void 0, d),P= exports.a =_react.forwardRef.call(void 0, ({className:a,title:e,description:c,children:s,headingElement:A,...f},l)=>_jsxruntime.jsxs.call(void 0, _radixui.Accordion.Item,{ref:l,className:_chunkONNSZMWFcjs.a.call(void 0, o,a),...f,children:[e?_jsxruntime.jsxs.call(void 0, "div",{className:`${o}Header`,children:[_jsxruntime.jsx.call(void 0, _chunkFFOORK5Pcjs.a,{as:A,children:_jsxruntime.jsx.call(void 0, _chunkASNOFSPAcjs.a,{children:e})}),c?_jsxruntime.jsx.call(void 0, "span",{className:`${o}Description`,children:c}):null]}):null,s]}));P.displayName=d;exports.a = P;
4
+ //# sourceMappingURL=chunk-HJTLMVKL.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-II4GKC6I.cjs","../src/components/Accordion/AccordionItem.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","AccordionItem","forwardRef","className","title","description","children","headingElement","props","ref","jsxs","AccordionPrimitive","cn"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,8BCAxI,mCAIqB,+CAuBtC,IAlBJA,CAAAA,CAAiB,eAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAgBC,+BAAAA,CAC1B,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAO,WAAA,CAAAC,CAAAA,CAAa,QAAA,CAAAC,CAAAA,CAAU,cAAA,CAAAC,CAAAA,CAAgB,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAEpEC,8BAAAA,kBAACC,CAAmB,IAAA,CAAnB,CAAwB,GAAA,CAAKF,CAAAA,CAAK,SAAA,CAAWG,iCAAAA,CAAGb,CAAoBI,CAAS,CAAA,CAAI,GAAGK,CAAAA,CAClF,QAAA,CAAA,CAAAJ,CAAAA,CACCM,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-II4GKC6I.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { AccordionItemProps } from './AccordionItem.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { AccordionTrigger } from './AccordionTrigger';\nimport { AccordionHeader } from './AccordionHeader';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'AccordionItem';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype AccordionItemElement = ComponentRef<'div'>;\n\n/**\n * Use AccordionItem for a single expandable/collapsible section within an\n * Accordion. Set `title` (and optionally `description`) for the built-in\n * header, or omit `title` and compose `AccordionHeader`, `AccordionTrigger`,\n * and `AccordionContent` manually as children.\n *\n * @summary A single expandable/collapsible section within an Accordion.\n */\nexport const AccordionItem = forwardRef<AccordionItemElement, AccordionItemProps>(\n ({ className, title, description, children, headingElement, ...props }, ref) => {\n return (\n <AccordionPrimitive.Item ref={ref} className={cn(componentClassName, className)} {...props}>\n {title ? (\n <div className={`${componentClassName}Header`}>\n <AccordionHeader as={headingElement}>\n <AccordionTrigger>{title}</AccordionTrigger>\n </AccordionHeader>\n {description ? (\n <span className={`${componentClassName}Description`}>{description}</span>\n ) : null}\n </div>\n ) : null}\n\n {children}\n </AccordionPrimitive.Item>\n );\n }\n);\n\nAccordionItem.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-HJTLMVKL.cjs","../src/components/Accordion/AccordionItem.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","AccordionItem","forwardRef","className","title","description","children","headingElement","props","ref","jsxs","AccordionPrimitive","cn"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,8BCAxI,mCAIqB,+CAuBtC,IAlBJA,CAAAA,CAAiB,eAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAgBC,+BAAAA,CAC1B,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAO,WAAA,CAAAC,CAAAA,CAAa,QAAA,CAAAC,CAAAA,CAAU,cAAA,CAAAC,CAAAA,CAAgB,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAEpEC,8BAAAA,kBAACC,CAAmB,IAAA,CAAnB,CAAwB,GAAA,CAAKF,CAAAA,CAAK,SAAA,CAAWG,iCAAAA,CAAGb,CAAoBI,CAAS,CAAA,CAAI,GAAGK,CAAAA,CAClF,QAAA,CAAA,CAAAJ,CAAAA,CACCM,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAW,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-HJTLMVKL.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef } from 'react';\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { AccordionItemProps } from './AccordionItem.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { AccordionTrigger } from './AccordionTrigger';\nimport { AccordionHeader } from './AccordionHeader';\nimport type { ComponentRef } from 'react';\n\nconst COMPONENT_NAME = 'AccordionItem';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype AccordionItemElement = ComponentRef<'div'>;\n\n/**\n * Use AccordionItem for a single expandable/collapsible section within an\n * Accordion. Set `title` (and optionally `description`) for the built-in\n * header, or omit `title` and compose `AccordionHeader`, `AccordionTrigger`,\n * and `AccordionContent` manually as children.\n *\n * @summary A single expandable/collapsible section within an Accordion.\n */\nexport const AccordionItem = forwardRef<AccordionItemElement, AccordionItemProps>(\n ({ className, title, description, children, headingElement, ...props }, ref) => {\n return (\n <AccordionPrimitive.Item ref={ref} className={cn(componentClassName, className)} {...props}>\n {title ? (\n <div className={`${componentClassName}Header`}>\n <AccordionHeader as={headingElement}>\n <AccordionTrigger>{title}</AccordionTrigger>\n </AccordionHeader>\n {description ? (\n <span className={`${componentClassName}Description`}>{description}</span>\n ) : null}\n </div>\n ) : null}\n\n {children}\n </AccordionPrimitive.Item>\n );\n }\n);\n\nAccordionItem.displayName = COMPONENT_NAME;\n"]}
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }"use client";
2
+
3
+ var _chunkWINB2WI7cjs = require('./chunk-WINB2WI7.cjs');var _chunkIZIJVD62cjs = require('./chunk-IZIJVD62.cjs');var _chunkIAFYIHVPcjs = require('./chunk-IAFYIHVP.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _react = require('react');var _useMergedRefs = require('@base-ui/utils/useMergedRefs');var _jsxruntime = require('react/jsx-runtime');var N="CurrencyInput",M=_chunk4Q432K4Wcjs.b.call(void 0, N),G= exports.a =_react.forwardRef.call(void 0, ({className:S,disabled:V,value:d,onChange:y,placeholder:b="0.00",disableGroupSeparators:C,defaultValue:h,...k},z)=>{let[H,L]=_react.useState.call(void 0, typeof h=="string"?h:""),s=_react.useRef.call(void 0, null),r=_react.useRef.call(void 0, null),O=_useMergedRefs.useMergedRefs.call(void 0, z,s),I=d!==void 0,x=I?String(_nullishCoalesce(d, () => (""))):H,c=n=>{if(!n)return"";let l=n.split("."),e=l[0]||"";C||(e=e.replace(/\B(?=(\d{3})+(?!\d))/g,","));let i=l[1];return i!==void 0?e+"."+i:e},j=n=>{let l=n.target.value,e=n.target.selectionStart||0,i=c(x),w=l.replace(/[^\d.]/g,""),a=w.split("."),P=a.length>2?a[0]+"."+a.slice(1).join(""):w,m=P.split("."),p=m[1]!==void 0?m[0]+"."+m[1].substring(0,2):P;if(C)r.current=null;else{let u=c(p),f=(i.slice(0,Math.min(e,i.length)).match(/,/g)||[]).length,t=(u.slice(0,Math.min(e,u.length)).match(/,/g)||[]).length-f;r.current=e+t}if(I||L(p),y){let u=new Proxy(n.target,{get(o,t){return t==="value"?p:Reflect.get(o,t,o)}}),f=new Proxy(n,{get(o,t){return t==="target"||t==="currentTarget"?u:Reflect.get(o,t,o)}});y(f)}};return _react.useEffect.call(void 0, ()=>{s&&typeof s=="object"&&s.current&&r.current!==null&&(s.current.setSelectionRange(r.current,r.current),r.current=null)}),_jsxruntime.jsx.call(void 0, _chunkWINB2WI7cjs.a,{ref:O,className:_chunkONNSZMWFcjs.a.call(void 0, M,S),type:"text",inputMode:"decimal",disabled:V,value:c(x),onChange:j,placeholder:b,"data-testid":M,...k,children:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"prefix",children:_jsxruntime.jsx.call(void 0, _chunkIZIJVD62cjs.a,{size:"3xl",children:"\xA3"})})})});G.displayName=N;exports.a = G;
4
+ //# sourceMappingURL=chunk-HPRZG47Z.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-HPRZG47Z.cjs","../src/components/CurrencyInput/CurrencyInput.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","CurrencyInput","forwardRef","className","disabled","controlledValue","onChange","placeholder","disableGroupSeparators","defaultValue","props","forwardedRef","internalValue","setInternalValue","useState","internalRef","useRef","cursorPositionRef","inputRef","useMergedRefs","isControlled","numericValue","formatValue","value","parts","integerPart","decimalPart","handleChange","e","input","cursorPosition","previousDisplayValue","cleaned","sanitized","finalParts","limitedValue","newDisplayValue","oldCommasBeforeCursor","commaDiff","proxiedTarget","target","prop","proxiedEvent","useEffect","jsx","TextInput","cn","InputSlot","DetailText"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-HPRZG47Z.cjs","sourcesContent":[null,"'use client';\n\nimport { forwardRef, useState, useRef, useEffect } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ChangeEvent } from 'react';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { TextInput } from '../TextInput/TextInput';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport type { CurrencyInputProps } from './CurrencyInput.props';\nimport { DetailText } from '../DetailText/DetailText';\nimport type { InputBaseElement } from '../InputBase/InputBase';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\n\nconst COMPONENT_NAME = 'CurrencyInput';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\n/**\n * Use CurrencyInput for entering monetary amounts, such as in Cashback and\n * payment areas. It displays values with comma-separated thousands by default\n * and returns the underlying value without formatting via `onChange`.\n *\n * For general text entry, use TextInput instead.\n *\n * @summary An input field for entering monetary amounts.\n */\nexport const CurrencyInput = forwardRef<InputBaseElement, CurrencyInputProps>(\n (\n {\n className,\n disabled,\n value: controlledValue,\n onChange,\n placeholder = '0.00',\n disableGroupSeparators,\n defaultValue,\n ...props\n },\n forwardedRef\n ) => {\n const maxDecimals = 2;\n const [internalValue, setInternalValue] = useState<string>(\n typeof defaultValue === 'string' ? defaultValue : ''\n );\n const internalRef = useRef<HTMLInputElement>(null);\n const cursorPositionRef = useRef<number | null>(null);\n\n // Merge forwarded ref (if any) with internal ref\n const inputRef = useMergedRefs(forwardedRef, internalRef);\n\n const isControlled = controlledValue !== undefined;\n const numericValue = isControlled ? String(controlledValue ?? '') : internalValue;\n\n // Format value for display\n const formatValue = (value: string): string => {\n if (!value) return '';\n\n const parts = value.split('.');\n let integerPart = parts[0] || '';\n\n if (!disableGroupSeparators) {\n integerPart = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n\n const decimalPart = parts[1];\n return decimalPart !== undefined ? integerPart + '.' + decimalPart : integerPart;\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>): void => {\n const input = e.target.value;\n const cursorPosition = e.target.selectionStart || 0;\n const previousDisplayValue = formatValue(numericValue);\n\n // Remove all non-digits except decimal\n const cleaned = input.replace(/[^\\d.]/g, '');\n\n // Ensure only one decimal point\n const parts = cleaned.split('.');\n const sanitized = parts.length > 2 ? parts[0] + '.' + parts.slice(1).join('') : cleaned;\n\n // Limit decimal places\n const finalParts = sanitized.split('.');\n const limitedValue =\n finalParts[1] !== undefined\n ? finalParts[0] + '.' + finalParts[1].substring(0, maxDecimals)\n : sanitized;\n\n // Calculate new cursor position\n if (!disableGroupSeparators) {\n const newDisplayValue = formatValue(limitedValue);\n const oldCommasBeforeCursor = (\n previousDisplayValue\n .slice(0, Math.min(cursorPosition, previousDisplayValue.length))\n .match(/,/g) || []\n ).length;\n const newCommasBeforeCursor = (\n newDisplayValue.slice(0, Math.min(cursorPosition, newDisplayValue.length)).match(/,/g) ||\n []\n ).length;\n const commaDiff = newCommasBeforeCursor - oldCommasBeforeCursor;\n cursorPositionRef.current = cursorPosition + commaDiff;\n } else {\n cursorPositionRef.current = null;\n }\n if (!isControlled) {\n setInternalValue(limitedValue);\n }\n\n // Return numeric value WITHOUT commas, via a Proxy so everything else\n // (target.name, target.id, preventDefault, instanceof checks, etc.)\n // still passes through to the real event and element.\n if (onChange) {\n const proxiedTarget = new Proxy(e.target, {\n get(target, prop): unknown {\n if (prop === 'value') return limitedValue;\n return Reflect.get(target, prop, target) as unknown;\n },\n });\n\n const proxiedEvent = new Proxy(e, {\n get(target, prop): unknown {\n if (prop === 'target' || prop === 'currentTarget') return proxiedTarget;\n return Reflect.get(target, prop, target) as unknown;\n },\n });\n\n onChange(proxiedEvent);\n }\n };\n\n // Restore cursor position after render\n useEffect(() => {\n if (\n internalRef &&\n typeof internalRef === 'object' &&\n internalRef.current &&\n cursorPositionRef.current !== null\n ) {\n internalRef.current.setSelectionRange(cursorPositionRef.current, cursorPositionRef.current);\n cursorPositionRef.current = null;\n }\n });\n\n return (\n <TextInput\n ref={inputRef}\n className={cn(componentClassName, className)}\n type=\"text\"\n inputMode=\"decimal\"\n disabled={disabled}\n value={formatValue(numericValue)} // Display with commas\n onChange={handleChange}\n placeholder={placeholder}\n data-testid={componentClassName}\n {...props}\n >\n <InputSlot placement=\"prefix\">\n <DetailText size=\"3xl\">£</DetailText>\n </InputSlot>\n </TextInput>\n );\n }\n);\n\nCurrencyInput.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as c}from"./chunk-Z4BV6MER.js";import{a as n}from"./chunk-OPPG3NOC.js";import{a as i}from"./chunk-LYKZCNDZ.js";import{a as r}from"./chunk-J3AJBV4B.js";import{b as e}from"./chunk-PDEVCIQ3.js";import{forwardRef as g}from"react";import{Accordion as E}from"radix-ui";import{jsx as m,jsxs as x}from"react/jsx-runtime";var s="Accordion",p=e(s),u=g((a,d)=>{let{className:l,type:o="multiple",heading:t,headingElement:f="h2",helperText:P,trailingContent:A,validationText:h,validationStatus:v,collapsible:C,...N}=i(a,n),R={heading:t,headingElement:f,helperText:P,trailingContent:A,validationText:h,validationStatus:v},y={type:o,...N,...o==="single"?{collapsible:C}:{}};return x("div",{ref:d,className:r(p,l),"data-testid":p,children:[t?m(c,{...R}):null,m(E.Root,{...y})]})});u.displayName=s;export{u as a};
4
- //# sourceMappingURL=chunk-GVN7FPA3.js.map
3
+ import{a as c}from"./chunk-ORIRQN2S.js";import{a as n}from"./chunk-OPPG3NOC.js";import{a as i}from"./chunk-LYKZCNDZ.js";import{a as r}from"./chunk-J3AJBV4B.js";import{b as e}from"./chunk-PDEVCIQ3.js";import{forwardRef as g}from"react";import{Accordion as E}from"radix-ui";import{jsx as m,jsxs as x}from"react/jsx-runtime";var s="Accordion",p=e(s),u=g((a,d)=>{let{className:l,type:o="multiple",heading:t,headingElement:f="h2",helperText:P,trailingContent:A,validationText:h,validationStatus:v,collapsible:C,...N}=i(a,n),R={heading:t,headingElement:f,helperText:P,trailingContent:A,validationText:h,validationStatus:v},y={type:o,...N,...o==="single"?{collapsible:C}:{}};return x("div",{ref:d,className:r(p,l),"data-testid":p,children:[t?m(c,{...R}):null,m(E.Root,{...y})]})});u.displayName=s;export{u as a};
4
+ //# sourceMappingURL=chunk-HQWHHX5G.js.map
@@ -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 _chunkB7FZH3QJcjs = require('./chunk-B7FZH3QJ.cjs');var _chunkMJNIIRVPcjs = require('./chunk-MJNIIRVP.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.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 C="CardAccordion",m=_chunk4Q432K4Wcjs.b.call(void 0, C),I= exports.a =_react.forwardRef.call(void 0, (u,A)=>{let{className:P,children:t,value:r,onValueChange:e,...h}=_chunkAPXABE3Qcjs.a.call(void 0, u,_chunkOB7O3UFLcjs.a),[v,n]=_react.useState.call(void 0, r);_react.useEffect.call(void 0, ()=>{r!==void 0&&n(r)},[r]);let g={...h,type:"single",collapsible:!1,value:v,onValueChange:o=>{n(o),e&&e(o)}},i=(_nullishCoalesce(_react.Children.map(t,o=>_react.isValidElement.call(void 0, o)&&o.type===_chunkB7FZH3QJcjs.a?o.props.value:null), () => ([]))).filter(Boolean);return i.length===0?(process.env.NODE_ENV!=="production"&&console.error('[CardAccordion]: No CardAccordionItem children with a "value" prop were found. CardAccordion requires at least one CardAccordionItem child.'),null):_jsxruntime.jsx.call(void 0, _radixui.Accordion.Root,{ref:A,className:_chunkONNSZMWFcjs.a.call(void 0, m,P),"data-testid":m,...g,children:_jsxruntime.jsx.call(void 0, _chunkMJNIIRVPcjs.b,{steps:i,onValueChange:e,setCurrentValue:n,children:t})})});I.displayName=C;exports.a = I;
4
- //# sourceMappingURL=chunk-5BYAY76B.cjs.map
3
+ var _chunk2VGT344Bcjs = require('./chunk-2VGT344B.cjs');var _chunkMJNIIRVPcjs = require('./chunk-MJNIIRVP.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.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 C="CardAccordion",m=_chunk4Q432K4Wcjs.b.call(void 0, C),I= exports.a =_react.forwardRef.call(void 0, (u,A)=>{let{className:P,children:t,value:r,onValueChange:e,...h}=_chunkAPXABE3Qcjs.a.call(void 0, u,_chunkOB7O3UFLcjs.a),[v,n]=_react.useState.call(void 0, r);_react.useEffect.call(void 0, ()=>{r!==void 0&&n(r)},[r]);let g={...h,type:"single",collapsible:!1,value:v,onValueChange:o=>{n(o),e&&e(o)}},i=(_nullishCoalesce(_react.Children.map(t,o=>_react.isValidElement.call(void 0, o)&&o.type===_chunk2VGT344Bcjs.a?o.props.value:null), () => ([]))).filter(Boolean);return i.length===0?(process.env.NODE_ENV!=="production"&&console.error('[CardAccordion]: No CardAccordionItem children with a "value" prop were found. CardAccordion requires at least one CardAccordionItem child.'),null):_jsxruntime.jsx.call(void 0, _radixui.Accordion.Root,{ref:A,className:_chunkONNSZMWFcjs.a.call(void 0, m,P),"data-testid":m,...g,children:_jsxruntime.jsx.call(void 0, _chunkMJNIIRVPcjs.b,{steps:i,onValueChange:e,setCurrentValue:n,children:t})})});I.displayName=C;exports.a = I;
4
+ //# sourceMappingURL=chunk-IBU23C5O.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-5BYAY76B.cjs","../src/components/CardAccordion/CardAccordion.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","CardAccordion","forwardRef","props","ref","className","children","value","onValueChange","restProps","extractProps","marginPropDefs","currentValue","setCurrentValue","useState","useEffect","accordionProps","newValue","steps","Children","child","isValidElement","CardAccordionItem","jsx","AccordionPrimitive","cn","CardAccordionProvider"],"mappings":"AAAA,yLAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,wDAAyC,8BCAtK,mCAK1B,+CAkF1C,IA5EAA,CAAAA,CAAiB,eAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAgBC,+BAAAA,CAAsDC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CAChG,GAAM,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAC,CAAAA,CAAO,aAAA,CAAAC,CAAAA,CAAe,GAAGC,CAAU,CAAA,CAAIC,iCAAAA,CAClEP,CACAQ,mBACF,CAAA,CAEM,CAACC,CAAAA,CAAcC,CAAe,CAAA,CAAIC,6BAAAA,CAAc,CAAA,CAEtDC,8BAAAA,CAAU,CAAA,EAAM,CAEVR,CAAAA,GAAU,KAAA,CAAA,EACZM,CAAAA,CAAgBN,CAAK,CAEzB,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CASV,IAAMS,CAAAA,CAAiB,CACrB,GAAGP,CAAAA,CACH,IAAA,CAAM,QAAA,CACN,WAAA,CAAa,CAAA,CAAA,CACb,KAAA,CAAOG,CAAAA,CACP,aAAA,CAZyBK,CAAAA,EAAqB,CAC9CJ,CAAAA,CAAgBI,CAAQ,CAAA,CACpBT,CAAAA,EACFA,CAAAA,CAAcS,CAAQ,CAE1B,CAQA,CAAA,CAEMC,CAAAA,CAAAA,kBACJC,eAAAA,CAAS,GAAA,CAAIb,CAAAA,CAAUc,CAAAA,EACjBC,mCAAAA,CAAoB,CAAA,EAAKD,CAAAA,CAAM,IAAA,GAASE,mBAAAA,CAClCF,CAAAA,CAAM,KAAA,CAA6B,KAAA,CAEtC,IACR,CAAA,SAAK,CAAC,GAAA,CAAA,CACP,MAAA,CAAO,OAAO,CAAA,CAEhB,OAAIF,CAAAA,CAAM,MAAA,GAAW,CAAA,CAAA,CACf,OAAA,CAAQ,GAAA,CAAI,QAAA,GAAa,YAAA,EAM3B,OAAA,CAAQ,KAAA,CACN,6IAEF,CAAA,CAEK,IAAA,CAAA,CAIPK,6BAAAA,kBAACC,CAAmB,IAAA,CAAnB,CACC,GAAA,CAAKpB,CAAAA,CACL,SAAA,CAAWqB,iCAAAA,CAAG1B,CAAoBM,CAAS,CAAA,CAC3C,aAAA,CAAaN,CAAAA,CACZ,GAAGiB,CAAAA,CAEJ,QAAA,CAAAO,6BAAAA,mBAACG,CAAA,CACC,KAAA,CAAOR,CAAAA,CACP,aAAA,CAAeV,CAAAA,CACf,eAAA,CAAiBK,CAAAA,CAEhB,QAAA,CAAAP,CAAAA,CACH,CAAA,CACF,CAEJ,CAAC,CAAA,CAEDL,CAAAA,CAAc,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-5BYAY76B.cjs","sourcesContent":[null,"'use client';\n\nimport { Children, forwardRef, isValidElement, useEffect, useState } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ComponentPropsWithRef, ComponentRef } from 'react';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { CardAccordionProps } from './CardAccordion.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { CardAccordionProvider } from './CardAccordion.context';\nimport { CardAccordionItem } from './CardAccordionItem';\n\nconst COMPONENT_NAME = 'CardAccordion';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype CardAccordionElement = ComponentRef<'div'>;\n\n/**\n * Use CardAccordion to break a form journey into multiple collapsible cards,\n * letting users progress step-by-step on a single page while keeping\n * previously completed steps visible and editable. Compose it with\n * `CardAccordionItem` for each step (each requires a unique `value`) and\n * `CardAccordionFooter`/`CardAccordionButton` for step navigation. Requires at\n * least one `CardAccordionItem` child.\n *\n * @summary A form journey broken into multiple collapsible, step-by-step cards.\n */\nexport const CardAccordion = forwardRef<CardAccordionElement, CardAccordionProps>((props, ref) => {\n const { className, children, value, onValueChange, ...restProps } = extractProps(\n props,\n marginPropDefs\n );\n\n const [currentValue, setCurrentValue] = useState(value);\n\n useEffect(() => {\n // Keep internal state in sync when the controlled `value` prop changes.\n if (value !== undefined) {\n setCurrentValue(value);\n }\n }, [value]);\n\n const handleValueChange = (newValue: string) => {\n setCurrentValue(newValue);\n if (onValueChange) {\n onValueChange(newValue);\n }\n };\n\n const accordionProps = {\n ...restProps,\n type: 'single',\n collapsible: false,\n value: currentValue,\n onValueChange: handleValueChange,\n } as ComponentPropsWithRef<typeof AccordionPrimitive.Root>;\n\n const steps: Array<string> = (\n Children.map(children, child => {\n if (isValidElement(child) && child.type === CardAccordionItem) {\n return (child.props as { value?: string }).value;\n }\n return null;\n }) ?? []\n ).filter(Boolean);\n\n if (steps.length === 0) {\n if (process.env.NODE_ENV !== 'production') {\n // CardAccordionProvider assumes at least one step (steps[0]).\n // Rendering CardAccordion without any CardAccordionItem children can cause runtime errors.\n // This guard ensures we fail fast in development and avoid crashing in production.\n // Make sure to pass at least one <CardAccordionItem value=\"...\"> as a child of <CardAccordion>.\n\n console.error(\n '[CardAccordion]: No CardAccordionItem children with a \"value\" prop were found. ' +\n 'CardAccordion requires at least one CardAccordionItem child.'\n );\n }\n return null;\n }\n\n return (\n <AccordionPrimitive.Root\n ref={ref}\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...accordionProps}\n >\n <CardAccordionProvider\n steps={steps}\n onValueChange={onValueChange}\n setCurrentValue={setCurrentValue}\n >\n {children}\n </CardAccordionProvider>\n </AccordionPrimitive.Root>\n );\n});\n\nCardAccordion.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-IBU23C5O.cjs","../src/components/CardAccordion/CardAccordion.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","CardAccordion","forwardRef","props","ref","className","children","value","onValueChange","restProps","extractProps","marginPropDefs","currentValue","setCurrentValue","useState","useEffect","accordionProps","newValue","steps","Children","child","isValidElement","CardAccordionItem","jsx","AccordionPrimitive","cn","CardAccordionProvider"],"mappings":"AAAA,yLAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAoC,wDAAyC,8BCAtK,mCAK1B,+CAkF1C,IA5EAA,CAAAA,CAAiB,eAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAc7CC,CAAAA,aAAgBC,+BAAAA,CAAsDC,CAAAA,CAAOC,CAAAA,CAAAA,EAAQ,CAChG,GAAM,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAC,CAAAA,CAAO,aAAA,CAAAC,CAAAA,CAAe,GAAGC,CAAU,CAAA,CAAIC,iCAAAA,CAClEP,CACAQ,mBACF,CAAA,CAEM,CAACC,CAAAA,CAAcC,CAAe,CAAA,CAAIC,6BAAAA,CAAc,CAAA,CAEtDC,8BAAAA,CAAU,CAAA,EAAM,CAEVR,CAAAA,GAAU,KAAA,CAAA,EACZM,CAAAA,CAAgBN,CAAK,CAEzB,CAAA,CAAG,CAACA,CAAK,CAAC,CAAA,CASV,IAAMS,CAAAA,CAAiB,CACrB,GAAGP,CAAAA,CACH,IAAA,CAAM,QAAA,CACN,WAAA,CAAa,CAAA,CAAA,CACb,KAAA,CAAOG,CAAAA,CACP,aAAA,CAZyBK,CAAAA,EAAqB,CAC9CJ,CAAAA,CAAgBI,CAAQ,CAAA,CACpBT,CAAAA,EACFA,CAAAA,CAAcS,CAAQ,CAE1B,CAQA,CAAA,CAEMC,CAAAA,CAAAA,kBACJC,eAAAA,CAAS,GAAA,CAAIb,CAAAA,CAAUc,CAAAA,EACjBC,mCAAAA,CAAoB,CAAA,EAAKD,CAAAA,CAAM,IAAA,GAASE,mBAAAA,CAClCF,CAAAA,CAAM,KAAA,CAA6B,KAAA,CAEtC,IACR,CAAA,SAAK,CAAC,GAAA,CAAA,CACP,MAAA,CAAO,OAAO,CAAA,CAEhB,OAAIF,CAAAA,CAAM,MAAA,GAAW,CAAA,CAAA,CACf,OAAA,CAAQ,GAAA,CAAI,QAAA,GAAa,YAAA,EAM3B,OAAA,CAAQ,KAAA,CACN,6IAEF,CAAA,CAEK,IAAA,CAAA,CAIPK,6BAAAA,kBAACC,CAAmB,IAAA,CAAnB,CACC,GAAA,CAAKpB,CAAAA,CACL,SAAA,CAAWqB,iCAAAA,CAAG1B,CAAoBM,CAAS,CAAA,CAC3C,aAAA,CAAaN,CAAAA,CACZ,GAAGiB,CAAAA,CAEJ,QAAA,CAAAO,6BAAAA,mBAACG,CAAA,CACC,KAAA,CAAOR,CAAAA,CACP,aAAA,CAAeV,CAAAA,CACf,eAAA,CAAiBK,CAAAA,CAEhB,QAAA,CAAAP,CAAAA,CACH,CAAA,CACF,CAEJ,CAAC,CAAA,CAEDL,CAAAA,CAAc,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-IBU23C5O.cjs","sourcesContent":[null,"'use client';\n\nimport { Children, forwardRef, isValidElement, useEffect, useState } from 'react';\nimport { cn } from '../../helpers/cn';\nimport type { ComponentPropsWithRef, ComponentRef } from 'react';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { CardAccordionProps } from './CardAccordion.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { CardAccordionProvider } from './CardAccordion.context';\nimport { CardAccordionItem } from './CardAccordionItem';\n\nconst COMPONENT_NAME = 'CardAccordion';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype CardAccordionElement = ComponentRef<'div'>;\n\n/**\n * Use CardAccordion to break a form journey into multiple collapsible cards,\n * letting users progress step-by-step on a single page while keeping\n * previously completed steps visible and editable. Compose it with\n * `CardAccordionItem` for each step (each requires a unique `value`) and\n * `CardAccordionFooter`/`CardAccordionButton` for step navigation. Requires at\n * least one `CardAccordionItem` child.\n *\n * @summary A form journey broken into multiple collapsible, step-by-step cards.\n */\nexport const CardAccordion = forwardRef<CardAccordionElement, CardAccordionProps>((props, ref) => {\n const { className, children, value, onValueChange, ...restProps } = extractProps(\n props,\n marginPropDefs\n );\n\n const [currentValue, setCurrentValue] = useState(value);\n\n useEffect(() => {\n // Keep internal state in sync when the controlled `value` prop changes.\n if (value !== undefined) {\n setCurrentValue(value);\n }\n }, [value]);\n\n const handleValueChange = (newValue: string) => {\n setCurrentValue(newValue);\n if (onValueChange) {\n onValueChange(newValue);\n }\n };\n\n const accordionProps = {\n ...restProps,\n type: 'single',\n collapsible: false,\n value: currentValue,\n onValueChange: handleValueChange,\n } as ComponentPropsWithRef<typeof AccordionPrimitive.Root>;\n\n const steps: Array<string> = (\n Children.map(children, child => {\n if (isValidElement(child) && child.type === CardAccordionItem) {\n return (child.props as { value?: string }).value;\n }\n return null;\n }) ?? []\n ).filter(Boolean);\n\n if (steps.length === 0) {\n if (process.env.NODE_ENV !== 'production') {\n // CardAccordionProvider assumes at least one step (steps[0]).\n // Rendering CardAccordion without any CardAccordionItem children can cause runtime errors.\n // This guard ensures we fail fast in development and avoid crashing in production.\n // Make sure to pass at least one <CardAccordionItem value=\"...\"> as a child of <CardAccordion>.\n\n console.error(\n '[CardAccordion]: No CardAccordionItem children with a \"value\" prop were found. ' +\n 'CardAccordion requires at least one CardAccordionItem child.'\n );\n }\n return null;\n }\n\n return (\n <AccordionPrimitive.Root\n ref={ref}\n className={cn(componentClassName, className)}\n data-testid={componentClassName}\n {...accordionProps}\n >\n <CardAccordionProvider\n steps={steps}\n onValueChange={onValueChange}\n setCurrentValue={setCurrentValue}\n >\n {children}\n </CardAccordionProvider>\n </AccordionPrimitive.Root>\n );\n});\n\nCardAccordion.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkIAFYIHVPcjs = require('./chunk-IAFYIHVP.cjs');var _chunkB2HYSLUXcjs = require('./chunk-B2HYSLUX.cjs');var _chunk5PLNI5FWcjs = require('./chunk-5PLNI5FW.cjs');var _chunkY4KCRRDDcjs = require('./chunk-Y4KCRRDD.cjs');var _chunk74XOSS7Qcjs = require('./chunk-74XOSS7Q.cjs');var _chunkHRLMPMNTcjs = require('./chunk-HRLMPMNT.cjs');var _chunkB4YVAON3cjs = require('./chunk-B4YVAON3.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkHIF6HKZ3cjs = require('./chunk-HIF6HKZ3.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _combobox = require('@base-ui/react/combobox');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _radixui = require('radix-ui');var _jsxruntime = require('react/jsx-runtime');var F="Combobox",r=_chunk4Q432K4Wcjs.b.call(void 0, F);function Y(d){let{className:w,children:p,triggerOnlyOnType:C,validationStatus:b,validationText:u,label:M,labelVariant:R,helperText:P,id:L,disabled:t,required:U,noOptionsFoundText:$,statusText:c,loading:D,hideLabel:k,placeholder:q,"aria-describedby":z,...G}=_chunkAPXABE3Qcjs.a.call(void 0, d,_chunkOB7O3UFLcjs.a),{id:S,labelId:H,helperTextId:I,validationTextId:f}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:L,prefix:"combobox"}),a=!t,_={id:S,labelId:H,helperTextId:I,validationTextId:f,label:M,labelVariant:R,helperText:P,validationText:a?u:void 0,validationStatus:a?b:void 0,required:U,hideLabel:k},v=a&&b==="invalid",J=_chunkHIF6HKZ3cjs.a.call(void 0, z,P?I:void 0,a&&b!==void 0&&u!==void 0?f:void 0),K=!!c||!!d.items||!!p;return _jsxruntime.jsx.call(void 0, _chunk5PLNI5FWcjs.a,{className:_chunkONNSZMWFcjs.a.call(void 0, r,w),"data-disabled":t?"":void 0,"data-testid":r,..._,children:_jsxruntime.jsxs.call(void 0, _combobox.Combobox.Root,{openOnInputClick:!C,...G,children:[_jsxruntime.jsx.call(void 0, _combobox.Combobox.Input,{render:_jsxruntime.jsxs.call(void 0, _chunkB2HYSLUXcjs.a,{id:S,disabled:t,placeholder:q,"aria-describedby":J,"aria-invalid":v?!0:void 0,"aria-errormessage":v&&u!==void 0?f:void 0,children:[_jsxruntime.jsx.call(void 0, _combobox.Combobox.Trigger,{disabled:t,render:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"prefix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"Open popup",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SearchMediumIcon,{})})})}),D?_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunkB4YVAON3cjs.a,{size:"xs",color:"primary"})}):null,_jsxruntime.jsx.call(void 0, _combobox.Combobox.Clear,{render:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"Clear selection",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseSmallIcon,{})})})}),C?null:_jsxruntime.jsx.call(void 0, _combobox.Combobox.Trigger,{disabled:t,render:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"Open popup",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.ExpandSmallIcon,{})})})})]})}),K?_jsxruntime.jsx.call(void 0, _combobox.Combobox.Portal,{children:_jsxruntime.jsx.call(void 0, _combobox.Combobox.Positioner,{side:"bottom",sideOffset:16,align:"start",alignOffset:-47,children:_jsxruntime.jsxs.call(void 0, _combobox.Combobox.Popup,{className:`${r}Popup`,children:[c?_jsxruntime.jsx.call(void 0, _combobox.Combobox.Status,{className:`${r}StatusText`,children:c}):null,d.items?_jsxruntime.jsx.call(void 0, _chunkY4KCRRDDcjs.a,{className:`${r}Empty`,children:$}):null,_jsxruntime.jsxs.call(void 0, _radixui.ScrollArea.Root,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaRoot"),type:"auto",children:[_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Viewport,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaViewport"),children:_jsxruntime.jsx.call(void 0, _combobox.Combobox.List,{className:`${r}List`,children:p||(x=>_jsxruntime.jsx.call(void 0, _chunk74XOSS7Qcjs.a,{value:x,children:x},x))})}),_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Scrollbar,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaScrollbar"),orientation:"vertical",children:_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Thumb,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaThumb")})})]})]})})}):null]})})}Y.displayName=F;exports.a = Y;
4
- //# sourceMappingURL=chunk-442G3TJT.cjs.map
3
+ var _chunkHRLMPMNTcjs = require('./chunk-HRLMPMNT.cjs');var _chunkIAFYIHVPcjs = require('./chunk-IAFYIHVP.cjs');var _chunk5PLNI5FWcjs = require('./chunk-5PLNI5FW.cjs');var _chunkB2HYSLUXcjs = require('./chunk-B2HYSLUX.cjs');var _chunkY4KCRRDDcjs = require('./chunk-Y4KCRRDD.cjs');var _chunk74XOSS7Qcjs = require('./chunk-74XOSS7Q.cjs');var _chunkB4YVAON3cjs = require('./chunk-B4YVAON3.cjs');var _chunkOB7O3UFLcjs = require('./chunk-OB7O3UFL.cjs');var _chunkHIF6HKZ3cjs = require('./chunk-HIF6HKZ3.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkAPXABE3Qcjs = require('./chunk-APXABE3Q.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _combobox = require('@base-ui/react/combobox');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _radixui = require('radix-ui');var _jsxruntime = require('react/jsx-runtime');var F="Combobox",r=_chunk4Q432K4Wcjs.b.call(void 0, F);function Y(d){let{className:w,children:p,triggerOnlyOnType:C,validationStatus:b,validationText:u,label:M,labelVariant:R,helperText:P,id:L,disabled:t,required:U,noOptionsFoundText:$,statusText:c,loading:D,hideLabel:k,placeholder:q,"aria-describedby":z,...G}=_chunkAPXABE3Qcjs.a.call(void 0, d,_chunkOB7O3UFLcjs.a),{id:S,labelId:H,helperTextId:I,validationTextId:f}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:L,prefix:"combobox"}),a=!t,_={id:S,labelId:H,helperTextId:I,validationTextId:f,label:M,labelVariant:R,helperText:P,validationText:a?u:void 0,validationStatus:a?b:void 0,required:U,hideLabel:k},v=a&&b==="invalid",J=_chunkHIF6HKZ3cjs.a.call(void 0, z,P?I:void 0,a&&b!==void 0&&u!==void 0?f:void 0),K=!!c||!!d.items||!!p;return _jsxruntime.jsx.call(void 0, _chunk5PLNI5FWcjs.a,{className:_chunkONNSZMWFcjs.a.call(void 0, r,w),"data-disabled":t?"":void 0,"data-testid":r,..._,children:_jsxruntime.jsxs.call(void 0, _combobox.Combobox.Root,{openOnInputClick:!C,...G,children:[_jsxruntime.jsx.call(void 0, _combobox.Combobox.Input,{render:_jsxruntime.jsxs.call(void 0, _chunkB2HYSLUXcjs.a,{id:S,disabled:t,placeholder:q,"aria-describedby":J,"aria-invalid":v?!0:void 0,"aria-errormessage":v&&u!==void 0?f:void 0,children:[_jsxruntime.jsx.call(void 0, _combobox.Combobox.Trigger,{disabled:t,render:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"prefix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"Open popup",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SearchMediumIcon,{})})})}),D?_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunkB4YVAON3cjs.a,{size:"xs",color:"primary"})}):null,_jsxruntime.jsx.call(void 0, _combobox.Combobox.Clear,{render:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"Clear selection",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseSmallIcon,{})})})}),C?null:_jsxruntime.jsx.call(void 0, _combobox.Combobox.Trigger,{disabled:t,render:_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"Open popup",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.ExpandSmallIcon,{})})})})]})}),K?_jsxruntime.jsx.call(void 0, _combobox.Combobox.Portal,{children:_jsxruntime.jsx.call(void 0, _combobox.Combobox.Positioner,{side:"bottom",sideOffset:16,align:"start",alignOffset:-47,children:_jsxruntime.jsxs.call(void 0, _combobox.Combobox.Popup,{className:`${r}Popup`,children:[c?_jsxruntime.jsx.call(void 0, _combobox.Combobox.Status,{className:`${r}StatusText`,children:c}):null,d.items?_jsxruntime.jsx.call(void 0, _chunkY4KCRRDDcjs.a,{className:`${r}Empty`,children:$}):null,_jsxruntime.jsxs.call(void 0, _radixui.ScrollArea.Root,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaRoot"),type:"auto",children:[_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Viewport,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaViewport"),children:_jsxruntime.jsx.call(void 0, _combobox.Combobox.List,{className:`${r}List`,children:p||(x=>_jsxruntime.jsx.call(void 0, _chunk74XOSS7Qcjs.a,{value:x,children:x},x))})}),_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Scrollbar,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaScrollbar"),orientation:"vertical",children:_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Thumb,{className:_chunk4Q432K4Wcjs.b.call(void 0, "ScrollAreaThumb")})})]})]})})}):null]})})}Y.displayName=F;exports.a = Y;
4
+ //# sourceMappingURL=chunk-IKACAZD6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-442G3TJT.cjs","../src/components/Combobox/Combobox.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Combobox","props","className","children","triggerOnlyOnType","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","required","noOptionsFoundText","statusText","loading","hideLabel","placeholder","ariaDescribedby","comboboxProps","extractProps","marginPropDefs","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","isInvalid","ariaDescribedbyValue","mergeIds","popupHasContent","jsx","FormField","cn","jsxs","ComboboxPrimitive","InputBase","InputSlot","UnstyledIconButton","SearchMediumIcon","Spinner","CloseSmallIcon","ExpandSmallIcon"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-442G3TJT.cjs","sourcesContent":[null,"'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { useIds } from '../../hooks/use-ids';\nimport { mergeIds } from '../../helpers/merge-ids';\nimport { FormField } from '../FormField/FormField';\nimport type { ComboboxProps } from './Combobox.props';\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react/combobox';\nimport { InputBase } from '../InputBase/InputBase';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport {\n CloseSmallIcon,\n ExpandSmallIcon,\n SearchMediumIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { ComboboxItem } from './ComboboxItem';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { ComboboxEmpty } from './ComboboxEmpty';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst COMPONENT_NAME = 'Combobox';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\n/**\n * Use Combobox to let users type to filter results and select from a\n * predefined list of options. Pass options via the `items` prop to have them\n * rendered automatically, or render `ComboboxItem` children yourself for more\n * control. Set `triggerOnlyOnType` when the user must type before options are\n * surfaced (e.g. a postcode or address lookup); leave it unset when there is a\n * predefined list to choose from by clicking.\n *\n * @summary A text input that lets users filter and select from a list of options.\n */\nexport function Combobox<Value, Multiple extends boolean | undefined = false>(\n props: ComboboxProps<Value, Multiple>\n) {\n const {\n className,\n children,\n triggerOnlyOnType,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n required,\n noOptionsFoundText,\n statusText,\n loading,\n hideLabel,\n placeholder,\n 'aria-describedby': ariaDescribedby,\n ...comboboxProps\n } = extractProps(props, marginPropDefs);\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'combobox',\n });\n\n const showValidation = !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 hideLabel,\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 const popupHasContent = Boolean(statusText) || Boolean(props.items) || Boolean(children);\n\n return (\n <FormField\n className={cn(componentClassName, className)}\n data-disabled={disabled ? '' : undefined}\n data-testid={componentClassName}\n {...formFieldProps}\n >\n <ComboboxPrimitive.Root openOnInputClick={!triggerOnlyOnType} {...comboboxProps}>\n <ComboboxPrimitive.Input\n render={\n <InputBase\n id={id}\n disabled={disabled}\n placeholder={placeholder}\n aria-describedby={ariaDescribedbyValue}\n aria-invalid={isInvalid ? true : undefined}\n aria-errormessage={\n isInvalid && validationText !== undefined ? validationTextId : undefined\n }\n >\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"prefix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <SearchMediumIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {loading ? (\n <InputSlot placement=\"suffix\">\n <Spinner size=\"xs\" color=\"primary\" />\n </InputSlot>\n ) : null}\n <ComboboxPrimitive.Clear\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Clear selection\" disabled={disabled}>\n <CloseSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {triggerOnlyOnType ? null : (\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <ExpandSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n )}\n </InputBase>\n }\n />\n\n {popupHasContent ? (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side=\"bottom\"\n sideOffset={16}\n align=\"start\"\n alignOffset={-47}\n >\n <ComboboxPrimitive.Popup className={`${componentClassName}Popup`}>\n {statusText ? (\n <ComboboxPrimitive.Status className={`${componentClassName}StatusText`}>\n {statusText}\n </ComboboxPrimitive.Status>\n ) : null}\n {props.items ? (\n <ComboboxEmpty className={`${componentClassName}Empty`}>\n {noOptionsFoundText}\n </ComboboxEmpty>\n ) : null}\n <ScrollAreaPrimitive.Root\n className={withGlobalPrefix('ScrollAreaRoot')}\n type=\"auto\"\n >\n <ScrollAreaPrimitive.Viewport className={withGlobalPrefix('ScrollAreaViewport')}>\n <ComboboxPrimitive.List className={`${componentClassName}List`}>\n {children\n ? children\n : (item: string) => (\n <ComboboxItem key={item} value={item}>\n {item}\n </ComboboxItem>\n )}\n </ComboboxPrimitive.List>\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className={withGlobalPrefix('ScrollAreaScrollbar')}\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className={withGlobalPrefix('ScrollAreaThumb')} />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n ) : null}\n </ComboboxPrimitive.Root>\n </FormField>\n );\n}\n\nCombobox.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-IKACAZD6.cjs","../src/components/Combobox/Combobox.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Combobox","props","className","children","triggerOnlyOnType","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","required","noOptionsFoundText","statusText","loading","hideLabel","placeholder","ariaDescribedby","comboboxProps","extractProps","marginPropDefs","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","isInvalid","ariaDescribedbyValue","mergeIds","popupHasContent","jsx","FormField","cn","jsxs","ComboboxPrimitive","InputBase","InputSlot","UnstyledIconButton","SearchMediumIcon","Spinner","CloseSmallIcon","ExpandSmallIcon"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-IKACAZD6.cjs","sourcesContent":[null,"'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { useIds } from '../../hooks/use-ids';\nimport { mergeIds } from '../../helpers/merge-ids';\nimport { FormField } from '../FormField/FormField';\nimport type { ComboboxProps } from './Combobox.props';\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react/combobox';\nimport { InputBase } from '../InputBase/InputBase';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport {\n CloseSmallIcon,\n ExpandSmallIcon,\n SearchMediumIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { ComboboxItem } from './ComboboxItem';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { ComboboxEmpty } from './ComboboxEmpty';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst COMPONENT_NAME = 'Combobox';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\n/**\n * Use Combobox to let users type to filter results and select from a\n * predefined list of options. Pass options via the `items` prop to have them\n * rendered automatically, or render `ComboboxItem` children yourself for more\n * control. Set `triggerOnlyOnType` when the user must type before options are\n * surfaced (e.g. a postcode or address lookup); leave it unset when there is a\n * predefined list to choose from by clicking.\n *\n * @summary A text input that lets users filter and select from a list of options.\n */\nexport function Combobox<Value, Multiple extends boolean | undefined = false>(\n props: ComboboxProps<Value, Multiple>\n) {\n const {\n className,\n children,\n triggerOnlyOnType,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n required,\n noOptionsFoundText,\n statusText,\n loading,\n hideLabel,\n placeholder,\n 'aria-describedby': ariaDescribedby,\n ...comboboxProps\n } = extractProps(props, marginPropDefs);\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'combobox',\n });\n\n const showValidation = !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 hideLabel,\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 const popupHasContent = Boolean(statusText) || Boolean(props.items) || Boolean(children);\n\n return (\n <FormField\n className={cn(componentClassName, className)}\n data-disabled={disabled ? '' : undefined}\n data-testid={componentClassName}\n {...formFieldProps}\n >\n <ComboboxPrimitive.Root openOnInputClick={!triggerOnlyOnType} {...comboboxProps}>\n <ComboboxPrimitive.Input\n render={\n <InputBase\n id={id}\n disabled={disabled}\n placeholder={placeholder}\n aria-describedby={ariaDescribedbyValue}\n aria-invalid={isInvalid ? true : undefined}\n aria-errormessage={\n isInvalid && validationText !== undefined ? validationTextId : undefined\n }\n >\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"prefix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <SearchMediumIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {loading ? (\n <InputSlot placement=\"suffix\">\n <Spinner size=\"xs\" color=\"primary\" />\n </InputSlot>\n ) : null}\n <ComboboxPrimitive.Clear\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Clear selection\" disabled={disabled}>\n <CloseSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {triggerOnlyOnType ? null : (\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <ExpandSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n )}\n </InputBase>\n }\n />\n\n {popupHasContent ? (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side=\"bottom\"\n sideOffset={16}\n align=\"start\"\n alignOffset={-47}\n >\n <ComboboxPrimitive.Popup className={`${componentClassName}Popup`}>\n {statusText ? (\n <ComboboxPrimitive.Status className={`${componentClassName}StatusText`}>\n {statusText}\n </ComboboxPrimitive.Status>\n ) : null}\n {props.items ? (\n <ComboboxEmpty className={`${componentClassName}Empty`}>\n {noOptionsFoundText}\n </ComboboxEmpty>\n ) : null}\n <ScrollAreaPrimitive.Root\n className={withGlobalPrefix('ScrollAreaRoot')}\n type=\"auto\"\n >\n <ScrollAreaPrimitive.Viewport className={withGlobalPrefix('ScrollAreaViewport')}>\n <ComboboxPrimitive.List className={`${componentClassName}List`}>\n {children\n ? children\n : (item: string) => (\n <ComboboxItem key={item} value={item}>\n {item}\n </ComboboxItem>\n )}\n </ComboboxPrimitive.List>\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className={withGlobalPrefix('ScrollAreaScrollbar')}\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className={withGlobalPrefix('ScrollAreaThumb')} />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n ) : null}\n </ComboboxPrimitive.Root>\n </FormField>\n );\n}\n\nCombobox.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
- var _chunkZ5V6AOA3cjs = require('./chunk-Z5V6AOA3.cjs');var _chunkIAFYIHVPcjs = require('./chunk-IAFYIHVP.cjs');var _chunkHRLMPMNTcjs = require('./chunk-HRLMPMNT.cjs');var _chunkB4YVAON3cjs = require('./chunk-B4YVAON3.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _react = require('react');var _useMergedRefs = require('@base-ui/utils/useMergedRefs');var _jsxruntime = require('react/jsx-runtime');var a="SearchInput",f=_chunk4Q432K4Wcjs.b.call(void 0, a),L= exports.a =_react.forwardRef.call(void 0, ({className:I,disabled:p,value:r,onClear:n,loading:d,hideLabel:h=!0,helperText:S,id:y,...x},b)=>{let e=_react.useRef.call(void 0, null),E=_useMergedRefs.useMergedRefs.call(void 0, b,e),M=_react.useCallback.call(void 0, N=>{typeof n!="function"||N.button!==0||(n(),e&&typeof e=="object"&&e.current&&e.current.focus())},[e,n]),{id:B}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:y,prefix:"search-input"});return _jsxruntime.jsxs.call(void 0, _chunkZ5V6AOA3cjs.a,{ref:E,className:_chunkONNSZMWFcjs.a.call(void 0, f,I),type:"search",enterKeyHint:"search",disabled:p,hideLabel:h,helperText:S,value:r,id:B,"data-testid":f,...x,children:[_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"prefix",children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SearchMediumIcon,{})}),d?_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunkB4YVAON3cjs.a,{size:"xs",color:"primary"})}):null,n!==void 0&&r!==void 0&&String(r).length>0?_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"clear search",onClick:M,disabled:p,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseSmallIcon,{})})}):null]})});L.displayName=a;exports.a = L;
4
- //# sourceMappingURL=chunk-RNVIH5GE.cjs.map
3
+ var _chunkWINB2WI7cjs = require('./chunk-WINB2WI7.cjs');var _chunkHRLMPMNTcjs = require('./chunk-HRLMPMNT.cjs');var _chunkIAFYIHVPcjs = require('./chunk-IAFYIHVP.cjs');var _chunkB4YVAON3cjs = require('./chunk-B4YVAON3.cjs');var _chunkRIHABKWYcjs = require('./chunk-RIHABKWY.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _react = require('react');var _useMergedRefs = require('@base-ui/utils/useMergedRefs');var _jsxruntime = require('react/jsx-runtime');var a="SearchInput",f=_chunk4Q432K4Wcjs.b.call(void 0, a),L= exports.a =_react.forwardRef.call(void 0, ({className:I,disabled:p,value:r,onClear:n,loading:d,hideLabel:h=!0,helperText:S,id:y,...x},b)=>{let e=_react.useRef.call(void 0, null),E=_useMergedRefs.useMergedRefs.call(void 0, b,e),M=_react.useCallback.call(void 0, N=>{typeof n!="function"||N.button!==0||(n(),e&&typeof e=="object"&&e.current&&e.current.focus())},[e,n]),{id:B}=_chunkRIHABKWYcjs.a.call(void 0, {providedId:y,prefix:"search-input"});return _jsxruntime.jsxs.call(void 0, _chunkWINB2WI7cjs.a,{ref:E,className:_chunkONNSZMWFcjs.a.call(void 0, f,I),type:"search",enterKeyHint:"search",disabled:p,hideLabel:h,helperText:S,value:r,id:B,"data-testid":f,...x,children:[_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"prefix",children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SearchMediumIcon,{})}),d?_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunkB4YVAON3cjs.a,{size:"xs",color:"primary"})}):null,n!==void 0&&r!==void 0&&String(r).length>0?_jsxruntime.jsx.call(void 0, _chunkIAFYIHVPcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunkHRLMPMNTcjs.a,{type:"button",label:"clear search",onClick:M,disabled:p,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseSmallIcon,{})})}):null]})});L.displayName=a;exports.a = L;
4
+ //# sourceMappingURL=chunk-ITIKNW5V.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-RNVIH5GE.cjs","../src/components/SearchInput/SearchInput.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","SearchInput","forwardRef","className","disabled","value","onClear","loading","hideLabel","helperText","providedId","props","forwardedRef","internalRef","useRef","inputRef","useMergedRefs","handleClear","useCallback","event","id","useIds","jsxs","TextInput","cn","jsx","InputSlot","SearchMediumIcon","Spinner","UnstyledIconButton","CloseSmallIcon"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wECO7O,8BAED,6DAGlB,+CAkDxB,IAhDAA,CAAAA,CAAiB,aAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAcC,+BAAAA,CAEvB,CACE,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CAAY,CAAA,CAAA,CACZ,UAAA,CAAAC,CAAAA,CACA,EAAA,CAAIC,CAAAA,CACJ,GAAGC,CACL,CAAA,CACAC,CAAAA,CAAAA,EACG,CACH,IAAMC,CAAAA,CAAcC,2BAAAA,IAAoC,CAAA,CAClDC,CAAAA,CAAWC,0CAAAA,CAAcJ,CAAcC,CAAW,CAAA,CAElDI,CAAAA,CAAcC,gCAAAA,CACjBC,EAAyC,CACpC,OAAOb,CAAAA,EAAY,UAAA,EAAca,CAAAA,CAAM,MAAA,GAAW,CAAA,EAAA,CAGtDb,CAAAA,CAAQ,CAAA,CAEJO,CAAAA,EAAe,OAAOA,CAAAA,EAAgB,QAAA,EAAYA,CAAAA,CAAY,OAAA,EAChEA,CAAAA,CAAY,OAAA,CAAQ,KAAA,CAAM,CAAA,CAE9B,CAAA,CACA,CAACA,CAAAA,CAAaP,CAAO,CACvB,CAAA,CAEM,CAAE,EAAA,CAAAc,CAAG,CAAA,CAAIC,iCAAAA,CAAS,UAAA,CAAAX,CAAAA,CAAY,MAAA,CAAQ,cAAe,CAAC,CAAA,CAE5D,OACEY,8BAAAA,mBAACC,CAAA,CACC,GAAA,CAAKR,CAAAA,CACL,SAAA,CAAWS,iCAAAA,CAAGzB,CAAoBI,CAAS,CAAA,CAC3C,IAAA,CAAK,QAAA,CACL,YAAA,CAAa,QAAA,CACb,QAAA,CAAUC,CAAAA,CACV,SAAA,CAAWI,CAAAA,CACX,UAAA,CAAYC,CAAAA,CACZ,KAAA,CAAOJ,CAAAA,CACP,EAAA,CAAIe,CAAAA,CACJ,aAAA,CAAarB,CAAAA,CACZ,GAAGY,CAAAA,CAEJ,QAAA,CAAA,CAAAc,6BAAAA,mBAACC,CAAA,CAAU,SAAA,CAAU,QAAA,CACnB,QAAA,CAAAD,6BAAAA,kCAACE,CAAA,CAAA,CAAiB,CAAA,CACpB,CAAA,CACCpB,CAAAA,CACCkB,6BAAAA,mBAACC,CAAA,CAAU,SAAA,CAAU,QAAA,CACnB,QAAA,CAAAD,6BAAAA,mBAACG,CAAA,CAAQ,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,SAAA,CAAU,CAAA,CACrC,CAAA,CACE,IAAA,CACHtB,CAAAA,GAAY,KAAA,CAAA,EAAaD,CAAAA,GAAU,KAAA,CAAA,EAAa,MAAA,CAAOA,CAAK,CAAA,CAAE,MAAA,CAAS,CAAA,CACtEoB,6BAAAA,mBAACC,CAAA,CAAU,SAAA,CAAU,QAAA,CACnB,QAAA,CAAAD,6BAAAA,mBAACI,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAM,cAAA,CACN,OAAA,CAASZ,CAAAA,CACT,QAAA,CAAUb,CAAAA,CAEV,QAAA,CAAAqB,6BAAAA,gCAACK,CAAA,CAAA,CAAe,CAAA,CAClB,CAAA,CACF,CAAA,CACE,IAAA,CAAA,CACN,CAEJ,CACF,CAAA,CAEA7B,CAAAA,CAAY,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-RNVIH5GE.cjs","sourcesContent":[null,"'use client';\n\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { cn } from '../../helpers/cn';\nimport { TextInput } from '../TextInput/TextInput';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport type { SearchInputProps } from './SearchInput.props';\nimport { Spinner } from '../Spinner/Spinner';\nimport { CloseSmallIcon, SearchMediumIcon } from '@utilitywarehouse/hearth-react-icons';\nimport { useIds } from '../../hooks/use-ids';\nimport { forwardRef, useRef, useCallback } from 'react';\nimport type { InputBaseElement } from '../InputBase/InputBase';\nimport type { MouseEvent } from 'react';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\n\nconst COMPONENT_NAME = 'SearchInput';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\n/**\n * Use SearchInput to let users enter a keyword or phrase to search content\n * related to the context it's placed in. Pass an `onClear` handler to show a\n * clear button, and set `loading` to display a spinner while results are\n * fetched. On desktop and tablet it must be paired with a button to trigger\n * the search; on mobile the keyboard's search action can trigger it instead.\n * For general text entry use TextInput instead.\n *\n * @summary An input for entering a search keyword or phrase.\n */\nexport const SearchInput = forwardRef<InputBaseElement, SearchInputProps>(\n (\n {\n className,\n disabled,\n value,\n onClear,\n loading,\n hideLabel = true,\n helperText,\n id: providedId,\n ...props\n },\n forwardedRef\n ) => {\n const internalRef = useRef<HTMLInputElement | null>(null);\n const inputRef = useMergedRefs(forwardedRef, internalRef);\n\n const handleClear = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (typeof onClear !== 'function' || event.button !== 0) {\n return;\n }\n onClear();\n\n if (internalRef && typeof internalRef === 'object' && internalRef.current) {\n internalRef.current.focus();\n }\n },\n [internalRef, onClear]\n );\n\n const { id } = useIds({ providedId, prefix: 'search-input' });\n\n return (\n <TextInput\n ref={inputRef}\n className={cn(componentClassName, className)}\n type=\"search\"\n enterKeyHint=\"search\"\n disabled={disabled}\n hideLabel={hideLabel}\n helperText={helperText}\n value={value}\n id={id}\n data-testid={componentClassName}\n {...props}\n >\n <InputSlot placement=\"prefix\">\n <SearchMediumIcon />\n </InputSlot>\n {loading ? (\n <InputSlot placement=\"suffix\">\n <Spinner size=\"xs\" color=\"primary\" />\n </InputSlot>\n ) : null}\n {onClear !== undefined && value !== undefined && String(value).length > 0 ? (\n <InputSlot placement=\"suffix\">\n <UnstyledIconButton\n type=\"button\"\n label=\"clear search\"\n onClick={handleClear}\n disabled={disabled}\n >\n <CloseSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n ) : null}\n </TextInput>\n );\n }\n);\n\nSearchInput.displayName = COMPONENT_NAME;\n"]}
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-ITIKNW5V.cjs","../src/components/SearchInput/SearchInput.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","SearchInput","forwardRef","className","disabled","value","onClear","loading","hideLabel","helperText","providedId","props","forwardedRef","internalRef","useRef","inputRef","useMergedRefs","handleClear","useCallback","event","id","useIds","jsxs","TextInput","cn","jsx","InputSlot","SearchMediumIcon","Spinner","UnstyledIconButton","CloseSmallIcon"],"mappings":"AAAA,qFAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wDAAyC,wECO7O,8BAED,6DAGlB,+CAkDxB,IAhDAA,CAAAA,CAAiB,aAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAY7CC,CAAAA,aAAcC,+BAAAA,CAEvB,CACE,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CAAY,CAAA,CAAA,CACZ,UAAA,CAAAC,CAAAA,CACA,EAAA,CAAIC,CAAAA,CACJ,GAAGC,CACL,CAAA,CACAC,CAAAA,CAAAA,EACG,CACH,IAAMC,CAAAA,CAAcC,2BAAAA,IAAoC,CAAA,CAClDC,CAAAA,CAAWC,0CAAAA,CAAcJ,CAAcC,CAAW,CAAA,CAElDI,CAAAA,CAAcC,gCAAAA,CACjBC,EAAyC,CACpC,OAAOb,CAAAA,EAAY,UAAA,EAAca,CAAAA,CAAM,MAAA,GAAW,CAAA,EAAA,CAGtDb,CAAAA,CAAQ,CAAA,CAEJO,CAAAA,EAAe,OAAOA,CAAAA,EAAgB,QAAA,EAAYA,CAAAA,CAAY,OAAA,EAChEA,CAAAA,CAAY,OAAA,CAAQ,KAAA,CAAM,CAAA,CAE9B,CAAA,CACA,CAACA,CAAAA,CAAaP,CAAO,CACvB,CAAA,CAEM,CAAE,EAAA,CAAAc,CAAG,CAAA,CAAIC,iCAAAA,CAAS,UAAA,CAAAX,CAAAA,CAAY,MAAA,CAAQ,cAAe,CAAC,CAAA,CAE5D,OACEY,8BAAAA,mBAACC,CAAA,CACC,GAAA,CAAKR,CAAAA,CACL,SAAA,CAAWS,iCAAAA,CAAGzB,CAAoBI,CAAS,CAAA,CAC3C,IAAA,CAAK,QAAA,CACL,YAAA,CAAa,QAAA,CACb,QAAA,CAAUC,CAAAA,CACV,SAAA,CAAWI,CAAAA,CACX,UAAA,CAAYC,CAAAA,CACZ,KAAA,CAAOJ,CAAAA,CACP,EAAA,CAAIe,CAAAA,CACJ,aAAA,CAAarB,CAAAA,CACZ,GAAGY,CAAAA,CAEJ,QAAA,CAAA,CAAAc,6BAAAA,mBAACC,CAAA,CAAU,SAAA,CAAU,QAAA,CACnB,QAAA,CAAAD,6BAAAA,kCAACE,CAAA,CAAA,CAAiB,CAAA,CACpB,CAAA,CACCpB,CAAAA,CACCkB,6BAAAA,mBAACC,CAAA,CAAU,SAAA,CAAU,QAAA,CACnB,QAAA,CAAAD,6BAAAA,mBAACG,CAAA,CAAQ,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,SAAA,CAAU,CAAA,CACrC,CAAA,CACE,IAAA,CACHtB,CAAAA,GAAY,KAAA,CAAA,EAAaD,CAAAA,GAAU,KAAA,CAAA,EAAa,MAAA,CAAOA,CAAK,CAAA,CAAE,MAAA,CAAS,CAAA,CACtEoB,6BAAAA,mBAACC,CAAA,CAAU,SAAA,CAAU,QAAA,CACnB,QAAA,CAAAD,6BAAAA,mBAACI,CAAA,CACC,IAAA,CAAK,QAAA,CACL,KAAA,CAAM,cAAA,CACN,OAAA,CAASZ,CAAAA,CACT,QAAA,CAAUb,CAAAA,CAEV,QAAA,CAAAqB,6BAAAA,gCAACK,CAAA,CAAA,CAAe,CAAA,CAClB,CAAA,CACF,CAAA,CACE,IAAA,CAAA,CACN,CAEJ,CACF,CAAA,CAEA7B,CAAAA,CAAY,WAAA,CAAcH,CAAAA,CAAAA,cAAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-ITIKNW5V.cjs","sourcesContent":[null,"'use client';\n\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { cn } from '../../helpers/cn';\nimport { TextInput } from '../TextInput/TextInput';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport type { SearchInputProps } from './SearchInput.props';\nimport { Spinner } from '../Spinner/Spinner';\nimport { CloseSmallIcon, SearchMediumIcon } from '@utilitywarehouse/hearth-react-icons';\nimport { useIds } from '../../hooks/use-ids';\nimport { forwardRef, useRef, useCallback } from 'react';\nimport type { InputBaseElement } from '../InputBase/InputBase';\nimport type { MouseEvent } from 'react';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\n\nconst COMPONENT_NAME = 'SearchInput';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\n/**\n * Use SearchInput to let users enter a keyword or phrase to search content\n * related to the context it's placed in. Pass an `onClear` handler to show a\n * clear button, and set `loading` to display a spinner while results are\n * fetched. On desktop and tablet it must be paired with a button to trigger\n * the search; on mobile the keyboard's search action can trigger it instead.\n * For general text entry use TextInput instead.\n *\n * @summary An input for entering a search keyword or phrase.\n */\nexport const SearchInput = forwardRef<InputBaseElement, SearchInputProps>(\n (\n {\n className,\n disabled,\n value,\n onClear,\n loading,\n hideLabel = true,\n helperText,\n id: providedId,\n ...props\n },\n forwardedRef\n ) => {\n const internalRef = useRef<HTMLInputElement | null>(null);\n const inputRef = useMergedRefs(forwardedRef, internalRef);\n\n const handleClear = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n if (typeof onClear !== 'function' || event.button !== 0) {\n return;\n }\n onClear();\n\n if (internalRef && typeof internalRef === 'object' && internalRef.current) {\n internalRef.current.focus();\n }\n },\n [internalRef, onClear]\n );\n\n const { id } = useIds({ providedId, prefix: 'search-input' });\n\n return (\n <TextInput\n ref={inputRef}\n className={cn(componentClassName, className)}\n type=\"search\"\n enterKeyHint=\"search\"\n disabled={disabled}\n hideLabel={hideLabel}\n helperText={helperText}\n value={value}\n id={id}\n data-testid={componentClassName}\n {...props}\n >\n <InputSlot placement=\"prefix\">\n <SearchMediumIcon />\n </InputSlot>\n {loading ? (\n <InputSlot placement=\"suffix\">\n <Spinner size=\"xs\" color=\"primary\" />\n </InputSlot>\n ) : null}\n {onClear !== undefined && value !== undefined && String(value).length > 0 ? (\n <InputSlot placement=\"suffix\">\n <UnstyledIconButton\n type=\"button\"\n label=\"clear search\"\n onClick={handleClear}\n disabled={disabled}\n >\n <CloseSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n ) : null}\n </TextInput>\n );\n }\n);\n\nSearchInput.displayName = COMPONENT_NAME;\n"]}
@@ -1,4 +1,4 @@
1
1
  "use client";
2
2
 
3
- import{a as y}from"./chunk-ZL7L2WXW.js";import{a as T}from"./chunk-RWIFLH6U.js";import{a as b}from"./chunk-OPPG3NOC.js";import{a as v}from"./chunk-VKE2TXPE.js";import{a as P}from"./chunk-7X24J4CX.js";import{a as I}from"./chunk-LYKZCNDZ.js";import{a as u}from"./chunk-J3AJBV4B.js";import{b as c}from"./chunk-PDEVCIQ3.js";import{unstable_OneTimePasswordField as o}from"radix-ui";import{forwardRef as A}from"react";import{jsx as t,jsxs as H}from"react/jsx-runtime";var N="VerificationInput",d=c(N),G=A((O,V)=>{let{className:x,disabled:a,readOnly:s,label:F,labelVariant:R,helperText:l,validationText:n,validationStatus:i,required:w,id:h,"aria-describedby":E,...S}=I(O,b),{id:C,labelId:m,helperTextId:p,validationTextId:r}=P({providedId:h,prefix:"verification-input"}),e=!s&&!a,D={id:C,labelId:m,helperTextId:p,validationTextId:r,label:F,labelVariant:R,helperText:l,validationText:e?n:void 0,validationStatus:e?i:void 0,required:w},_=v(E,l?p:void 0,e&&i!==void 0&&n!==void 0?r:void 0),f=e&&i==="invalid";return t(T,{className:u(d,x),"data-disabled":a?"":void 0,"data-testid":d,...D,children:H(o.Root,{className:`${d}Root`,disabled:a,readOnly:s,"aria-labelledby":m,"aria-describedby":_,"aria-invalid":f?!0:void 0,"aria-errormessage":f&&n!==void 0?r:void 0,"data-validation-status":e?i:void 0,...S,children:[Array.from({length:6}).map((L,g)=>t(o.Input,{asChild:!0,children:t(y,{})},g)),t(o.HiddenInput,{ref:V})]})})});G.displayName=N;export{G as a};
4
- //# sourceMappingURL=chunk-FYRU5TW5.js.map
3
+ import{a as T}from"./chunk-RWIFLH6U.js";import{a as y}from"./chunk-ZL7L2WXW.js";import{a as b}from"./chunk-OPPG3NOC.js";import{a as v}from"./chunk-VKE2TXPE.js";import{a as P}from"./chunk-7X24J4CX.js";import{a as I}from"./chunk-LYKZCNDZ.js";import{a as u}from"./chunk-J3AJBV4B.js";import{b as c}from"./chunk-PDEVCIQ3.js";import{unstable_OneTimePasswordField as o}from"radix-ui";import{forwardRef as A}from"react";import{jsx as t,jsxs as H}from"react/jsx-runtime";var N="VerificationInput",d=c(N),G=A((O,V)=>{let{className:x,disabled:a,readOnly:s,label:F,labelVariant:R,helperText:l,validationText:n,validationStatus:i,required:w,id:h,"aria-describedby":E,...S}=I(O,b),{id:C,labelId:m,helperTextId:p,validationTextId:r}=P({providedId:h,prefix:"verification-input"}),e=!s&&!a,D={id:C,labelId:m,helperTextId:p,validationTextId:r,label:F,labelVariant:R,helperText:l,validationText:e?n:void 0,validationStatus:e?i:void 0,required:w},_=v(E,l?p:void 0,e&&i!==void 0&&n!==void 0?r:void 0),f=e&&i==="invalid";return t(T,{className:u(d,x),"data-disabled":a?"":void 0,"data-testid":d,...D,children:H(o.Root,{className:`${d}Root`,disabled:a,readOnly:s,"aria-labelledby":m,"aria-describedby":_,"aria-invalid":f?!0:void 0,"aria-errormessage":f&&n!==void 0?r:void 0,"data-validation-status":e?i:void 0,...S,children:[Array.from({length:6}).map((L,g)=>t(o.Input,{asChild:!0,children:t(y,{})},g)),t(o.HiddenInput,{ref:V})]})})});G.displayName=N;export{G as a};
4
+ //# sourceMappingURL=chunk-LOZ7MNJB.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+
3
+ var _chunkOYHJP53Scjs = require('./chunk-OYHJP53S.cjs');var _chunkT27AGDTJcjs = require('./chunk-T27AGDTJ.cjs');var _chunkONNSZMWFcjs = require('./chunk-ONNSZMWF.cjs');var _chunk4Q432K4Wcjs = require('./chunk-4Q432K4W.cjs');var _radixui = require('radix-ui');var _react = require('react');var _useMergedRefs = require('@base-ui/utils/useMergedRefs');var _jsxruntime = require('react/jsx-runtime');var h="AccordionContent",v=_chunk4Q432K4Wcjs.b.call(void 0, h),F= exports.a =_react.forwardRef.call(void 0, ({className:A,children:y,keepMounted:E,forceMount:a,...g},M)=>{_chunkT27AGDTJcjs.a.call(void 0, a!==void 0,"AccordionContent `forceMount` is deprecated. Use `keepMounted` instead.");let o=_nullishCoalesce(E, () => (a)),s=_react.useRef.call(void 0, null),N=_useMergedRefs.useMergedRefs.call(void 0, s,M);return _react.useLayoutEffect.call(void 0, ()=>{let e=s.current;if(!e||!o)return;e.hidden=e.dataset.state!=="open";let t,c=new MutationObserver(()=>{if(_optionalChain([t, 'optionalCall', _ => _()]),t=void 0,e.dataset.state==="open")e.hidden=!1;else{if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){e.hidden=!0;return}let m=e.getBoundingClientRect().height;m>0&&(e.style.setProperty("--radix-accordion-content-height",`${m}px`),e.style.animationName="none",e.offsetHeight,e.style.animationName="");let i=getComputedStyle(e).animationDuration,r=i.endsWith("ms")?parseFloat(i):parseFloat(i)*1e3,R=Number.isFinite(r)&&r>0?r+50:250,d,n=T=>{T.target===e&&(clearTimeout(d),e.removeEventListener("animationend",n),e.hidden=!0)};e.addEventListener("animationend",n),d=setTimeout(()=>{e.removeEventListener("animationend",n),e.hidden=!0},R),t=()=>{clearTimeout(d),e.removeEventListener("animationend",n)}}});return c.observe(e,{attributes:!0,attributeFilter:["data-state"]}),()=>{c.disconnect(),_optionalChain([t, 'optionalCall', _2 => _2()]),e.hidden=!1}},[o]),_jsxruntime.jsx.call(void 0, _radixui.Accordion.Content,{ref:N,className:_chunkONNSZMWFcjs.a.call(void 0, v,A),forceMount:o||void 0,...g,children:_jsxruntime.jsx.call(void 0, _chunkOYHJP53Scjs.a,{as:"div",className:`${v}Text`,children:y})})});F.displayName=h;exports.a = F;
4
+ //# sourceMappingURL=chunk-MILM3WTW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-MILM3WTW.cjs","../src/components/Accordion/AccordionContent.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","AccordionContent","forwardRef","className","children","keepMounted","forceMount","props","ref","warn","resolvedKeepMounted","internalRef","useRef","mergedRef","useMergedRefs","useLayoutEffect","node","pendingCleanup","observer","h"],"mappings":"AAAA,6rBAAY;AACZ;AACA,wDAAwC,wDAAyC,wDAAyC,wDAAyC,mCCInH,8BAGI,6DACtB,+CAyGtB,IAvGFA,CAAAA,CAAiB,kBAAA,CACjBC,CAAAA,CAAqBC,iCAAAA,CAA+B,CAAA,CAI7CC,CAAAA,aAAmBC,+BAAAA,CAC7B,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAAA,CAAU,WAAA,CAAAC,CAAAA,CAAa,UAAA,CAAAC,CAAAA,CAAY,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAAQ,CACnEC,iCAAAA,CACEH,GAAe,KAAA,CAAA,CACf,yEACF,CAAA,CACA,IAAMI,CAAAA,kBAAsBL,CAAAA,SAAeC,GAAAA,CAErCK,CAAAA,CAAcC,2BAAAA,IAAoC,CAAA,CAClDC,CAAAA,CAAYC,0CAAAA,CAAcH,CAAaH,CAAG,CAAA,CAEhD,OAAAO,oCAAAA,CAAgB,CAAA,EAAM,CACpB,IAAMC,CAAAA,CAAOL,CAAAA,CAAY,OAAA,CACzB,EAAA,CAAI,CAACK,CAAAA,EAAQ,CAACN,CAAAA,CAAqB,MAAA,CAEnCM,CAAAA,CAAK,MAAA,CAASA,CAAAA,CAAK,OAAA,CAAQ,KAAA,GAAU,MAAA,CAErC,IAAIC,CAAAA,CAEEC,CAAAA,CAAW,IAAI,gBAAA,CAAiB,CAAA,CAAA,EAAM,CAI1C,EAAA,iBAHAD,CAAAA,wBAAAA,CAAiB,GAAA,CACjBA,CAAAA,CAAiB,KAAA,CAAA,CAEbD,CAAAA,CAAK,OAAA,CAAQ,KAAA,GAAU,MAAA,CACzBA,CAAAA,CAAK,MAAA,CAAS,CAAA,CAAA,CAAA,IACT,CAKL,EAAA,CAAI,MAAA,CAAO,UAAA,CAAW,kCAAkC,CAAA,CAAE,OAAA,CAAS,CACjEA,CAAAA,CAAK,MAAA,CAAS,CAAA,CAAA,CACd,MACF,CAQA,IAAMG,CAAAA,CAAIH,CAAAA,CAAK,qBAAA,CAAsB,CAAA,CAAE,MAAA,CACnCG,CAAAA,CAAI,CAAA,EAAA,CACNH,CAAAA,CAAK,KAAA,CAAM,WAAA,CAAY,kCAAA,CAAoC,CAAA,EAAA","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-MILM3WTW.cjs","sourcesContent":[null,"'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { warn } from '../../helpers/logger';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport type { AccordionContentProps } from './AccordionContent.props';\nimport { Accordion as AccordionPrimitive } from 'radix-ui';\nimport { BodyText } from '../BodyText/BodyText';\nimport type { ComponentRef } from 'react';\nimport { forwardRef, useLayoutEffect, useRef } from 'react';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\n\nconst COMPONENT_NAME = 'AccordionContent';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\ntype AccordionContentElement = ComponentRef<'div'>;\n\nexport const AccordionContent = forwardRef<AccordionContentElement, AccordionContentProps>(\n ({ className, children, keepMounted, forceMount, ...props }, ref) => {\n warn(\n forceMount !== undefined,\n 'AccordionContent `forceMount` is deprecated. Use `keepMounted` instead.'\n );\n const resolvedKeepMounted = keepMounted ?? forceMount;\n\n const internalRef = useRef<AccordionContentElement>(null);\n const mergedRef = useMergedRefs(internalRef, ref);\n\n useLayoutEffect(() => {\n const node = internalRef.current;\n if (!node || !resolvedKeepMounted) return;\n\n node.hidden = node.dataset.state !== 'open';\n\n let pendingCleanup: (() => void) | undefined;\n\n const observer = new MutationObserver(() => {\n pendingCleanup?.();\n pendingCleanup = undefined;\n\n if (node.dataset.state === 'open') {\n node.hidden = false;\n } else {\n // The h-slide-up keyframes are only defined inside\n // @media (prefers-reduced-motion: no-preference) (see Accordion.css).\n // When reduced motion is preferred the animation never runs, so\n // animationend never fires — hide immediately instead of waiting.\n if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n node.hidden = true;\n return;\n }\n\n // When forceMount is set, Radix's layout effect measures the element while it's\n // hidden (display:none), so getBoundingClientRect() returns 0. This corrupts\n // --radix-accordion-content-height, causing the h-slide-up animation to have\n // no valid `from` height. This observer fires after layout effects but before\n // paint, so we can re-measure the real height, correct the property, and restart\n // the animation before the first frame renders.\n const h = node.getBoundingClientRect().height;\n if (h > 0) {\n node.style.setProperty('--radix-accordion-content-height', `${h}px`);\n // Cancel and restart the animation so it picks up the corrected property.\n // The forced reflow between 'none' and '' commits the cancelled state before\n // the browser starts the fresh animation.\n node.style.animationName = 'none';\n void node.offsetHeight;\n node.style.animationName = '';\n }\n\n // Derive the fallback timeout from the computed animation duration so it\n // stays in sync if the CSS duration ever changes, rather than hardcoding it.\n const durationStr = getComputedStyle(node).animationDuration;\n const durationMs = durationStr.endsWith('ms')\n ? parseFloat(durationStr)\n : parseFloat(durationStr) * 1000;\n const fallbackMs = Number.isFinite(durationMs) && durationMs > 0 ? durationMs + 50 : 250;\n\n // eslint-disable-next-line prefer-const\n let timer: ReturnType<typeof setTimeout>;\n const onAnimationEnd = (e: AnimationEvent) => {\n if (e.target !== node) return;\n clearTimeout(timer);\n node.removeEventListener('animationend', onAnimationEnd);\n node.hidden = true;\n };\n\n node.addEventListener('animationend', onAnimationEnd);\n timer = setTimeout(() => {\n node.removeEventListener('animationend', onAnimationEnd);\n node.hidden = true;\n }, fallbackMs);\n\n pendingCleanup = () => {\n clearTimeout(timer);\n node.removeEventListener('animationend', onAnimationEnd);\n };\n }\n });\n\n observer.observe(node, { attributes: true, attributeFilter: ['data-state'] });\n\n return () => {\n observer.disconnect();\n pendingCleanup?.();\n node.hidden = false;\n };\n }, [resolvedKeepMounted]);\n\n return (\n <AccordionPrimitive.Content\n ref={mergedRef}\n className={cn(componentClassName, className)}\n forceMount={resolvedKeepMounted || undefined}\n {...props}\n >\n <BodyText as=\"div\" className={`${componentClassName}Text`}>\n {children}\n </BodyText>\n </AccordionPrimitive.Content>\n );\n }\n);\n\nAccordionContent.displayName = COMPONENT_NAME;\n"]}