@commercetools/nimbus 2.1.0 → 2.2.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 (864) hide show
  1. package/README.md +87 -21
  2. package/dist/chunks/{CollectionBuilder-ZlIN4SR4.es.js → CollectionBuilder-BOe312C_.es.js} +6 -24
  3. package/dist/chunks/{CollectionBuilder-ZlIN4SR4.es.js.map → CollectionBuilder-BOe312C_.es.js.map} +1 -1
  4. package/dist/chunks/{CollectionBuilder-BipvtvSl.cjs.js → CollectionBuilder-DjRx57vm.cjs.js} +2 -18
  5. package/dist/chunks/{CollectionBuilder-BipvtvSl.cjs.js.map → CollectionBuilder-DjRx57vm.cjs.js.map} +1 -1
  6. package/dist/chunks/DateField-BxXzaXAv.cjs.js +2 -0
  7. package/dist/chunks/DateField-BxXzaXAv.cjs.js.map +1 -0
  8. package/dist/chunks/{DateField-C5JgBb30.es.js → DateField-DCWy1Ysp.es.js} +662 -631
  9. package/dist/chunks/DateField-DCWy1Ysp.es.js.map +1 -0
  10. package/dist/chunks/{DatePicker-DeknOPX6.es.js → DatePicker-CL72jbDo.es.js} +6 -6
  11. package/dist/chunks/{DatePicker-DeknOPX6.es.js.map → DatePicker-CL72jbDo.es.js.map} +1 -1
  12. package/dist/chunks/{DatePicker-DGLrUdLu.cjs.js → DatePicker-NWRDzwUt.cjs.js} +2 -2
  13. package/dist/chunks/{DatePicker-DGLrUdLu.cjs.js.map → DatePicker-NWRDzwUt.cjs.js.map} +1 -1
  14. package/dist/chunks/{Dialog-DUbUCf4o.es.js → Dialog-B0BQfdQa.es.js} +58 -58
  15. package/dist/chunks/{Dialog-DUbUCf4o.es.js.map → Dialog-B0BQfdQa.es.js.map} +1 -1
  16. package/dist/chunks/{Dialog-Ye_7tQZU.cjs.js → Dialog-CSr6lHSd.cjs.js} +2 -2
  17. package/dist/chunks/{Dialog-Ye_7tQZU.cjs.js.map → Dialog-CSr6lHSd.cjs.js.map} +1 -1
  18. package/dist/chunks/{Header-Bvl-gjeR.cjs.js → Header-BXEPjypM.cjs.js} +2 -2
  19. package/dist/chunks/{Header-Bvl-gjeR.cjs.js.map → Header-BXEPjypM.cjs.js.map} +1 -1
  20. package/dist/chunks/{Header-Bvo6aMcQ.es.js → Header-CiYtrnTw.es.js} +3 -3
  21. package/dist/chunks/{Header-Bvo6aMcQ.es.js.map → Header-CiYtrnTw.es.js.map} +1 -1
  22. package/dist/chunks/{Heading-D7Ut7eK3.es.js → Heading-BMsylHxq.es.js} +3 -3
  23. package/dist/chunks/{Heading-D7Ut7eK3.es.js.map → Heading-BMsylHxq.es.js.map} +1 -1
  24. package/dist/chunks/{Heading-kcnZ-PKv.cjs.js → Heading-C7J8IDnn.cjs.js} +2 -2
  25. package/dist/chunks/{Heading-kcnZ-PKv.cjs.js.map → Heading-C7J8IDnn.cjs.js.map} +1 -1
  26. package/dist/chunks/{ListBox-C8TVMFFY.es.js → ListBox-RrHJjnuq.es.js} +34 -36
  27. package/dist/chunks/{ListBox-C8TVMFFY.es.js.map → ListBox-RrHJjnuq.es.js.map} +1 -1
  28. package/dist/chunks/{ListBox-Dcnj8pHo.cjs.js → ListBox-rm_vuzPg.cjs.js} +2 -2
  29. package/dist/chunks/{ListBox-Dcnj8pHo.cjs.js.map → ListBox-rm_vuzPg.cjs.js.map} +1 -1
  30. package/dist/chunks/LocalizedStringDictionary-DZNwHzto.cjs.js +2 -0
  31. package/dist/chunks/LocalizedStringDictionary-DZNwHzto.cjs.js.map +1 -0
  32. package/dist/chunks/LocalizedStringDictionary-rmcyf3BY.es.js +48 -0
  33. package/dist/chunks/LocalizedStringDictionary-rmcyf3BY.es.js.map +1 -0
  34. package/dist/chunks/{Modal-CMJEwrBs.es.js → Modal-K4JEy19g.es.js} +3 -3
  35. package/dist/chunks/{Modal-CMJEwrBs.es.js.map → Modal-K4JEy19g.es.js.map} +1 -1
  36. package/dist/chunks/{Modal-DjOIA2BE.cjs.js → Modal-u97jKK9t.cjs.js} +2 -2
  37. package/dist/chunks/{Modal-DjOIA2BE.cjs.js.map → Modal-u97jKK9t.cjs.js.map} +1 -1
  38. package/dist/chunks/{SelectionManager-CCETIs4l.cjs.js → SelectionManager-5YkuhVau.cjs.js} +2 -2
  39. package/dist/chunks/{SelectionManager-CCETIs4l.cjs.js.map → SelectionManager-5YkuhVau.cjs.js.map} +1 -1
  40. package/dist/chunks/{SelectionManager-bgcDT3lR.es.js → SelectionManager-CX9btso_.es.js} +24 -31
  41. package/dist/chunks/{SelectionManager-bgcDT3lR.es.js.map → SelectionManager-CX9btso_.es.js.map} +1 -1
  42. package/dist/chunks/{Separator-DyU2njbj.cjs.js → Separator-BvA4UGuq.cjs.js} +2 -2
  43. package/dist/chunks/{Separator-DyU2njbj.cjs.js.map → Separator-BvA4UGuq.cjs.js.map} +1 -1
  44. package/dist/chunks/{Separator-BmVimNX_.es.js → Separator-x6wk4JUe.es.js} +2 -2
  45. package/dist/chunks/{Separator-BmVimNX_.es.js.map → Separator-x6wk4JUe.es.js.map} +1 -1
  46. package/dist/chunks/{accordion-AupzDJ2i.cjs.js → accordion-CVpg-FdJ.cjs.js} +2 -2
  47. package/dist/chunks/{accordion-AupzDJ2i.cjs.js.map → accordion-CVpg-FdJ.cjs.js.map} +1 -1
  48. package/dist/chunks/{accordion-Bu9iEN-Z.es.js → accordion-Dh0RVlNx.es.js} +2 -2
  49. package/dist/chunks/{accordion-Bu9iEN-Z.es.js.map → accordion-Dh0RVlNx.es.js.map} +1 -1
  50. package/dist/chunks/{accordion.content-DwLtYzIy.cjs.js → accordion.content-Cqet9SQ-.cjs.js} +2 -2
  51. package/dist/chunks/{accordion.content-DwLtYzIy.cjs.js.map → accordion.content-Cqet9SQ-.cjs.js.map} +1 -1
  52. package/dist/chunks/{accordion.content-C8iYlvoi.es.js → accordion.content-GGayEeqD.es.js} +2 -2
  53. package/dist/chunks/{accordion.content-C8iYlvoi.es.js.map → accordion.content-GGayEeqD.es.js.map} +1 -1
  54. package/dist/chunks/alert-DCgWOaY2.es.js +158 -0
  55. package/dist/chunks/alert-DCgWOaY2.es.js.map +1 -0
  56. package/dist/chunks/alert-pPmN9CXZ.cjs.js +2 -0
  57. package/dist/chunks/alert-pPmN9CXZ.cjs.js.map +1 -0
  58. package/dist/chunks/avatar-1Y7cLjZT.es.js +59 -0
  59. package/dist/chunks/avatar-1Y7cLjZT.es.js.map +1 -0
  60. package/dist/chunks/avatar-BVQ91Ccd.cjs.js +2 -0
  61. package/dist/chunks/avatar-BVQ91Ccd.cjs.js.map +1 -0
  62. package/dist/chunks/box-CWni3A32.cjs.js.map +1 -1
  63. package/dist/chunks/box-DuBoAZvq.es.js.map +1 -1
  64. package/dist/chunks/{button-czddlTvJ.es.js → button-BEJnxXsL.es.js} +2 -2
  65. package/dist/chunks/{button-czddlTvJ.es.js.map → button-BEJnxXsL.es.js.map} +1 -1
  66. package/dist/chunks/{button-DF_RV6pd.cjs.js → button-BR4fvcmi.cjs.js} +2 -2
  67. package/dist/chunks/{button-DF_RV6pd.cjs.js.map → button-BR4fvcmi.cjs.js.map} +1 -1
  68. package/dist/chunks/calendar-B01Vti5k.cjs.js +2 -0
  69. package/dist/chunks/calendar-B01Vti5k.cjs.js.map +1 -0
  70. package/dist/chunks/calendar-lSoXK-yt.es.js +227 -0
  71. package/dist/chunks/calendar-lSoXK-yt.es.js.map +1 -0
  72. package/dist/chunks/card-Bk3xHlo2.cjs.js +2 -0
  73. package/dist/chunks/card-Bk3xHlo2.cjs.js.map +1 -0
  74. package/dist/chunks/card-q5i119kB.es.js +115 -0
  75. package/dist/chunks/card-q5i119kB.es.js.map +1 -0
  76. package/dist/chunks/{checkbox-CWhwDnrI.cjs.js → checkbox-BJANm94D.cjs.js} +2 -2
  77. package/dist/chunks/{checkbox-CWhwDnrI.cjs.js.map → checkbox-BJANm94D.cjs.js.map} +1 -1
  78. package/dist/chunks/{checkbox-BAZ2ps7B.es.js → checkbox-CputcCVr.es.js} +2 -2
  79. package/dist/chunks/{checkbox-BAZ2ps7B.es.js.map → checkbox-CputcCVr.es.js.map} +1 -1
  80. package/dist/chunks/{collapsible-motion-D4u7W2de.cjs.js → collapsible-motion-Biq0QGUr.cjs.js} +2 -2
  81. package/dist/chunks/{collapsible-motion-D4u7W2de.cjs.js.map → collapsible-motion-Biq0QGUr.cjs.js.map} +1 -1
  82. package/dist/chunks/{collapsible-motion-dMfEe4kv.es.js → collapsible-motion-DvtUDuxb.es.js} +2 -2
  83. package/dist/chunks/{collapsible-motion-dMfEe4kv.es.js.map → collapsible-motion-DvtUDuxb.es.js.map} +1 -1
  84. package/dist/chunks/combobox-B7ck7gxL.cjs.js +2 -0
  85. package/dist/chunks/combobox-B7ck7gxL.cjs.js.map +1 -0
  86. package/dist/chunks/combobox-vjauyzlS.es.js +1551 -0
  87. package/dist/chunks/combobox-vjauyzlS.es.js.map +1 -0
  88. package/dist/chunks/data-table-CBZLbe9h.cjs.js +2 -0
  89. package/dist/chunks/data-table-CBZLbe9h.cjs.js.map +1 -0
  90. package/dist/chunks/{data-table-C0rC7Jgu.es.js → data-table-DA4SdIgU.es.js} +1448 -1423
  91. package/dist/chunks/data-table-DA4SdIgU.es.js.map +1 -0
  92. package/dist/chunks/{date-input-Cnlg-VXW.es.js → date-input-Cd9q4qBj.es.js} +4 -4
  93. package/dist/chunks/{date-input-Cnlg-VXW.es.js.map → date-input-Cd9q4qBj.es.js.map} +1 -1
  94. package/dist/chunks/{date-input-DlQD1DQ3.cjs.js → date-input-DkYcGwBy.cjs.js} +2 -2
  95. package/dist/chunks/{date-input-DlQD1DQ3.cjs.js.map → date-input-DkYcGwBy.cjs.js.map} +1 -1
  96. package/dist/chunks/date-picker-B8VVNXU3.es.js +228 -0
  97. package/dist/chunks/date-picker-B8VVNXU3.es.js.map +1 -0
  98. package/dist/chunks/date-picker-DQ5IZcRe.cjs.js +2 -0
  99. package/dist/chunks/date-picker-DQ5IZcRe.cjs.js.map +1 -0
  100. package/dist/chunks/date-range-picker-BnbKgO1E.es.js +364 -0
  101. package/dist/chunks/date-range-picker-BnbKgO1E.es.js.map +1 -0
  102. package/dist/chunks/date-range-picker-CO2HH0mY.cjs.js +2 -0
  103. package/dist/chunks/date-range-picker-CO2HH0mY.cjs.js.map +1 -0
  104. package/dist/chunks/{date-range-picker-field-D3tLPzMb.es.js → date-range-picker-field-BuI6eLMY.es.js} +4 -4
  105. package/dist/chunks/date-range-picker-field-BuI6eLMY.es.js.map +1 -0
  106. package/dist/chunks/{date-range-picker-field-DipL5QZq.cjs.js → date-range-picker-field-DcIo1YzI.cjs.js} +2 -2
  107. package/dist/chunks/date-range-picker-field-DcIo1YzI.cjs.js.map +1 -0
  108. package/dist/chunks/{dialog-z8EM12xr.es.js → dialog-DuS3dXVi.es.js} +89 -89
  109. package/dist/chunks/dialog-DuS3dXVi.es.js.map +1 -0
  110. package/dist/chunks/dialog-gyrFT8w0.cjs.js +2 -0
  111. package/dist/chunks/dialog-gyrFT8w0.cjs.js.map +1 -0
  112. package/dist/chunks/{draggable-list-DNQAZADx.cjs.js → draggable-list-fvTG-VYt.cjs.js} +3 -3
  113. package/dist/chunks/{draggable-list-DNQAZADx.cjs.js.map → draggable-list-fvTG-VYt.cjs.js.map} +1 -1
  114. package/dist/chunks/{draggable-list-B0MpgfeC.es.js → draggable-list-z7a7tu_F.es.js} +1406 -1601
  115. package/dist/chunks/{draggable-list-B0MpgfeC.es.js.map → draggable-list-z7a7tu_F.es.js.map} +1 -1
  116. package/dist/chunks/{drawer-BZBluK-I.es.js → drawer-BPcEUbUt.es.js} +94 -86
  117. package/dist/chunks/drawer-BPcEUbUt.es.js.map +1 -0
  118. package/dist/chunks/drawer-DbSJSCl_.cjs.js +2 -0
  119. package/dist/chunks/drawer-DbSJSCl_.cjs.js.map +1 -0
  120. package/dist/chunks/{extract-style-props-BilMyFTD.cjs.js → extract-style-props-B4hqila-.cjs.js} +2 -2
  121. package/dist/chunks/{extract-style-props-BilMyFTD.cjs.js.map → extract-style-props-B4hqila-.cjs.js.map} +1 -1
  122. package/dist/chunks/{extract-style-props-DChosa6I.es.js → extract-style-props-BdibuNZ7.es.js} +2 -2
  123. package/dist/chunks/{extract-style-props-DChosa6I.es.js.map → extract-style-props-BdibuNZ7.es.js.map} +1 -1
  124. package/dist/chunks/field-errors-D1BQvoYg.es.js +219 -0
  125. package/dist/chunks/field-errors-D1BQvoYg.es.js.map +1 -0
  126. package/dist/chunks/field-errors-aqrV93vp.cjs.js +2 -0
  127. package/dist/chunks/field-errors-aqrV93vp.cjs.js.map +1 -0
  128. package/dist/chunks/{form-field-BqlkPY29.es.js → form-field-BfDU18h3.es.js} +16 -16
  129. package/dist/chunks/form-field-BfDU18h3.es.js.map +1 -0
  130. package/dist/chunks/form-field-FdRNl2bZ.cjs.js +2 -0
  131. package/dist/chunks/form-field-FdRNl2bZ.cjs.js.map +1 -0
  132. package/dist/chunks/icon-DJsVh7VR.es.js +19 -0
  133. package/dist/chunks/{icon-CenxuChf.es.js.map → icon-DJsVh7VR.es.js.map} +1 -1
  134. package/dist/chunks/icon-RyFjTAmU.cjs.js +2 -0
  135. package/dist/chunks/{icon-D39U--jA.cjs.js.map → icon-RyFjTAmU.cjs.js.map} +1 -1
  136. package/dist/chunks/icon-button-CeB8_Yyr.cjs.js +2 -0
  137. package/dist/chunks/icon-button-CeB8_Yyr.cjs.js.map +1 -0
  138. package/dist/chunks/icon-button-CosIm3oY.es.js +28 -0
  139. package/dist/chunks/icon-button-CosIm3oY.es.js.map +1 -0
  140. package/dist/chunks/{icon-toggle-button-BKmjmlZt.es.js → icon-toggle-button-8fX8JAXp.es.js} +2 -2
  141. package/dist/chunks/icon-toggle-button-8fX8JAXp.es.js.map +1 -0
  142. package/dist/chunks/{icon-toggle-button-D3spgxe2.cjs.js → icon-toggle-button-C4Tnlt4t.cjs.js} +2 -2
  143. package/dist/chunks/icon-toggle-button-C4Tnlt4t.cjs.js.map +1 -0
  144. package/dist/chunks/image-CGOYoc2s.cjs.js.map +1 -1
  145. package/dist/chunks/image-DRigLU80.es.js.map +1 -1
  146. package/dist/chunks/{index-BEgCT-l6.es.js → index-C2qW4ynb.es.js} +671 -557
  147. package/dist/chunks/index-C2qW4ynb.es.js.map +1 -0
  148. package/dist/chunks/index-CVXB9mwf.cjs.js +34 -0
  149. package/dist/chunks/index-CVXB9mwf.cjs.js.map +1 -0
  150. package/dist/chunks/inline-svg-BzzKpbrB.cjs.js +2 -0
  151. package/dist/chunks/{inline-svg-Yb2OyzRw.cjs.js.map → inline-svg-BzzKpbrB.cjs.js.map} +1 -1
  152. package/dist/chunks/inline-svg-Cwl9dFvu.es.js +21 -0
  153. package/dist/chunks/{inline-svg-CbSC6O5X.es.js.map → inline-svg-Cwl9dFvu.es.js.map} +1 -1
  154. package/dist/chunks/list-DJC9BmoC.cjs.js.map +1 -1
  155. package/dist/chunks/list-Nz5KjWzs.es.js.map +1 -1
  156. package/dist/chunks/loading-spinner-DYEYnI5N.cjs.js +2 -0
  157. package/dist/chunks/loading-spinner-DYEYnI5N.cjs.js.map +1 -0
  158. package/dist/chunks/loading-spinner-gf62wtm3.es.js +53 -0
  159. package/dist/chunks/loading-spinner-gf62wtm3.es.js.map +1 -0
  160. package/dist/chunks/localized-field-D78l88ux.cjs.js +2 -0
  161. package/dist/chunks/localized-field-D78l88ux.cjs.js.map +1 -0
  162. package/dist/chunks/localized-field-DdeHzXdh.es.js +483 -0
  163. package/dist/chunks/localized-field-DdeHzXdh.es.js.map +1 -0
  164. package/dist/chunks/{menu-Vj3cVc_v.cjs.js → menu-Dno8yFDE.cjs.js} +2 -2
  165. package/dist/chunks/menu-Dno8yFDE.cjs.js.map +1 -0
  166. package/dist/chunks/{menu-C3Ovi5Mr.es.js → menu-Zlnps1eW.es.js} +6 -6
  167. package/dist/chunks/menu-Zlnps1eW.es.js.map +1 -0
  168. package/dist/chunks/money-input-C9eVmgeL.cjs.js +2 -0
  169. package/dist/chunks/money-input-C9eVmgeL.cjs.js.map +1 -0
  170. package/dist/chunks/{money-input-BEek-VSq.es.js → money-input-D65vrUj4.es.js} +119 -109
  171. package/dist/chunks/money-input-D65vrUj4.es.js.map +1 -0
  172. package/dist/chunks/money-input-field-BGZ_9HKh.cjs.js +2 -0
  173. package/dist/chunks/money-input-field-BGZ_9HKh.cjs.js.map +1 -0
  174. package/dist/chunks/money-input-field-CSnaaDk-.es.js +51 -0
  175. package/dist/chunks/money-input-field-CSnaaDk-.es.js.map +1 -0
  176. package/dist/chunks/multiline-text-input-CULLuZBp.cjs.js +2 -0
  177. package/dist/chunks/multiline-text-input-CULLuZBp.cjs.js.map +1 -0
  178. package/dist/chunks/multiline-text-input-CrDTYrM3.es.js +98 -0
  179. package/dist/chunks/multiline-text-input-CrDTYrM3.es.js.map +1 -0
  180. package/dist/chunks/multiline-text-input-field-BX-w2v1Y.cjs.js +2 -0
  181. package/dist/chunks/multiline-text-input-field-BX-w2v1Y.cjs.js.map +1 -0
  182. package/dist/chunks/multiline-text-input-field-C6UTl_c8.es.js +56 -0
  183. package/dist/chunks/multiline-text-input-field-C6UTl_c8.es.js.map +1 -0
  184. package/dist/chunks/nimbus-provider-Dnu5ohMR.cjs.js +2 -0
  185. package/dist/chunks/nimbus-provider-Dnu5ohMR.cjs.js.map +1 -0
  186. package/dist/chunks/nimbus-provider-S02SpkpM.es.js +101 -0
  187. package/dist/chunks/nimbus-provider-S02SpkpM.es.js.map +1 -0
  188. package/dist/chunks/normalize-messages-CaDzkuUm.cjs.js +2 -0
  189. package/dist/chunks/normalize-messages-CaDzkuUm.cjs.js.map +1 -0
  190. package/dist/chunks/normalize-messages-D5T4I93D.es.js +52 -0
  191. package/dist/chunks/normalize-messages-D5T4I93D.es.js.map +1 -0
  192. package/dist/chunks/number-input-CR1hdy-B.cjs.js +2 -0
  193. package/dist/chunks/number-input-CR1hdy-B.cjs.js.map +1 -0
  194. package/dist/chunks/{number-input-DrhSvm6o.es.js → number-input-Dp13Mn-8.es.js} +224 -229
  195. package/dist/chunks/number-input-Dp13Mn-8.es.js.map +1 -0
  196. package/dist/chunks/number-input-field-BDNpAP6t.cjs.js +2 -0
  197. package/dist/chunks/number-input-field-BDNpAP6t.cjs.js.map +1 -0
  198. package/dist/chunks/number-input-field-C90uFO4e.es.js +51 -0
  199. package/dist/chunks/number-input-field-C90uFO4e.es.js.map +1 -0
  200. package/dist/chunks/pagination-BIxlGft7.cjs.js +2 -0
  201. package/dist/chunks/pagination-BIxlGft7.cjs.js.map +1 -0
  202. package/dist/chunks/pagination-BlrGdyD5.es.js +226 -0
  203. package/dist/chunks/pagination-BlrGdyD5.es.js.map +1 -0
  204. package/dist/chunks/password-input-8bkpGOIX.es.js +47 -0
  205. package/dist/chunks/password-input-8bkpGOIX.es.js.map +1 -0
  206. package/dist/chunks/password-input-BVbQ42NG.cjs.js +2 -0
  207. package/dist/chunks/password-input-BVbQ42NG.cjs.js.map +1 -0
  208. package/dist/chunks/password-input-field-B5lWzWAQ.cjs.js +2 -0
  209. package/dist/chunks/password-input-field-B5lWzWAQ.cjs.js.map +1 -0
  210. package/dist/chunks/password-input-field-XXaNUALk.es.js +56 -0
  211. package/dist/chunks/password-input-field-XXaNUALk.es.js.map +1 -0
  212. package/dist/chunks/popover-CuA9VugH.es.js +11 -0
  213. package/dist/chunks/popover-CuA9VugH.es.js.map +1 -0
  214. package/dist/chunks/popover-Dhg--8YC.cjs.js +2 -0
  215. package/dist/chunks/popover-Dhg--8YC.cjs.js.map +1 -0
  216. package/dist/chunks/{progress-bar-vRz1k6ol.es.js → progress-bar-C2ZnGdLv.es.js} +2 -2
  217. package/dist/chunks/{progress-bar-vRz1k6ol.es.js.map → progress-bar-C2ZnGdLv.es.js.map} +1 -1
  218. package/dist/chunks/{progress-bar-NAFgbTy5.cjs.js → progress-bar-dRKyuT1-.cjs.js} +2 -2
  219. package/dist/chunks/{progress-bar-NAFgbTy5.cjs.js.map → progress-bar-dRKyuT1-.cjs.js.map} +1 -1
  220. package/dist/chunks/{radio-input-CRvjsU1E.cjs.js → radio-input-BecbxXcF.cjs.js} +2 -2
  221. package/dist/chunks/{radio-input-CRvjsU1E.cjs.js.map → radio-input-BecbxXcF.cjs.js.map} +1 -1
  222. package/dist/chunks/{radio-input-C2lCxDiv.es.js → radio-input-DV-hhL4S.es.js} +8 -8
  223. package/dist/chunks/{radio-input-C2lCxDiv.es.js.map → radio-input-DV-hhL4S.es.js.map} +1 -1
  224. package/dist/chunks/range-calendar-CEIaa08T.es.js +229 -0
  225. package/dist/chunks/range-calendar-CEIaa08T.es.js.map +1 -0
  226. package/dist/chunks/range-calendar-Dq5Gtsb6.cjs.js +2 -0
  227. package/dist/chunks/range-calendar-Dq5Gtsb6.cjs.js.map +1 -0
  228. package/dist/chunks/rich-text-input-CRGUa5d2.es.js +1200 -0
  229. package/dist/chunks/rich-text-input-CRGUa5d2.es.js.map +1 -0
  230. package/dist/chunks/rich-text-input-Dml5F7pU.cjs.js +4 -0
  231. package/dist/chunks/rich-text-input-Dml5F7pU.cjs.js.map +1 -0
  232. package/dist/chunks/scoped-search-input-CSpFefUJ.es.js +147 -0
  233. package/dist/chunks/scoped-search-input-CSpFefUJ.es.js.map +1 -0
  234. package/dist/chunks/scoped-search-input-DKCK7idN.cjs.js +2 -0
  235. package/dist/chunks/scoped-search-input-DKCK7idN.cjs.js.map +1 -0
  236. package/dist/chunks/{search-input-CMrPbAUI.es.js → search-input-BDUJ48BC.es.js} +147 -147
  237. package/dist/chunks/search-input-BDUJ48BC.es.js.map +1 -0
  238. package/dist/chunks/search-input-BNXlpYtP.cjs.js +2 -0
  239. package/dist/chunks/search-input-BNXlpYtP.cjs.js.map +1 -0
  240. package/dist/chunks/search-input-field-CEemw2P1.es.js +51 -0
  241. package/dist/chunks/search-input-field-CEemw2P1.es.js.map +1 -0
  242. package/dist/chunks/search-input-field-v60x1oiw.cjs.js +2 -0
  243. package/dist/chunks/search-input-field-v60x1oiw.cjs.js.map +1 -0
  244. package/dist/chunks/{select-DG6qOekv.es.js → select-D9yYDW0d.es.js} +229 -229
  245. package/dist/chunks/select-D9yYDW0d.es.js.map +1 -0
  246. package/dist/chunks/select-Dq_6o0BB.cjs.js +2 -0
  247. package/dist/chunks/select-Dq_6o0BB.cjs.js.map +1 -0
  248. package/dist/chunks/{separator-B-ibkWW-.es.js → separator-BJ9k_D4l.es.js} +4 -4
  249. package/dist/chunks/{separator-B-ibkWW-.es.js.map → separator-BJ9k_D4l.es.js.map} +1 -1
  250. package/dist/chunks/{separator-DYCn6JPo.cjs.js → separator-u_4por07.cjs.js} +2 -2
  251. package/dist/chunks/{separator-DYCn6JPo.cjs.js.map → separator-u_4por07.cjs.js.map} +1 -1
  252. package/dist/chunks/split-button-B4gVhpP9.cjs.js +2 -0
  253. package/dist/chunks/split-button-B4gVhpP9.cjs.js.map +1 -0
  254. package/dist/chunks/split-button-C94SY3qF.es.js +106 -0
  255. package/dist/chunks/split-button-C94SY3qF.es.js.map +1 -0
  256. package/dist/chunks/stack-CIN13EDn.cjs.js.map +1 -1
  257. package/dist/chunks/stack-CoNreM7B.es.js.map +1 -1
  258. package/dist/chunks/{switch-BzYS9qlr.cjs.js → switch-CsiG41ZR.cjs.js} +2 -2
  259. package/dist/chunks/{switch-BzYS9qlr.cjs.js.map → switch-CsiG41ZR.cjs.js.map} +1 -1
  260. package/dist/chunks/{switch-_TfZ37Nm.es.js → switch-Nn1Fbk5O.es.js} +3 -3
  261. package/dist/chunks/{switch-_TfZ37Nm.es.js.map → switch-Nn1Fbk5O.es.js.map} +1 -1
  262. package/dist/chunks/tabs-D0OPeQ_J.es.js +516 -0
  263. package/dist/chunks/tabs-D0OPeQ_J.es.js.map +1 -0
  264. package/dist/chunks/tabs-iV08OTqG.cjs.js +2 -0
  265. package/dist/chunks/tabs-iV08OTqG.cjs.js.map +1 -0
  266. package/dist/chunks/{tag-group-Aa30DcsU.es.js → tag-group-BE8d6xcP.es.js} +209 -208
  267. package/dist/chunks/tag-group-BE8d6xcP.es.js.map +1 -0
  268. package/dist/chunks/tag-group-BI8_32rM.cjs.js +2 -0
  269. package/dist/chunks/tag-group-BI8_32rM.cjs.js.map +1 -0
  270. package/dist/chunks/text-BtRhIklG.cjs.js.map +1 -1
  271. package/dist/chunks/text-CIb_VDvO.es.js.map +1 -1
  272. package/dist/chunks/{text-input-D3KWm-NF.cjs.js → text-input-BlxK2Naj.cjs.js} +2 -2
  273. package/dist/chunks/{text-input-D3KWm-NF.cjs.js.map → text-input-BlxK2Naj.cjs.js.map} +1 -1
  274. package/dist/chunks/{text-input-DOTYCJyJ.es.js → text-input-CCiZeQad.es.js} +3 -3
  275. package/dist/chunks/{text-input-DOTYCJyJ.es.js.map → text-input-CCiZeQad.es.js.map} +1 -1
  276. package/dist/chunks/text-input-field-6Cj35cYL.es.js +58 -0
  277. package/dist/chunks/text-input-field-6Cj35cYL.es.js.map +1 -0
  278. package/dist/chunks/text-input-field-Cmht3hDK.cjs.js +2 -0
  279. package/dist/chunks/text-input-field-Cmht3hDK.cjs.js.map +1 -0
  280. package/dist/chunks/{time-input-BYGEbCd6.cjs.js → time-input-9Q5vV4UD.cjs.js} +2 -2
  281. package/dist/chunks/{time-input-BYGEbCd6.cjs.js.map → time-input-9Q5vV4UD.cjs.js.map} +1 -1
  282. package/dist/chunks/{time-input-KrO-X3uW.es.js → time-input-CCuIFoY2.es.js} +4 -4
  283. package/dist/chunks/{time-input-KrO-X3uW.es.js.map → time-input-CCuIFoY2.es.js.map} +1 -1
  284. package/dist/chunks/{toggle-button-BKXhwp3e.cjs.js → toggle-button-L7i1XaWg.cjs.js} +2 -2
  285. package/dist/chunks/{toggle-button-BKXhwp3e.cjs.js.map → toggle-button-L7i1XaWg.cjs.js.map} +1 -1
  286. package/dist/chunks/{toggle-button-C03AKN2I.es.js → toggle-button-UcXy5q2C.es.js} +3 -3
  287. package/dist/chunks/{toggle-button-C03AKN2I.es.js.map → toggle-button-UcXy5q2C.es.js.map} +1 -1
  288. package/dist/chunks/{toolbar-D0WjTxz2.es.js → toolbar-C7-6gqba.es.js} +3 -3
  289. package/dist/chunks/{toolbar-D0WjTxz2.es.js.map → toolbar-C7-6gqba.es.js.map} +1 -1
  290. package/dist/chunks/{toolbar-DMowluJ2.cjs.js → toolbar-D4fLFiSb.cjs.js} +2 -2
  291. package/dist/chunks/{toolbar-DMowluJ2.cjs.js.map → toolbar-D4fLFiSb.cjs.js.map} +1 -1
  292. package/dist/chunks/{useDateFormatter-886GJ5w1.es.js → useDateFormatter-9juUpmrj.es.js} +246 -244
  293. package/dist/chunks/useDateFormatter-9juUpmrj.es.js.map +1 -0
  294. package/dist/chunks/useDateFormatter-Bq98mt4A.cjs.js +2 -0
  295. package/dist/chunks/useDateFormatter-Bq98mt4A.cjs.js.map +1 -0
  296. package/dist/chunks/{useGridListItem-BETI-KGO.cjs.js → useGridListItem-Bjqm2KGe.cjs.js} +2 -2
  297. package/dist/chunks/{useGridListItem-BETI-KGO.cjs.js.map → useGridListItem-Bjqm2KGe.cjs.js.map} +1 -1
  298. package/dist/chunks/{useGridListItem-DAGp36bD.es.js → useGridListItem-CJrr2QNO.es.js} +4 -4
  299. package/dist/chunks/{useGridListItem-DAGp36bD.es.js.map → useGridListItem-CJrr2QNO.es.js.map} +1 -1
  300. package/dist/chunks/useListData-BGzhnkuO.cjs.js +2 -0
  301. package/dist/chunks/useListData-BGzhnkuO.cjs.js.map +1 -0
  302. package/dist/chunks/useListData-CX8_NxJv.es.js +211 -0
  303. package/dist/chunks/useListData-CX8_NxJv.es.js.map +1 -0
  304. package/dist/chunks/useListState-BjCb6LLO.cjs.js +2 -0
  305. package/dist/chunks/{useListState-QQtJHpsQ.cjs.js.map → useListState-BjCb6LLO.cjs.js.map} +1 -1
  306. package/dist/chunks/{useListState-BHLGQlP3.es.js → useListState-Dd0Mtev3.es.js} +17 -18
  307. package/dist/chunks/{useListState-BHLGQlP3.es.js.map → useListState-Dd0Mtev3.es.js.map} +1 -1
  308. package/dist/chunks/useLocalizedStringFormatter-CJ-iYW1Z.cjs.js +2 -0
  309. package/dist/chunks/useLocalizedStringFormatter-CJ-iYW1Z.cjs.js.map +1 -0
  310. package/dist/chunks/useLocalizedStringFormatter-DWb0DkHL.es.js +53 -0
  311. package/dist/chunks/useLocalizedStringFormatter-DWb0DkHL.es.js.map +1 -0
  312. package/dist/chunks/{useSpinButton-YcV6vlPf.es.js → useSpinButton-D8B_x4uj.es.js} +2 -2
  313. package/dist/chunks/{useSpinButton-YcV6vlPf.es.js.map → useSpinButton-D8B_x4uj.es.js.map} +1 -1
  314. package/dist/chunks/{useSpinButton-Dyt6kG4o.cjs.js → useSpinButton-RB0J1fiP.cjs.js} +2 -2
  315. package/dist/chunks/{useSpinButton-Dyt6kG4o.cjs.js.map → useSpinButton-RB0J1fiP.cjs.js.map} +1 -1
  316. package/dist/components/accordion.cjs +1 -1
  317. package/dist/components/accordion.es.js +2 -2
  318. package/dist/components/alert/alert.d.ts +4 -4
  319. package/dist/components/alert/alert.messages.d.ts +6 -0
  320. package/dist/components/alert/alert.types.d.ts +2 -2
  321. package/dist/components/alert/components/alert.actions.d.ts +1 -1
  322. package/dist/components/alert/components/alert.description.d.ts +1 -1
  323. package/dist/components/alert/components/alert.dismiss-button.d.ts +1 -1
  324. package/dist/components/alert/components/alert.root.d.ts +0 -9
  325. package/dist/components/alert/components/alert.title.d.ts +1 -1
  326. package/dist/components/alert/intl/de.d.ts +9 -0
  327. package/dist/components/alert/intl/en.d.ts +9 -0
  328. package/dist/components/alert/intl/es.d.ts +9 -0
  329. package/dist/components/alert/intl/fr-FR.d.ts +9 -0
  330. package/dist/components/alert/intl/pt-BR.d.ts +9 -0
  331. package/dist/components/alert.cjs +1 -1
  332. package/dist/components/alert.es.js +1 -1
  333. package/dist/components/avatar/avatar.messages.d.ts +6 -0
  334. package/dist/components/avatar/intl/de.d.ts +9 -0
  335. package/dist/components/avatar/intl/en.d.ts +9 -0
  336. package/dist/components/avatar/intl/es.d.ts +9 -0
  337. package/dist/components/avatar/intl/fr-FR.d.ts +9 -0
  338. package/dist/components/avatar/intl/pt-BR.d.ts +9 -0
  339. package/dist/components/avatar.cjs +1 -1
  340. package/dist/components/avatar.es.js +1 -1
  341. package/dist/components/box/box.d.ts +2 -0
  342. package/dist/components/button.cjs +1 -1
  343. package/dist/components/button.es.js +1 -1
  344. package/dist/components/calendar/calendar.messages.d.ts +6 -0
  345. package/dist/components/calendar/intl/de.d.ts +12 -0
  346. package/dist/components/calendar/intl/en.d.ts +12 -0
  347. package/dist/components/calendar/intl/es.d.ts +12 -0
  348. package/dist/components/calendar/intl/fr-FR.d.ts +12 -0
  349. package/dist/components/calendar/intl/pt-BR.d.ts +12 -0
  350. package/dist/components/calendar.cjs +1 -1
  351. package/dist/components/calendar.es.js +1 -1
  352. package/dist/components/card/card.recipe.d.ts +1 -1
  353. package/dist/components/card.cjs +1 -1
  354. package/dist/components/card.es.js +1 -1
  355. package/dist/components/checkbox.cjs +1 -1
  356. package/dist/components/checkbox.es.js +1 -1
  357. package/dist/components/collapsible-motion.cjs +1 -1
  358. package/dist/components/collapsible-motion.es.js +1 -1
  359. package/dist/components/combo-box/combo-box.messages.d.ts +6 -0
  360. package/dist/components/combo-box/intl/de.d.ts +12 -0
  361. package/dist/components/combo-box/intl/en.d.ts +12 -0
  362. package/dist/components/combo-box/intl/es.d.ts +12 -0
  363. package/dist/components/combo-box/intl/fr-FR.d.ts +12 -0
  364. package/dist/components/combo-box/intl/pt-BR.d.ts +12 -0
  365. package/dist/components/combobox/combobox.d.ts +203 -27
  366. package/dist/components/combobox/combobox.i18n.d.ts +3 -13
  367. package/dist/components/combobox/combobox.messages.d.ts +6 -0
  368. package/dist/components/combobox/combobox.recipe.d.ts +18 -17
  369. package/dist/components/combobox/combobox.slots.d.ts +14 -28
  370. package/dist/components/combobox/combobox.types.d.ts +704 -105
  371. package/dist/components/combobox/components/combobox.hidden-input.d.ts +17 -0
  372. package/dist/components/combobox/components/combobox.input.d.ts +20 -0
  373. package/dist/components/combobox/components/combobox.leading-element.d.ts +5 -5
  374. package/dist/components/combobox/components/combobox.listbox.d.ts +27 -0
  375. package/dist/components/combobox/components/combobox.option.d.ts +29 -5
  376. package/dist/components/combobox/components/combobox.popover.d.ts +27 -0
  377. package/dist/components/combobox/components/combobox.root-context.d.ts +13 -0
  378. package/dist/components/combobox/components/combobox.root.d.ts +26 -6
  379. package/dist/components/combobox/components/combobox.section.d.ts +32 -0
  380. package/dist/components/combobox/components/combobox.tag-group.d.ts +26 -0
  381. package/dist/components/combobox/components/combobox.trigger.d.ts +26 -0
  382. package/dist/components/combobox/components/index.d.ts +4 -9
  383. package/dist/components/combobox/index.d.ts +1 -1
  384. package/dist/components/combobox/intl/de.d.ts +12 -0
  385. package/dist/components/combobox/intl/en.d.ts +12 -0
  386. package/dist/components/combobox/intl/es.d.ts +12 -0
  387. package/dist/components/combobox/intl/fr-FR.d.ts +12 -0
  388. package/dist/components/combobox/intl/pt-BR.d.ts +12 -0
  389. package/dist/components/combobox/utils/collection.d.ts +13 -0
  390. package/dist/components/combobox/utils/filters.d.ts +339 -0
  391. package/dist/components/combobox/utils/selection.d.ts +10 -0
  392. package/dist/components/combobox/utils/test-data.d.ts +6 -0
  393. package/dist/components/combobox/utils/test-utils.d.ts +30 -0
  394. package/dist/components/combobox.cjs +1 -1
  395. package/dist/components/combobox.es.js +1 -1
  396. package/dist/components/components.cjs +1 -1
  397. package/dist/components/components.es.js +1 -1
  398. package/dist/components/data-table/components/data-table.context.d.ts +3 -1
  399. package/dist/components/data-table/components/index.d.ts +1 -1
  400. package/dist/components/data-table/data-table.messages.d.ts +6 -0
  401. package/dist/components/data-table/data-table.recipe.d.ts +1 -1
  402. package/dist/components/data-table/data-table.types.d.ts +11 -2
  403. package/dist/components/data-table/intl/de.d.ts +39 -0
  404. package/dist/components/data-table/intl/en.d.ts +39 -0
  405. package/dist/components/data-table/intl/es.d.ts +39 -0
  406. package/dist/components/data-table/intl/fr-FR.d.ts +39 -0
  407. package/dist/components/data-table/intl/pt-BR.d.ts +39 -0
  408. package/dist/components/data-table.cjs +1 -1
  409. package/dist/components/data-table.es.js +1 -1
  410. package/dist/components/date-input.cjs +1 -1
  411. package/dist/components/date-input.es.js +1 -1
  412. package/dist/components/date-picker/date-picker.messages.d.ts +6 -0
  413. package/dist/components/date-picker/date-picker.types.d.ts +1 -1
  414. package/dist/components/date-picker/intl/de.d.ts +14 -0
  415. package/dist/components/date-picker/intl/en.d.ts +14 -0
  416. package/dist/components/date-picker/intl/es.d.ts +14 -0
  417. package/dist/components/date-picker/intl/fr-FR.d.ts +14 -0
  418. package/dist/components/date-picker/intl/pt-BR.d.ts +14 -0
  419. package/dist/components/date-picker.cjs +1 -1
  420. package/dist/components/date-picker.es.js +1 -1
  421. package/dist/components/date-range-picker/date-range-picker.messages.d.ts +6 -0
  422. package/dist/components/date-range-picker/intl/de.d.ts +21 -0
  423. package/dist/components/date-range-picker/intl/en.d.ts +21 -0
  424. package/dist/components/date-range-picker/intl/es.d.ts +21 -0
  425. package/dist/components/date-range-picker/intl/fr-FR.d.ts +21 -0
  426. package/dist/components/date-range-picker/intl/pt-BR.d.ts +21 -0
  427. package/dist/components/date-range-picker-field.cjs +1 -1
  428. package/dist/components/date-range-picker-field.es.js +1 -1
  429. package/dist/components/date-range-picker.cjs +1 -1
  430. package/dist/components/date-range-picker.es.js +1 -1
  431. package/dist/components/dialog/dialog.messages.d.ts +6 -0
  432. package/dist/components/dialog/dialog.types.d.ts +2 -2
  433. package/dist/components/dialog/intl/de.d.ts +9 -0
  434. package/dist/components/dialog/intl/en.d.ts +9 -0
  435. package/dist/components/dialog/intl/es.d.ts +9 -0
  436. package/dist/components/dialog/intl/fr-FR.d.ts +9 -0
  437. package/dist/components/dialog/intl/pt-BR.d.ts +9 -0
  438. package/dist/components/dialog.cjs +1 -1
  439. package/dist/components/dialog.es.js +1 -1
  440. package/dist/components/draggable-list/draggable-list.messages.d.ts +6 -0
  441. package/dist/components/draggable-list/intl/de.d.ts +10 -0
  442. package/dist/components/draggable-list/intl/en.d.ts +10 -0
  443. package/dist/components/draggable-list/intl/es.d.ts +10 -0
  444. package/dist/components/draggable-list/intl/fr-FR.d.ts +10 -0
  445. package/dist/components/draggable-list/intl/pt-BR.d.ts +10 -0
  446. package/dist/components/draggable-list.cjs +1 -1
  447. package/dist/components/draggable-list.es.js +1 -1
  448. package/dist/components/drawer/components/drawer.context.d.ts +8 -2
  449. package/dist/components/drawer/drawer.messages.d.ts +6 -0
  450. package/dist/components/drawer/drawer.types.d.ts +2 -2
  451. package/dist/components/drawer/intl/de.d.ts +9 -0
  452. package/dist/components/drawer/intl/en.d.ts +9 -0
  453. package/dist/components/drawer/intl/es.d.ts +9 -0
  454. package/dist/components/drawer/intl/fr-FR.d.ts +9 -0
  455. package/dist/components/drawer/intl/pt-BR.d.ts +9 -0
  456. package/dist/components/drawer.cjs +1 -1
  457. package/dist/components/drawer.es.js +1 -1
  458. package/dist/components/field-errors/field-errors.d.ts +1 -1
  459. package/dist/components/field-errors/field-errors.messages.d.ts +6 -0
  460. package/dist/components/field-errors/field-errors.types.d.ts +1 -1
  461. package/dist/components/field-errors/intl/de.d.ts +23 -0
  462. package/dist/components/field-errors/intl/en.d.ts +23 -0
  463. package/dist/components/field-errors/intl/es.d.ts +23 -0
  464. package/dist/components/field-errors/intl/fr-FR.d.ts +23 -0
  465. package/dist/components/field-errors/intl/pt-BR.d.ts +23 -0
  466. package/dist/components/field-errors.cjs +1 -1
  467. package/dist/components/field-errors.es.js +1 -1
  468. package/dist/components/fields.cjs +1 -1
  469. package/dist/components/fields.es.js +13 -3
  470. package/dist/components/fields.es.js.map +1 -1
  471. package/dist/components/form-field.cjs +1 -1
  472. package/dist/components/form-field.es.js +1 -1
  473. package/dist/components/icon-button/icon-button.types.d.ts +15 -3
  474. package/dist/components/icon-button.cjs +1 -1
  475. package/dist/components/icon-button.es.js +1 -1
  476. package/dist/components/icon-toggle-button/icon-toggle-button.types.d.ts +1 -1
  477. package/dist/components/icon-toggle-button.cjs +1 -1
  478. package/dist/components/icon-toggle-button.es.js +1 -1
  479. package/dist/components/icon.cjs +1 -1
  480. package/dist/components/icon.es.js +1 -1
  481. package/dist/components/image/image.d.ts +2 -0
  482. package/dist/components/inline-svg.cjs +1 -1
  483. package/dist/components/inline-svg.es.js +1 -1
  484. package/dist/components/list/components/index.d.ts +3 -0
  485. package/dist/components/list/components/list.indicator.d.ts +19 -0
  486. package/dist/components/list/components/list.item.d.ts +15 -0
  487. package/dist/components/list/components/list.root.d.ts +25 -0
  488. package/dist/components/list/list.d.ts +3 -6
  489. package/dist/components/loading-spinner/intl/de.d.ts +9 -0
  490. package/dist/components/loading-spinner/intl/en.d.ts +9 -0
  491. package/dist/components/loading-spinner/intl/es.d.ts +9 -0
  492. package/dist/components/loading-spinner/intl/fr-FR.d.ts +9 -0
  493. package/dist/components/loading-spinner/intl/pt-BR.d.ts +9 -0
  494. package/dist/components/loading-spinner/loading-spinner.messages.d.ts +6 -0
  495. package/dist/components/loading-spinner.cjs +1 -1
  496. package/dist/components/loading-spinner.es.js +1 -1
  497. package/dist/components/localized-field/intl/de.d.ts +14 -0
  498. package/dist/components/localized-field/intl/en.d.ts +14 -0
  499. package/dist/components/localized-field/intl/es.d.ts +14 -0
  500. package/dist/components/localized-field/intl/fr-FR.d.ts +14 -0
  501. package/dist/components/localized-field/intl/pt-BR.d.ts +14 -0
  502. package/dist/components/localized-field/localized-field.messages.d.ts +6 -0
  503. package/dist/components/localized-field/localized-field.types.d.ts +1 -1
  504. package/dist/components/localized-field.cjs +1 -1
  505. package/dist/components/localized-field.es.js +1 -1
  506. package/dist/components/money-input/intl/de.d.ts +11 -0
  507. package/dist/components/money-input/intl/en.d.ts +11 -0
  508. package/dist/components/money-input/intl/es.d.ts +11 -0
  509. package/dist/components/money-input/intl/fr-FR.d.ts +11 -0
  510. package/dist/components/money-input/intl/pt-BR.d.ts +11 -0
  511. package/dist/components/money-input/money-input.messages.d.ts +6 -0
  512. package/dist/components/money-input/money-input.recipe.d.ts +1 -1
  513. package/dist/components/money-input-field.cjs +2 -0
  514. package/dist/components/money-input-field.cjs.map +1 -0
  515. package/dist/components/money-input-field.es.js +5 -0
  516. package/dist/components/money-input-field.es.js.map +1 -0
  517. package/dist/components/money-input.cjs +1 -1
  518. package/dist/components/money-input.es.js +1 -1
  519. package/dist/components/multiline-text-input/multiline-text-input.types.d.ts +1 -1
  520. package/dist/components/multiline-text-input-field.cjs +2 -0
  521. package/dist/components/multiline-text-input-field.cjs.map +1 -0
  522. package/dist/components/multiline-text-input-field.es.js +5 -0
  523. package/dist/components/multiline-text-input-field.es.js.map +1 -0
  524. package/dist/components/multiline-text-input.cjs +1 -1
  525. package/dist/components/multiline-text-input.es.js +1 -1
  526. package/dist/components/nimbus-provider/index.d.ts +0 -1
  527. package/dist/components/nimbus-provider/nimbus-provider.d.ts +1 -0
  528. package/dist/components/nimbus-provider.cjs +1 -1
  529. package/dist/components/nimbus-provider.es.js +1 -3
  530. package/dist/components/nimbus-provider.es.js.map +1 -1
  531. package/dist/components/number-input/intl/de.d.ts +10 -0
  532. package/dist/components/number-input/intl/en.d.ts +10 -0
  533. package/dist/components/number-input/intl/es.d.ts +10 -0
  534. package/dist/components/number-input/intl/fr-FR.d.ts +10 -0
  535. package/dist/components/number-input/intl/pt-BR.d.ts +10 -0
  536. package/dist/components/number-input/number-input.messages.d.ts +6 -0
  537. package/dist/components/number-input-field.cjs +2 -0
  538. package/dist/components/number-input-field.cjs.map +1 -0
  539. package/dist/components/number-input-field.es.js +5 -0
  540. package/dist/components/number-input-field.es.js.map +1 -0
  541. package/dist/components/number-input.cjs +1 -1
  542. package/dist/components/number-input.es.js +1 -1
  543. package/dist/components/pagination/intl/de.d.ts +16 -0
  544. package/dist/components/pagination/intl/en.d.ts +16 -0
  545. package/dist/components/pagination/intl/es.d.ts +16 -0
  546. package/dist/components/pagination/intl/fr-FR.d.ts +16 -0
  547. package/dist/components/pagination/intl/pt-BR.d.ts +16 -0
  548. package/dist/components/pagination/pagination.messages.d.ts +6 -0
  549. package/dist/components/pagination.cjs +1 -1
  550. package/dist/components/pagination.es.js +1 -1
  551. package/dist/components/password-input/intl/de.d.ts +10 -0
  552. package/dist/components/password-input/intl/en.d.ts +10 -0
  553. package/dist/components/password-input/intl/es.d.ts +10 -0
  554. package/dist/components/password-input/intl/fr-FR.d.ts +10 -0
  555. package/dist/components/password-input/intl/pt-BR.d.ts +10 -0
  556. package/dist/components/password-input/password-input.messages.d.ts +6 -0
  557. package/dist/components/password-input-field.cjs +2 -0
  558. package/dist/components/password-input-field.cjs.map +1 -0
  559. package/dist/components/password-input-field.es.js +5 -0
  560. package/dist/components/password-input-field.es.js.map +1 -0
  561. package/dist/components/password-input.cjs +1 -1
  562. package/dist/components/password-input.es.js +1 -1
  563. package/dist/components/patterns.cjs +1 -1
  564. package/dist/components/patterns.es.js +13 -3
  565. package/dist/components/patterns.es.js.map +1 -1
  566. package/dist/components/popover/popover.d.ts +1 -1
  567. package/dist/components/popover/popover.slots.d.ts +2 -4
  568. package/dist/components/popover/popover.types.d.ts +12 -2
  569. package/dist/components/popover.cjs +1 -1
  570. package/dist/components/popover.es.js +1 -1
  571. package/dist/components/progress-bar.cjs +1 -1
  572. package/dist/components/progress-bar.es.js +1 -1
  573. package/dist/components/radio-input.cjs +1 -1
  574. package/dist/components/radio-input.es.js +1 -1
  575. package/dist/components/range-calendar/intl/de.d.ts +12 -0
  576. package/dist/components/range-calendar/intl/en.d.ts +12 -0
  577. package/dist/components/range-calendar/intl/es.d.ts +12 -0
  578. package/dist/components/range-calendar/intl/fr-FR.d.ts +12 -0
  579. package/dist/components/range-calendar/intl/pt-BR.d.ts +12 -0
  580. package/dist/components/range-calendar/range-calendar.messages.d.ts +6 -0
  581. package/dist/components/range-calendar.cjs +1 -1
  582. package/dist/components/range-calendar.es.js +1 -1
  583. package/dist/components/rich-text-input/constants/text-styles.d.ts +2 -3
  584. package/dist/components/rich-text-input/intl/de.d.ts +32 -0
  585. package/dist/components/rich-text-input/intl/en.d.ts +32 -0
  586. package/dist/components/rich-text-input/intl/es.d.ts +32 -0
  587. package/dist/components/rich-text-input/intl/fr-FR.d.ts +32 -0
  588. package/dist/components/rich-text-input/intl/pt-BR.d.ts +32 -0
  589. package/dist/components/rich-text-input/rich-text-input.messages.d.ts +6 -0
  590. package/dist/components/rich-text-input.cjs +1 -1
  591. package/dist/components/rich-text-input.es.js +1 -1
  592. package/dist/components/scoped-search-input/intl/de.d.ts +10 -0
  593. package/dist/components/scoped-search-input/intl/en.d.ts +10 -0
  594. package/dist/components/scoped-search-input/intl/es.d.ts +10 -0
  595. package/dist/components/scoped-search-input/intl/fr-FR.d.ts +10 -0
  596. package/dist/components/scoped-search-input/intl/pt-BR.d.ts +10 -0
  597. package/dist/components/scoped-search-input/scoped-search-input.messages.d.ts +6 -0
  598. package/dist/components/scoped-search-input.cjs +1 -1
  599. package/dist/components/scoped-search-input.es.js +1 -1
  600. package/dist/components/search-input/intl/de.d.ts +9 -0
  601. package/dist/components/search-input/intl/en.d.ts +9 -0
  602. package/dist/components/search-input/intl/es.d.ts +9 -0
  603. package/dist/components/search-input/intl/fr-FR.d.ts +9 -0
  604. package/dist/components/search-input/intl/pt-BR.d.ts +9 -0
  605. package/dist/components/search-input/search-input.messages.d.ts +6 -0
  606. package/dist/components/search-input-field.cjs +2 -0
  607. package/dist/components/search-input-field.cjs.map +1 -0
  608. package/dist/components/search-input-field.es.js +5 -0
  609. package/dist/components/search-input-field.es.js.map +1 -0
  610. package/dist/components/search-input.cjs +1 -1
  611. package/dist/components/search-input.es.js +1 -1
  612. package/dist/components/select/components/select.root.d.ts +2 -2
  613. package/dist/components/select/intl/de.d.ts +9 -0
  614. package/dist/components/select/intl/en.d.ts +9 -0
  615. package/dist/components/select/intl/es.d.ts +9 -0
  616. package/dist/components/select/intl/fr-FR.d.ts +9 -0
  617. package/dist/components/select/intl/pt-BR.d.ts +9 -0
  618. package/dist/components/select/select.d.ts +1 -1
  619. package/dist/components/select/select.messages.d.ts +6 -0
  620. package/dist/components/select/select.recipe.d.ts +1 -1
  621. package/dist/components/select/select.types.d.ts +1 -1
  622. package/dist/components/select.cjs +1 -1
  623. package/dist/components/select.es.js +1 -1
  624. package/dist/components/separator.cjs +1 -1
  625. package/dist/components/separator.es.js +1 -1
  626. package/dist/components/split-button/intl/de.d.ts +9 -0
  627. package/dist/components/split-button/intl/en.d.ts +9 -0
  628. package/dist/components/split-button/intl/es.d.ts +9 -0
  629. package/dist/components/split-button/intl/fr-FR.d.ts +9 -0
  630. package/dist/components/split-button/intl/pt-BR.d.ts +9 -0
  631. package/dist/components/split-button/split-button.messages.d.ts +6 -0
  632. package/dist/components/split-button/split-button.types.d.ts +1 -1
  633. package/dist/components/split-button.cjs +1 -1
  634. package/dist/components/split-button.es.js +1 -1
  635. package/dist/components/stack/index.d.ts +2 -1
  636. package/dist/components/stack/stack.d.ts +3 -5
  637. package/dist/components/stack/stack.types.d.ts +33 -0
  638. package/dist/components/switch.cjs +1 -1
  639. package/dist/components/switch.es.js +1 -1
  640. package/dist/components/tabs/components/tabs.root.d.ts +1 -1
  641. package/dist/components/tabs/tabs.d.ts +1 -1
  642. package/dist/components/tabs/tabs.recipe.d.ts +12 -11
  643. package/dist/components/tabs/tabs.slots.d.ts +10 -0
  644. package/dist/components/tabs/tabs.types.d.ts +9 -0
  645. package/dist/components/tabs.cjs +1 -1
  646. package/dist/components/tabs.es.js +1 -1
  647. package/dist/components/tag-group/intl/de.d.ts +9 -0
  648. package/dist/components/tag-group/intl/en.d.ts +9 -0
  649. package/dist/components/tag-group/intl/es.d.ts +9 -0
  650. package/dist/components/tag-group/intl/fr-FR.d.ts +9 -0
  651. package/dist/components/tag-group/intl/pt-BR.d.ts +9 -0
  652. package/dist/components/tag-group/tag-group.messages.d.ts +6 -0
  653. package/dist/components/tag-group.cjs +1 -1
  654. package/dist/components/tag-group.es.js +1 -1
  655. package/dist/components/text/text.d.ts +2 -0
  656. package/dist/components/text-input-field.cjs +1 -1
  657. package/dist/components/text-input-field.es.js +1 -1
  658. package/dist/components/text-input.cjs +1 -1
  659. package/dist/components/text-input.es.js +1 -1
  660. package/dist/components/time-input.cjs +1 -1
  661. package/dist/components/time-input.es.js +1 -1
  662. package/dist/components/toggle-button.cjs +1 -1
  663. package/dist/components/toggle-button.es.js +1 -1
  664. package/dist/components/toolbar.cjs +1 -1
  665. package/dist/components/toolbar.es.js +1 -1
  666. package/dist/components/utils.cjs +2 -2
  667. package/dist/components/utils.cjs.map +1 -1
  668. package/dist/components/utils.es.js +121 -122
  669. package/dist/components/utils.es.js.map +1 -1
  670. package/dist/constants/color-palettes.d.ts +24 -0
  671. package/dist/constants/index.d.ts +1 -0
  672. package/dist/hooks/index.d.ts +1 -0
  673. package/dist/hooks/use-localized-string-formatter/index.d.ts +1 -0
  674. package/dist/hooks/use-localized-string-formatter/use-localized-string-formatter.d.ts +56 -0
  675. package/dist/index.cjs +1 -1
  676. package/dist/index.cjs.map +1 -1
  677. package/dist/index.es.js +278 -268
  678. package/dist/index.es.js.map +1 -1
  679. package/dist/patterns/fields/date-range-picker-field/date-range-picker-field.types.d.ts +12 -14
  680. package/dist/patterns/fields/index.d.ts +5 -0
  681. package/dist/patterns/fields/money-input-field/index.d.ts +2 -0
  682. package/dist/patterns/fields/money-input-field/money-input-field.d.ts +32 -0
  683. package/dist/patterns/fields/money-input-field/money-input-field.types.d.ts +56 -0
  684. package/dist/patterns/fields/multiline-text-input-field/index.d.ts +2 -0
  685. package/dist/patterns/fields/multiline-text-input-field/multiline-text-input-field.d.ts +30 -0
  686. package/dist/patterns/fields/multiline-text-input-field/multiline-text-input-field.types.d.ts +44 -0
  687. package/dist/patterns/fields/number-input-field/index.d.ts +2 -0
  688. package/dist/patterns/fields/number-input-field/number-input-field.d.ts +31 -0
  689. package/dist/patterns/fields/number-input-field/number-input-field.types.d.ts +52 -0
  690. package/dist/patterns/fields/password-input-field/index.d.ts +2 -0
  691. package/dist/patterns/fields/password-input-field/password-input-field.d.ts +28 -0
  692. package/dist/patterns/fields/password-input-field/password-input-field.types.d.ts +43 -0
  693. package/dist/patterns/fields/search-input-field/index.d.ts +2 -0
  694. package/dist/patterns/fields/search-input-field/search-input-field.d.ts +30 -0
  695. package/dist/patterns/fields/search-input-field/search-input-field.types.d.ts +50 -0
  696. package/dist/patterns/fields/text-input-field/text-input-field.d.ts +1 -1
  697. package/dist/patterns/fields/text-input-field/text-input-field.types.d.ts +8 -3
  698. package/dist/theme/semantic-tokens/colors.d.ts +2 -8
  699. package/dist/theme/semantic-tokens/index.d.ts +1 -4
  700. package/dist/theme/slot-recipes/index.d.ts +34 -32
  701. package/dist/type-utils/shared-types.d.ts +12 -4
  702. package/dist/utils/display-color-palettes.d.ts +39 -0
  703. package/dist/utils/index.d.ts +1 -0
  704. package/dist/utils/normalize-messages.d.ts +10 -0
  705. package/package.json +32 -28
  706. package/dist/chunks/DateField-B5u8QZFY.cjs.js +0 -2
  707. package/dist/chunks/DateField-B5u8QZFY.cjs.js.map +0 -1
  708. package/dist/chunks/DateField-C5JgBb30.es.js.map +0 -1
  709. package/dist/chunks/TextArea-2QJpeMJq.cjs.js +0 -2
  710. package/dist/chunks/TextArea-2QJpeMJq.cjs.js.map +0 -1
  711. package/dist/chunks/TextArea-CXEdUjgW.es.js +0 -42
  712. package/dist/chunks/TextArea-CXEdUjgW.es.js.map +0 -1
  713. package/dist/chunks/alert-ByKnzJtr.cjs.js +0 -2
  714. package/dist/chunks/alert-ByKnzJtr.cjs.js.map +0 -1
  715. package/dist/chunks/alert-Cb8WoJYV.es.js +0 -211
  716. package/dist/chunks/alert-Cb8WoJYV.es.js.map +0 -1
  717. package/dist/chunks/avatar-Dx_Cda2J.es.js +0 -47
  718. package/dist/chunks/avatar-Dx_Cda2J.es.js.map +0 -1
  719. package/dist/chunks/avatar-wRR1leVi.cjs.js +0 -2
  720. package/dist/chunks/avatar-wRR1leVi.cjs.js.map +0 -1
  721. package/dist/chunks/calendar-B--ZxTlQ.es.js +0 -217
  722. package/dist/chunks/calendar-B--ZxTlQ.es.js.map +0 -1
  723. package/dist/chunks/calendar-DLSOwy_e.cjs.js +0 -2
  724. package/dist/chunks/calendar-DLSOwy_e.cjs.js.map +0 -1
  725. package/dist/chunks/card-B2TxE_Ez.cjs.js +0 -2
  726. package/dist/chunks/card-B2TxE_Ez.cjs.js.map +0 -1
  727. package/dist/chunks/card-CEfEgF48.es.js +0 -120
  728. package/dist/chunks/card-CEfEgF48.es.js.map +0 -1
  729. package/dist/chunks/combobox-B2nkVE2H.cjs.js +0 -2
  730. package/dist/chunks/combobox-B2nkVE2H.cjs.js.map +0 -1
  731. package/dist/chunks/combobox-COyroO64.es.js +0 -2497
  732. package/dist/chunks/combobox-COyroO64.es.js.map +0 -1
  733. package/dist/chunks/data-table-BzY3lLyR.cjs.js +0 -2
  734. package/dist/chunks/data-table-BzY3lLyR.cjs.js.map +0 -1
  735. package/dist/chunks/data-table-C0rC7Jgu.es.js.map +0 -1
  736. package/dist/chunks/date-picker-8kdn6Ih5.es.js +0 -218
  737. package/dist/chunks/date-picker-8kdn6Ih5.es.js.map +0 -1
  738. package/dist/chunks/date-picker-CxJ6zMkz.cjs.js +0 -2
  739. package/dist/chunks/date-picker-CxJ6zMkz.cjs.js.map +0 -1
  740. package/dist/chunks/date-range-picker-B2VUcKjG.cjs.js +0 -2
  741. package/dist/chunks/date-range-picker-B2VUcKjG.cjs.js.map +0 -1
  742. package/dist/chunks/date-range-picker-Di9p8cKs.es.js +0 -356
  743. package/dist/chunks/date-range-picker-Di9p8cKs.es.js.map +0 -1
  744. package/dist/chunks/date-range-picker-field-D3tLPzMb.es.js.map +0 -1
  745. package/dist/chunks/date-range-picker-field-DipL5QZq.cjs.js.map +0 -1
  746. package/dist/chunks/dialog-qw6IMWj3.cjs.js +0 -2
  747. package/dist/chunks/dialog-qw6IMWj3.cjs.js.map +0 -1
  748. package/dist/chunks/dialog-z8EM12xr.es.js.map +0 -1
  749. package/dist/chunks/drawer-BZBluK-I.es.js.map +0 -1
  750. package/dist/chunks/drawer-DfJY_5pD.cjs.js +0 -2
  751. package/dist/chunks/drawer-DfJY_5pD.cjs.js.map +0 -1
  752. package/dist/chunks/field-errors-ClQprmQz.es.js +0 -213
  753. package/dist/chunks/field-errors-ClQprmQz.es.js.map +0 -1
  754. package/dist/chunks/field-errors-D2re_C_c.cjs.js +0 -2
  755. package/dist/chunks/field-errors-D2re_C_c.cjs.js.map +0 -1
  756. package/dist/chunks/form-field-BqlkPY29.es.js.map +0 -1
  757. package/dist/chunks/form-field-lALRYL6D.cjs.js +0 -2
  758. package/dist/chunks/form-field-lALRYL6D.cjs.js.map +0 -1
  759. package/dist/chunks/icon-CenxuChf.es.js +0 -11
  760. package/dist/chunks/icon-D39U--jA.cjs.js +0 -2
  761. package/dist/chunks/icon-button-BUmqYcIF.cjs.js +0 -2
  762. package/dist/chunks/icon-button-BUmqYcIF.cjs.js.map +0 -1
  763. package/dist/chunks/icon-button-DgL7XNUZ.es.js +0 -14
  764. package/dist/chunks/icon-button-DgL7XNUZ.es.js.map +0 -1
  765. package/dist/chunks/icon-toggle-button-BKmjmlZt.es.js.map +0 -1
  766. package/dist/chunks/icon-toggle-button-D3spgxe2.cjs.js.map +0 -1
  767. package/dist/chunks/index-BEgCT-l6.es.js.map +0 -1
  768. package/dist/chunks/index-DzRjEtIu.cjs.js +0 -34
  769. package/dist/chunks/index-DzRjEtIu.cjs.js.map +0 -1
  770. package/dist/chunks/inline-svg-CbSC6O5X.es.js +0 -21
  771. package/dist/chunks/inline-svg-Yb2OyzRw.cjs.js +0 -2
  772. package/dist/chunks/loading-spinner-DF6c3rBM.es.js +0 -59
  773. package/dist/chunks/loading-spinner-DF6c3rBM.es.js.map +0 -1
  774. package/dist/chunks/loading-spinner-DsKcjJ2b.cjs.js +0 -2
  775. package/dist/chunks/loading-spinner-DsKcjJ2b.cjs.js.map +0 -1
  776. package/dist/chunks/localized-field-CtLqzEnl.cjs.js +0 -2
  777. package/dist/chunks/localized-field-CtLqzEnl.cjs.js.map +0 -1
  778. package/dist/chunks/localized-field-XLDcWlU1.es.js +0 -470
  779. package/dist/chunks/localized-field-XLDcWlU1.es.js.map +0 -1
  780. package/dist/chunks/menu-C3Ovi5Mr.es.js.map +0 -1
  781. package/dist/chunks/menu-Vj3cVc_v.cjs.js.map +0 -1
  782. package/dist/chunks/money-input-B2tSXXU9.cjs.js +0 -2
  783. package/dist/chunks/money-input-B2tSXXU9.cjs.js.map +0 -1
  784. package/dist/chunks/money-input-BEek-VSq.es.js.map +0 -1
  785. package/dist/chunks/multiline-text-input-D5vbZHyU.es.js +0 -64
  786. package/dist/chunks/multiline-text-input-D5vbZHyU.es.js.map +0 -1
  787. package/dist/chunks/multiline-text-input-G1ZSL7hm.cjs.js +0 -2
  788. package/dist/chunks/multiline-text-input-G1ZSL7hm.cjs.js.map +0 -1
  789. package/dist/chunks/nimbus-provider-BHwVMxgZ.es.js +0 -102
  790. package/dist/chunks/nimbus-provider-BHwVMxgZ.es.js.map +0 -1
  791. package/dist/chunks/nimbus-provider-DHZ_RRPR.cjs.js +0 -2
  792. package/dist/chunks/nimbus-provider-DHZ_RRPR.cjs.js.map +0 -1
  793. package/dist/chunks/number-input-CwrgDAWw.cjs.js +0 -2
  794. package/dist/chunks/number-input-CwrgDAWw.cjs.js.map +0 -1
  795. package/dist/chunks/number-input-DrhSvm6o.es.js.map +0 -1
  796. package/dist/chunks/pagination-C6OYOaIl.cjs.js +0 -2
  797. package/dist/chunks/pagination-C6OYOaIl.cjs.js.map +0 -1
  798. package/dist/chunks/pagination-aj1F0182.es.js +0 -210
  799. package/dist/chunks/pagination-aj1F0182.es.js.map +0 -1
  800. package/dist/chunks/password-input-BILx_1d0.cjs.js +0 -2
  801. package/dist/chunks/password-input-BILx_1d0.cjs.js.map +0 -1
  802. package/dist/chunks/password-input-DTPr52a3.es.js +0 -54
  803. package/dist/chunks/password-input-DTPr52a3.es.js.map +0 -1
  804. package/dist/chunks/popover-BAIwOPdC.es.js +0 -14
  805. package/dist/chunks/popover-BAIwOPdC.es.js.map +0 -1
  806. package/dist/chunks/popover-DY7ASSCU.cjs.js +0 -2
  807. package/dist/chunks/popover-DY7ASSCU.cjs.js.map +0 -1
  808. package/dist/chunks/range-calendar-BagHIF-Y.es.js +0 -219
  809. package/dist/chunks/range-calendar-BagHIF-Y.es.js.map +0 -1
  810. package/dist/chunks/range-calendar-sHWelH3C.cjs.js +0 -2
  811. package/dist/chunks/range-calendar-sHWelH3C.cjs.js.map +0 -1
  812. package/dist/chunks/rich-text-input-B4ksKYJh.cjs.js +0 -10
  813. package/dist/chunks/rich-text-input-B4ksKYJh.cjs.js.map +0 -1
  814. package/dist/chunks/rich-text-input-CZqXRWdM.es.js +0 -1200
  815. package/dist/chunks/rich-text-input-CZqXRWdM.es.js.map +0 -1
  816. package/dist/chunks/scoped-search-input-BKTc1h-7.cjs.js +0 -2
  817. package/dist/chunks/scoped-search-input-BKTc1h-7.cjs.js.map +0 -1
  818. package/dist/chunks/scoped-search-input-DY4w22Ki.es.js +0 -152
  819. package/dist/chunks/scoped-search-input-DY4w22Ki.es.js.map +0 -1
  820. package/dist/chunks/search-input-Bl0EswfK.cjs.js +0 -2
  821. package/dist/chunks/search-input-Bl0EswfK.cjs.js.map +0 -1
  822. package/dist/chunks/search-input-CMrPbAUI.es.js.map +0 -1
  823. package/dist/chunks/select-B2MAR-fq.cjs.js +0 -2
  824. package/dist/chunks/select-B2MAR-fq.cjs.js.map +0 -1
  825. package/dist/chunks/select-DG6qOekv.es.js.map +0 -1
  826. package/dist/chunks/split-button-BpZ8jMvw.es.js +0 -106
  827. package/dist/chunks/split-button-BpZ8jMvw.es.js.map +0 -1
  828. package/dist/chunks/split-button-C99oShiQ.cjs.js +0 -2
  829. package/dist/chunks/split-button-C99oShiQ.cjs.js.map +0 -1
  830. package/dist/chunks/tabs-HOHhoLn5.es.js +0 -502
  831. package/dist/chunks/tabs-HOHhoLn5.es.js.map +0 -1
  832. package/dist/chunks/tabs-gitNliDG.cjs.js +0 -2
  833. package/dist/chunks/tabs-gitNliDG.cjs.js.map +0 -1
  834. package/dist/chunks/tag-group-Aa30DcsU.es.js.map +0 -1
  835. package/dist/chunks/tag-group-Ci_H89V0.cjs.js +0 -2
  836. package/dist/chunks/tag-group-Ci_H89V0.cjs.js.map +0 -1
  837. package/dist/chunks/text-input-field-BgQ4Te_a.cjs.js +0 -2
  838. package/dist/chunks/text-input-field-BgQ4Te_a.cjs.js.map +0 -1
  839. package/dist/chunks/text-input-field-CkcoMrv2.es.js +0 -55
  840. package/dist/chunks/text-input-field-CkcoMrv2.es.js.map +0 -1
  841. package/dist/chunks/useDateFormatter-886GJ5w1.es.js.map +0 -1
  842. package/dist/chunks/useDateFormatter-WCaFojul.cjs.js +0 -2
  843. package/dist/chunks/useDateFormatter-WCaFojul.cjs.js.map +0 -1
  844. package/dist/chunks/useFilter-BgT0isJK.es.js +0 -36
  845. package/dist/chunks/useFilter-BgT0isJK.es.js.map +0 -1
  846. package/dist/chunks/useFilter-CAVKltBB.cjs.js +0 -2
  847. package/dist/chunks/useFilter-CAVKltBB.cjs.js.map +0 -1
  848. package/dist/chunks/useListState-QQtJHpsQ.cjs.js +0 -2
  849. package/dist/chunks/useLocalizedStringFormatter-DaRRUvyV.es.js +0 -97
  850. package/dist/chunks/useLocalizedStringFormatter-DaRRUvyV.es.js.map +0 -1
  851. package/dist/chunks/useLocalizedStringFormatter-kWoZGAh5.cjs.js +0 -2
  852. package/dist/chunks/useLocalizedStringFormatter-kWoZGAh5.cjs.js.map +0 -1
  853. package/dist/chunks/useSingleSelectListState-B29G7the.es.js +0 -35
  854. package/dist/chunks/useSingleSelectListState-B29G7the.es.js.map +0 -1
  855. package/dist/chunks/useSingleSelectListState-CsD7W9nK.cjs.js +0 -2
  856. package/dist/chunks/useSingleSelectListState-CsD7W9nK.cjs.js.map +0 -1
  857. package/dist/components/combobox/components/combobox.multi-select-button-group.d.ts +0 -7
  858. package/dist/components/combobox/components/combobox.multi-select-root.d.ts +0 -7
  859. package/dist/components/combobox/components/combobox.multi-select-tag-group.d.ts +0 -7
  860. package/dist/components/combobox/components/combobox.option-group.d.ts +0 -11
  861. package/dist/components/combobox/components/combobox.options.d.ts +0 -10
  862. package/dist/components/combobox/components/combobox.single-select-button-group.d.ts +0 -7
  863. package/dist/components/combobox/components/combobox.single-select-input.d.ts +0 -7
  864. package/dist/components/combobox/components/combobox.single-select-root.d.ts +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-input-CRGUa5d2.es.js","sources":["../../src/components/rich-text-input/rich-text-input.slots.tsx","../../src/components/rich-text-input/hooks/use-preserved-selection.ts","../../src/components/rich-text-input/constants/editor-constants.ts","../../src/components/rich-text-input/constants/text-styles.ts","../../../../node_modules/.pnpm/escape-html@1.0.3/node_modules/escape-html/index.js","../../src/components/rich-text-input/utils/html-serialization.ts","../../src/components/rich-text-input/utils/slate-helpers.tsx","../../src/components/rich-text-input/hooks/use-formatting-state.ts","../../src/components/rich-text-input/intl/en.ts","../../src/components/rich-text-input/intl/de.ts","../../src/components/rich-text-input/intl/es.ts","../../src/components/rich-text-input/intl/fr-FR.ts","../../src/components/rich-text-input/intl/pt-BR.ts","../../src/components/rich-text-input/rich-text-input.messages.ts","../../src/components/rich-text-input/components/formatting-menu.tsx","../../../../node_modules/.pnpm/is-hotkey@0.2.0/node_modules/is-hotkey/lib/index.js","../../src/components/rich-text-input/hooks/use-keyboard-shortcuts.ts","../../src/components/rich-text-input/components/rich-text-editor.tsx","../../src/components/rich-text-input/hooks/use-toolbar-state.ts","../../src/components/rich-text-input/components/rich-text-toolbar.tsx","../../src/components/rich-text-input/rich-text-input.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n RichTextInputRootSlotProps,\n RichTextInputToolbarSlotProps,\n RichTextInputEditableSlotProps,\n} from \"./rich-text-input.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"richTextInput\",\n});\n\n// Root slot\nexport const RichTextInputRootSlot: SlotComponent<\n HTMLDivElement,\n RichTextInputRootSlotProps\n> = withProvider<HTMLDivElement, RichTextInputRootSlotProps>(\"div\", \"root\");\n\n// Toolbar slot\nexport const RichTextInputToolbarSlot = withContext<\n HTMLDivElement,\n RichTextInputToolbarSlotProps\n>(\"div\", \"toolbar\");\n\n// Editable slot\nexport const RichTextInputEditableSlot = withContext<\n HTMLDivElement,\n RichTextInputEditableSlotProps\n>(\"div\", \"editable\");\n","import { useCallback } from \"react\";\nimport { Editor, Transforms } from \"slate\";\nimport { ReactEditor } from \"slate-react\";\n\n/**\n * Hook that provides a helper function to preserve selection when toolbar actions are executed.\n * This prevents losing text selection when interacting with toolbar buttons and menus.\n *\n * TODO: This works for toggle buttons, but not for menus.\n *\n * @param editor - The Slate editor instance\n * @returns A function that wraps actions to preserve selection and focus\n */\nexport const usePreservedSelection = (editor: Editor) => {\n return useCallback(\n (action: () => void) => {\n return () => {\n // Save the current selection\n const { selection } = editor;\n\n // Execute the action\n action();\n\n // Restore selection if it was lost\n if (selection && !editor.selection) {\n Transforms.select(editor, selection);\n }\n\n // Ensure editor stays focused\n if (!ReactEditor.isFocused(editor)) {\n ReactEditor.focus(editor);\n }\n };\n },\n [editor]\n );\n};\n","/**\n * Constants for the rich text editor component\n *\n * This file consolidates all the configuration constants used by the rich text editor.\n * Previously split across multiple files, now consolidated for better maintainability.\n */\n\n// Keyboard shortcuts for formatting\nexport const HOTKEYS = {\n \"mod+b\": \"bold\",\n \"mod+i\": \"italic\",\n \"mod+u\": \"underline\",\n \"mod+`\": \"code\",\n} as const;\n\n// Default configuration values\nexport const EDITOR_DEFAULTS = {\n placeholder: \"Start typing...\",\n isDisabled: false,\n isReadOnly: false,\n autoFocus: false,\n} as const;\n\n// HTML to Slate element mapping for serialization\nexport const BLOCK_TAGS = {\n blockquote: \"block-quote\",\n p: \"paragraph\",\n pre: \"code\",\n h1: \"heading-one\",\n h2: \"heading-two\",\n h3: \"heading-three\",\n h4: \"heading-four\",\n h5: \"heading-five\",\n ul: \"bulleted-list\",\n ol: \"numbered-list\",\n li: \"list-item\",\n a: \"link\",\n} as const;\n\nexport const MARK_TAGS = {\n strong: \"bold\",\n b: \"bold\",\n em: \"italic\",\n i: \"italic\",\n u: \"underline\",\n code: \"code\",\n sup: \"superscript\",\n sub: \"subscript\",\n del: \"strikethrough\",\n s: \"strikethrough\",\n} as const;\n\n// Formatting options for the \"More Options\" menu\nexport const FORMATTING_OPTIONS = {\n STRIKETHROUGH: \"strikethrough\",\n CODE: \"code\",\n SUPERSCRIPT: \"superscript\",\n SUBSCRIPT: \"subscript\",\n} as const;\n\nexport const BASIC_FORMATTING = [\n FORMATTING_OPTIONS.STRIKETHROUGH,\n FORMATTING_OPTIONS.CODE,\n] as const;\n\nexport const SCRIPT_FORMATTING = [\n FORMATTING_OPTIONS.SUPERSCRIPT,\n FORMATTING_OPTIONS.SUBSCRIPT,\n] as const;\n\n// Mutual exclusion groups - superscript and subscript cannot both be active\nexport const MUTUALLY_EXCLUSIVE_GROUPS = {\n script: [FORMATTING_OPTIONS.SUPERSCRIPT, FORMATTING_OPTIONS.SUBSCRIPT],\n} as const;\n\n// Type definitions\nexport type HotkeyType = typeof HOTKEYS;\nexport type HotkeyKey = keyof HotkeyType;\nexport type HotkeyValue = HotkeyType[HotkeyKey];\nexport type BlockTagKey = keyof typeof BLOCK_TAGS;\nexport type MarkTagKey = keyof typeof MARK_TAGS;\nexport type BlockTagValue = (typeof BLOCK_TAGS)[BlockTagKey];\nexport type MarkTagValue = (typeof MARK_TAGS)[MarkTagKey];\nexport type FormattingType =\n (typeof FORMATTING_OPTIONS)[keyof typeof FORMATTING_OPTIONS];\nexport type BasicFormattingType = (typeof BASIC_FORMATTING)[number];\nexport type ScriptFormattingType = (typeof SCRIPT_FORMATTING)[number];\n","/**\n * Text style definitions for rich text editor block formatting\n *\n * Used by:\n * - components/rich-text-toolbar.tsx: Renders text style dropdown menu with these options\n * - hooks/useToolbarState.ts: Manages current text style state and selection logic\n * - utils/text-style-utils.ts: Helper functions for text style operations\n * - utils/validation-utils.ts: Validates if block types are supported\n *\n * Purpose:\n * - Centralizes all available text styles and their visual properties\n * - Maps block type IDs to user-friendly labels and Chakra UI styling props\n * - Ensures consistent styling across the editor and UI controls\n */\nexport type TextStyleDefinition = {\n id: string;\n label: string;\n props: {\n textStyle: string;\n fontWeight: string;\n };\n};\n\n/**\n * Returns text style definitions with localized labels\n * @param format - Format function from useLocalizedStringFormatter\n */\nexport const getTextStyles = (\n format: (key: string) => string\n): TextStyleDefinition[] => [\n {\n id: \"paragraph\",\n label: format(\"paragraph\"),\n props: {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-one\",\n label: format(\"headingOne\"),\n props: {\n textStyle: \"2xl\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-two\",\n label: format(\"headingTwo\"),\n props: {\n textStyle: \"xl\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-three\",\n label: format(\"headingThree\"),\n props: {\n textStyle: \"lg\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-four\",\n label: format(\"headingFour\"),\n props: {\n textStyle: \"md\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"heading-five\",\n label: format(\"headingFive\"),\n props: {\n textStyle: \"xs\",\n fontWeight: \"500\",\n },\n },\n {\n id: \"block-quote\",\n label: format(\"quote\"),\n props: {\n textStyle: \"md\",\n fontWeight: \"400\",\n },\n },\n];\n\n/**\n * Available block types for text style detection\n *\n * Used by:\n * - hooks/useToolbarState.ts: Detects currently active block type in editor\n * - Excludes \"paragraph\" as it's the default/fallback type\n */\nexport const blockTypes = [\n \"heading-one\",\n \"heading-two\",\n \"heading-three\",\n \"heading-four\",\n \"heading-five\",\n \"block-quote\",\n] as const;\n\nexport type BlockType = (typeof blockTypes)[number] | \"paragraph\";\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","import escapeHtml from \"escape-html\";\nimport {\n Text,\n Element as SlateElement,\n type Descendant,\n type Node as SlateNode,\n} from \"slate\";\nimport { BLOCK_TAGS, MARK_TAGS } from \"../constants\";\nimport type { CustomElement, CustomText } from \"./types\";\nimport { validSlateStateAdapter } from \"./slate-helpers\";\n\n// Soft line break placeholder character\nconst SOFT_BREAK_PLACEHOLDER = \"\\u200B\\n\";\n\n// Default empty state for the editor\nexport const createEmptyValue = (): Descendant[] => [\n {\n type: \"paragraph\",\n children: [{ text: \"\" }],\n } as CustomElement,\n];\n\n// Serialize Slate value to HTML\nexport const toHTML = (value: Descendant[]): string => {\n return value.map(serializeNode).join(\"\");\n};\n\nconst serializeNode = (node: SlateNode): string => {\n if (Text.isText(node)) {\n const textNode = node as CustomText;\n let string = escapeHtml(textNode.text);\n\n // Apply text formatting\n if (textNode.bold) {\n string = `<strong>${string}</strong>`;\n }\n if (textNode.code) {\n string = `<code>${string}</code>`;\n }\n if (textNode.italic) {\n string = `<em>${string}</em>`;\n }\n if (textNode.underline) {\n string = `<u>${string}</u>`;\n }\n if (textNode.superscript) {\n string = `<sup>${string}</sup>`;\n }\n if (textNode.subscript) {\n string = `<sub>${string}</sub>`;\n }\n if (textNode.strikethrough) {\n string = `<del>${string}</del>`;\n }\n\n // Replace soft line breaks with <br> tags\n string = string.replace(new RegExp(SOFT_BREAK_PLACEHOLDER, \"g\"), \"<br>\");\n\n return string;\n }\n\n const children = node.children.map(serializeNode).join(\"\");\n const element = node as CustomElement;\n\n switch (element.type) {\n case \"block-quote\":\n return `<blockquote>${children}</blockquote>`;\n case \"paragraph\":\n return `<p>${children}</p>`;\n case \"code\":\n return `<pre><code>${children}</code></pre>`;\n case \"bulleted-list\":\n return `<ul>${children}</ul>`;\n case \"numbered-list\":\n return `<ol>${children}</ol>`;\n case \"list-item\":\n return `<li>${children}</li>`;\n case \"heading-one\":\n return `<h1>${children}</h1>`;\n case \"heading-two\":\n return `<h2>${children}</h2>`;\n case \"heading-three\":\n return `<h3>${children}</h3>`;\n case \"heading-four\":\n return `<h4>${children}</h4>`;\n case \"heading-five\":\n return `<h5>${children}</h5>`;\n case \"link\": {\n let hrefAttr = \"\";\n if (element.url) {\n // Sanitize href to prevent XSS\n const sanitizedUrl = sanitizeUrl(element.url);\n hrefAttr = ` href=\"${escapeHtml(sanitizedUrl)}\"`;\n }\n\n let otherAttrsString = \"\";\n if (\n element.htmlAttributes &&\n typeof element.htmlAttributes === \"object\"\n ) {\n for (const [key, value] of Object.entries(element.htmlAttributes)) {\n // Filter out event handlers to prevent XSS\n if (!key.toLowerCase().startsWith(\"on\")) {\n otherAttrsString += ` ${escapeHtml(key)}=\"${escapeHtml(String(value))}\"`;\n }\n }\n }\n\n return `<a${hrefAttr}${otherAttrsString}>${children}</a>`;\n }\n default:\n return children;\n }\n};\n\n// Parse HTML string to Slate value\nexport const fromHTML = (html: string): Descendant[] => {\n if (!html || html.trim() === \"\") {\n return createEmptyValue();\n }\n\n try {\n // Simple HTML parsing - for now just handle basic cases\n if (\n html.includes(\"<p>\") ||\n html.includes(\"<h\") ||\n html.includes(\"<div>\") ||\n html.includes(\"<blockquote>\") ||\n html.includes(\"<ul>\") ||\n html.includes(\"<ol>\")\n ) {\n const document = new DOMParser().parseFromString(html, \"text/html\");\n const body = document.body;\n\n const nodes = Array.from(body.childNodes)\n .map(deserializeNode)\n .filter(Boolean) as Descendant[];\n\n // Use validSlateStateAdapter to ensure all nodes are valid Slate elements\n return validSlateStateAdapter(nodes);\n } else {\n // Simple text content\n return [\n {\n type: \"paragraph\",\n children: [{ text: html }],\n } as CustomElement,\n ];\n }\n } catch (error) {\n console.warn(\"Failed to parse HTML:\", error);\n return createEmptyValue();\n }\n};\n\nconst deserializeNode = (node: Node): Descendant | string | null => {\n if (node.nodeType === Node.TEXT_NODE) {\n const text = node.textContent || \"\";\n // Replace <br> tags with soft line breaks\n return text.replace(/<br\\s*\\/?>/gi, SOFT_BREAK_PLACEHOLDER);\n }\n\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return null;\n }\n\n const element = node as Element;\n const tagName = element.tagName.toLowerCase();\n const children = Array.from(element.childNodes)\n .map(deserializeNode)\n .filter(Boolean);\n\n // Handle block elements\n if (tagName in BLOCK_TAGS) {\n const type = BLOCK_TAGS[tagName as keyof typeof BLOCK_TAGS];\n const slateElement: CustomElement = { type, children: [] };\n\n // Special handling for links\n if (type === \"link\") {\n const href = element.getAttribute(\"href\");\n if (href) {\n slateElement.url = href;\n }\n\n // Store other attributes\n const attrs: Record<string, string> = {};\n Array.from(element.attributes).forEach((attr) => {\n if (attr.name !== \"href\" && !attr.name.toLowerCase().startsWith(\"on\")) {\n attrs[attr.name] = attr.value;\n }\n });\n if (Object.keys(attrs).length > 0) {\n slateElement.htmlAttributes = attrs;\n }\n }\n\n // Process children\n slateElement.children = processChildren(children);\n return slateElement;\n }\n\n // Handle inline/mark elements - simplified without jsx\n if (tagName in MARK_TAGS) {\n const markType = MARK_TAGS[tagName as keyof typeof MARK_TAGS];\n const textContent = extractTextFromChildren(children);\n return { text: textContent, [markType]: true } as CustomText;\n }\n\n // Handle spans and other inline elements\n if (tagName === \"span\") {\n const textContent = extractTextFromChildren(children);\n return { text: textContent } as CustomText;\n }\n\n // For unknown elements, just return their text content\n const textContent = extractTextFromChildren(children);\n return { text: textContent } as CustomText;\n};\n\nconst processChildren = (\n children: (Descendant | string | null)[]\n): (CustomText | CustomElement)[] => {\n const processed: (CustomText | CustomElement)[] = [];\n\n for (const child of children) {\n if (typeof child === \"string\") {\n if (child.trim()) {\n processed.push({ text: child });\n }\n } else if (child && Text.isText(child)) {\n processed.push(child as CustomText);\n } else if (child && SlateElement.isElement(child)) {\n // Keep block elements (like li) as elements\n processed.push(child as CustomElement);\n }\n }\n\n // For list containers, ensure we have valid children\n // For other containers, ensure we always have at least one text node\n if (processed.length === 0) {\n processed.push({ text: \"\" });\n }\n\n return processed;\n};\n\nconst extractTextContent = (element: SlateElement): string => {\n return element.children\n .map((child) => {\n if (Text.isText(child)) {\n return child.text;\n } else if (SlateElement.isElement(child)) {\n return extractTextContent(child);\n }\n return \"\";\n })\n .join(\"\");\n};\n\nconst extractTextFromChildren = (\n children: (Descendant | string | null)[]\n): string => {\n return children\n .filter(Boolean)\n .map((child) => {\n if (typeof child === \"string\") {\n return child;\n } else if (child && typeof child === \"object\" && \"text\" in child) {\n return child.text;\n } else if (child && typeof child === \"object\" && \"children\" in child) {\n return extractTextContent(child as SlateElement);\n }\n return String(child || \"\");\n })\n .join(\"\");\n};\n\nconst sanitizeUrl = (url: string): string => {\n const trimmed = String(url).trim().toLowerCase();\n if (\n trimmed.startsWith(\"javascript:\") ||\n trimmed.startsWith(\"data:\") ||\n trimmed.startsWith(\"vbscript:\")\n ) {\n return \"#\";\n }\n return String(url);\n};\n","import { type ReactElement } from \"react\";\nimport {\n Editor,\n Transforms,\n Element as SlateElement,\n Range,\n Text,\n type Editor as SlateEditor,\n} from \"slate\";\nimport {\n ReactEditor,\n type RenderElementProps,\n type RenderLeafProps,\n} from \"slate-react\";\nimport type { CustomElement, CustomText, ElementFormat } from \"./types\";\nimport { fromHTML, createEmptyValue } from \"./html-serialization\";\nimport type { Descendant } from \"slate\";\n\n// Validate and normalize Slate state\nexport const validSlateStateAdapter = (value: unknown): Descendant[] => {\n if (!Array.isArray(value)) {\n return createEmptyValue();\n }\n\n if (value.length === 0) {\n return createEmptyValue();\n }\n\n return value.map((node) => {\n if (!SlateElement.isElement(node)) {\n return {\n type: \"paragraph\",\n children: [{ text: String(node) }],\n } as CustomElement;\n }\n\n if (!node.children || node.children.length === 0) {\n return { ...node, children: [{ text: \"\" }] } as CustomElement;\n }\n\n return node as CustomElement;\n });\n};\n\n// Simple URL validation function\nconst isUrl = (text: string): boolean => {\n try {\n const url = new URL(text);\n return url.protocol === \"http:\" || url.protocol === \"https:\";\n } catch {\n return false;\n }\n};\n\nconst LIST_TYPES = [\"bulleted-list\", \"numbered-list\"];\n\n// Define valid mark formats that can be checked\nconst VALID_MARK_FORMATS = [\n \"bold\",\n \"code\",\n \"italic\",\n \"underline\",\n \"superscript\",\n \"subscript\",\n \"strikethrough\",\n] as const;\n\ntype ValidMarkFormat = (typeof VALID_MARK_FORMATS)[number];\n\n// Type guard to check if a format is a valid mark format\nconst isValidMarkFormat = (format: string): format is ValidMarkFormat => {\n return VALID_MARK_FORMATS.includes(format as ValidMarkFormat);\n};\n\n// Type-safe function to check if a mark is active on a text node\nconst hasMarkFormat = (textNode: CustomText, format: string): boolean => {\n if (!isValidMarkFormat(format)) {\n return false;\n }\n return textNode[format] === true;\n};\n\n// Check if a mark is currently active\nexport const isMarkActive = (editor: SlateEditor, format: string): boolean => {\n const { selection } = editor;\n\n // For collapsed selection (cursor position), use the standard approach\n if (!selection || Range.isCollapsed(selection)) {\n const marks = Editor.marks(editor);\n if (marks && isValidMarkFormat(format)) {\n return (marks as CustomText)[format] === true;\n }\n\n // If no selection/marks (e.g., programmatically set content), check first text node\n if (!selection && editor.children.length > 0) {\n const firstNode = editor.children[0] as CustomElement;\n if (firstNode.children && firstNode.children.length > 0) {\n const firstText = firstNode.children[0];\n if (Text.isText(firstText) && isValidMarkFormat(format)) {\n return (firstText as CustomText)[format] === true;\n }\n }\n }\n\n return false;\n }\n\n // For text selection, check if any selected text has the mark\n // This provides better mixed formatting detection\n try {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: selection,\n match: (n) => Text.isText(n),\n })\n );\n\n if (textNodes.length === 0) {\n const marks = Editor.marks(editor);\n if (!marks || !isValidMarkFormat(format)) {\n return false;\n }\n return (marks as CustomText)[format] === true;\n }\n\n // Show as active only if all selected text has this mark\n // Prioritizes unformatted text - if any text is unformatted, button shows inactive\n return textNodes.every(([node]) => {\n const textNode = node as CustomText;\n return hasMarkFormat(textNode, format);\n });\n } catch {\n // Fallback to original approach if node traversal fails\n const marks = Editor.marks(editor);\n if (!marks || !isValidMarkFormat(format)) {\n return false;\n }\n return (marks as CustomText)[format] === true;\n }\n};\n\n// Check if a block type is currently active\nexport const isBlockActive = (\n editor: SlateEditor,\n format: ElementFormat\n): boolean => {\n const { selection } = editor;\n\n // If there's a selection, use it to determine active block\n if (selection) {\n const [match] = Array.from(\n Editor.nodes(editor, {\n at: Editor.unhangRange(editor, selection),\n match: (n) =>\n !Editor.isEditor(n) &&\n SlateElement.isElement(n) &&\n (n as CustomElement).type === format,\n })\n );\n return !!match;\n }\n\n // If no selection, check the first block in the editor\n // This handles cases where content is set programmatically without focus\n if (editor.children.length > 0) {\n const firstNode = editor.children[0] as CustomElement;\n return firstNode.type === format;\n }\n\n return false;\n};\n\n// Toggle a text mark (bold, italic, etc.)\nexport const toggleMark = (editor: SlateEditor, format: string): void => {\n const isActive = isMarkActive(editor, format);\n\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n};\n\n// Toggle a block type (heading, list, etc.)\nexport const toggleBlock = (\n editor: SlateEditor,\n format: ElementFormat\n): void => {\n const isActive = isBlockActive(editor, format);\n const isList = LIST_TYPES.includes(format);\n\n Transforms.unwrapNodes(editor, {\n match: (n) =>\n !Editor.isEditor(n) &&\n SlateElement.isElement(n) &&\n LIST_TYPES.includes((n as CustomElement).type),\n split: true,\n });\n\n let newProperties: Partial<CustomElement>;\n if (isActive) {\n newProperties = { type: \"paragraph\" };\n } else if (isList) {\n newProperties = { type: \"list-item\" };\n } else {\n newProperties = { type: format };\n }\n\n Transforms.setNodes<CustomElement>(editor, newProperties);\n\n if (!isActive && isList) {\n const block: CustomElement = { type: format, children: [] };\n Transforms.wrapNodes(editor, block);\n }\n};\n\n// Focus the editor\nexport const focusEditor = (editor: SlateEditor): void => {\n ReactEditor.focus(editor);\n};\n\n// Reset the editor to a specific value\nexport const resetEditor = (editor: SlateEditor, value: string): void => {\n const newValue = fromHTML(value);\n\n // Clear current content\n Transforms.delete(editor, {\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n });\n\n // Insert new content\n Transforms.insertNodes(editor, newValue);\n\n // Focus at the start\n Transforms.select(editor, Editor.start(editor, []));\n};\n\n// Link plugin\nexport const withLinks = (editor: SlateEditor): SlateEditor => {\n const { insertData, insertText, isInline } = editor;\n\n editor.isInline = (element: CustomElement) => {\n return element.type === \"link\" ? true : isInline(element);\n };\n\n editor.insertText = (text: string) => {\n if (text && isUrl(text)) {\n wrapLink(editor, text);\n } else {\n insertText(text);\n }\n };\n\n editor.insertData = (data: DataTransfer) => {\n const text = data.getData(\"text/plain\");\n\n if (text && isUrl(text)) {\n wrapLink(editor, text);\n } else {\n insertData(data);\n }\n };\n\n return editor;\n};\n\nconst unwrapLink = (editor: SlateEditor): void => {\n Transforms.unwrapNodes(editor, {\n match: (n) =>\n !Editor.isEditor(n) &&\n SlateElement.isElement(n) &&\n (n as CustomElement).type === \"link\",\n });\n};\n\nconst wrapLink = (editor: SlateEditor, url: string): void => {\n if (isBlockActive(editor, \"link\")) {\n unwrapLink(editor);\n }\n\n const { selection } = editor;\n const isCollapsed = selection && Range.isCollapsed(selection);\n const link: CustomElement = {\n type: \"link\",\n url,\n children: isCollapsed ? [{ text: url }] : [],\n };\n\n if (isCollapsed) {\n Transforms.insertNodes(editor, link);\n } else {\n Transforms.wrapNodes(editor, link, { split: true });\n Transforms.collapse(editor, { edge: \"end\" });\n }\n};\n\n// Render element component\nexport const Element = ({\n attributes,\n children,\n element,\n}: RenderElementProps): ReactElement => {\n const customElement = element as CustomElement;\n const style = { textAlign: customElement.align } as React.CSSProperties;\n\n switch (customElement.type) {\n case \"block-quote\":\n return (\n <blockquote style={style} {...attributes}>\n {children}\n </blockquote>\n );\n case \"bulleted-list\":\n return (\n <ul style={style} {...attributes}>\n {children}\n </ul>\n );\n case \"heading-one\":\n return (\n <h1 style={style} {...attributes}>\n {children}\n </h1>\n );\n case \"heading-two\":\n return (\n <h2 style={style} {...attributes}>\n {children}\n </h2>\n );\n case \"heading-three\":\n return (\n <h3 style={style} {...attributes}>\n {children}\n </h3>\n );\n case \"heading-four\":\n return (\n <h4 style={style} {...attributes}>\n {children}\n </h4>\n );\n case \"heading-five\":\n return (\n <h5 style={style} {...attributes}>\n {children}\n </h5>\n );\n case \"list-item\":\n return (\n <li style={style} {...attributes}>\n {children}\n </li>\n );\n case \"numbered-list\":\n return (\n <ol style={style} {...attributes}>\n {children}\n </ol>\n );\n case \"link\":\n return (\n <a\n {...attributes}\n href={customElement.url}\n rel=\"noopener noreferrer\"\n style={style}\n >\n {children}\n </a>\n );\n default:\n return (\n <p style={style} {...attributes}>\n {children}\n </p>\n );\n }\n};\n\n// Render leaf component\nexport const Leaf = ({\n attributes,\n children,\n leaf,\n}: RenderLeafProps): ReactElement => {\n const customLeaf = leaf as CustomText;\n if (customLeaf.bold) {\n children = <strong>{children}</strong>;\n }\n\n if (customLeaf.code) {\n children = <code>{children}</code>;\n }\n\n if (customLeaf.italic) {\n children = <em>{children}</em>;\n }\n\n if (customLeaf.underline) {\n children = <u>{children}</u>;\n }\n\n if (customLeaf.strikethrough) {\n children = <del>{children}</del>;\n }\n\n if (customLeaf.superscript) {\n children = <sup>{children}</sup>;\n }\n\n if (customLeaf.subscript) {\n children = <sub>{children}</sub>;\n }\n\n return <span {...attributes}>{children}</span>;\n};\n\n// Soft line break handling\nexport const Softbreaker = {\n placeholderCharacter: \"\\u200B\\n\",\n serialize: (string: string): string =>\n string.replace(new RegExp(Softbreaker.placeholderCharacter, \"g\"), \"<br>\"),\n deserialize: (string: string): string =>\n string.replace(/<br\\s*\\/?>/gi, Softbreaker.placeholderCharacter),\n};\n","/**\n * Hook for managing formatting menu state with mutual exclusion logic\n *\n * Used by:\n * - components/formatting-menu.tsx: Manages complex formatting state and interactions\n *\n * Purpose:\n * - Handles mutual exclusion between superscript and subscript formatting\n * - Manages state for all formatting options in the \"More Options\" menu\n * - Processes complex selection changes with custom logic\n * - Extracted from formatting-menu.tsx to improve organization and testability\n * - Separates complex business logic from UI rendering\n *\n * @param withPreservedSelection - Function for preserving editor selection during operations\n * @returns Object containing formatting state and selection change handler\n */\nimport { useMemo, useCallback } from \"react\";\nimport { Editor } from \"slate\";\nimport { useSlate } from \"slate-react\";\nimport type { Key } from \"react-aria\";\nimport { BASIC_FORMATTING, SCRIPT_FORMATTING } from \"../constants\";\nimport { isMarkActive, toggleMark } from \"../utils/slate-helpers\";\n\nexport type UseFormattingStateProps = {\n withPreservedSelection: (fn: () => void) => () => void;\n};\n\nexport const useFormattingState = ({\n withPreservedSelection,\n}: UseFormattingStateProps) => {\n const editor = useSlate();\n\n // Get currently selected formatting keys (strikethrough and code)\n const selectedKeys = useMemo(() => {\n const keys: string[] = [];\n BASIC_FORMATTING.forEach((format) => {\n if (isMarkActive(editor, format)) keys.push(format);\n });\n return new Set(keys);\n }, [editor.selection, editor.children, Editor.marks(editor)]);\n\n // Get currently selected script formatting key (superscript or subscript - mutually exclusive)\n const selectedScriptKeys = useMemo(() => {\n const keys: string[] = [];\n SCRIPT_FORMATTING.forEach((format) => {\n if (isMarkActive(editor, format)) keys.push(format);\n });\n return new Set(keys);\n }, [editor.selection, editor.children, Editor.marks(editor)]);\n\n // Combine all selected keys for display purposes\n const allSelectedKeys = useMemo(() => {\n return new Set([\n ...Array.from(selectedKeys),\n ...Array.from(selectedScriptKeys),\n ]);\n }, [selectedKeys, selectedScriptKeys]);\n\n // Handle all selection changes with custom logic for mutual exclusion\n const handleAllSelectionChange = useCallback(\n (keys: \"all\" | Set<Key>) => {\n if (keys === \"all\") return;\n\n const keyArray = Array.from(keys) as string[];\n const currentKeys = Array.from(allSelectedKeys);\n\n // Find newly selected keys (toggle on)\n const newlySelected = keyArray.filter(\n (key) => !currentKeys.includes(key)\n );\n // Find newly deselected keys (toggle off)\n const newlyDeselected = currentKeys.filter(\n (key) => !keyArray.includes(key)\n );\n\n // Handle changes for each key\n [...newlySelected, ...newlyDeselected].forEach((key) => {\n if (key === \"superscript\" || key === \"subscript\") {\n // Handle script formatting with mutual exclusion\n withPreservedSelection(() => {\n const currentlyActive = isMarkActive(editor, \"superscript\")\n ? \"superscript\"\n : isMarkActive(editor, \"subscript\")\n ? \"subscript\"\n : null;\n\n if (newlySelected.includes(key)) {\n // If selecting a script format, deactivate the other one first\n if (currentlyActive && currentlyActive !== key) {\n toggleMark(editor, currentlyActive);\n }\n toggleMark(editor, key);\n } else {\n // Deselecting\n toggleMark(editor, key);\n }\n })();\n } else {\n // Handle regular formatting (strikethrough, code)\n withPreservedSelection(() => toggleMark(editor, key))();\n }\n });\n },\n [editor, allSelectedKeys, withPreservedSelection]\n );\n\n return {\n selectedKeys,\n selectedScriptKeys,\n allSelectedKeys,\n handleAllSelectionChange,\n };\n};\n","/**\n * Pre-compiled en messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Bold`,\n bulletedList: `Bulleted list`,\n code: `Code`,\n headingFive: `Heading 5`,\n headingFour: `Heading 4`,\n headingOne: `Heading 1`,\n headingThree: `Heading 3`,\n headingTwo: `Heading 2`,\n italic: `Italic`,\n listFormatting: `List formatting`,\n moreFormattingOptions: `More formatting options`,\n moreStyles: `More styles`,\n numberedList: `Numbered list`,\n paragraph: `Paragraph`,\n quote: `Quote`,\n redo: `Redo`,\n strikethrough: `Strikethrough`,\n subscript: `Subscript`,\n superscript: `Superscript`,\n textFormatting: `Text formatting`,\n textStyle: `Text style`,\n textStyleMenu: `Text style menu`,\n underline: `Underline`,\n undo: `Undo`,\n};\n","/**\n * Pre-compiled de messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Fett`,\n bulletedList: `Aufzählungsliste`,\n code: `Code`,\n headingFive: `Überschrift 5`,\n headingFour: `Überschrift 4`,\n headingOne: `Überschrift 1`,\n headingThree: `Überschrift 3`,\n headingTwo: `Überschrift 2`,\n italic: `Kursiv`,\n listFormatting: `Listenformatierung`,\n moreFormattingOptions: `Weitere Formatierungsoptionen`,\n moreStyles: `Weitere Stile`,\n numberedList: `Nummerierte Liste`,\n paragraph: `Paragraph`,\n quote: `Zitat`,\n redo: `Wiederherstellen`,\n strikethrough: `Durchstreichen`,\n subscript: `Tiefgestellt`,\n superscript: `Hochgestellt`,\n textFormatting: `Textformatierung`,\n textStyle: `Textstil`,\n textStyleMenu: `Textstilmenü`,\n underline: `Unterstreichen`,\n undo: `Rückgängig machen`,\n};\n","/**\n * Pre-compiled es messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Negrita`,\n bulletedList: `Lista no numerada`,\n code: `Código`,\n headingFive: `Encabezamiento 5`,\n headingFour: `Encabezamiento 4`,\n headingOne: `Encabezamiento 1`,\n headingThree: `Encabezamiento 3`,\n headingTwo: `Encabezamiento 2`,\n italic: `Cursiva`,\n listFormatting: `Formatear lista`,\n moreFormattingOptions: `Más opciones de formato`,\n moreStyles: `Más estilos`,\n numberedList: `Lista numerada`,\n paragraph: `Párrafo`,\n quote: `Presupuesto`,\n redo: `Repetir`,\n strikethrough: `Tachado`,\n subscript: `Subíndice`,\n superscript: `Índice superior`,\n textFormatting: `Formatear texto`,\n textStyle: `Estilo de texto`,\n textStyleMenu: `Menú de estilo de texto`,\n underline: `Subrayar`,\n undo: `Deshacer`,\n};\n","/**\n * Pre-compiled fr-FR messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Gras`,\n bulletedList: `Liste à puces`,\n code: `Code`,\n headingFive: `En-tête 5`,\n headingFour: `En-tête 4`,\n headingOne: `En-tête 1`,\n headingThree: `En-tête 3`,\n headingTwo: `En-tête 2`,\n italic: `Italique`,\n listFormatting: `Formatage de la liste`,\n moreFormattingOptions: `Plus d'options de formatage`,\n moreStyles: `Plus de styles`,\n numberedList: `Liste numérotée`,\n paragraph: `Paragraphe`,\n quote: `Citation`,\n redo: `Rétablir`,\n strikethrough: `Barré`,\n subscript: `Indice`,\n superscript: `Exposant`,\n textFormatting: `Formatage du texte`,\n textStyle: `Style de texte`,\n textStyleMenu: `Menu style de texte`,\n underline: `Souligné`,\n undo: `Annuler`,\n};\n","/**\n * Pre-compiled pt-BR messages for RichTextInput\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n bold: `Negrito`,\n bulletedList: `Lista com marcadores`,\n code: `Código`,\n headingFive: `Cabeçalho 5`,\n headingFour: `Cabeçalho 4`,\n headingOne: `Cabeçalho 1`,\n headingThree: `Cabeçalho 3`,\n headingTwo: `Cabeçalho 2`,\n italic: `Itálico`,\n listFormatting: `Formatação de lista`,\n moreFormattingOptions: `Mais opções de formatação`,\n moreStyles: `Mais estilos`,\n numberedList: `Lista numerada`,\n paragraph: `Parágrafo`,\n quote: `Cotação`,\n redo: `Refazer`,\n strikethrough: `Tachado`,\n subscript: `Subscrito`,\n superscript: `Sobrescrito`,\n textFormatting: `Formatação de texto`,\n textStyle: `Estilo de texto`,\n textStyleMenu: `Menu de estilo de texto`,\n underline: `Sublinhado`,\n undo: `Desfazer`,\n};\n","/**\n * Pre-compiled localized messages for RichTextInput component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport richTextInputMessages_en from \"./intl/en\";\nimport richTextInputMessages_de from \"./intl/de\";\nimport richTextInputMessages_es from \"./intl/es\";\nimport richTextInputMessages_fr from \"./intl/fr-FR\";\nimport richTextInputMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const richTextInputMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(richTextInputMessages_en),\n de: normalizeMessages(richTextInputMessages_de),\n es: normalizeMessages(richTextInputMessages_es),\n \"fr-FR\": normalizeMessages(richTextInputMessages_fr),\n \"pt-BR\": normalizeMessages(richTextInputMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for RichTextInput component\n */\nexport type RichTextInputMessageKey =\n | \"bold\"\n | \"bulletedList\"\n | \"code\"\n | \"headingFive\"\n | \"headingFour\"\n | \"headingOne\"\n | \"headingThree\"\n | \"headingTwo\"\n | \"italic\"\n | \"listFormatting\"\n | \"moreFormattingOptions\"\n | \"moreStyles\"\n | \"numberedList\"\n | \"paragraph\"\n | \"quote\"\n | \"redo\"\n | \"strikethrough\"\n | \"subscript\"\n | \"superscript\"\n | \"textFormatting\"\n | \"textStyle\"\n | \"textStyleMenu\"\n | \"underline\"\n | \"undo\";\n","import { useSlate } from \"slate-react\";\nimport { Menu, IconButton, Text, Box, Tooltip } from \"@/components\";\nimport {\n MoreHoriz,\n FormatStrikethrough,\n Code,\n} from \"@commercetools/nimbus-icons\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useFormattingState } from \"../hooks/use-formatting-state\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { richTextInputMessagesStrings } from \"../rich-text-input.messages\";\n\nexport type FormattingMenuProps = {\n isDisabled?: boolean;\n};\n\nexport const FormattingMenu = ({ isDisabled = false }: FormattingMenuProps) => {\n const msg = useLocalizedStringFormatter(richTextInputMessagesStrings);\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Use the formatting state hook for all state management\n const { allSelectedKeys, handleAllSelectionChange } = useFormattingState({\n withPreservedSelection,\n });\n\n return (\n <Menu.Root\n selectionMode=\"multiple\"\n selectedKeys={allSelectedKeys}\n onSelectionChange={handleAllSelectionChange}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <Menu.Trigger asChild>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"moreFormattingOptions\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <MoreHoriz />\n </IconButton>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"moreStyles\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n <Menu.Item id=\"strikethrough\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <FormatStrikethrough />\n <Text textStyle=\"sm\">{msg.format(\"strikethrough\")}</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"code\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Code />\n <Text textStyle=\"sm\">{msg.format(\"code\")}</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"superscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X²</Text>\n <Text textStyle=\"sm\">{msg.format(\"superscript\")}</Text>\n </Box>\n </Menu.Item>\n <Menu.Item id=\"subscript\">\n <Box slot=\"label\" display=\"flex\" alignItems=\"center\" gap=\"200\">\n <Text>X₂</Text>\n <Text textStyle=\"sm\">{msg.format(\"subscript\")}</Text>\n </Box>\n </Menu.Item>\n </Menu.Content>\n </Menu.Root>\n );\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * Constants.\n */\n\nvar IS_MAC = typeof window != 'undefined' && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);\n\nvar MODIFIERS = {\n alt: 'altKey',\n control: 'ctrlKey',\n meta: 'metaKey',\n shift: 'shiftKey'\n};\n\nvar ALIASES = {\n add: '+',\n break: 'pause',\n cmd: 'meta',\n command: 'meta',\n ctl: 'control',\n ctrl: 'control',\n del: 'delete',\n down: 'arrowdown',\n esc: 'escape',\n ins: 'insert',\n left: 'arrowleft',\n mod: IS_MAC ? 'meta' : 'control',\n opt: 'alt',\n option: 'alt',\n return: 'enter',\n right: 'arrowright',\n space: ' ',\n spacebar: ' ',\n up: 'arrowup',\n win: 'meta',\n windows: 'meta'\n};\n\nvar CODES = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n control: 17,\n alt: 18,\n pause: 19,\n capslock: 20,\n escape: 27,\n ' ': 32,\n pageup: 33,\n pagedown: 34,\n end: 35,\n home: 36,\n arrowleft: 37,\n arrowup: 38,\n arrowright: 39,\n arrowdown: 40,\n insert: 45,\n delete: 46,\n meta: 91,\n numlock: 144,\n scrolllock: 145,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n '\\'': 222\n};\n\nfor (var f = 1; f < 20; f++) {\n CODES['f' + f] = 111 + f;\n}\n\n/**\n * Is hotkey?\n */\n\nfunction isHotkey(hotkey, options, event) {\n if (options && !('byKey' in options)) {\n event = options;\n options = null;\n }\n\n if (!Array.isArray(hotkey)) {\n hotkey = [hotkey];\n }\n\n var array = hotkey.map(function (string) {\n return parseHotkey(string, options);\n });\n var check = function check(e) {\n return array.some(function (object) {\n return compareHotkey(object, e);\n });\n };\n var ret = event == null ? check : check(event);\n return ret;\n}\n\nfunction isCodeHotkey(hotkey, event) {\n return isHotkey(hotkey, event);\n}\n\nfunction isKeyHotkey(hotkey, event) {\n return isHotkey(hotkey, { byKey: true }, event);\n}\n\n/**\n * Parse.\n */\n\nfunction parseHotkey(hotkey, options) {\n var byKey = options && options.byKey;\n var ret = {};\n\n // Special case to handle the `+` key since we use it as a separator.\n hotkey = hotkey.replace('++', '+add');\n var values = hotkey.split('+');\n var length = values.length;\n\n // Ensure that all the modifiers are set to false unless the hotkey has them.\n\n for (var k in MODIFIERS) {\n ret[MODIFIERS[k]] = false;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = values[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var value = _step.value;\n\n var optional = value.endsWith('?') && value.length > 1;\n\n if (optional) {\n value = value.slice(0, -1);\n }\n\n var name = toKeyName(value);\n var modifier = MODIFIERS[name];\n\n if (value.length > 1 && !modifier && !ALIASES[value] && !CODES[name]) {\n throw new TypeError('Unknown modifier: \"' + value + '\"');\n }\n\n if (length === 1 || !modifier) {\n if (byKey) {\n ret.key = name;\n } else {\n ret.which = toKeyCode(value);\n }\n }\n\n if (modifier) {\n ret[modifier] = optional ? null : true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return ret;\n}\n\n/**\n * Compare.\n */\n\nfunction compareHotkey(object, event) {\n for (var key in object) {\n var expected = object[key];\n var actual = void 0;\n\n if (expected == null) {\n continue;\n }\n\n if (key === 'key' && event.key != null) {\n actual = event.key.toLowerCase();\n } else if (key === 'which') {\n actual = expected === 91 && event.which === 93 ? 91 : event.which;\n } else {\n actual = event[key];\n }\n\n if (actual == null && expected === false) {\n continue;\n }\n\n if (actual !== expected) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Utils.\n */\n\nfunction toKeyCode(name) {\n name = toKeyName(name);\n var code = CODES[name] || name.toUpperCase().charCodeAt(0);\n return code;\n}\n\nfunction toKeyName(name) {\n name = name.toLowerCase();\n name = ALIASES[name] || name;\n return name;\n}\n\n/**\n * Export.\n */\n\nexports.default = isHotkey;\nexports.isHotkey = isHotkey;\nexports.isCodeHotkey = isCodeHotkey;\nexports.isKeyHotkey = isKeyHotkey;\nexports.parseHotkey = parseHotkey;\nexports.compareHotkey = compareHotkey;\nexports.toKeyCode = toKeyCode;\nexports.toKeyName = toKeyName;","/**\n * Hook for handling keyboard shortcuts in the rich text editor\n *\n * Used by:\n * - components/rich-text-editor.tsx: Attaches keyboard event handler to the editor\n *\n * Purpose:\n * - Centralizes all keyboard shortcut logic for the editor\n * - Handles formatting shortcuts (Cmd+B, Cmd+I, etc.)\n * - Manages undo/redo keyboard combinations\n * - Processes soft line breaks (Shift+Enter)\n * - Extracted from rich-text-editor.tsx to improve organization and testability\n *\n * @param editor - The Slate editor instance for applying changes\n * @returns Object containing the keyboard event handler\n */\nimport { useCallback } from \"react\";\nimport { Editor } from \"slate\";\nimport isHotkey from \"is-hotkey\";\nimport { HOTKEYS } from \"../constants\";\nimport { toggleMark } from \"../utils/slate-helpers\";\nimport { Softbreaker } from \"../utils/slate-helpers\";\n\nexport type UseKeyboardShortcutsProps = {\n editor: Editor;\n};\n\nexport const useKeyboardShortcuts = ({ editor }: UseKeyboardShortcutsProps) => {\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n // Handle undo/redo shortcuts\n if ((event.metaKey || event.ctrlKey) && event.key === \"z\") {\n event.preventDefault();\n if (event.shiftKey) {\n editor.redo();\n } else {\n editor.undo();\n }\n return;\n }\n\n // Handle formatting shortcuts\n for (const hotkey in HOTKEYS) {\n if (isHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = HOTKEYS[hotkey as keyof typeof HOTKEYS];\n toggleMark(editor, mark);\n return;\n }\n }\n\n // Handle soft line breaks (Shift+Enter)\n if (event.shiftKey && event.key === \"Enter\") {\n event.preventDefault();\n editor.insertText(Softbreaker.placeholderCharacter);\n return;\n }\n },\n [editor]\n );\n\n return { handleKeyDown };\n};\n","import {\n useMemo,\n useCallback,\n useImperativeHandle,\n useRef,\n type FocusEventHandler,\n type ReactNode,\n} from \"react\";\nimport { useObjectRef } from \"react-aria\";\nimport { mergeRefs } from \"@chakra-ui/react\";\nimport { createEditor, type Descendant } from \"slate\";\nimport { Slate, Editable, withReact } from \"slate-react\";\nimport { withHistory } from \"slate-history\";\nimport {\n RichTextInputEditableSlot,\n RichTextInputToolbarSlot,\n} from \"../rich-text-input.slots\";\nimport {\n Element,\n Leaf,\n withLinks,\n focusEditor,\n resetEditor,\n} from \"../utils/slate-helpers\";\nimport { createEmptyValue } from \"../utils/html-serialization\";\nimport { useKeyboardShortcuts } from \"../hooks/use-keyboard-shortcuts\";\nimport { EDITOR_DEFAULTS } from \"../constants\";\n\nexport type RichTextEditorProps = {\n value?: Descendant[];\n onChange: (value: Descendant[]) => void;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n onBlur?: FocusEventHandler<HTMLDivElement>;\n placeholder?: string;\n isDisabled?: boolean;\n isReadOnly?: boolean;\n autoFocus?: boolean;\n toolbar?: ReactNode;\n /**\n * React ref to be forwarded to the editor\n */\n ref?: React.Ref<RichTextEditorRef>;\n};\n\nexport type RichTextEditorRef = {\n focus: () => void;\n resetValue: (html: string) => void;\n};\n\nexport const RichTextEditor = function RichTextEditor({\n ref: forwardedRef,\n value,\n onChange,\n onFocus,\n onBlur,\n placeholder = EDITOR_DEFAULTS.placeholder,\n isDisabled = EDITOR_DEFAULTS.isDisabled,\n isReadOnly = EDITOR_DEFAULTS.isReadOnly,\n autoFocus = EDITOR_DEFAULTS.autoFocus,\n toolbar,\n //...props\n}: RichTextEditorProps) {\n const localRef = useRef<RichTextEditorRef>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n // Create editor with plugins\n const editor = useMemo(() => {\n const baseEditor = createEditor();\n return withLinks(withHistory(withReact(baseEditor)));\n }, []);\n\n // Handle keyboard shortcuts using hook\n const { handleKeyDown } = useKeyboardShortcuts({ editor });\n\n // Handle focus\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onFocus) {\n onFocus(event);\n }\n },\n [onFocus]\n );\n\n // Handle blur\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n if (onBlur) {\n onBlur(event);\n }\n },\n [onBlur]\n );\n\n // Expose methods through ref\n useImperativeHandle(\n ref,\n () => ({\n focus: () => focusEditor(editor),\n resetValue: (html: string) => resetEditor(editor, html),\n }),\n [editor]\n );\n\n // Render element\n const renderElement = useCallback(\n (props: Parameters<typeof Element>[0]) => <Element {...props} />,\n []\n );\n\n // Render leaf\n const renderLeaf = useCallback(\n (props: Parameters<typeof Leaf>[0]) => <Leaf {...props} />,\n []\n );\n\n // Ensure we always have a valid value\n const defaultValue = createEmptyValue();\n const safeInitialValue =\n Array.isArray(value) && value.length > 0 ? value : defaultValue;\n\n return (\n <Slate editor={editor} value={safeInitialValue} onChange={onChange}>\n {toolbar && (\n <RichTextInputToolbarSlot>{toolbar}</RichTextInputToolbarSlot>\n )}\n <RichTextInputEditableSlot asChild>\n <Editable\n renderElement={renderElement}\n renderLeaf={renderLeaf}\n placeholder={placeholder}\n autoFocus={autoFocus}\n readOnly={isReadOnly || isDisabled}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n aria-label=\"Rich text editor\"\n role=\"textbox\"\n aria-multiline=\"true\"\n />\n </RichTextInputEditableSlot>\n </Slate>\n );\n};\n\nRichTextEditor.displayName = \"RichTextEditor\";\n","/**\n * Hook for managing rich text toolbar state and interactions\n *\n * Used by:\n * - components/rich-text-toolbar.tsx: Manages all toolbar state and event handlers\n *\n * Purpose:\n * - Centralizes complex toolbar state management logic\n * - Handles text style changes, list toggling, format detection\n * - Manages undo/redo button states\n * - Extracted from rich-text-toolbar.tsx to improve organization and testability\n * - Provides clean separation between UI and business logic\n *\n * @param withPreservedSelection - Function for preserving editor selection during operations\n * @returns Object containing all toolbar state and event handlers\n */\nimport { useMemo, useCallback } from \"react\";\nimport { Editor } from \"slate\";\nimport { useSlate } from \"slate-react\";\nimport type { Key } from \"react-aria\";\nimport {\n blockTypes,\n type BlockType,\n type TextStyleDefinition,\n} from \"../constants\";\nimport {\n isMarkActive,\n isBlockActive,\n toggleBlock,\n} from \"../utils/slate-helpers\";\nimport type { CustomElement } from \"../utils/types\";\n\nexport type UseToolbarStateProps = {\n withPreservedSelection: (fn: () => void) => () => void;\n textStyles: TextStyleDefinition[];\n};\n\nexport const useToolbarState = ({\n withPreservedSelection,\n textStyles,\n}: UseToolbarStateProps) => {\n const editor = useSlate();\n\n // Get current block type - using useSlate() means this automatically updates\n const currentTextStyle = useMemo(() => {\n return (\n blockTypes.find((type) =>\n isBlockActive(editor, type as CustomElement[\"type\"])\n ) || \"paragraph\"\n );\n }, [editor.selection, editor.children]);\n\n const selectedTextStyle = textStyles.find((v) => v.id === currentTextStyle);\n const selectedTextStyleLabel = selectedTextStyle?.label || \"\";\n\n // Handle text style changes\n const handleTextStyleChange = useCallback(\n (styleId: string) => {\n withPreservedSelection(() => {\n toggleBlock(editor, styleId as BlockType);\n })();\n },\n [editor, withPreservedSelection]\n );\n\n // Handle list formatting\n const handleListToggle = useCallback(\n (selectedKeys: Set<Key>) => {\n withPreservedSelection(() => {\n const selected = Array.from(selectedKeys)[0] as BlockType | undefined;\n const currentlyActive = isBlockActive(editor, \"bulleted-list\")\n ? \"bulleted-list\"\n : isBlockActive(editor, \"numbered-list\")\n ? \"numbered-list\"\n : null;\n\n if (selected) {\n toggleBlock(editor, selected);\n } else if (currentlyActive) {\n toggleBlock(editor, currentlyActive);\n }\n })();\n },\n [editor, withPreservedSelection]\n );\n\n // Get currently selected formatting keys - simplified deps\n const selectedFormatKeys = useMemo(() => {\n const keys: string[] = [];\n if (isMarkActive(editor, \"bold\")) keys.push(\"bold\");\n if (isMarkActive(editor, \"italic\")) keys.push(\"italic\");\n if (isMarkActive(editor, \"underline\")) keys.push(\"underline\");\n return new Set(keys);\n }, [editor.selection, editor.children, Editor.marks(editor)]);\n\n // Get currently selected list formatting key\n const selectedListKeys = useMemo(() => {\n const keys: string[] = [];\n if (isBlockActive(editor, \"bulleted-list\")) keys.push(\"bulleted-list\");\n if (isBlockActive(editor, \"numbered-list\")) keys.push(\"numbered-list\");\n return new Set(keys);\n }, [editor.selection, editor.children]);\n\n // Check history state for undo/redo buttons\n const hasUndos = useMemo(() => {\n return editor.history && editor.history.undos.length > 0;\n }, [editor.selection, editor.children]);\n\n const hasRedos = useMemo(() => {\n return editor.history && editor.history.redos.length > 0;\n }, [editor.selection, editor.children]);\n\n return {\n currentTextStyle,\n selectedTextStyle,\n selectedTextStyleLabel,\n handleTextStyleChange,\n handleListToggle,\n selectedFormatKeys,\n selectedListKeys,\n hasUndos,\n hasRedos,\n };\n};\n","import { useSlate } from \"slate-react\";\nimport {\n Toolbar,\n Menu,\n VisuallyHidden,\n Separator,\n ToggleButtonGroup,\n IconButton,\n Text,\n Box,\n Tooltip,\n} from \"@/components\";\nimport { IconToggleButton } from \"@/components/icon-toggle-button/icon-toggle-button\";\nimport { Group } from \"@/components/group/group\";\nimport {\n FormatBold,\n FormatItalic,\n FormatUnderlined,\n FormatListBulleted,\n FormatListNumbered,\n KeyboardArrowDown,\n Undo,\n Redo,\n} from \"@commercetools/nimbus-icons\";\nimport { toggleMark } from \"../utils/slate-helpers\";\nimport { usePreservedSelection } from \"../hooks/use-preserved-selection\";\nimport { useToolbarState } from \"../hooks/use-toolbar-state\";\nimport { getTextStyles } from \"../constants\";\nimport { FormattingMenu } from \"./formatting-menu\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { richTextInputMessagesStrings } from \"../rich-text-input.messages\";\n\nexport type RichTextToolbarProps = {\n isDisabled?: boolean;\n};\n\nexport const RichTextToolbar = ({\n isDisabled = false,\n}: RichTextToolbarProps) => {\n const msg = useLocalizedStringFormatter(richTextInputMessagesStrings);\n const editor = useSlate();\n const withPreservedSelection = usePreservedSelection(editor);\n\n // Get localized text styles\n const textStyles = getTextStyles(msg.format);\n\n // Use the toolbar state hook for all state management\n const {\n currentTextStyle,\n selectedTextStyleLabel,\n handleTextStyleChange,\n handleListToggle,\n selectedFormatKeys,\n selectedListKeys,\n hasUndos,\n hasRedos,\n } = useToolbarState({ withPreservedSelection, textStyles });\n\n return (\n <Toolbar\n orientation=\"horizontal\"\n aria-label={msg.format(\"textFormatting\")}\n width=\"full\"\n overflow=\"hidden\"\n size=\"xs\"\n >\n {/* Text Style Menu */}\n <Group>\n <Menu.Root\n onAction={(styleId) => handleTextStyleChange(String(styleId))}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n {/* Menu trigger styles mimic the Select component */}\n <Menu.Trigger\n height=\"800\"\n width=\"4000\"\n bg=\"primary.1\"\n borderRadius=\"200\"\n _hover={{ bg: \"primary.2\" }}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n aria-label={msg.format(\"textStyleMenu\")}\n >\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" px=\"200\">\n <Box display=\"flex\" alignItems=\"center\" gap=\"200\" flexGrow=\"1\">\n <Text my=\"auto\" textStyle=\"sm\" fontWeight=\"500\">\n {selectedTextStyleLabel}\n </Text>\n </Box>\n <KeyboardArrowDown />\n </Box>\n </Menu.Trigger>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"textStyle\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Menu.Content>\n {textStyles.map((style) => (\n <Menu.Item\n key={style.id}\n id={style.id}\n {...(currentTextStyle === style.id && {\n \"data-state\": \"checked\",\n })}\n >\n <Text {...style.props}>{style.label}</Text>\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Group>\n\n <Separator orientation=\"vertical\" />\n\n {/* Text Formatting Toggles */}\n <ToggleButtonGroup.Root\n selectionMode=\"multiple\"\n selectedKeys={selectedFormatKeys}\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bold\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"bold\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"bold\"))}\n >\n <FormatBold />\n <VisuallyHidden>{msg.format(\"bold\")}</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"bold\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"italic\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"italic\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() => toggleMark(editor, \"italic\"))}\n >\n <FormatItalic />\n <VisuallyHidden>{msg.format(\"italic\")}</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"italic\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"underline\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"underline\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n onPress={withPreservedSelection(() =>\n toggleMark(editor, \"underline\")\n )}\n >\n <FormatUnderlined />\n <VisuallyHidden>{msg.format(\"underline\")}</VisuallyHidden>\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"underline\")}\n </Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Formatting Menu for additional options */}\n <FormattingMenu isDisabled={isDisabled} />\n\n <Separator orientation=\"vertical\" />\n\n {/* Lists & Indentation */}\n <ToggleButtonGroup.Root\n selectionMode=\"single\"\n selectedKeys={selectedListKeys}\n onSelectionChange={handleListToggle}\n aria-label={msg.format(\"listFormatting\")}\n isDisabled={isDisabled}\n >\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"bulleted-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"bulletedList\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListBulleted />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"bulletedList\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconToggleButton\n id=\"numbered-list\"\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"numberedList\")}\n isDisabled={isDisabled}\n onMouseDown={(event) => event.preventDefault()}\n >\n <FormatListNumbered />\n </IconToggleButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"numberedList\")}\n </Tooltip.Content>\n </Tooltip.Root>\n </ToggleButtonGroup.Root>\n\n {/* Spacer to push undo/redo buttons to the right */}\n <Box flexGrow=\"1\" />\n\n <Group>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"undo\")}\n isDisabled={!hasUndos || isDisabled}\n onPress={withPreservedSelection(() => editor.undo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Undo />\n <VisuallyHidden>{msg.format(\"undo\")}</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"undo\")}\n </Tooltip.Content>\n </Tooltip.Root>\n <Tooltip.Root delay={0} closeDelay={0}>\n <IconButton\n size=\"xs\"\n variant=\"ghost\"\n aria-label={msg.format(\"redo\")}\n isDisabled={!hasRedos || isDisabled}\n onPress={withPreservedSelection(() => editor.redo())}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Redo />\n <VisuallyHidden>{msg.format(\"redo\")}</VisuallyHidden>\n </IconButton>\n <Tooltip.Content placement=\"top\">\n {msg.format(\"redo\")}\n </Tooltip.Content>\n </Tooltip.Root>\n </Group>\n </Toolbar>\n );\n};\n\nRichTextToolbar.displayName = \"RichTextToolbar\";\n","import { useState, useCallback, useRef, useEffect } from \"react\";\nimport { useSlotRecipe } from \"@chakra-ui/react\";\nimport { extractStyleProps } from \"@/utils\";\nimport { RichTextInputRootSlot } from \"./rich-text-input.slots\";\nimport {\n RichTextEditor,\n RichTextToolbar,\n type RichTextEditorRef,\n} from \"./components\";\nimport type { RichTextInputProps } from \"./rich-text-input.types\";\nimport {\n toHTML,\n fromHTML,\n createEmptyValue,\n validSlateStateAdapter,\n} from \"./utils\";\nimport { richTextInputRecipe } from \"./rich-text-input.recipe\";\n\n/**\n RichTextInput - A rich text input component with formatting capabilities.\n */\nexport const RichTextInput = (props: RichTextInputProps) => {\n const {\n ref: forwardedRef,\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n placeholder = \"\",\n isDisabled = false,\n isReadOnly = false,\n isInvalid = false,\n autoFocus = false,\n ...restProps\n } = props;\n\n const recipe = useSlotRecipe({ recipe: richTextInputRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps({\n // Only semantic variants go here (none currently defined)\n ...restProps,\n });\n const [styleProps, functionalProps] = extractStyleProps(remainingProps);\n\n // Data attributes for state-based styling\n const dataAttributes = {\n \"data-disabled\": isDisabled ? \"true\" : undefined,\n \"data-invalid\": isInvalid ? \"true\" : undefined,\n \"data-readonly\": isReadOnly ? \"true\" : undefined,\n };\n\n // Internal state management\n const [internalValue, setInternalValue] = useState(() => {\n const initialHtml = value ?? defaultValue ?? \"\";\n try {\n return initialHtml ? fromHTML(initialHtml) : createEmptyValue();\n } catch (error) {\n console.warn(\"Failed to parse initial HTML, using empty value:\", error);\n return createEmptyValue();\n }\n });\n\n const [serializedValue, setSerializedValue] = useState(() => {\n return value ?? defaultValue ?? \"\";\n });\n\n const editorRef = useRef<RichTextEditorRef>(null);\n\n // Handle controlled value changes\n useEffect(() => {\n if (value !== undefined && value !== serializedValue) {\n const newSlateValue = value ? fromHTML(value) : createEmptyValue();\n setInternalValue(newSlateValue);\n setSerializedValue(value);\n }\n }, [value, serializedValue]);\n\n const handleChange = useCallback(\n (slateValue: ReturnType<typeof createEmptyValue>) => {\n const newHtml = toHTML(slateValue);\n const hasSerializedValueChanged = newHtml !== serializedValue;\n\n setInternalValue(slateValue);\n setSerializedValue(newHtml);\n\n // Only call onChange if the serialized HTML actually changed\n if (hasSerializedValueChanged && onChange) {\n onChange(newHtml);\n }\n },\n [serializedValue, onChange]\n );\n\n const currentValue = internalValue;\n\n // Safety check: ensure we always have a valid Slate value\n const safeValue = validSlateStateAdapter(currentValue);\n\n return (\n <RichTextInputRootSlot\n role=\"group\"\n {...recipeProps}\n {...styleProps}\n {...functionalProps}\n {...dataAttributes}\n ref={forwardedRef}\n >\n <RichTextEditor\n ref={editorRef}\n value={safeValue}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n placeholder={placeholder}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n autoFocus={autoFocus}\n toolbar={\n !isReadOnly ? <RichTextToolbar isDisabled={isDisabled} /> : null\n }\n />\n </RichTextInputRootSlot>\n );\n};\n\nRichTextInput.displayName = \"RichTextInput\";\n"],"names":["withProvider","withContext","createSlotRecipeContext","RichTextInputRootSlot","RichTextInputToolbarSlot","RichTextInputEditableSlot","usePreservedSelection","editor","useCallback","action","selection","Transforms","ReactEditor","HOTKEYS","EDITOR_DEFAULTS","BLOCK_TAGS","MARK_TAGS","FORMATTING_OPTIONS","BASIC_FORMATTING","SCRIPT_FORMATTING","getTextStyles","format","blockTypes","matchHtmlRegExp","escapeHtml_1","escapeHtml","string","str","match","escape","html","index","lastIndex","SOFT_BREAK_PLACEHOLDER","createEmptyValue","toHTML","value","serializeNode","node","Text","textNode","children","element","hrefAttr","sanitizedUrl","sanitizeUrl","otherAttrsString","key","fromHTML","body","nodes","deserializeNode","validSlateStateAdapter","error","tagName","type","slateElement","href","attrs","attr","processChildren","markType","extractTextFromChildren","textContent","processed","child","SlateElement","extractTextContent","url","trimmed","isUrl","text","LIST_TYPES","VALID_MARK_FORMATS","isValidMarkFormat","hasMarkFormat","isMarkActive","Range","marks","Editor","firstNode","firstText","textNodes","isBlockActive","toggleMark","toggleBlock","isActive","isList","n","newProperties","block","focusEditor","resetEditor","newValue","withLinks","insertData","insertText","isInline","wrapLink","data","unwrapLink","isCollapsed","link","Element","attributes","customElement","style","jsx","Leaf","leaf","customLeaf","Softbreaker","useFormattingState","withPreservedSelection","useSlate","selectedKeys","useMemo","keys","selectedScriptKeys","allSelectedKeys","handleAllSelectionChange","keyArray","currentKeys","newlySelected","newlyDeselected","currentlyActive","richTextInputMessages_en","richTextInputMessages_de","richTextInputMessages_es","richTextInputMessages_fr","richTextInputMessages_pt","richTextInputMessagesStrings","normalizeMessages","FormattingMenu","isDisabled","msg","useLocalizedStringFormatter","jsxs","Menu","Tooltip","IconButton","event","MoreHoriz","Box","FormatStrikethrough","Code","lib","IS_MAC","MODIFIERS","ALIASES","CODES","f","isHotkey","hotkey","options","array","parseHotkey","check","e","object","compareHotkey","ret","isCodeHotkey","isKeyHotkey","byKey","values","length","k","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","optional","name","toKeyName","modifier","toKeyCode","err","expected","actual","code","useKeyboardShortcuts","mark","RichTextEditor","forwardedRef","onChange","onFocus","onBlur","placeholder","isReadOnly","autoFocus","toolbar","localRef","useRef","ref","useObjectRef","mergeRefs","baseEditor","createEditor","withHistory","withReact","handleKeyDown","handleFocus","handleBlur","useImperativeHandle","renderElement","props","renderLeaf","defaultValue","safeInitialValue","Slate","Editable","useToolbarState","textStyles","currentTextStyle","selectedTextStyle","v","selectedTextStyleLabel","handleTextStyleChange","styleId","handleListToggle","selected","selectedFormatKeys","selectedListKeys","hasUndos","hasRedos","RichTextToolbar","Toolbar","Group","KeyboardArrowDown","Separator","ToggleButtonGroup","IconToggleButton","FormatBold","VisuallyHidden","FormatItalic","FormatUnderlined","FormatListBulleted","FormatListNumbered","Undo","Redo","RichTextInput","isInvalid","restProps","recipe","useSlotRecipe","richTextInputRecipe","recipeProps","remainingProps","styleProps","functionalProps","extractStyleProps","dataAttributes","internalValue","setInternalValue","useState","initialHtml","serializedValue","setSerializedValue","editorRef","useEffect","newSlateValue","handleChange","slateValue","newHtml","hasSerializedValueChanged","safeValue"],"mappings":"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","x_google_ignoreList":[4,15]}
@@ -0,0 +1,4 @@
1
+ "use strict";const n=require("react/jsx-runtime"),p=require("react"),te=require("@chakra-ui/react"),Ce=require("./extract-style-props-B4hqila-.cjs.js"),Re=require("./index-CVXB9mwf.cjs.js"),c=require("slate"),R=require("slate-react"),Me=require("slate-history"),ve=require("./useObjectRef-4v2MxSjQ.cjs.js"),z=require("./icon-toggle-button-C4Tnlt4t.cjs.js"),ne=require("./group-Cjq5lNQD.cjs.js"),w=require("@commercetools/nimbus-icons"),K=require("./normalize-messages-CaDzkuUm.cjs.js"),C=require("./menu-Dno8yFDE.cjs.js"),x=require("./tooltip-Bv-QlJ1O.cjs.js"),J=require("./icon-button-CeB8_Yyr.cjs.js"),N=require("./box-CWni3A32.cjs.js"),I=require("./text-BtRhIklG.cjs.js"),Fe=require("./toolbar-D4fLFiSb.cjs.js"),se=require("./separator-u_4por07.cjs.js"),oe=require("./toggle-button-group-Lfn3zYmC.cjs.js"),$=require("./visually-hidden-BjtXUoFK.cjs.js");function re(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}const{withProvider:Ie,withContext:fe}=te.createSlotRecipeContext({key:"richTextInput"}),Le=Ie("div","root"),Ae=fe("div","toolbar"),De=fe("div","editable"),ge=t=>p.useCallback(e=>()=>{const{selection:r}=t;e(),r&&!t.selection&&c.Transforms.select(t,r),R.ReactEditor.isFocused(t)||R.ReactEditor.focus(t)},[t]),ie={"mod+b":"bold","mod+i":"italic","mod+u":"underline","mod+`":"code"},U={placeholder:"Start typing...",isDisabled:!1,isReadOnly:!1,autoFocus:!1},ae={blockquote:"block-quote",p:"paragraph",pre:"code",h1:"heading-one",h2:"heading-two",h3:"heading-three",h4:"heading-four",h5:"heading-five",ul:"bulleted-list",ol:"numbered-list",li:"list-item",a:"link"},le={strong:"bold",b:"bold",em:"italic",i:"italic",u:"underline",code:"code",sup:"superscript",sub:"subscript",del:"strikethrough",s:"strikethrough"},G={STRIKETHROUGH:"strikethrough",CODE:"code",SUPERSCRIPT:"superscript",SUBSCRIPT:"subscript"},He=[G.STRIKETHROUGH,G.CODE],qe=[G.SUPERSCRIPT,G.SUBSCRIPT],Ke=t=>[{id:"paragraph",label:t("paragraph"),props:{textStyle:"md",fontWeight:"500"}},{id:"heading-one",label:t("headingOne"),props:{textStyle:"2xl",fontWeight:"500"}},{id:"heading-two",label:t("headingTwo"),props:{textStyle:"xl",fontWeight:"500"}},{id:"heading-three",label:t("headingThree"),props:{textStyle:"lg",fontWeight:"500"}},{id:"heading-four",label:t("headingFour"),props:{textStyle:"md",fontWeight:"500"}},{id:"heading-five",label:t("headingFive"),props:{textStyle:"xs",fontWeight:"500"}},{id:"block-quote",label:t("quote"),props:{textStyle:"md",fontWeight:"400"}}],Oe=["heading-one","heading-two","heading-three","heading-four","heading-five","block-quote"];var Y,ce;function Ne(){if(ce)return Y;ce=1;var t=/["'&<>]/;Y=e;function e(r){var o=""+r,s=t.exec(o);if(!s)return o;var l,u="",d=0,h=0;for(d=s.index;d<o.length;d++){switch(o.charCodeAt(d)){case 34:l="&quot;";break;case 38:l="&amp;";break;case 39:l="&#39;";break;case 60:l="&lt;";break;case 62:l="&gt;";break;default:continue}h!==d&&(u+=o.substring(h,d)),h=d+1,u+=l}return h!==d?u+o.substring(h,d):u}return Y}var Be=Ne();const W=re(Be),me=`​
2
+ `,D=()=>[{type:"paragraph",children:[{text:""}]}],Pe=t=>t.map(xe).join(""),xe=t=>{if(c.Text.isText(t)){const o=t;let s=W(o.text);return o.bold&&(s=`<strong>${s}</strong>`),o.code&&(s=`<code>${s}</code>`),o.italic&&(s=`<em>${s}</em>`),o.underline&&(s=`<u>${s}</u>`),o.superscript&&(s=`<sup>${s}</sup>`),o.subscript&&(s=`<sub>${s}</sub>`),o.strikethrough&&(s=`<del>${s}</del>`),s=s.replace(new RegExp(me,"g"),"<br>"),s}const e=t.children.map(xe).join(""),r=t;switch(r.type){case"block-quote":return`<blockquote>${e}</blockquote>`;case"paragraph":return`<p>${e}</p>`;case"code":return`<pre><code>${e}</code></pre>`;case"bulleted-list":return`<ul>${e}</ul>`;case"numbered-list":return`<ol>${e}</ol>`;case"list-item":return`<li>${e}</li>`;case"heading-one":return`<h1>${e}</h1>`;case"heading-two":return`<h2>${e}</h2>`;case"heading-three":return`<h3>${e}</h3>`;case"heading-four":return`<h4>${e}</h4>`;case"heading-five":return`<h5>${e}</h5>`;case"link":{let o="";if(r.url){const l=$e(r.url);o=` href="${W(l)}"`}let s="";if(r.htmlAttributes&&typeof r.htmlAttributes=="object")for(const[l,u]of Object.entries(r.htmlAttributes))l.toLowerCase().startsWith("on")||(s+=` ${W(l)}="${W(String(u))}"`);return`<a${o}${s}>${e}</a>`}default:return e}},ee=t=>{if(!t||t.trim()==="")return D();try{if(t.includes("<p>")||t.includes("<h")||t.includes("<div>")||t.includes("<blockquote>")||t.includes("<ul>")||t.includes("<ol>")){const r=new DOMParser().parseFromString(t,"text/html").body,o=Array.from(r.childNodes).map(ye).filter(Boolean);return Te(o)}else return[{type:"paragraph",children:[{text:t}]}]}catch(e){return console.warn("Failed to parse HTML:",e),D()}},ye=t=>{if(t.nodeType===Node.TEXT_NODE)return(t.textContent||"").replace(/<br\s*\/?>/gi,me);if(t.nodeType!==Node.ELEMENT_NODE)return null;const e=t,r=e.tagName.toLowerCase(),o=Array.from(e.childNodes).map(ye).filter(Boolean);if(r in ae){const l=ae[r],u={type:l,children:[]};if(l==="link"){const d=e.getAttribute("href");d&&(u.url=d);const h={};Array.from(e.attributes).forEach(g=>{g.name!=="href"&&!g.name.toLowerCase().startsWith("on")&&(h[g.name]=g.value)}),Object.keys(h).length>0&&(u.htmlAttributes=h)}return u.children=ze(o),u}if(r in le){const l=le[r];return{text:Q(o),[l]:!0}}return r==="span"?{text:Q(o)}:{text:Q(o)}},ze=t=>{const e=[];for(const r of t)typeof r=="string"?r.trim()&&e.push({text:r}):(r&&c.Text.isText(r)||r&&c.Element.isElement(r))&&e.push(r);return e.length===0&&e.push({text:""}),e},be=t=>t.children.map(e=>c.Text.isText(e)?e.text:c.Element.isElement(e)?be(e):"").join(""),Q=t=>t.filter(Boolean).map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?e.text:e&&typeof e=="object"&&"children"in e?be(e):String(e||"")).join(""),$e=t=>{const e=String(t).trim().toLowerCase();return e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:")?"#":String(t)},Te=t=>!Array.isArray(t)||t.length===0?D():t.map(e=>c.Element.isElement(e)?!e.children||e.children.length===0?{...e,children:[{text:""}]}:e:{type:"paragraph",children:[{text:String(e)}]}),ue=t=>{try{const e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}},de=["bulleted-list","numbered-list"],_e=["bold","code","italic","underline","superscript","subscript","strikethrough"],_=t=>_e.includes(t),Ve=(t,e)=>_(e)?t[e]===!0:!1,L=(t,e)=>{const{selection:r}=t;if(!r||c.Range.isCollapsed(r)){const o=c.Editor.marks(t);if(o&&_(e))return o[e]===!0;if(!r&&t.children.length>0){const s=t.children[0];if(s.children&&s.children.length>0){const l=s.children[0];if(c.Text.isText(l)&&_(e))return l[e]===!0}}return!1}try{const o=Array.from(c.Editor.nodes(t,{at:r,match:s=>c.Text.isText(s)}));if(o.length===0){const s=c.Editor.marks(t);return!s||!_(e)?!1:s[e]===!0}return o.every(([s])=>Ve(s,e))}catch{const o=c.Editor.marks(t);return!o||!_(e)?!1:o[e]===!0}},O=(t,e)=>{const{selection:r}=t;if(r){const[o]=Array.from(c.Editor.nodes(t,{at:c.Editor.unhangRange(t,r),match:s=>!c.Editor.isEditor(s)&&c.Element.isElement(s)&&s.type===e}));return!!o}return t.children.length>0?t.children[0].type===e:!1},A=(t,e)=>{L(t,e)?c.Editor.removeMark(t,e):c.Editor.addMark(t,e,!0)},Z=(t,e)=>{const r=O(t,e),o=de.includes(e);c.Transforms.unwrapNodes(t,{match:l=>!c.Editor.isEditor(l)&&c.Element.isElement(l)&&de.includes(l.type),split:!0});let s;if(r?s={type:"paragraph"}:o?s={type:"list-item"}:s={type:e},c.Transforms.setNodes(t,s),!r&&o){const l={type:e,children:[]};c.Transforms.wrapNodes(t,l)}},Ue=t=>{R.ReactEditor.focus(t)},We=(t,e)=>{const r=ee(e);c.Transforms.delete(t,{at:{anchor:c.Editor.start(t,[]),focus:c.Editor.end(t,[])}}),c.Transforms.insertNodes(t,r),c.Transforms.select(t,c.Editor.start(t,[]))},Ge=t=>{const{insertData:e,insertText:r,isInline:o}=t;return t.isInline=s=>s.type==="link"?!0:o(s),t.insertText=s=>{s&&ue(s)?he(t,s):r(s)},t.insertData=s=>{const l=s.getData("text/plain");l&&ue(l)?he(t,l):e(s)},t},Xe=t=>{c.Transforms.unwrapNodes(t,{match:e=>!c.Editor.isEditor(e)&&c.Element.isElement(e)&&e.type==="link"})},he=(t,e)=>{O(t,"link")&&Xe(t);const{selection:r}=t,o=r&&c.Range.isCollapsed(r),s={type:"link",url:e,children:o?[{text:e}]:[]};o?c.Transforms.insertNodes(t,s):(c.Transforms.wrapNodes(t,s,{split:!0}),c.Transforms.collapse(t,{edge:"end"}))},Ye=({attributes:t,children:e,element:r})=>{const o=r,s={textAlign:o.align};switch(o.type){case"block-quote":return n.jsx("blockquote",{style:s,...t,children:e});case"bulleted-list":return n.jsx("ul",{style:s,...t,children:e});case"heading-one":return n.jsx("h1",{style:s,...t,children:e});case"heading-two":return n.jsx("h2",{style:s,...t,children:e});case"heading-three":return n.jsx("h3",{style:s,...t,children:e});case"heading-four":return n.jsx("h4",{style:s,...t,children:e});case"heading-five":return n.jsx("h5",{style:s,...t,children:e});case"list-item":return n.jsx("li",{style:s,...t,children:e});case"numbered-list":return n.jsx("ol",{style:s,...t,children:e});case"link":return n.jsx("a",{...t,href:o.url,rel:"noopener noreferrer",style:s,children:e});default:return n.jsx("p",{style:s,...t,children:e})}},Qe=({attributes:t,children:e,leaf:r})=>{const o=r;return o.bold&&(e=n.jsx("strong",{children:e})),o.code&&(e=n.jsx("code",{children:e})),o.italic&&(e=n.jsx("em",{children:e})),o.underline&&(e=n.jsx("u",{children:e})),o.strikethrough&&(e=n.jsx("del",{children:e})),o.superscript&&(e=n.jsx("sup",{children:e})),o.subscript&&(e=n.jsx("sub",{children:e})),n.jsx("span",{...t,children:e})},Ze={placeholderCharacter:`​
3
+ `},Je=({withPreservedSelection:t})=>{const e=R.useSlate(),r=p.useMemo(()=>{const u=[];return He.forEach(d=>{L(e,d)&&u.push(d)}),new Set(u)},[e.selection,e.children,c.Editor.marks(e)]),o=p.useMemo(()=>{const u=[];return qe.forEach(d=>{L(e,d)&&u.push(d)}),new Set(u)},[e.selection,e.children,c.Editor.marks(e)]),s=p.useMemo(()=>new Set([...Array.from(r),...Array.from(o)]),[r,o]),l=p.useCallback(u=>{if(u==="all")return;const d=Array.from(u),h=Array.from(s),g=d.filter(f=>!h.includes(f)),S=h.filter(f=>!d.includes(f));[...g,...S].forEach(f=>{f==="superscript"||f==="subscript"?t(()=>{const a=L(e,"superscript")?"superscript":L(e,"subscript")?"subscript":null;g.includes(f)&&a&&a!==f&&A(e,a),A(e,f)})():t(()=>A(e,f))()})},[e,s,t]);return{selectedKeys:r,selectedScriptKeys:o,allSelectedKeys:s,handleAllSelectionChange:l}},et={bold:"Bold",bulletedList:"Bulleted list",code:"Code",headingFive:"Heading 5",headingFour:"Heading 4",headingOne:"Heading 1",headingThree:"Heading 3",headingTwo:"Heading 2",italic:"Italic",listFormatting:"List formatting",moreFormattingOptions:"More formatting options",moreStyles:"More styles",numberedList:"Numbered list",paragraph:"Paragraph",quote:"Quote",redo:"Redo",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript",textFormatting:"Text formatting",textStyle:"Text style",textStyleMenu:"Text style menu",underline:"Underline",undo:"Undo"},tt={bold:"Fett",bulletedList:"Aufzählungsliste",code:"Code",headingFive:"Überschrift 5",headingFour:"Überschrift 4",headingOne:"Überschrift 1",headingThree:"Überschrift 3",headingTwo:"Überschrift 2",italic:"Kursiv",listFormatting:"Listenformatierung",moreFormattingOptions:"Weitere Formatierungsoptionen",moreStyles:"Weitere Stile",numberedList:"Nummerierte Liste",paragraph:"Paragraph",quote:"Zitat",redo:"Wiederherstellen",strikethrough:"Durchstreichen",subscript:"Tiefgestellt",superscript:"Hochgestellt",textFormatting:"Textformatierung",textStyle:"Textstil",textStyleMenu:"Textstilmenü",underline:"Unterstreichen",undo:"Rückgängig machen"},rt={bold:"Negrita",bulletedList:"Lista no numerada",code:"Código",headingFive:"Encabezamiento 5",headingFour:"Encabezamiento 4",headingOne:"Encabezamiento 1",headingThree:"Encabezamiento 3",headingTwo:"Encabezamiento 2",italic:"Cursiva",listFormatting:"Formatear lista",moreFormattingOptions:"Más opciones de formato",moreStyles:"Más estilos",numberedList:"Lista numerada",paragraph:"Párrafo",quote:"Presupuesto",redo:"Repetir",strikethrough:"Tachado",subscript:"Subíndice",superscript:"Índice superior",textFormatting:"Formatear texto",textStyle:"Estilo de texto",textStyleMenu:"Menú de estilo de texto",underline:"Subrayar",undo:"Deshacer"},nt={bold:"Gras",bulletedList:"Liste à puces",code:"Code",headingFive:"En-tête 5",headingFour:"En-tête 4",headingOne:"En-tête 1",headingThree:"En-tête 3",headingTwo:"En-tête 2",italic:"Italique",listFormatting:"Formatage de la liste",moreFormattingOptions:"Plus d'options de formatage",moreStyles:"Plus de styles",numberedList:"Liste numérotée",paragraph:"Paragraphe",quote:"Citation",redo:"Rétablir",strikethrough:"Barré",subscript:"Indice",superscript:"Exposant",textFormatting:"Formatage du texte",textStyle:"Style de texte",textStyleMenu:"Menu style de texte",underline:"Souligné",undo:"Annuler"},st={bold:"Negrito",bulletedList:"Lista com marcadores",code:"Código",headingFive:"Cabeçalho 5",headingFour:"Cabeçalho 4",headingOne:"Cabeçalho 1",headingThree:"Cabeçalho 3",headingTwo:"Cabeçalho 2",italic:"Itálico",listFormatting:"Formatação de lista",moreFormattingOptions:"Mais opções de formatação",moreStyles:"Mais estilos",numberedList:"Lista numerada",paragraph:"Parágrafo",quote:"Cotação",redo:"Refazer",strikethrough:"Tachado",subscript:"Subscrito",superscript:"Sobrescrito",textFormatting:"Formatação de texto",textStyle:"Estilo de texto",textStyleMenu:"Menu de estilo de texto",underline:"Sublinhado",undo:"Desfazer"},Se={en:K.normalizeMessages(et),de:K.normalizeMessages(tt),es:K.normalizeMessages(rt),"fr-FR":K.normalizeMessages(nt),"pt-BR":K.normalizeMessages(st)},ot=({isDisabled:t=!1})=>{const e=K.useLocalizedStringFormatter(Se),r=R.useSlate(),o=ge(r),{allSelectedKeys:s,handleAllSelectionChange:l}=Je({withPreservedSelection:o});return n.jsxs(C.Menu.Root,{selectionMode:"multiple",selectedKeys:s,onSelectionChange:l,children:[n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsx(C.Menu.Trigger,{asChild:!0,children:n.jsx(J.IconButton,{size:"xs",variant:"ghost","aria-label":e.format("moreFormattingOptions"),isDisabled:t,onMouseDown:u=>u.preventDefault(),children:n.jsx(w.MoreHoriz,{})})}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("moreStyles")})]}),n.jsxs(C.Menu.Content,{children:[n.jsx(C.Menu.Item,{id:"strikethrough",children:n.jsxs(N.Box,{slot:"label",display:"flex",alignItems:"center",gap:"200",children:[n.jsx(w.FormatStrikethrough,{}),n.jsx(I.Text,{textStyle:"sm",children:e.format("strikethrough")})]})}),n.jsx(C.Menu.Item,{id:"code",children:n.jsxs(N.Box,{slot:"label",display:"flex",alignItems:"center",gap:"200",children:[n.jsx(w.Code,{}),n.jsx(I.Text,{textStyle:"sm",children:e.format("code")})]})}),n.jsx(C.Menu.Item,{id:"superscript",children:n.jsxs(N.Box,{slot:"label",display:"flex",alignItems:"center",gap:"200",children:[n.jsx(I.Text,{children:"X²"}),n.jsx(I.Text,{textStyle:"sm",children:e.format("superscript")})]})}),n.jsx(C.Menu.Item,{id:"subscript",children:n.jsxs(N.Box,{slot:"label",display:"flex",alignItems:"center",gap:"200",children:[n.jsx(I.Text,{children:"X₂"}),n.jsx(I.Text,{textStyle:"sm",children:e.format("subscript")})]})})]})]})};var k={},pe;function it(){if(pe)return k;pe=1,Object.defineProperty(k,"__esModule",{value:!0});for(var t=typeof window<"u"&&/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),e={alt:"altKey",control:"ctrlKey",meta:"metaKey",shift:"shiftKey"},r={add:"+",break:"pause",cmd:"meta",command:"meta",ctl:"control",ctrl:"control",del:"delete",down:"arrowdown",esc:"escape",ins:"insert",left:"arrowleft",mod:t?"meta":"control",opt:"alt",option:"alt",return:"enter",right:"arrowright",space:" ",spacebar:" ",up:"arrowup",win:"meta",windows:"meta"},o={backspace:8,tab:9,enter:13,shift:16,control:17,alt:18,pause:19,capslock:20,escape:27," ":32,pageup:33,pagedown:34,end:35,home:36,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,insert:45,delete:46,meta:91,numlock:144,scrolllock:145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},s=1;s<20;s++)o["f"+s]=111+s;function l(a,i,y){i&&!("byKey"in i)&&(y=i,i=null),Array.isArray(a)||(a=[a]);var b=a.map(function(F){return h(F,i)}),T=function(M){return b.some(function(v){return g(v,M)})},H=y==null?T:T(y);return H}function u(a,i){return l(a,i)}function d(a,i){return l(a,{byKey:!0},i)}function h(a,i){var y=i&&i.byKey,b={};a=a.replace("++","+add");var T=a.split("+"),H=T.length;for(var F in e)b[e[F]]=!1;var M=!0,v=!1,m=void 0;try{for(var B=T[Symbol.iterator](),V;!(M=(V=B.next()).done);M=!0){var E=V.value,X=E.endsWith("?")&&E.length>1;X&&(E=E.slice(0,-1));var P=f(E),j=e[P];if(E.length>1&&!j&&!r[E]&&!o[P])throw new TypeError('Unknown modifier: "'+E+'"');(H===1||!j)&&(y?b.key=P:b.which=S(E)),j&&(b[j]=X?null:!0)}}catch(q){v=!0,m=q}finally{try{!M&&B.return&&B.return()}finally{if(v)throw m}}return b}function g(a,i){for(var y in a){var b=a[y],T=void 0;if(b!=null&&(y==="key"&&i.key!=null?T=i.key.toLowerCase():y==="which"?T=b===91&&i.which===93?91:i.which:T=i[y],!(T==null&&b===!1)&&T!==b))return!1}return!0}function S(a){a=f(a);var i=o[a]||a.toUpperCase().charCodeAt(0);return i}function f(a){return a=a.toLowerCase(),a=r[a]||a,a}return k.default=l,k.isHotkey=l,k.isCodeHotkey=u,k.isKeyHotkey=d,k.parseHotkey=h,k.compareHotkey=g,k.toKeyCode=S,k.toKeyName=f,k}var at=it();const lt=re(at),ct=({editor:t})=>({handleKeyDown:p.useCallback(r=>{if((r.metaKey||r.ctrlKey)&&r.key==="z"){r.preventDefault(),r.shiftKey?t.redo():t.undo();return}for(const o in ie)if(lt(o,r)){r.preventDefault();const s=ie[o];A(t,s);return}if(r.shiftKey&&r.key==="Enter"){r.preventDefault(),t.insertText(Ze.placeholderCharacter);return}},[t])}),je=function({ref:e,value:r,onChange:o,onFocus:s,onBlur:l,placeholder:u=U.placeholder,isDisabled:d=U.isDisabled,isReadOnly:h=U.isReadOnly,autoFocus:g=U.autoFocus,toolbar:S}){const f=p.useRef(null),a=ve.$df56164dff5785e2$export$4338b53315abf666(te.mergeRefs(f,e)),i=p.useMemo(()=>{const m=c.createEditor();return Ge(Me.withHistory(R.withReact(m)))},[]),{handleKeyDown:y}=ct({editor:i}),b=p.useCallback(m=>{s&&s(m)},[s]),T=p.useCallback(m=>{l&&l(m)},[l]);p.useImperativeHandle(a,()=>({focus:()=>Ue(i),resetValue:m=>We(i,m)}),[i]);const H=p.useCallback(m=>n.jsx(Ye,{...m}),[]),F=p.useCallback(m=>n.jsx(Qe,{...m}),[]),M=D(),v=Array.isArray(r)&&r.length>0?r:M;return n.jsxs(R.Slate,{editor:i,value:v,onChange:o,children:[S&&n.jsx(Ae,{children:S}),n.jsx(De,{asChild:!0,children:n.jsx(R.Editable,{renderElement:H,renderLeaf:F,placeholder:u,autoFocus:g,readOnly:h||d,onKeyDown:y,onFocus:b,onBlur:T,"aria-label":"Rich text editor",role:"textbox","aria-multiline":"true"})})]})};je.displayName="RichTextEditor";const ut=({withPreservedSelection:t,textStyles:e})=>{const r=R.useSlate(),o=p.useMemo(()=>Oe.find(a=>O(r,a))||"paragraph",[r.selection,r.children]),s=e.find(a=>a.id===o),l=s?.label||"",u=p.useCallback(a=>{t(()=>{Z(r,a)})()},[r,t]),d=p.useCallback(a=>{t(()=>{const i=Array.from(a)[0],y=O(r,"bulleted-list")?"bulleted-list":O(r,"numbered-list")?"numbered-list":null;i?Z(r,i):y&&Z(r,y)})()},[r,t]),h=p.useMemo(()=>{const a=[];return L(r,"bold")&&a.push("bold"),L(r,"italic")&&a.push("italic"),L(r,"underline")&&a.push("underline"),new Set(a)},[r.selection,r.children,c.Editor.marks(r)]),g=p.useMemo(()=>{const a=[];return O(r,"bulleted-list")&&a.push("bulleted-list"),O(r,"numbered-list")&&a.push("numbered-list"),new Set(a)},[r.selection,r.children]),S=p.useMemo(()=>r.history&&r.history.undos.length>0,[r.selection,r.children]),f=p.useMemo(()=>r.history&&r.history.redos.length>0,[r.selection,r.children]);return{currentTextStyle:o,selectedTextStyle:s,selectedTextStyleLabel:l,handleTextStyleChange:u,handleListToggle:d,selectedFormatKeys:h,selectedListKeys:g,hasUndos:S,hasRedos:f}},Ee=({isDisabled:t=!1})=>{const e=K.useLocalizedStringFormatter(Se),r=R.useSlate(),o=ge(r),s=Ke(e.format),{currentTextStyle:l,selectedTextStyleLabel:u,handleTextStyleChange:d,handleListToggle:h,selectedFormatKeys:g,selectedListKeys:S,hasUndos:f,hasRedos:a}=ut({withPreservedSelection:o,textStyles:s});return n.jsxs(Fe.Toolbar,{orientation:"horizontal","aria-label":e.format("textFormatting"),width:"full",overflow:"hidden",size:"xs",children:[n.jsx(ne.Group,{children:n.jsxs(C.Menu.Root,{onAction:i=>d(String(i)),children:[n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsx(C.Menu.Trigger,{height:"800",width:"4000",bg:"primary.1",borderRadius:"200",_hover:{bg:"primary.2"},isDisabled:t,onMouseDown:i=>i.preventDefault(),"aria-label":e.format("textStyleMenu"),children:n.jsxs(N.Box,{display:"flex",alignItems:"center",gap:"200",px:"200",children:[n.jsx(N.Box,{display:"flex",alignItems:"center",gap:"200",flexGrow:"1",children:n.jsx(I.Text,{my:"auto",textStyle:"sm",fontWeight:"500",children:u})}),n.jsx(w.KeyboardArrowDown,{})]})}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("textStyle")})]}),n.jsx(C.Menu.Content,{children:s.map(i=>n.jsx(C.Menu.Item,{id:i.id,...l===i.id&&{"data-state":"checked"},children:n.jsx(I.Text,{...i.props,children:i.label})},i.id))})]})}),n.jsx(se.Separator,{orientation:"vertical"}),n.jsxs(oe.ToggleButtonGroup.Root,{selectionMode:"multiple",selectedKeys:g,isDisabled:t,children:[n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsxs(z.IconToggleButton,{id:"bold",size:"xs",variant:"ghost","aria-label":e.format("bold"),isDisabled:t,onMouseDown:i=>i.preventDefault(),onPress:o(()=>A(r,"bold")),children:[n.jsx(w.FormatBold,{}),n.jsx($.VisuallyHidden,{children:e.format("bold")})]}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("bold")})]}),n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsxs(z.IconToggleButton,{id:"italic",size:"xs",variant:"ghost","aria-label":e.format("italic"),isDisabled:t,onMouseDown:i=>i.preventDefault(),onPress:o(()=>A(r,"italic")),children:[n.jsx(w.FormatItalic,{}),n.jsx($.VisuallyHidden,{children:e.format("italic")})]}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("italic")})]}),n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsxs(z.IconToggleButton,{id:"underline",size:"xs",variant:"ghost","aria-label":e.format("underline"),isDisabled:t,onMouseDown:i=>i.preventDefault(),onPress:o(()=>A(r,"underline")),children:[n.jsx(w.FormatUnderlined,{}),n.jsx($.VisuallyHidden,{children:e.format("underline")})]}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("underline")})]})]}),n.jsx(ot,{isDisabled:t}),n.jsx(se.Separator,{orientation:"vertical"}),n.jsxs(oe.ToggleButtonGroup.Root,{selectionMode:"single",selectedKeys:S,onSelectionChange:h,"aria-label":e.format("listFormatting"),isDisabled:t,children:[n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsx(z.IconToggleButton,{id:"bulleted-list",size:"xs",variant:"ghost","aria-label":e.format("bulletedList"),isDisabled:t,onMouseDown:i=>i.preventDefault(),children:n.jsx(w.FormatListBulleted,{})}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("bulletedList")})]}),n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsx(z.IconToggleButton,{id:"numbered-list",size:"xs",variant:"ghost","aria-label":e.format("numberedList"),isDisabled:t,onMouseDown:i=>i.preventDefault(),children:n.jsx(w.FormatListNumbered,{})}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("numberedList")})]})]}),n.jsx(N.Box,{flexGrow:"1"}),n.jsxs(ne.Group,{children:[n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsxs(J.IconButton,{size:"xs",variant:"ghost","aria-label":e.format("undo"),isDisabled:!f||t,onPress:o(()=>r.undo()),onMouseDown:i=>i.preventDefault(),children:[n.jsx(w.Undo,{}),n.jsx($.VisuallyHidden,{children:e.format("undo")})]}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("undo")})]}),n.jsxs(x.Tooltip.Root,{delay:0,closeDelay:0,children:[n.jsxs(J.IconButton,{size:"xs",variant:"ghost","aria-label":e.format("redo"),isDisabled:!a||t,onPress:o(()=>r.redo()),onMouseDown:i=>i.preventDefault(),children:[n.jsx(w.Redo,{}),n.jsx($.VisuallyHidden,{children:e.format("redo")})]}),n.jsx(x.Tooltip.Content,{placement:"top",children:e.format("redo")})]})]})]})};Ee.displayName="RichTextToolbar";const ke=t=>{const{ref:e,value:r,defaultValue:o,onChange:s,onFocus:l,onBlur:u,placeholder:d="",isDisabled:h=!1,isReadOnly:g=!1,isInvalid:S=!1,autoFocus:f=!1,...a}=t,i=te.useSlotRecipe({recipe:Re.richTextInputRecipe}),[y,b]=i.splitVariantProps({...a}),[T,H]=Ce.extractStyleProps(b),F={"data-disabled":h?"true":void 0,"data-invalid":S?"true":void 0,"data-readonly":g?"true":void 0},[M,v]=p.useState(()=>{const j=r??o??"";try{return j?ee(j):D()}catch(q){return console.warn("Failed to parse initial HTML, using empty value:",q),D()}}),[m,B]=p.useState(()=>r??o??""),V=p.useRef(null);p.useEffect(()=>{if(r!==void 0&&r!==m){const j=r?ee(r):D();v(j),B(r)}},[r,m]);const E=p.useCallback(j=>{const q=Pe(j),we=q!==m;v(j),B(q),we&&s&&s(q)},[m,s]),P=Te(M);return n.jsx(Le,{role:"group",...y,...T,...H,...F,ref:e,children:n.jsx(je,{ref:V,value:P,onChange:E,onFocus:l,onBlur:u,placeholder:d,isDisabled:h,isReadOnly:g,autoFocus:f,toolbar:g?null:n.jsx(Ee,{isDisabled:h})})})};ke.displayName="RichTextInput";exports.RichTextInput=ke;exports.getDefaultExportFromCjs=re;
4
+ //# sourceMappingURL=rich-text-input-Dml5F7pU.cjs.js.map