@techzyapp/ui-library 1.0.30 → 1.0.31

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 (528) hide show
  1. package/dist/{Accordion-w-w_WxxV.js → Accordion-ClK2XpD7.js} +3 -3
  2. package/dist/{Accordion-w-w_WxxV.js.map → Accordion-ClK2XpD7.js.map} +1 -1
  3. package/dist/{Accordion-P3PNqSER.cjs → Accordion-CtvAYNKd.cjs} +2 -2
  4. package/dist/{Accordion-P3PNqSER.cjs.map → Accordion-CtvAYNKd.cjs.map} +1 -1
  5. package/dist/AdminRoot-BYkmCGNx.js +57 -0
  6. package/dist/AdminRoot-BYkmCGNx.js.map +1 -0
  7. package/dist/AdminRoot-BbkfFQEn.cjs +2 -0
  8. package/dist/AdminRoot-BbkfFQEn.cjs.map +1 -0
  9. package/dist/{Alert-CJono1TJ.js → Alert-BLqAcEoT.js} +5 -5
  10. package/dist/{Alert-CJono1TJ.js.map → Alert-BLqAcEoT.js.map} +1 -1
  11. package/dist/{Alert-VFQuuII6.cjs → Alert-BM5WOI_u.cjs} +2 -2
  12. package/dist/{Alert-VFQuuII6.cjs.map → Alert-BM5WOI_u.cjs.map} +1 -1
  13. package/dist/{AuthLayout-QAtW2GAT.cjs → AuthLayout-DIcR__vo.cjs} +2 -2
  14. package/dist/{AuthLayout-QAtW2GAT.cjs.map → AuthLayout-DIcR__vo.cjs.map} +1 -1
  15. package/dist/{AuthLayout-DOFYw_z5.js → AuthLayout-m1BQ6Ixx.js} +2 -2
  16. package/dist/{AuthLayout-DOFYw_z5.js.map → AuthLayout-m1BQ6Ixx.js.map} +1 -1
  17. package/dist/{Avatar-DrV_F7Ex.cjs → Avatar-CQ--wGWS.cjs} +2 -2
  18. package/dist/{Avatar-DrV_F7Ex.cjs.map → Avatar-CQ--wGWS.cjs.map} +1 -1
  19. package/dist/{Avatar-DXNPg23a.js → Avatar-MwWIcj8z.js} +3 -3
  20. package/dist/{Avatar-DXNPg23a.js.map → Avatar-MwWIcj8z.js.map} +1 -1
  21. package/dist/{AvatarGroup-CwlYqDCI.js → AvatarGroup-BxYQo0zZ.js} +2 -2
  22. package/dist/{AvatarGroup-CwlYqDCI.js.map → AvatarGroup-BxYQo0zZ.js.map} +1 -1
  23. package/dist/{AvatarGroup-CHesdo-M.cjs → AvatarGroup-Bzu2t6Sd.cjs} +2 -2
  24. package/dist/{AvatarGroup-CHesdo-M.cjs.map → AvatarGroup-Bzu2t6Sd.cjs.map} +1 -1
  25. package/dist/{Breadcrumbs-XWU8tRvs.js → Breadcrumbs-CzHGbN2c.js} +5 -5
  26. package/dist/{Breadcrumbs-XWU8tRvs.js.map → Breadcrumbs-CzHGbN2c.js.map} +1 -1
  27. package/dist/{Breadcrumbs-DCEHxpSi.cjs → Breadcrumbs-Di4-Acfb.cjs} +2 -2
  28. package/dist/{Breadcrumbs-DCEHxpSi.cjs.map → Breadcrumbs-Di4-Acfb.cjs.map} +1 -1
  29. package/dist/{Button-CWMNNiia.js → Button-9Qcdkw-y.js} +2 -2
  30. package/dist/{Button-CWMNNiia.js.map → Button-9Qcdkw-y.js.map} +1 -1
  31. package/dist/{Button-CusxDmfq.cjs → Button-BQhiJq8e.cjs} +2 -2
  32. package/dist/{Button-CusxDmfq.cjs.map → Button-BQhiJq8e.cjs.map} +1 -1
  33. package/dist/{Calendar-Db3rr1VD.js → Calendar-BB-C0qXO.js} +4 -4
  34. package/dist/{Calendar-Db3rr1VD.js.map → Calendar-BB-C0qXO.js.map} +1 -1
  35. package/dist/{Calendar-BEQbZixA.cjs → Calendar-dXhLgOUH.cjs} +2 -2
  36. package/dist/{Calendar-BEQbZixA.cjs.map → Calendar-dXhLgOUH.cjs.map} +1 -1
  37. package/dist/Card-BERQfyhJ.js +129 -0
  38. package/dist/Card-BERQfyhJ.js.map +1 -0
  39. package/dist/Card-DULpoOfj.cjs +2 -0
  40. package/dist/Card-DULpoOfj.cjs.map +1 -0
  41. package/dist/{Chip-D12KcV4_.cjs → Chip-BuydTI6V.cjs} +2 -2
  42. package/dist/{Chip-D12KcV4_.cjs.map → Chip-BuydTI6V.cjs.map} +1 -1
  43. package/dist/{Chip-Zh1OB9nV.js → Chip-DZ5Fz7jx.js} +3 -3
  44. package/dist/{Chip-Zh1OB9nV.js.map → Chip-DZ5Fz7jx.js.map} +1 -1
  45. package/dist/{ChoiceCardGroup-CEniY_HJ.js → ChoiceCardGroup-BTbKjJdp.js} +3 -3
  46. package/dist/{ChoiceCardGroup-CEniY_HJ.js.map → ChoiceCardGroup-BTbKjJdp.js.map} +1 -1
  47. package/dist/{ChoiceCardGroup-BSagRbPI.cjs → ChoiceCardGroup-Bg2jtFpe.cjs} +2 -2
  48. package/dist/{ChoiceCardGroup-BSagRbPI.cjs.map → ChoiceCardGroup-Bg2jtFpe.cjs.map} +1 -1
  49. package/dist/{CodeBlock-DAM7BkHK.cjs → CodeBlock-BPraYPoS.cjs} +2 -2
  50. package/dist/{CodeBlock-DAM7BkHK.cjs.map → CodeBlock-BPraYPoS.cjs.map} +1 -1
  51. package/dist/{CodeBlock-CkrTnpcj.js → CodeBlock-BySsTAtY.js} +5 -5
  52. package/dist/{CodeBlock-CkrTnpcj.js.map → CodeBlock-BySsTAtY.js.map} +1 -1
  53. package/dist/{ColorPicker-BcCozxIe.cjs → ColorPicker-BTBTQD39.cjs} +2 -2
  54. package/dist/{ColorPicker-BcCozxIe.cjs.map → ColorPicker-BTBTQD39.cjs.map} +1 -1
  55. package/dist/{ColorPicker-DqxVgUoD.js → ColorPicker-DJow7m2v.js} +4 -4
  56. package/dist/{ColorPicker-DqxVgUoD.js.map → ColorPicker-DJow7m2v.js.map} +1 -1
  57. package/dist/{ColorPickerPanel-DZjN8NNn.js → ColorPickerPanel-D6agWM6y.js} +3 -3
  58. package/dist/{ColorPickerPanel-DZjN8NNn.js.map → ColorPickerPanel-D6agWM6y.js.map} +1 -1
  59. package/dist/{ColorPickerPanel-DAOESLCe.cjs → ColorPickerPanel-DXIYwUoE.cjs} +2 -2
  60. package/dist/{ColorPickerPanel-DAOESLCe.cjs.map → ColorPickerPanel-DXIYwUoE.cjs.map} +1 -1
  61. package/dist/{ColorRamp-_KwlPQ-T.cjs → ColorRamp-B45Rtwgw.cjs} +2 -2
  62. package/dist/{ColorRamp-_KwlPQ-T.cjs.map → ColorRamp-B45Rtwgw.cjs.map} +1 -1
  63. package/dist/{ColorRamp-DS5LVpRF.js → ColorRamp-Bhj28c_6.js} +3 -3
  64. package/dist/{ColorRamp-DS5LVpRF.js.map → ColorRamp-Bhj28c_6.js.map} +1 -1
  65. package/dist/ConfigProvider-Ct0Pe3Ku.js +335 -0
  66. package/dist/ConfigProvider-Ct0Pe3Ku.js.map +1 -0
  67. package/dist/ConfigProvider-CtpfSy1i.cjs +2 -0
  68. package/dist/ConfigProvider-CtpfSy1i.cjs.map +1 -0
  69. package/dist/{CopyButton-SFwjKod9.cjs → CopyButton-Bfte6TJF.cjs} +2 -2
  70. package/dist/{CopyButton-SFwjKod9.cjs.map → CopyButton-Bfte6TJF.cjs.map} +1 -1
  71. package/dist/{CopyButton-D4s8aeSE.js → CopyButton-CBk85MQ7.js} +5 -5
  72. package/dist/{CopyButton-D4s8aeSE.js.map → CopyButton-CBk85MQ7.js.map} +1 -1
  73. package/dist/{DashedButton-iM7kzopW.js → DashedButton-BpiG8rab.js} +3 -3
  74. package/dist/{DashedButton-iM7kzopW.js.map → DashedButton-BpiG8rab.js.map} +1 -1
  75. package/dist/{DashedButton-B7xodc3N.cjs → DashedButton-DZmgxLMO.cjs} +2 -2
  76. package/dist/{DashedButton-B7xodc3N.cjs.map → DashedButton-DZmgxLMO.cjs.map} +1 -1
  77. package/dist/{DatePicker-ENbn2Vab.cjs → DatePicker-DBiU4Mb6.cjs} +2 -2
  78. package/dist/{DatePicker-ENbn2Vab.cjs.map → DatePicker-DBiU4Mb6.cjs.map} +1 -1
  79. package/dist/{DatePicker-DGwjCHfd.js → DatePicker-eAzDnO2Y.js} +6 -6
  80. package/dist/{DatePicker-DGwjCHfd.js.map → DatePicker-eAzDnO2Y.js.map} +1 -1
  81. package/dist/{DateTimePicker-BQUmsFwX.cjs → DateTimePicker-CvaD8IkF.cjs} +2 -2
  82. package/dist/{DateTimePicker-BQUmsFwX.cjs.map → DateTimePicker-CvaD8IkF.cjs.map} +1 -1
  83. package/dist/{DateTimePicker-CwVkQiun.js → DateTimePicker-M2UBjFVc.js} +9 -9
  84. package/dist/{DateTimePicker-CwVkQiun.js.map → DateTimePicker-M2UBjFVc.js.map} +1 -1
  85. package/dist/{DescriptionList-0qjKr6GN.js → DescriptionList-BhsmdtS1.js} +64 -64
  86. package/dist/{DescriptionList-0qjKr6GN.js.map → DescriptionList-BhsmdtS1.js.map} +1 -1
  87. package/dist/DescriptionList-DQHNOTWl.cjs +2 -0
  88. package/dist/{DescriptionList-U5z2Faf4.cjs.map → DescriptionList-DQHNOTWl.cjs.map} +1 -1
  89. package/dist/{Dropdown-DNZ9S_zQ.cjs → Dropdown-BbaU1WDC.cjs} +2 -2
  90. package/dist/{Dropdown-DNZ9S_zQ.cjs.map → Dropdown-BbaU1WDC.cjs.map} +1 -1
  91. package/dist/{Dropdown--1mNTVZJ.js → Dropdown-BlmbYp1X.js} +2 -2
  92. package/dist/{Dropdown--1mNTVZJ.js.map → Dropdown-BlmbYp1X.js.map} +1 -1
  93. package/dist/{EmptyState-DwT9_HW7.js → EmptyState-2pA3XlOX.js} +4 -4
  94. package/dist/{EmptyState-DwT9_HW7.js.map → EmptyState-2pA3XlOX.js.map} +1 -1
  95. package/dist/{EmptyState-B2_4BN4l.cjs → EmptyState-ByBpy2vN.cjs} +2 -2
  96. package/dist/{EmptyState-B2_4BN4l.cjs.map → EmptyState-ByBpy2vN.cjs.map} +1 -1
  97. package/dist/{ErrorBoundary-CsDHKYB4.js → ErrorBoundary-B-37hGZW.js} +6 -6
  98. package/dist/{ErrorBoundary-CsDHKYB4.js.map → ErrorBoundary-B-37hGZW.js.map} +1 -1
  99. package/dist/{ErrorBoundary-CYSOAQlB.cjs → ErrorBoundary-gRGxeuM1.cjs} +2 -2
  100. package/dist/{ErrorBoundary-CYSOAQlB.cjs.map → ErrorBoundary-gRGxeuM1.cjs.map} +1 -1
  101. package/dist/{FileCard-B9f9RoXS.js → FileCard-BNfUAgsF.js} +5 -5
  102. package/dist/{FileCard-B9f9RoXS.js.map → FileCard-BNfUAgsF.js.map} +1 -1
  103. package/dist/{FileCard-zuUYik-F.cjs → FileCard-BYNJVmp0.cjs} +2 -2
  104. package/dist/{FileCard-zuUYik-F.cjs.map → FileCard-BYNJVmp0.cjs.map} +1 -1
  105. package/dist/{FileUploader-Y8hiyIpp.cjs → FileUploader-DdICa5UC.cjs} +2 -2
  106. package/dist/{FileUploader-Y8hiyIpp.cjs.map → FileUploader-DdICa5UC.cjs.map} +1 -1
  107. package/dist/{FileUploader-Dh2zA50t.js → FileUploader-TOWwDOSS.js} +6 -6
  108. package/dist/{FileUploader-Dh2zA50t.js.map → FileUploader-TOWwDOSS.js.map} +1 -1
  109. package/dist/{Flag-CmDXvd7j.js → Flag-DDR6OANA.js} +2 -2
  110. package/dist/{Flag-CmDXvd7j.js.map → Flag-DDR6OANA.js.map} +1 -1
  111. package/dist/{Flag-BpTQAgbD.cjs → Flag-DXPQ2t8z.cjs} +2 -2
  112. package/dist/{Flag-BpTQAgbD.cjs.map → Flag-DXPQ2t8z.cjs.map} +1 -1
  113. package/dist/FloatingPanel-C5c_eMQ0.js +135 -0
  114. package/dist/{FloatingPanel-CeSOtE_D.js.map → FloatingPanel-C5c_eMQ0.js.map} +1 -1
  115. package/dist/FloatingPanel-tGCG2nhA.cjs +2 -0
  116. package/dist/{FloatingPanel-BIC4WrFa.cjs.map → FloatingPanel-tGCG2nhA.cjs.map} +1 -1
  117. package/dist/{FullscreenToggle-CeGgw3z1.cjs → FullscreenToggle-BKo1lDSE.cjs} +2 -2
  118. package/dist/{FullscreenToggle-CeGgw3z1.cjs.map → FullscreenToggle-BKo1lDSE.cjs.map} +1 -1
  119. package/dist/{FullscreenToggle-2IYIS5KF.js → FullscreenToggle-DmH1541W.js} +4 -4
  120. package/dist/{FullscreenToggle-2IYIS5KF.js.map → FullscreenToggle-DmH1541W.js.map} +1 -1
  121. package/dist/Icon-BUP5_kRs.cjs +2 -0
  122. package/dist/Icon-BUP5_kRs.cjs.map +1 -0
  123. package/dist/{Icon-DaTvzLBu.js → Icon-CGQ5yGSZ.js} +4 -3
  124. package/dist/Icon-CGQ5yGSZ.js.map +1 -0
  125. package/dist/{IconButton-GU3Ud4Zg.js → IconButton-CL_6iMQh.js} +2 -2
  126. package/dist/{IconButton-GU3Ud4Zg.js.map → IconButton-CL_6iMQh.js.map} +1 -1
  127. package/dist/{IconButton-BNa0yLcv.cjs → IconButton-CvIXSFsr.cjs} +2 -2
  128. package/dist/{IconButton-BNa0yLcv.cjs.map → IconButton-CvIXSFsr.cjs.map} +1 -1
  129. package/dist/{List-CZwNGxuP.js → List-BLPB3-B8.js} +3 -3
  130. package/dist/{List-CZwNGxuP.js.map → List-BLPB3-B8.js.map} +1 -1
  131. package/dist/{List-9lUjapQ5.cjs → List-ah2PNWeY.cjs} +2 -2
  132. package/dist/{List-9lUjapQ5.cjs.map → List-ah2PNWeY.cjs.map} +1 -1
  133. package/dist/{Loader-Cpr9-OOZ.cjs → Loader-CI1j71X8.cjs} +2 -2
  134. package/dist/{Loader-Cpr9-OOZ.cjs.map → Loader-CI1j71X8.cjs.map} +1 -1
  135. package/dist/{Loader-C1uaCtx6.js → Loader-Czzb450N.js} +2 -2
  136. package/dist/{Loader-C1uaCtx6.js.map → Loader-Czzb450N.js.map} +1 -1
  137. package/dist/{Modal-DHP2R3K3.js → Modal-DMJMw6kT.js} +5 -5
  138. package/dist/{Modal-DHP2R3K3.js.map → Modal-DMJMw6kT.js.map} +1 -1
  139. package/dist/{Modal-DFeBHv-Q.cjs → Modal-DPObz0b-.cjs} +2 -2
  140. package/dist/{Modal-DFeBHv-Q.cjs.map → Modal-DPObz0b-.cjs.map} +1 -1
  141. package/dist/{MultiSelect-B-FPQ08c.js → MultiSelect-BTR6w5Ot.js} +5 -5
  142. package/dist/{MultiSelect-B-FPQ08c.js.map → MultiSelect-BTR6w5Ot.js.map} +1 -1
  143. package/dist/{MultiSelect-S5VG9g3l.cjs → MultiSelect-IDAJ5a5K.cjs} +2 -2
  144. package/dist/{MultiSelect-S5VG9g3l.cjs.map → MultiSelect-IDAJ5a5K.cjs.map} +1 -1
  145. package/dist/{NumberField-SSGXlF8U.cjs → NumberField-Cg0XEDgW.cjs} +2 -2
  146. package/dist/{NumberField-SSGXlF8U.cjs.map → NumberField-Cg0XEDgW.cjs.map} +1 -1
  147. package/dist/{NumberField-CzyvDMRV.js → NumberField-DlaW-g3Z.js} +4 -4
  148. package/dist/{NumberField-CzyvDMRV.js.map → NumberField-DlaW-g3Z.js.map} +1 -1
  149. package/dist/{OtpField-Pr7Ch0El.cjs → OtpField-DsedK1nQ.cjs} +2 -2
  150. package/dist/{OtpField-Pr7Ch0El.cjs.map → OtpField-DsedK1nQ.cjs.map} +1 -1
  151. package/dist/{OtpField-CMoJqcx1.js → OtpField-vxQuo-uR.js} +2 -2
  152. package/dist/{OtpField-CMoJqcx1.js.map → OtpField-vxQuo-uR.js.map} +1 -1
  153. package/dist/{PageLayout-BIMkjq-q.cjs → PageLayout-BPbjTYS3.cjs} +2 -2
  154. package/dist/{PageLayout-BIMkjq-q.cjs.map → PageLayout-BPbjTYS3.cjs.map} +1 -1
  155. package/dist/{PageLayout-Ctr-IEzX.js → PageLayout-Rk6KSxmn.js} +2 -2
  156. package/dist/{PageLayout-Ctr-IEzX.js.map → PageLayout-Rk6KSxmn.js.map} +1 -1
  157. package/dist/{PageNotFound-KKJTeaRF.js → PageNotFound-CBNhKZ9Y.js} +5 -5
  158. package/dist/{PageNotFound-KKJTeaRF.js.map → PageNotFound-CBNhKZ9Y.js.map} +1 -1
  159. package/dist/{PageNotFound-CnhBheI4.cjs → PageNotFound-PUQ1o9R4.cjs} +2 -2
  160. package/dist/{PageNotFound-CnhBheI4.cjs.map → PageNotFound-PUQ1o9R4.cjs.map} +1 -1
  161. package/dist/{Pagination-Oyms2ERd.js → Pagination-CNdkfXp2.js} +3 -3
  162. package/dist/{Pagination-Oyms2ERd.js.map → Pagination-CNdkfXp2.js.map} +1 -1
  163. package/dist/{Pagination-BD5WOW98.cjs → Pagination-DNGKNQy0.cjs} +2 -2
  164. package/dist/{Pagination-BD5WOW98.cjs.map → Pagination-DNGKNQy0.cjs.map} +1 -1
  165. package/dist/{PaletteField-CCQGW5LC.cjs → PaletteField-BSIF5jI6.cjs} +2 -2
  166. package/dist/{PaletteField-CCQGW5LC.cjs.map → PaletteField-BSIF5jI6.cjs.map} +1 -1
  167. package/dist/{PaletteField-BHzzzdou.js → PaletteField-Bp5Fgygh.js} +3 -3
  168. package/dist/{PaletteField-BHzzzdou.js.map → PaletteField-Bp5Fgygh.js.map} +1 -1
  169. package/dist/{PhoneField-5zGY4Wko.cjs → PhoneField-BMhZeZkW.cjs} +2 -2
  170. package/dist/{PhoneField-5zGY4Wko.cjs.map → PhoneField-BMhZeZkW.cjs.map} +1 -1
  171. package/dist/{PhoneField-CBfmChPx.js → PhoneField-BdmvslXQ.js} +5 -5
  172. package/dist/{PhoneField-CBfmChPx.js.map → PhoneField-BdmvslXQ.js.map} +1 -1
  173. package/dist/{Popconfirm-BtGDhqrc.js → Popconfirm-Cyaeybtj.js} +6 -6
  174. package/dist/{Popconfirm-BtGDhqrc.js.map → Popconfirm-Cyaeybtj.js.map} +1 -1
  175. package/dist/{Popconfirm-CkBdntxV.cjs → Popconfirm-IhlIINtZ.cjs} +2 -2
  176. package/dist/{Popconfirm-CkBdntxV.cjs.map → Popconfirm-IhlIINtZ.cjs.map} +1 -1
  177. package/dist/{Popover-DAT6DcM9.cjs → Popover-DsYUT23r.cjs} +2 -2
  178. package/dist/{Popover-DAT6DcM9.cjs.map → Popover-DsYUT23r.cjs.map} +1 -1
  179. package/dist/{Popover-B82Id9Ut.js → Popover-WaVH3jsN.js} +2 -2
  180. package/dist/{Popover-B82Id9Ut.js.map → Popover-WaVH3jsN.js.map} +1 -1
  181. package/dist/{Progress-Bwxx71Ns.cjs → Progress-CAY1p06_.cjs} +2 -2
  182. package/dist/{Progress-Bwxx71Ns.cjs.map → Progress-CAY1p06_.cjs.map} +1 -1
  183. package/dist/{Progress-pTbaOSDd.js → Progress-T7PLrJ0Y.js} +2 -2
  184. package/dist/{Progress-pTbaOSDd.js.map → Progress-T7PLrJ0Y.js.map} +1 -1
  185. package/dist/{QueryError-C01oichG.cjs → QueryError-DP22IUnp.cjs} +2 -2
  186. package/dist/{QueryError-C01oichG.cjs.map → QueryError-DP22IUnp.cjs.map} +1 -1
  187. package/dist/{QueryError-Bu_MNGek.js → QueryError-Dtspj9l4.js} +2 -2
  188. package/dist/{QueryError-Bu_MNGek.js.map → QueryError-Dtspj9l4.js.map} +1 -1
  189. package/dist/RadioGroup-CTAayuMv.js +142 -0
  190. package/dist/RadioGroup-CTAayuMv.js.map +1 -0
  191. package/dist/RadioGroup-CvC2yc4p.cjs +2 -0
  192. package/dist/RadioGroup-CvC2yc4p.cjs.map +1 -0
  193. package/dist/{RemoveDialog-Bm2mJB3l.cjs → RemoveDialog-D12B4x80.cjs} +2 -2
  194. package/dist/{RemoveDialog-Bm2mJB3l.cjs.map → RemoveDialog-D12B4x80.cjs.map} +1 -1
  195. package/dist/{RemoveDialog-C2uJzWi-.js → RemoveDialog-DdGsqaWV.js} +6 -6
  196. package/dist/{RemoveDialog-C2uJzWi-.js.map → RemoveDialog-DdGsqaWV.js.map} +1 -1
  197. package/dist/{RichTextEditor-hOfxJEPX.cjs → RichTextEditor-BVXY25sz.cjs} +2 -2
  198. package/dist/{RichTextEditor-hOfxJEPX.cjs.map → RichTextEditor-BVXY25sz.cjs.map} +1 -1
  199. package/dist/{RichTextEditor-BFeJn2lr.js → RichTextEditor-DL4y5xVv.js} +11 -11
  200. package/dist/{RichTextEditor-BFeJn2lr.js.map → RichTextEditor-DL4y5xVv.js.map} +1 -1
  201. package/dist/RootLayout-BK3t6Mm0.js +604 -0
  202. package/dist/RootLayout-BK3t6Mm0.js.map +1 -0
  203. package/dist/RootLayout-DDuzPlJe.cjs +2 -0
  204. package/dist/RootLayout-DDuzPlJe.cjs.map +1 -0
  205. package/dist/{Select-CVVJKAtS.cjs → Select-DlFDOZtn.cjs} +2 -2
  206. package/dist/{Select-CVVJKAtS.cjs.map → Select-DlFDOZtn.cjs.map} +1 -1
  207. package/dist/{Select-d9LDI8O3.js → Select-tVI_qer3.js} +5 -5
  208. package/dist/{Select-d9LDI8O3.js.map → Select-tVI_qer3.js.map} +1 -1
  209. package/dist/{Sidebar-BgCfnZBF.js → Sidebar-CjrD3nNp.js} +7 -6
  210. package/dist/Sidebar-CjrD3nNp.js.map +1 -0
  211. package/dist/Sidebar-gB-X4VLX.cjs +2 -0
  212. package/dist/Sidebar-gB-X4VLX.cjs.map +1 -0
  213. package/dist/{SpeedDial-CEr2JWQb.cjs → SpeedDial-BIOkkLKO.cjs} +2 -2
  214. package/dist/{SpeedDial-CEr2JWQb.cjs.map → SpeedDial-BIOkkLKO.cjs.map} +1 -1
  215. package/dist/{SpeedDial-CBVwgnFp.js → SpeedDial-xQr4JH0x.js} +5 -5
  216. package/dist/{SpeedDial-CBVwgnFp.js.map → SpeedDial-xQr4JH0x.js.map} +1 -1
  217. package/dist/Stepper-CBdhvPoz.cjs +2 -0
  218. package/dist/Stepper-CBdhvPoz.cjs.map +1 -0
  219. package/dist/Stepper-CkYcIc15.js +169 -0
  220. package/dist/Stepper-CkYcIc15.js.map +1 -0
  221. package/dist/{SwatchPicker-Bpxk0IOe.js → SwatchPicker-BAKslSY4.js} +2 -2
  222. package/dist/{SwatchPicker-Bpxk0IOe.js.map → SwatchPicker-BAKslSY4.js.map} +1 -1
  223. package/dist/{SwatchPicker-BWXqgsEy.cjs → SwatchPicker-CpwVq0xp.cjs} +2 -2
  224. package/dist/{SwatchPicker-BWXqgsEy.cjs.map → SwatchPicker-CpwVq0xp.cjs.map} +1 -1
  225. package/dist/Table-CwQKfXGn.js +1210 -0
  226. package/dist/Table-CwQKfXGn.js.map +1 -0
  227. package/dist/Table-Cwxqo7Br.cjs +2 -0
  228. package/dist/Table-Cwxqo7Br.cjs.map +1 -0
  229. package/dist/Tabs-651xbRe4.cjs +2 -0
  230. package/dist/Tabs-651xbRe4.cjs.map +1 -0
  231. package/dist/Tabs-Bztnezt9.js +194 -0
  232. package/dist/Tabs-Bztnezt9.js.map +1 -0
  233. package/dist/{TagsField-DcuSn7wL.cjs → TagsField-B7ZARHzD.cjs} +2 -2
  234. package/dist/{TagsField-DcuSn7wL.cjs.map → TagsField-B7ZARHzD.cjs.map} +1 -1
  235. package/dist/{TagsField-DuQEFHZ3.js → TagsField-CdymON69.js} +5 -5
  236. package/dist/{TagsField-DuQEFHZ3.js.map → TagsField-CdymON69.js.map} +1 -1
  237. package/dist/{TextField-E85pvJQC.cjs → TextField-B22NRQ91.cjs} +2 -2
  238. package/dist/{TextField-E85pvJQC.cjs.map → TextField-B22NRQ91.cjs.map} +1 -1
  239. package/dist/{TextField-SGYWviFf.js → TextField-DkaYK1DI.js} +4 -4
  240. package/dist/{TextField-SGYWviFf.js.map → TextField-DkaYK1DI.js.map} +1 -1
  241. package/dist/{ThemeToggle-BdlxzYNt.cjs → ThemeToggle-D5dWHQFb.cjs} +2 -2
  242. package/dist/{ThemeToggle-BdlxzYNt.cjs.map → ThemeToggle-D5dWHQFb.cjs.map} +1 -1
  243. package/dist/{ThemeToggle-C2kjFrD_.js → ThemeToggle-DqzUvcK5.js} +4 -4
  244. package/dist/{ThemeToggle-C2kjFrD_.js.map → ThemeToggle-DqzUvcK5.js.map} +1 -1
  245. package/dist/{TimeColumns-BS1d0qOp.js → TimeColumns-BEoHh961.js} +2 -2
  246. package/dist/{TimeColumns-BS1d0qOp.js.map → TimeColumns-BEoHh961.js.map} +1 -1
  247. package/dist/{TimeColumns-D7-O4Qyt.cjs → TimeColumns-o2xhvSGE.cjs} +2 -2
  248. package/dist/{TimeColumns-D7-O4Qyt.cjs.map → TimeColumns-o2xhvSGE.cjs.map} +1 -1
  249. package/dist/{TimePicker-Dzb3gycP.cjs → TimePicker-CACmHwNn.cjs} +2 -2
  250. package/dist/{TimePicker-Dzb3gycP.cjs.map → TimePicker-CACmHwNn.cjs.map} +1 -1
  251. package/dist/{TimePicker-DlzYNDN1.js → TimePicker-DCryZCmh.js} +7 -7
  252. package/dist/{TimePicker-DlzYNDN1.js.map → TimePicker-DCryZCmh.js.map} +1 -1
  253. package/dist/{Timeline-CKEosWka.cjs → Timeline-CMP93APm.cjs} +2 -2
  254. package/dist/{Timeline-CKEosWka.cjs.map → Timeline-CMP93APm.cjs.map} +1 -1
  255. package/dist/{Timeline-ufVXmpMY.js → Timeline-Dri2dPsK.js} +3 -3
  256. package/dist/{Timeline-ufVXmpMY.js.map → Timeline-Dri2dPsK.js.map} +1 -1
  257. package/dist/{Toaster-Cummylmj.cjs → Toaster-BwREV06e.cjs} +2 -2
  258. package/dist/{Toaster-Cummylmj.cjs.map → Toaster-BwREV06e.cjs.map} +1 -1
  259. package/dist/{Toaster-cu5XyKeE.js → Toaster-DwVLab3k.js} +2 -2
  260. package/dist/{Toaster-cu5XyKeE.js.map → Toaster-DwVLab3k.js.map} +1 -1
  261. package/dist/{ToggleButtonGroup-D9odYMzD.js → ToggleButtonGroup-BtVDnQIF.js} +3 -3
  262. package/dist/{ToggleButtonGroup-D9odYMzD.js.map → ToggleButtonGroup-BtVDnQIF.js.map} +1 -1
  263. package/dist/{ToggleButtonGroup-M2oj_3mc.cjs → ToggleButtonGroup-UylpGJ16.cjs} +2 -2
  264. package/dist/{ToggleButtonGroup-M2oj_3mc.cjs.map → ToggleButtonGroup-UylpGJ16.cjs.map} +1 -1
  265. package/dist/Tooltip-Bw-1Xk2Z.cjs +2 -0
  266. package/dist/Tooltip-Bw-1Xk2Z.cjs.map +1 -0
  267. package/dist/Tooltip-DsDv4NOq.js +135 -0
  268. package/dist/Tooltip-DsDv4NOq.js.map +1 -0
  269. package/dist/{TranslatedFields-Ccjhq2YL.js → TranslatedFields-B0LMXgiu.js} +5 -5
  270. package/dist/{TranslatedFields-Ccjhq2YL.js.map → TranslatedFields-B0LMXgiu.js.map} +1 -1
  271. package/dist/{TranslatedFields-CbTlgKnh.cjs → TranslatedFields-sio1Qfy7.cjs} +2 -2
  272. package/dist/{TranslatedFields-CbTlgKnh.cjs.map → TranslatedFields-sio1Qfy7.cjs.map} +1 -1
  273. package/dist/{UserCard-Bs8kuV2j.js → UserCard-B5FVcJaK.js} +5 -5
  274. package/dist/{UserCard-Bs8kuV2j.js.map → UserCard-B5FVcJaK.js.map} +1 -1
  275. package/dist/{UserCard-BfHHfkDr.cjs → UserCard-Dzc4zmPj.cjs} +2 -2
  276. package/dist/{UserCard-BfHHfkDr.cjs.map → UserCard-Dzc4zmPj.cjs.map} +1 -1
  277. package/dist/app/AdminRoot.d.cts +7 -2
  278. package/dist/app/AdminRoot.d.ts +7 -2
  279. package/dist/components/Accordion/index.cjs +1 -1
  280. package/dist/components/Accordion/index.js +1 -1
  281. package/dist/components/Alert/index.cjs +1 -1
  282. package/dist/components/Alert/index.js +1 -1
  283. package/dist/components/AuthLayout/index.cjs +1 -1
  284. package/dist/components/AuthLayout/index.js +1 -1
  285. package/dist/components/Avatar/index.cjs +1 -1
  286. package/dist/components/Avatar/index.js +2 -2
  287. package/dist/components/Breadcrumbs/index.cjs +1 -1
  288. package/dist/components/Breadcrumbs/index.js +1 -1
  289. package/dist/components/Button/index.cjs +1 -1
  290. package/dist/components/Button/index.js +1 -1
  291. package/dist/components/Card/Card.d.cts +9 -1
  292. package/dist/components/Card/Card.d.ts +9 -1
  293. package/dist/components/Card/index.cjs +1 -1
  294. package/dist/components/Card/index.js +1 -1
  295. package/dist/components/Chip/index.cjs +1 -1
  296. package/dist/components/Chip/index.js +1 -1
  297. package/dist/components/ChoiceCard/index.cjs +1 -1
  298. package/dist/components/ChoiceCard/index.js +1 -1
  299. package/dist/components/CodeBlock/index.cjs +1 -1
  300. package/dist/components/CodeBlock/index.js +1 -1
  301. package/dist/components/ColorPicker/index.cjs +1 -1
  302. package/dist/components/ColorPicker/index.js +1 -1
  303. package/dist/components/ColorRamp/index.cjs +1 -1
  304. package/dist/components/ColorRamp/index.js +1 -1
  305. package/dist/components/CopyButton/index.cjs +1 -1
  306. package/dist/components/CopyButton/index.js +1 -1
  307. package/dist/components/DashedButton/index.cjs +1 -1
  308. package/dist/components/DashedButton/index.js +1 -1
  309. package/dist/components/DatePicker/index.cjs +1 -1
  310. package/dist/components/DatePicker/index.js +1 -1
  311. package/dist/components/DateTimePicker/index.cjs +1 -1
  312. package/dist/components/DateTimePicker/index.js +1 -1
  313. package/dist/components/DescriptionList/index.cjs +1 -1
  314. package/dist/components/DescriptionList/index.js +1 -1
  315. package/dist/components/Dropdown/index.cjs +1 -1
  316. package/dist/components/Dropdown/index.js +1 -1
  317. package/dist/components/EmptyState/index.cjs +1 -1
  318. package/dist/components/EmptyState/index.js +1 -1
  319. package/dist/components/ErrorState/index.cjs +1 -1
  320. package/dist/components/ErrorState/index.js +2 -2
  321. package/dist/components/FileCard/index.cjs +1 -1
  322. package/dist/components/FileCard/index.js +1 -1
  323. package/dist/components/FileUploader/index.cjs +1 -1
  324. package/dist/components/FileUploader/index.js +1 -1
  325. package/dist/components/Flag/index.cjs +1 -1
  326. package/dist/components/Flag/index.js +1 -1
  327. package/dist/components/FullscreenToggle/index.cjs +1 -1
  328. package/dist/components/FullscreenToggle/index.js +1 -1
  329. package/dist/components/Icon/index.cjs +1 -1
  330. package/dist/components/Icon/index.js +2 -2
  331. package/dist/components/IconButton/index.cjs +1 -1
  332. package/dist/components/IconButton/index.js +1 -1
  333. package/dist/components/List/index.cjs +1 -1
  334. package/dist/components/List/index.js +1 -1
  335. package/dist/components/Loader/index.cjs +1 -1
  336. package/dist/components/Loader/index.js +1 -1
  337. package/dist/components/Modal/index.cjs +1 -1
  338. package/dist/components/Modal/index.js +1 -1
  339. package/dist/components/MultiSelect/index.cjs +1 -1
  340. package/dist/components/MultiSelect/index.js +1 -1
  341. package/dist/components/NumberField/index.cjs +1 -1
  342. package/dist/components/NumberField/index.js +1 -1
  343. package/dist/components/OtpField/index.cjs +1 -1
  344. package/dist/components/OtpField/index.js +1 -1
  345. package/dist/components/PageLayout/index.cjs +1 -1
  346. package/dist/components/PageLayout/index.js +1 -1
  347. package/dist/components/PageNotFound/index.cjs +1 -1
  348. package/dist/components/PageNotFound/index.js +1 -1
  349. package/dist/components/Pagination/index.cjs +1 -1
  350. package/dist/components/Pagination/index.js +1 -1
  351. package/dist/components/PaletteField/index.cjs +1 -1
  352. package/dist/components/PaletteField/index.js +1 -1
  353. package/dist/components/PhoneField/index.cjs +1 -1
  354. package/dist/components/PhoneField/index.js +1 -1
  355. package/dist/components/Popconfirm/index.cjs +1 -1
  356. package/dist/components/Popconfirm/index.js +1 -1
  357. package/dist/components/Popover/index.cjs +1 -1
  358. package/dist/components/Popover/index.js +1 -1
  359. package/dist/components/Progress/index.cjs +1 -1
  360. package/dist/components/Progress/index.js +1 -1
  361. package/dist/components/Radio/RadioGroup.d.cts +1 -1
  362. package/dist/components/Radio/RadioGroup.d.ts +1 -1
  363. package/dist/components/Radio/index.cjs +1 -1
  364. package/dist/components/Radio/index.js +1 -1
  365. package/dist/components/RemoveDialog/index.cjs +1 -1
  366. package/dist/components/RemoveDialog/index.js +1 -1
  367. package/dist/components/RichTextEditor/index.cjs +1 -1
  368. package/dist/components/RichTextEditor/index.js +1 -1
  369. package/dist/components/RootLayout/RootLayout.d.cts +8 -1
  370. package/dist/components/RootLayout/RootLayout.d.ts +8 -1
  371. package/dist/components/RootLayout/SettingsDrawer.d.cts +4 -1
  372. package/dist/components/RootLayout/SettingsDrawer.d.ts +4 -1
  373. package/dist/components/RootLayout/index.cjs +1 -1
  374. package/dist/components/RootLayout/index.js +1 -1
  375. package/dist/components/Select/index.cjs +1 -1
  376. package/dist/components/Select/index.js +1 -1
  377. package/dist/components/Sidebar/Sidebar.d.cts +2 -0
  378. package/dist/components/Sidebar/Sidebar.d.ts +2 -0
  379. package/dist/components/Sidebar/index.cjs +1 -1
  380. package/dist/components/Sidebar/index.js +1 -1
  381. package/dist/components/SpeedDial/index.cjs +1 -1
  382. package/dist/components/SpeedDial/index.js +1 -1
  383. package/dist/components/Stepper/Stepper.d.cts +8 -1
  384. package/dist/components/Stepper/Stepper.d.ts +8 -1
  385. package/dist/components/Stepper/index.cjs +1 -1
  386. package/dist/components/Stepper/index.js +1 -1
  387. package/dist/components/SwatchPicker/index.cjs +1 -1
  388. package/dist/components/SwatchPicker/index.js +1 -1
  389. package/dist/components/Table/Table.d.cts +20 -3
  390. package/dist/components/Table/Table.d.ts +20 -3
  391. package/dist/components/Table/index.cjs +1 -1
  392. package/dist/components/Table/index.js +1 -1
  393. package/dist/components/Table/tableFilter.d.cts +12 -2
  394. package/dist/components/Table/tableFilter.d.ts +12 -2
  395. package/dist/components/Tabs/Tabs.d.cts +8 -1
  396. package/dist/components/Tabs/Tabs.d.ts +8 -1
  397. package/dist/components/Tabs/index.cjs +1 -1
  398. package/dist/components/Tabs/index.js +1 -1
  399. package/dist/components/TagsField/index.cjs +1 -1
  400. package/dist/components/TagsField/index.js +1 -1
  401. package/dist/components/TextField/index.cjs +1 -1
  402. package/dist/components/TextField/index.js +1 -1
  403. package/dist/components/ThemeToggle/index.cjs +1 -1
  404. package/dist/components/ThemeToggle/index.js +1 -1
  405. package/dist/components/TimePicker/index.cjs +1 -1
  406. package/dist/components/TimePicker/index.js +1 -1
  407. package/dist/components/Timeline/index.cjs +1 -1
  408. package/dist/components/Timeline/index.js +1 -1
  409. package/dist/components/Toast/index.cjs +1 -1
  410. package/dist/components/Toast/index.js +1 -1
  411. package/dist/components/ToggleButton/index.cjs +1 -1
  412. package/dist/components/ToggleButton/index.js +1 -1
  413. package/dist/components/Tooltip/Tooltip.d.cts +10 -3
  414. package/dist/components/Tooltip/Tooltip.d.ts +10 -3
  415. package/dist/components/Tooltip/index.cjs +1 -1
  416. package/dist/components/Tooltip/index.js +1 -1
  417. package/dist/components/TranslatedFields/index.cjs +1 -1
  418. package/dist/components/TranslatedFields/index.js +1 -1
  419. package/dist/components/UserCard/index.cjs +1 -1
  420. package/dist/components/UserCard/index.js +1 -1
  421. package/dist/entries/app.cjs +1 -1
  422. package/dist/entries/app.js +1 -1
  423. package/dist/entries/components.cjs +1 -1
  424. package/dist/entries/components.js +64 -64
  425. package/dist/entries/hooks.cjs +1 -1
  426. package/dist/entries/hooks.d.cts +2 -0
  427. package/dist/entries/hooks.d.ts +2 -0
  428. package/dist/entries/hooks.js +9 -8
  429. package/dist/entries/i18n.cjs +1 -1
  430. package/dist/entries/i18n.js +2 -2
  431. package/dist/entries/icons.cjs +1 -1
  432. package/dist/entries/icons.js +2 -2
  433. package/dist/entries/theme.cjs +1 -1
  434. package/dist/entries/theme.d.cts +1 -1
  435. package/dist/entries/theme.d.ts +1 -1
  436. package/dist/entries/theme.js +1 -1
  437. package/dist/hooks/index.d.cts +2 -0
  438. package/dist/hooks/index.d.ts +2 -0
  439. package/dist/hooks/useClearUrlOnUnmount.d.cts +19 -0
  440. package/dist/hooks/useClearUrlOnUnmount.d.ts +19 -0
  441. package/dist/hooks/useQueryModal.d.cts +40 -0
  442. package/dist/hooks/useQueryModal.d.ts +40 -0
  443. package/dist/i18n/messages.d.cts +12 -0
  444. package/dist/i18n/messages.d.ts +12 -0
  445. package/dist/icons/names.d.cts +3 -3
  446. package/dist/icons/names.d.ts +3 -3
  447. package/dist/index.cjs +1 -1
  448. package/dist/index.css +1 -1
  449. package/dist/index.js +251 -250
  450. package/dist/{messages-FiUqCKjJ.cjs → messages-DS38X5W2.cjs} +9 -9
  451. package/dist/messages-DS38X5W2.cjs.map +1 -0
  452. package/dist/{messages-DCefu6Pn.js → messages-DswDgGe2.js} +52 -10
  453. package/dist/messages-DswDgGe2.js.map +1 -0
  454. package/dist/{names-r21QPjcU.js → names-BR1uJs0-.js} +5 -4
  455. package/dist/names-BR1uJs0-.js.map +1 -0
  456. package/dist/names-YOCJ4B5J.cjs +2 -0
  457. package/dist/names-YOCJ4B5J.cjs.map +1 -0
  458. package/dist/theme/ConfigProvider.d.cts +48 -0
  459. package/dist/theme/ConfigProvider.d.ts +48 -0
  460. package/dist/theme/index.d.cts +1 -1
  461. package/dist/theme/index.d.ts +1 -1
  462. package/dist/useClearUrlOnUnmount-Cg7v2y5B.cjs +2 -0
  463. package/dist/useClearUrlOnUnmount-Cg7v2y5B.cjs.map +1 -0
  464. package/dist/useClearUrlOnUnmount-DOeh6CUN.js +37 -0
  465. package/dist/useClearUrlOnUnmount-DOeh6CUN.js.map +1 -0
  466. package/dist/useForm-CGbJ44Gp.js +194 -0
  467. package/dist/useForm-CGbJ44Gp.js.map +1 -0
  468. package/dist/useForm-CSw6r1n1.cjs +2 -0
  469. package/dist/useForm-CSw6r1n1.cjs.map +1 -0
  470. package/dist/{useOptionMenu-BoWyPgbY.cjs → useOptionMenu-BYeSUee6.cjs} +2 -2
  471. package/dist/{useOptionMenu-BoWyPgbY.cjs.map → useOptionMenu-BYeSUee6.cjs.map} +1 -1
  472. package/dist/{useOptionMenu-D7EbYG9A.js → useOptionMenu-DtTvY9EC.js} +6 -6
  473. package/dist/{useOptionMenu-D7EbYG9A.js.map → useOptionMenu-DtTvY9EC.js.map} +1 -1
  474. package/package.json +1 -1
  475. package/dist/AdminRoot-9HGp3Mds.js +0 -55
  476. package/dist/AdminRoot-9HGp3Mds.js.map +0 -1
  477. package/dist/AdminRoot-D24UJ-4a.cjs +0 -2
  478. package/dist/AdminRoot-D24UJ-4a.cjs.map +0 -1
  479. package/dist/Card-CUUh4mlB.cjs +0 -2
  480. package/dist/Card-CUUh4mlB.cjs.map +0 -1
  481. package/dist/Card-MxYfQTOY.js +0 -121
  482. package/dist/Card-MxYfQTOY.js.map +0 -1
  483. package/dist/ConfigProvider-BbsI15b-.js +0 -320
  484. package/dist/ConfigProvider-BbsI15b-.js.map +0 -1
  485. package/dist/ConfigProvider-ByLHqXpv.cjs +0 -2
  486. package/dist/ConfigProvider-ByLHqXpv.cjs.map +0 -1
  487. package/dist/DescriptionList-U5z2Faf4.cjs +0 -2
  488. package/dist/FloatingPanel-BIC4WrFa.cjs +0 -2
  489. package/dist/FloatingPanel-CeSOtE_D.js +0 -135
  490. package/dist/Icon-BVULqOJD.cjs +0 -2
  491. package/dist/Icon-BVULqOJD.cjs.map +0 -1
  492. package/dist/Icon-DaTvzLBu.js.map +0 -1
  493. package/dist/RadioGroup-BcFBdFhh.cjs +0 -2
  494. package/dist/RadioGroup-BcFBdFhh.cjs.map +0 -1
  495. package/dist/RadioGroup-dVx_hMCY.js +0 -141
  496. package/dist/RadioGroup-dVx_hMCY.js.map +0 -1
  497. package/dist/RootLayout-CxncyjCz.js +0 -515
  498. package/dist/RootLayout-CxncyjCz.js.map +0 -1
  499. package/dist/RootLayout-XEcU_MBs.cjs +0 -2
  500. package/dist/RootLayout-XEcU_MBs.cjs.map +0 -1
  501. package/dist/Sidebar-B8ecHwZr.cjs +0 -2
  502. package/dist/Sidebar-B8ecHwZr.cjs.map +0 -1
  503. package/dist/Sidebar-BgCfnZBF.js.map +0 -1
  504. package/dist/Stepper-DOSc03YV.cjs +0 -2
  505. package/dist/Stepper-DOSc03YV.cjs.map +0 -1
  506. package/dist/Stepper-DtYamv1q.js +0 -165
  507. package/dist/Stepper-DtYamv1q.js.map +0 -1
  508. package/dist/Table-AzNzUAkl.js +0 -1170
  509. package/dist/Table-AzNzUAkl.js.map +0 -1
  510. package/dist/Table-CrpWhZUg.cjs +0 -2
  511. package/dist/Table-CrpWhZUg.cjs.map +0 -1
  512. package/dist/Tabs-CMnLXRjA.cjs +0 -2
  513. package/dist/Tabs-CMnLXRjA.cjs.map +0 -1
  514. package/dist/Tabs-D1RGhKsa.js +0 -190
  515. package/dist/Tabs-D1RGhKsa.js.map +0 -1
  516. package/dist/Tooltip-Ao7az09p.cjs +0 -2
  517. package/dist/Tooltip-Ao7az09p.cjs.map +0 -1
  518. package/dist/Tooltip-Cb_FKxT9.js +0 -65
  519. package/dist/Tooltip-Cb_FKxT9.js.map +0 -1
  520. package/dist/messages-DCefu6Pn.js.map +0 -1
  521. package/dist/messages-FiUqCKjJ.cjs.map +0 -1
  522. package/dist/names-BJnFU_5m.cjs +0 -2
  523. package/dist/names-BJnFU_5m.cjs.map +0 -1
  524. package/dist/names-r21QPjcU.js.map +0 -1
  525. package/dist/useForm-CN-qCrP7.js +0 -144
  526. package/dist/useForm-CN-qCrP7.js.map +0 -1
  527. package/dist/useForm-WvV361y6.cjs +0 -2
  528. package/dist/useForm-WvV361y6.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),r=require("react"),z=require("./Blockquote-BWGxIL_V.cjs"),C=require("./Button-CusxDmfq.cjs"),N=require("./Code-CUdpWlY5.cjs"),j=require("./Icon-BVULqOJD.cjs"),I=require("./Modal-DFeBHv-Q.cjs"),R=require("./TextField-E85pvJQC.cjs"),w=require("./Typography-B6ASPrzT.cjs"),v=require("./ConfigProvider-ByLHqXpv.cjs"),E="_modalBody_1nqut_5",F="_body_1nqut_4",S="_iconBox_1nqut_20",O="_confirm_1nqut_37",L="_phrase_1nqut_45",i={modalBody:E,body:F,iconBox:S,confirm:O,phrase:L},M=r.forwardRef(function({open:s,onClose:t,onConfirm:l,title:d,message:b,confirmLabel:B,cancelLabel:_,loading:T=!1,confirmText:n},k){const c=v.useT(),[D,h]=r.useState(!1),o=T||D,[u,y]=r.useState(""),x=r.useRef(s);x.current!==s&&(x.current=s,s&&y(""));const m=n==null||u.trim()===n.trim(),g=r.useId(),p=()=>{o||t()},q=async()=>{if(!(!m||o))try{h(!0),await l(),t()}catch{}finally{h(!1)}};return e.jsx(I.Modal,{ref:k,open:s,onClose:p,size:"sm",bodyClassName:i.modalBody,title:d??c("removeDialog.title"),showCloseButton:!o,closeOnBackdrop:!o,closeOnEscape:!o,footer:e.jsxs(e.Fragment,{children:[e.jsx(C.Button,{variant:"text",size:"sm",onClick:p,disabled:o,children:_??c("common.cancel")}),e.jsx(C.Button,{color:"error",variant:"filled",size:"sm",onClick:q,loading:o,disabled:!m,children:B??c("common.delete")})]}),children:e.jsxs("div",{className:i.body,children:[e.jsx("div",{className:i.iconBox,"aria-hidden":!0,children:e.jsx(j.Icon,{name:"Trash"})}),e.jsx(w.Typography,{align:"center",children:b??c("removeDialog.message")}),n!=null&&e.jsxs("div",{className:i.confirm,children:[e.jsx(z.Blockquote,{id:g,size:"sm",color:"error",children:e.jsx(P,{text:n})}),e.jsx(R.TextField,{"aria-labelledby":g,placeholder:n,value:u,onChange:a=>y(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),q())},adornment:u&&m?e.jsx(j.Icon,{name:"TickCircle",color:"success"}):void 0,adornmentPosition:"right",disabled:o,size:"sm",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1})]})]})})});function P({text:f}){const s=v.useT(),t="\0",[l,d=""]=s("removeDialog.typeToConfirm",{text:t}).split(t);return e.jsxs(e.Fragment,{children:[l,e.jsx(N.Code,{size:"sm",color:"error",className:i.phrase,children:f}),d]})}exports.RemoveDialog=M;
2
- //# sourceMappingURL=RemoveDialog-Bm2mJB3l.cjs.map
1
+ "use strict";const e=require("react/jsx-runtime"),r=require("react"),z=require("./Blockquote-BWGxIL_V.cjs"),C=require("./Button-BQhiJq8e.cjs"),N=require("./Code-CUdpWlY5.cjs"),j=require("./Icon-BUP5_kRs.cjs"),I=require("./Modal-DPObz0b-.cjs"),R=require("./TextField-B22NRQ91.cjs"),w=require("./Typography-B6ASPrzT.cjs"),v=require("./ConfigProvider-CtpfSy1i.cjs"),E="_modalBody_1nqut_5",F="_body_1nqut_4",S="_iconBox_1nqut_20",O="_confirm_1nqut_37",L="_phrase_1nqut_45",i={modalBody:E,body:F,iconBox:S,confirm:O,phrase:L},M=r.forwardRef(function({open:s,onClose:t,onConfirm:l,title:d,message:b,confirmLabel:B,cancelLabel:_,loading:T=!1,confirmText:n},k){const c=v.useT(),[D,h]=r.useState(!1),o=T||D,[u,y]=r.useState(""),x=r.useRef(s);x.current!==s&&(x.current=s,s&&y(""));const m=n==null||u.trim()===n.trim(),g=r.useId(),p=()=>{o||t()},q=async()=>{if(!(!m||o))try{h(!0),await l(),t()}catch{}finally{h(!1)}};return e.jsx(I.Modal,{ref:k,open:s,onClose:p,size:"sm",bodyClassName:i.modalBody,title:d??c("removeDialog.title"),showCloseButton:!o,closeOnBackdrop:!o,closeOnEscape:!o,footer:e.jsxs(e.Fragment,{children:[e.jsx(C.Button,{variant:"text",size:"sm",onClick:p,disabled:o,children:_??c("common.cancel")}),e.jsx(C.Button,{color:"error",variant:"filled",size:"sm",onClick:q,loading:o,disabled:!m,children:B??c("common.delete")})]}),children:e.jsxs("div",{className:i.body,children:[e.jsx("div",{className:i.iconBox,"aria-hidden":!0,children:e.jsx(j.Icon,{name:"Trash"})}),e.jsx(w.Typography,{align:"center",children:b??c("removeDialog.message")}),n!=null&&e.jsxs("div",{className:i.confirm,children:[e.jsx(z.Blockquote,{id:g,size:"sm",color:"error",children:e.jsx(P,{text:n})}),e.jsx(R.TextField,{"aria-labelledby":g,placeholder:n,value:u,onChange:a=>y(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),q())},adornment:u&&m?e.jsx(j.Icon,{name:"TickCircle",color:"success"}):void 0,adornmentPosition:"right",disabled:o,size:"sm",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1})]})]})})});function P({text:f}){const s=v.useT(),t="\0",[l,d=""]=s("removeDialog.typeToConfirm",{text:t}).split(t);return e.jsxs(e.Fragment,{children:[l,e.jsx(N.Code,{size:"sm",color:"error",className:i.phrase,children:f}),d]})}exports.RemoveDialog=M;
2
+ //# sourceMappingURL=RemoveDialog-D12B4x80.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveDialog-Bm2mJB3l.cjs","sources":["../src/components/RemoveDialog/RemoveDialog.tsx"],"sourcesContent":["import { forwardRef, useId, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport { useT } from '../../theme'\nimport { Blockquote } from '../Blockquote'\nimport { Button } from '../Button'\nimport { Code } from '../Code'\nimport { Icon } from '../Icon'\nimport { Modal } from '../Modal'\nimport { TextField } from '../TextField'\nimport { Typography } from '../Typography'\nimport styles from './RemoveDialog.module.css'\n\nexport interface RemoveDialogProps {\n /** Whether the dialog is open. */\n open: boolean\n /** Called on Cancel, the × button, backdrop, or Escape (ignored while a confirm is in flight). */\n onClose: () => void\n /**\n * The destructive action. May be async — while its promise is pending the Delete button shows a\n * loader and the dialog locks (no dismiss); on success the dialog **auto-closes**, on rejection it\n * stays open so the user can retry (surface the error yourself, e.g. a toast).\n */\n onConfirm: () => void | Promise<void>\n /** Header title. Defaults to `\"Remove\"`. */\n title?: ReactNode\n /** Body prompt shown under the icon. Defaults to `\"Are you sure you want to delete?\"`. */\n message?: ReactNode\n /** Confirm (destructive) button label. Defaults to `\"Delete\"`. */\n confirmLabel?: string\n /** Cancel button label. Defaults to `\"Cancel\"`. */\n cancelLabel?: string\n /** External loading override — combined with the internal async-confirm state. */\n loading?: boolean\n /**\n * **Type-to-confirm** for high-risk deletes: the user must type this exact text (e.g. `\"remove user\"`)\n * into a field before Delete enables. Case-sensitive; surrounding whitespace is ignored. The field is\n * focused on open, cleared on every open, and Enter confirms once it matches.\n */\n confirmText?: string\n}\n\n/**\n * A ready-made delete confirmation — a thin convenience wrapper over `Modal` for the ubiquitous\n * \"Are you sure you want to delete?\" prompt. Hardcodes the destructive flavor (a `Trash` glyph in a\n * soft error circle + an `error` Delete button); just wire `open` / `onClose` / `onConfirm`. An async\n * `onConfirm` drives the button loader and locks dismissal, then auto-closes on success. `confirmText`\n * adds **type-to-confirm**: Delete stays disabled until the user types that exact text. Built on\n * `Modal`, so it inherits the portal, scroll-lock, focus-trap, and backdrop/Escape dismissal.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure()\n * <RemoveDialog open={isOpen} onClose={close} onConfirm={() => deleteItem(id)} />\n */\nexport const RemoveDialog = forwardRef<HTMLDivElement, RemoveDialogProps>(function RemoveDialog(\n {\n open,\n onClose,\n onConfirm,\n title,\n message,\n confirmLabel,\n cancelLabel,\n loading = false,\n confirmText,\n },\n ref,\n) {\n const t = useT()\n const [submitting, setSubmitting] = useState(false)\n const busy = loading || submitting\n\n // type-to-confirm — cleared every time the dialog opens (\"adjust state on prop change\", no effect)\n const [typed, setTyped] = useState('')\n const wasOpen = useRef(open)\n if (wasOpen.current !== open) {\n wasOpen.current = open\n if (open) setTyped('')\n }\n const matches = confirmText == null || typed.trim() === confirmText.trim()\n const promptId = useId()\n\n // dismissal is blocked while the confirm is running (so the delete can't be abandoned mid-flight)\n const handleClose = () => {\n if (!busy) onClose()\n }\n\n const handleConfirm = async () => {\n if (!matches || busy) return\n try {\n setSubmitting(true)\n await onConfirm()\n onClose() // auto-close on success\n } catch {\n // keep the dialog open on failure so the user can retry; the consumer surfaces the error\n } finally {\n setSubmitting(false)\n }\n }\n\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={handleClose}\n size=\"sm\"\n bodyClassName={styles.modalBody}\n title={title ?? t('removeDialog.title')}\n showCloseButton={!busy}\n closeOnBackdrop={!busy}\n closeOnEscape={!busy}\n footer={\n <>\n <Button variant=\"text\" size=\"sm\" onClick={handleClose} disabled={busy}>\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n color=\"error\"\n variant=\"filled\"\n size=\"sm\"\n onClick={handleConfirm}\n loading={busy}\n disabled={!matches}\n >\n {confirmLabel ?? t('common.delete')}\n </Button>\n </>\n }\n >\n <div className={styles.body}>\n <div className={styles.iconBox} aria-hidden>\n <Icon name=\"Trash\" />\n </div>\n <Typography align=\"center\">{message ?? t('removeDialog.message')}</Typography>\n {confirmText != null && (\n <div className={styles.confirm}>\n {/* the instruction, as an error-tinted quote — it also names the field (aria-labelledby) */}\n <Blockquote id={promptId} size=\"sm\" color=\"error\">\n <TypeToConfirmLabel text={confirmText} />\n </Blockquote>\n <TextField\n aria-labelledby={promptId}\n placeholder={confirmText}\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n void handleConfirm()\n }\n }}\n // a green tick once the phrase matches — the field confirms itself before Delete does\n adornment={typed && matches ? <Icon name=\"TickCircle\" color=\"success\" /> : undefined}\n adornmentPosition=\"right\"\n disabled={busy}\n size=\"sm\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n />\n </div>\n )}\n </div>\n </Modal>\n )\n})\n\n/** \"Type {text} to confirm\" with the text set as inline `Code`, so the exact phrase stands out. */\nfunction TypeToConfirmLabel({ text }: { text: string }) {\n const t = useT()\n // translate with a sentinel in place of {text}, then split around it to slot the Code element in\n const SENTINEL = '\\u0000'\n const [before, after = ''] = t('removeDialog.typeToConfirm', { text: SENTINEL }).split(SENTINEL)\n return (\n <>\n {before}\n <Code size=\"sm\" color=\"error\" className={styles.phrase}>\n {text}\n </Code>\n {after}\n </>\n )\n}\n"],"names":["RemoveDialog","forwardRef","open","onClose","onConfirm","title","message","confirmLabel","cancelLabel","loading","confirmText","ref","t","useT","submitting","setSubmitting","useState","busy","typed","setTyped","wasOpen","useRef","matches","promptId","useId","handleClose","handleConfirm","jsx","Modal","styles","jsxs","Fragment","Button","Icon","Typography","Blockquote","TypeToConfirmLabel","TextField","event","text","SENTINEL","before","after","Code"],"mappings":"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"}
1
+ {"version":3,"file":"RemoveDialog-D12B4x80.cjs","sources":["../src/components/RemoveDialog/RemoveDialog.tsx"],"sourcesContent":["import { forwardRef, useId, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport { useT } from '../../theme'\nimport { Blockquote } from '../Blockquote'\nimport { Button } from '../Button'\nimport { Code } from '../Code'\nimport { Icon } from '../Icon'\nimport { Modal } from '../Modal'\nimport { TextField } from '../TextField'\nimport { Typography } from '../Typography'\nimport styles from './RemoveDialog.module.css'\n\nexport interface RemoveDialogProps {\n /** Whether the dialog is open. */\n open: boolean\n /** Called on Cancel, the × button, backdrop, or Escape (ignored while a confirm is in flight). */\n onClose: () => void\n /**\n * The destructive action. May be async — while its promise is pending the Delete button shows a\n * loader and the dialog locks (no dismiss); on success the dialog **auto-closes**, on rejection it\n * stays open so the user can retry (surface the error yourself, e.g. a toast).\n */\n onConfirm: () => void | Promise<void>\n /** Header title. Defaults to `\"Remove\"`. */\n title?: ReactNode\n /** Body prompt shown under the icon. Defaults to `\"Are you sure you want to delete?\"`. */\n message?: ReactNode\n /** Confirm (destructive) button label. Defaults to `\"Delete\"`. */\n confirmLabel?: string\n /** Cancel button label. Defaults to `\"Cancel\"`. */\n cancelLabel?: string\n /** External loading override — combined with the internal async-confirm state. */\n loading?: boolean\n /**\n * **Type-to-confirm** for high-risk deletes: the user must type this exact text (e.g. `\"remove user\"`)\n * into a field before Delete enables. Case-sensitive; surrounding whitespace is ignored. The field is\n * focused on open, cleared on every open, and Enter confirms once it matches.\n */\n confirmText?: string\n}\n\n/**\n * A ready-made delete confirmation — a thin convenience wrapper over `Modal` for the ubiquitous\n * \"Are you sure you want to delete?\" prompt. Hardcodes the destructive flavor (a `Trash` glyph in a\n * soft error circle + an `error` Delete button); just wire `open` / `onClose` / `onConfirm`. An async\n * `onConfirm` drives the button loader and locks dismissal, then auto-closes on success. `confirmText`\n * adds **type-to-confirm**: Delete stays disabled until the user types that exact text. Built on\n * `Modal`, so it inherits the portal, scroll-lock, focus-trap, and backdrop/Escape dismissal.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure()\n * <RemoveDialog open={isOpen} onClose={close} onConfirm={() => deleteItem(id)} />\n */\nexport const RemoveDialog = forwardRef<HTMLDivElement, RemoveDialogProps>(function RemoveDialog(\n {\n open,\n onClose,\n onConfirm,\n title,\n message,\n confirmLabel,\n cancelLabel,\n loading = false,\n confirmText,\n },\n ref,\n) {\n const t = useT()\n const [submitting, setSubmitting] = useState(false)\n const busy = loading || submitting\n\n // type-to-confirm — cleared every time the dialog opens (\"adjust state on prop change\", no effect)\n const [typed, setTyped] = useState('')\n const wasOpen = useRef(open)\n if (wasOpen.current !== open) {\n wasOpen.current = open\n if (open) setTyped('')\n }\n const matches = confirmText == null || typed.trim() === confirmText.trim()\n const promptId = useId()\n\n // dismissal is blocked while the confirm is running (so the delete can't be abandoned mid-flight)\n const handleClose = () => {\n if (!busy) onClose()\n }\n\n const handleConfirm = async () => {\n if (!matches || busy) return\n try {\n setSubmitting(true)\n await onConfirm()\n onClose() // auto-close on success\n } catch {\n // keep the dialog open on failure so the user can retry; the consumer surfaces the error\n } finally {\n setSubmitting(false)\n }\n }\n\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={handleClose}\n size=\"sm\"\n bodyClassName={styles.modalBody}\n title={title ?? t('removeDialog.title')}\n showCloseButton={!busy}\n closeOnBackdrop={!busy}\n closeOnEscape={!busy}\n footer={\n <>\n <Button variant=\"text\" size=\"sm\" onClick={handleClose} disabled={busy}>\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n color=\"error\"\n variant=\"filled\"\n size=\"sm\"\n onClick={handleConfirm}\n loading={busy}\n disabled={!matches}\n >\n {confirmLabel ?? t('common.delete')}\n </Button>\n </>\n }\n >\n <div className={styles.body}>\n <div className={styles.iconBox} aria-hidden>\n <Icon name=\"Trash\" />\n </div>\n <Typography align=\"center\">{message ?? t('removeDialog.message')}</Typography>\n {confirmText != null && (\n <div className={styles.confirm}>\n {/* the instruction, as an error-tinted quote — it also names the field (aria-labelledby) */}\n <Blockquote id={promptId} size=\"sm\" color=\"error\">\n <TypeToConfirmLabel text={confirmText} />\n </Blockquote>\n <TextField\n aria-labelledby={promptId}\n placeholder={confirmText}\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n void handleConfirm()\n }\n }}\n // a green tick once the phrase matches — the field confirms itself before Delete does\n adornment={typed && matches ? <Icon name=\"TickCircle\" color=\"success\" /> : undefined}\n adornmentPosition=\"right\"\n disabled={busy}\n size=\"sm\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n />\n </div>\n )}\n </div>\n </Modal>\n )\n})\n\n/** \"Type {text} to confirm\" with the text set as inline `Code`, so the exact phrase stands out. */\nfunction TypeToConfirmLabel({ text }: { text: string }) {\n const t = useT()\n // translate with a sentinel in place of {text}, then split around it to slot the Code element in\n const SENTINEL = '\\u0000'\n const [before, after = ''] = t('removeDialog.typeToConfirm', { text: SENTINEL }).split(SENTINEL)\n return (\n <>\n {before}\n <Code size=\"sm\" color=\"error\" className={styles.phrase}>\n {text}\n </Code>\n {after}\n </>\n )\n}\n"],"names":["RemoveDialog","forwardRef","open","onClose","onConfirm","title","message","confirmLabel","cancelLabel","loading","confirmText","ref","t","useT","submitting","setSubmitting","useState","busy","typed","setTyped","wasOpen","useRef","matches","promptId","useId","handleClose","handleConfirm","jsx","Modal","styles","jsxs","Fragment","Button","Icon","Typography","Blockquote","TypeToConfirmLabel","TextField","event","text","SENTINEL","before","after","Code"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { jsx as o, jsxs as l, Fragment as T } from "react/jsx-runtime";
2
2
  import { forwardRef as I, useState as _, useRef as R, useId as E } from "react";
3
3
  import { B as O } from "./Blockquote-Ma-2naET.js";
4
- import { B as v } from "./Button-CWMNNiia.js";
4
+ import { B as v } from "./Button-9Qcdkw-y.js";
5
5
  import { C as S } from "./Code-DaEpXHfF.js";
6
- import { I as B } from "./Icon-DaTvzLBu.js";
7
- import { M as j } from "./Modal-DHP2R3K3.js";
8
- import { T as F } from "./TextField-SGYWviFf.js";
6
+ import { I as B } from "./Icon-CGQ5yGSZ.js";
7
+ import { M as j } from "./Modal-DMJMw6kT.js";
8
+ import { T as F } from "./TextField-DkaYK1DI.js";
9
9
  import { T as L } from "./Typography-CJv5AnRP.js";
10
- import { a as k } from "./ConfigProvider-BbsI15b-.js";
10
+ import { a as k } from "./ConfigProvider-Ct0Pe3Ku.js";
11
11
  const M = "_modalBody_1nqut_5", K = "_body_1nqut_4", P = "_iconBox_1nqut_20", A = "_confirm_1nqut_37", G = "_phrase_1nqut_45", a = {
12
12
  modalBody: M,
13
13
  body: K,
@@ -106,4 +106,4 @@ function H({ text: u }) {
106
106
  export {
107
107
  eo as R
108
108
  };
109
- //# sourceMappingURL=RemoveDialog-C2uJzWi-.js.map
109
+ //# sourceMappingURL=RemoveDialog-DdGsqaWV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveDialog-C2uJzWi-.js","sources":["../src/components/RemoveDialog/RemoveDialog.tsx"],"sourcesContent":["import { forwardRef, useId, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport { useT } from '../../theme'\nimport { Blockquote } from '../Blockquote'\nimport { Button } from '../Button'\nimport { Code } from '../Code'\nimport { Icon } from '../Icon'\nimport { Modal } from '../Modal'\nimport { TextField } from '../TextField'\nimport { Typography } from '../Typography'\nimport styles from './RemoveDialog.module.css'\n\nexport interface RemoveDialogProps {\n /** Whether the dialog is open. */\n open: boolean\n /** Called on Cancel, the × button, backdrop, or Escape (ignored while a confirm is in flight). */\n onClose: () => void\n /**\n * The destructive action. May be async — while its promise is pending the Delete button shows a\n * loader and the dialog locks (no dismiss); on success the dialog **auto-closes**, on rejection it\n * stays open so the user can retry (surface the error yourself, e.g. a toast).\n */\n onConfirm: () => void | Promise<void>\n /** Header title. Defaults to `\"Remove\"`. */\n title?: ReactNode\n /** Body prompt shown under the icon. Defaults to `\"Are you sure you want to delete?\"`. */\n message?: ReactNode\n /** Confirm (destructive) button label. Defaults to `\"Delete\"`. */\n confirmLabel?: string\n /** Cancel button label. Defaults to `\"Cancel\"`. */\n cancelLabel?: string\n /** External loading override — combined with the internal async-confirm state. */\n loading?: boolean\n /**\n * **Type-to-confirm** for high-risk deletes: the user must type this exact text (e.g. `\"remove user\"`)\n * into a field before Delete enables. Case-sensitive; surrounding whitespace is ignored. The field is\n * focused on open, cleared on every open, and Enter confirms once it matches.\n */\n confirmText?: string\n}\n\n/**\n * A ready-made delete confirmation — a thin convenience wrapper over `Modal` for the ubiquitous\n * \"Are you sure you want to delete?\" prompt. Hardcodes the destructive flavor (a `Trash` glyph in a\n * soft error circle + an `error` Delete button); just wire `open` / `onClose` / `onConfirm`. An async\n * `onConfirm` drives the button loader and locks dismissal, then auto-closes on success. `confirmText`\n * adds **type-to-confirm**: Delete stays disabled until the user types that exact text. Built on\n * `Modal`, so it inherits the portal, scroll-lock, focus-trap, and backdrop/Escape dismissal.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure()\n * <RemoveDialog open={isOpen} onClose={close} onConfirm={() => deleteItem(id)} />\n */\nexport const RemoveDialog = forwardRef<HTMLDivElement, RemoveDialogProps>(function RemoveDialog(\n {\n open,\n onClose,\n onConfirm,\n title,\n message,\n confirmLabel,\n cancelLabel,\n loading = false,\n confirmText,\n },\n ref,\n) {\n const t = useT()\n const [submitting, setSubmitting] = useState(false)\n const busy = loading || submitting\n\n // type-to-confirm — cleared every time the dialog opens (\"adjust state on prop change\", no effect)\n const [typed, setTyped] = useState('')\n const wasOpen = useRef(open)\n if (wasOpen.current !== open) {\n wasOpen.current = open\n if (open) setTyped('')\n }\n const matches = confirmText == null || typed.trim() === confirmText.trim()\n const promptId = useId()\n\n // dismissal is blocked while the confirm is running (so the delete can't be abandoned mid-flight)\n const handleClose = () => {\n if (!busy) onClose()\n }\n\n const handleConfirm = async () => {\n if (!matches || busy) return\n try {\n setSubmitting(true)\n await onConfirm()\n onClose() // auto-close on success\n } catch {\n // keep the dialog open on failure so the user can retry; the consumer surfaces the error\n } finally {\n setSubmitting(false)\n }\n }\n\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={handleClose}\n size=\"sm\"\n bodyClassName={styles.modalBody}\n title={title ?? t('removeDialog.title')}\n showCloseButton={!busy}\n closeOnBackdrop={!busy}\n closeOnEscape={!busy}\n footer={\n <>\n <Button variant=\"text\" size=\"sm\" onClick={handleClose} disabled={busy}>\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n color=\"error\"\n variant=\"filled\"\n size=\"sm\"\n onClick={handleConfirm}\n loading={busy}\n disabled={!matches}\n >\n {confirmLabel ?? t('common.delete')}\n </Button>\n </>\n }\n >\n <div className={styles.body}>\n <div className={styles.iconBox} aria-hidden>\n <Icon name=\"Trash\" />\n </div>\n <Typography align=\"center\">{message ?? t('removeDialog.message')}</Typography>\n {confirmText != null && (\n <div className={styles.confirm}>\n {/* the instruction, as an error-tinted quote — it also names the field (aria-labelledby) */}\n <Blockquote id={promptId} size=\"sm\" color=\"error\">\n <TypeToConfirmLabel text={confirmText} />\n </Blockquote>\n <TextField\n aria-labelledby={promptId}\n placeholder={confirmText}\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n void handleConfirm()\n }\n }}\n // a green tick once the phrase matches — the field confirms itself before Delete does\n adornment={typed && matches ? <Icon name=\"TickCircle\" color=\"success\" /> : undefined}\n adornmentPosition=\"right\"\n disabled={busy}\n size=\"sm\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n />\n </div>\n )}\n </div>\n </Modal>\n )\n})\n\n/** \"Type {text} to confirm\" with the text set as inline `Code`, so the exact phrase stands out. */\nfunction TypeToConfirmLabel({ text }: { text: string }) {\n const t = useT()\n // translate with a sentinel in place of {text}, then split around it to slot the Code element in\n const SENTINEL = '\\u0000'\n const [before, after = ''] = t('removeDialog.typeToConfirm', { text: SENTINEL }).split(SENTINEL)\n return (\n <>\n {before}\n <Code size=\"sm\" color=\"error\" className={styles.phrase}>\n {text}\n </Code>\n {after}\n </>\n )\n}\n"],"names":["RemoveDialog","forwardRef","open","onClose","onConfirm","title","message","confirmLabel","cancelLabel","loading","confirmText","ref","t","useT","submitting","setSubmitting","useState","busy","typed","setTyped","wasOpen","useRef","matches","promptId","useId","handleClose","handleConfirm","jsx","Modal","styles","jsxs","Fragment","Button","Icon","Typography","Blockquote","TypeToConfirmLabel","TextField","event","text","SENTINEL","before","after","Code"],"mappings":"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"}
1
+ {"version":3,"file":"RemoveDialog-DdGsqaWV.js","sources":["../src/components/RemoveDialog/RemoveDialog.tsx"],"sourcesContent":["import { forwardRef, useId, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport { useT } from '../../theme'\nimport { Blockquote } from '../Blockquote'\nimport { Button } from '../Button'\nimport { Code } from '../Code'\nimport { Icon } from '../Icon'\nimport { Modal } from '../Modal'\nimport { TextField } from '../TextField'\nimport { Typography } from '../Typography'\nimport styles from './RemoveDialog.module.css'\n\nexport interface RemoveDialogProps {\n /** Whether the dialog is open. */\n open: boolean\n /** Called on Cancel, the × button, backdrop, or Escape (ignored while a confirm is in flight). */\n onClose: () => void\n /**\n * The destructive action. May be async — while its promise is pending the Delete button shows a\n * loader and the dialog locks (no dismiss); on success the dialog **auto-closes**, on rejection it\n * stays open so the user can retry (surface the error yourself, e.g. a toast).\n */\n onConfirm: () => void | Promise<void>\n /** Header title. Defaults to `\"Remove\"`. */\n title?: ReactNode\n /** Body prompt shown under the icon. Defaults to `\"Are you sure you want to delete?\"`. */\n message?: ReactNode\n /** Confirm (destructive) button label. Defaults to `\"Delete\"`. */\n confirmLabel?: string\n /** Cancel button label. Defaults to `\"Cancel\"`. */\n cancelLabel?: string\n /** External loading override — combined with the internal async-confirm state. */\n loading?: boolean\n /**\n * **Type-to-confirm** for high-risk deletes: the user must type this exact text (e.g. `\"remove user\"`)\n * into a field before Delete enables. Case-sensitive; surrounding whitespace is ignored. The field is\n * focused on open, cleared on every open, and Enter confirms once it matches.\n */\n confirmText?: string\n}\n\n/**\n * A ready-made delete confirmation — a thin convenience wrapper over `Modal` for the ubiquitous\n * \"Are you sure you want to delete?\" prompt. Hardcodes the destructive flavor (a `Trash` glyph in a\n * soft error circle + an `error` Delete button); just wire `open` / `onClose` / `onConfirm`. An async\n * `onConfirm` drives the button loader and locks dismissal, then auto-closes on success. `confirmText`\n * adds **type-to-confirm**: Delete stays disabled until the user types that exact text. Built on\n * `Modal`, so it inherits the portal, scroll-lock, focus-trap, and backdrop/Escape dismissal.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure()\n * <RemoveDialog open={isOpen} onClose={close} onConfirm={() => deleteItem(id)} />\n */\nexport const RemoveDialog = forwardRef<HTMLDivElement, RemoveDialogProps>(function RemoveDialog(\n {\n open,\n onClose,\n onConfirm,\n title,\n message,\n confirmLabel,\n cancelLabel,\n loading = false,\n confirmText,\n },\n ref,\n) {\n const t = useT()\n const [submitting, setSubmitting] = useState(false)\n const busy = loading || submitting\n\n // type-to-confirm — cleared every time the dialog opens (\"adjust state on prop change\", no effect)\n const [typed, setTyped] = useState('')\n const wasOpen = useRef(open)\n if (wasOpen.current !== open) {\n wasOpen.current = open\n if (open) setTyped('')\n }\n const matches = confirmText == null || typed.trim() === confirmText.trim()\n const promptId = useId()\n\n // dismissal is blocked while the confirm is running (so the delete can't be abandoned mid-flight)\n const handleClose = () => {\n if (!busy) onClose()\n }\n\n const handleConfirm = async () => {\n if (!matches || busy) return\n try {\n setSubmitting(true)\n await onConfirm()\n onClose() // auto-close on success\n } catch {\n // keep the dialog open on failure so the user can retry; the consumer surfaces the error\n } finally {\n setSubmitting(false)\n }\n }\n\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={handleClose}\n size=\"sm\"\n bodyClassName={styles.modalBody}\n title={title ?? t('removeDialog.title')}\n showCloseButton={!busy}\n closeOnBackdrop={!busy}\n closeOnEscape={!busy}\n footer={\n <>\n <Button variant=\"text\" size=\"sm\" onClick={handleClose} disabled={busy}>\n {cancelLabel ?? t('common.cancel')}\n </Button>\n <Button\n color=\"error\"\n variant=\"filled\"\n size=\"sm\"\n onClick={handleConfirm}\n loading={busy}\n disabled={!matches}\n >\n {confirmLabel ?? t('common.delete')}\n </Button>\n </>\n }\n >\n <div className={styles.body}>\n <div className={styles.iconBox} aria-hidden>\n <Icon name=\"Trash\" />\n </div>\n <Typography align=\"center\">{message ?? t('removeDialog.message')}</Typography>\n {confirmText != null && (\n <div className={styles.confirm}>\n {/* the instruction, as an error-tinted quote — it also names the field (aria-labelledby) */}\n <Blockquote id={promptId} size=\"sm\" color=\"error\">\n <TypeToConfirmLabel text={confirmText} />\n </Blockquote>\n <TextField\n aria-labelledby={promptId}\n placeholder={confirmText}\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n void handleConfirm()\n }\n }}\n // a green tick once the phrase matches — the field confirms itself before Delete does\n adornment={typed && matches ? <Icon name=\"TickCircle\" color=\"success\" /> : undefined}\n adornmentPosition=\"right\"\n disabled={busy}\n size=\"sm\"\n autoComplete=\"off\"\n autoCapitalize=\"off\"\n autoCorrect=\"off\"\n spellCheck={false}\n />\n </div>\n )}\n </div>\n </Modal>\n )\n})\n\n/** \"Type {text} to confirm\" with the text set as inline `Code`, so the exact phrase stands out. */\nfunction TypeToConfirmLabel({ text }: { text: string }) {\n const t = useT()\n // translate with a sentinel in place of {text}, then split around it to slot the Code element in\n const SENTINEL = '\\u0000'\n const [before, after = ''] = t('removeDialog.typeToConfirm', { text: SENTINEL }).split(SENTINEL)\n return (\n <>\n {before}\n <Code size=\"sm\" color=\"error\" className={styles.phrase}>\n {text}\n </Code>\n {after}\n </>\n )\n}\n"],"names":["RemoveDialog","forwardRef","open","onClose","onConfirm","title","message","confirmLabel","cancelLabel","loading","confirmText","ref","t","useT","submitting","setSubmitting","useState","busy","typed","setTyped","wasOpen","useRef","matches","promptId","useId","handleClose","handleConfirm","jsx","Modal","styles","jsxs","Fragment","Button","Icon","Typography","Blockquote","TypeToConfirmLabel","TextField","event","text","SENTINEL","before","after","Code"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),u=require("react"),Be=require("clsx"),a=require("lexical"),Ue=require("@lexical/react/LexicalComposer"),Ee=require("@lexical/react/LexicalComposerContext"),Fe=require("@lexical/react/LexicalRichTextPlugin"),Pe=require("@lexical/react/LexicalContentEditable"),He=require("@lexical/react/LexicalErrorBoundary"),Ve=require("@lexical/react/LexicalHistoryPlugin"),ze=require("@lexical/react/LexicalListPlugin"),Ge=require("@lexical/react/LexicalCheckListPlugin"),We=require("@lexical/react/LexicalLinkPlugin"),Ke=require("@lexical/react/LexicalMarkdownShortcutPlugin"),se=require("@lexical/markdown"),w=require("@lexical/rich-text"),I=require("@lexical/list"),F=require("@lexical/link"),ve=require("@lexical/html"),Je=require("./formContext-bTWrqdEV.cjs"),je=require("./Typography-B6ASPrzT.cjs"),Qe=require("./toastStore-B4Tk2Xk7.cjs"),M=require("@lexical/selection"),D=require("@lexical/utils"),K=require("./Button-CusxDmfq.cjs"),ye=require("./ColorPickerPanel-DAOESLCe.cjs"),$=require("./Divider-CzbhdCiD.cjs"),ce=require("./Dropdown-DNZ9S_zQ.cjs"),Xe=require("./FloatingPanel-BIC4WrFa.cjs"),g=require("./Icon-BVULqOJD.cjs"),q=require("./IconButton-BNa0yLcv.cjs"),J=require("./List-9lUjapQ5.cjs"),Ye=require("./Modal-DFeBHv-Q.cjs"),Ze=require("./TextField-E85pvJQC.cjs"),ue=require("./ConfigProvider-ByLHqXpv.cjs"),et=/^(?:https?:|mailto:|tel:|ftp:|#|\/|\?|\.)/i,tt=/^[a-z][a-z0-9+.-]*:/i;function de(o){const e=o.trim();return e===""?"":et.test(e)||!tt.test(e)?e:"#"}function Le(o){const e=o.trim();if(/^data:(?:image|video)\//i.test(e)||/^blob:/i.test(e))return e;const i=de(e);return i==="#"?"":i}function rt(o){return o instanceof HTMLImageElement&&o.src?{node:Q(o.getAttribute("src")??o.src,o.alt)}:null}class X extends a.DecoratorNode{static getType(){return"tz-image"}static clone(e){return new X(e.__src,e.__alt,e.__key)}constructor(e,i="",n){super(n),this.__src=Le(e),this.__alt=i}static importJSON(e){return Q(e.src,e.alt)}exportJSON(){return{...super.exportJSON(),type:"tz-image",version:1,src:this.__src,alt:this.__alt}}static importDOM(){return{img:()=>({conversion:rt,priority:0})}}exportDOM(){const e=document.createElement("img");return e.setAttribute("src",this.__src),e.setAttribute("alt",this.__alt),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}getAltText(){return this.__alt}decorate(){return r.jsx("img",{src:this.__src,alt:this.__alt,draggable:!1})}}function Q(o,e=""){return a.$applyNodeReplacement(new X(o,e))}function Se(o){return/\.(mp4|webm|ogg|ogv|mov|m4v)(\?.*)?$/i.test(o)}function nt(o){const e=o.match(/(?:youtube\.com\/(?:watch\?(?:.*&)?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})/);if(e)return`https://www.youtube.com/embed/${e[1]}`;const i=o.match(/vimeo\.com\/(?:video\/)?(\d+)/);return i?`https://player.vimeo.com/video/${i[1]}`:o}function Ne(o){var i;const e=o.getAttribute("src")||((i=o.querySelector("source"))==null?void 0:i.getAttribute("src"));return e?{node:me(e)}:null}class Y extends a.DecoratorNode{static getType(){return"tz-video"}static clone(e){return new Y(e.__src,e.__key)}constructor(e,i){super(i),this.__src=Le(e)}static importJSON(e){return me(e.src)}exportJSON(){return{...super.exportJSON(),type:"tz-video",version:1,src:this.__src}}static importDOM(){return{iframe:()=>({conversion:Ne,priority:0}),video:()=>({conversion:Ne,priority:0})}}exportDOM(){if(Se(this.__src)){const i=document.createElement("video");return i.setAttribute("src",this.__src),i.setAttribute("controls","true"),{element:i}}const e=document.createElement("iframe");return e.setAttribute("src",this.__src),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}decorate(){return Se(this.__src)?r.jsx("video",{src:this.__src,controls:!0}):r.jsx(ot,{src:this.__src})}}function ot({src:o}){const e=ue.useT();return r.jsx("div",{className:"tz-rte-embed",children:r.jsx("iframe",{src:o,title:e("rte.embeddedVideo"),frameBorder:0,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}function me(o){return a.$applyNodeReplacement(new Y(nt(o)))}const it="_editor_16j1l_1",lt="_label_16j1l_9",st="_required_16j1l_15",ct="_helper_16j1l_18",at="_control_16j1l_24",ut="_error_16j1l_38",dt="_disabled_16j1l_45",mt="_toolbar_16j1l_51",pt="_sm_16j1l_67",ht="_md_16j1l_71",_t="_lg_16j1l_75",ft="_colorGlyph_16j1l_81",xt="_colorBar_16j1l_89",gt="_shell_16j1l_107",jt="_content_16j1l_110",yt="_placeholder_16j1l_123",St="_paragraph_16j1l_146",Nt="_h1_16j1l_152",Tt="_h2_16j1l_153",Ct="_h3_16j1l_154",Et="_h4_16j1l_155",vt="_h5_16j1l_156",Lt="_h6_16j1l_157",bt="_quote_16j1l_176",kt="_ul_16j1l_183",Rt="_ol_16j1l_188",Mt="_li_16j1l_193",It="_nestedLi_16j1l_196",Ot="_liChecked_16j1l_200",At="_liUnchecked_16j1l_201",Dt="_link_16j1l_238",$t="_bold_16j1l_245",qt="_italic_16j1l_248",wt="_underline_16j1l_251",Bt="_strike_16j1l_254",Ut="_codeInline_16j1l_260",s={editor:it,label:lt,required:st,helper:ct,control:at,error:ut,disabled:dt,toolbar:mt,sm:pt,md:ht,lg:_t,colorGlyph:ft,colorBar:xt,shell:gt,content:jt,placeholder:yt,paragraph:St,h1:Nt,h2:Tt,h3:Ct,h4:Et,h5:vt,h6:Lt,quote:bt,ul:kt,ol:Rt,li:Mt,nestedLi:It,liChecked:Ot,liUnchecked:At,link:Dt,bold:$t,italic:qt,underline:wt,strike:Bt,codeInline:Ut},Ft={paragraph:"Paragraph",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",quote:"Quote",bullet:"Bullet List",number:"Numbered List",check:"Check List"},Pt=[{type:"paragraph",icon:"Text"},{type:"h1",icon:"Hashtag"},{type:"h2",icon:"Hashtag"},{type:"h3",icon:"Hashtag"}],Ht=[{value:"left",labelKey:"rte.alignLeft",icon:"TextalignLeft"},{value:"center",labelKey:"rte.alignCenter",icon:"TextalignCenter"},{value:"right",labelKey:"rte.alignRight",icon:"TextalignRight"}],Vt=["10px","12px","14px","16px","18px","20px"],zt={sm:"12px",md:"14px",lg:"16px"};function Gt({color:o,size:e}){return r.jsxs("span",{className:s.colorGlyph,children:[r.jsx(g.Icon,{name:"Brush",size:e}),r.jsx("span",{className:s.colorBar,style:{borderColor:`transparent transparent ${o||"currentColor"} transparent`},"aria-hidden":"true"})]})}function Wt({size:o,disabled:e,onImageUpload:i}){const n=ue.useT(),p=t=>Ft[t]??t,[l]=Ee.useLexicalComposerContext(),m=u.useRef(null),[j,d]=u.useState(!1),[_,N]=u.useState(!1),[f,x]=u.useState(!1),[y,C]=u.useState(!1),[Z,ee]=u.useState(""),[v,O]=u.useState("paragraph"),[te,E]=u.useState("left"),[T,A]=u.useState(""),[B,P]=u.useState(""),[H,V]=u.useState(!1),U=u.useRef(null),[z,re]=u.useState(!1),[S,be]=u.useState(!1),[h,ne]=u.useState(null),[pe,he]=u.useState(""),oe=u.useCallback(()=>{const t=a.$getSelection();if(!a.$isRangeSelection(t))return;d(t.hasFormat("bold")),N(t.hasFormat("italic")),x(t.hasFormat("underline")),P(M.$getSelectionStyleValueForProperty(t,"color","")),A(M.$getSelectionStyleValueForProperty(t,"font-size",""));const c=t.anchor.getNode(),k=c.getParent(),b=F.$isLinkNode(c)?c:F.$isLinkNode(k)?k:null;C(b!==null),ee((b==null?void 0:b.getURL())??"");const R=c.getKey()==="root"?c:D.$findMatchingParent(c,we=>{const ge=we.getParent();return ge===null||ge.getKey()==="root"})??c.getTopLevelElement();E(a.$isElementNode(R)&&R.getFormatType()||"left");const W=D.$getNearestNodeOfType(c,I.ListNode);W?O(W.getListType()):w.$isHeadingNode(R)?O(R.getTag()):w.$isQuoteNode(R)?O("quote"):O("paragraph")},[]);u.useEffect(()=>D.mergeRegister(l.registerUpdateListener(({editorState:t})=>t.read(oe)),l.registerCommand(a.SELECTION_CHANGE_COMMAND,()=>(oe(),!1),a.COMMAND_PRIORITY_LOW),l.registerCommand(a.CAN_UNDO_COMMAND,t=>(re(t),!1),a.COMMAND_PRIORITY_LOW),l.registerCommand(a.CAN_REDO_COMMAND,t=>(be(t),!1),a.COMMAND_PRIORITY_LOW)),[l,oe]);const ie=t=>l.dispatchCommand(a.FORMAT_TEXT_COMMAND,t),ke=t=>l.dispatchCommand(a.FORMAT_ELEMENT_COMMAND,t),Re=t=>{P(t),l.update(()=>{const c=a.$getSelection();a.$isRangeSelection(c)&&M.$patchStyleText(c,{color:t||null})})},Me=t=>{A(t),l.update(()=>{const c=a.$getSelection();a.$isRangeSelection(c)&&M.$patchStyleText(c,{"font-size":t||null})})},G=t=>{if(t==="bullet"||t==="number"||t==="check"){if(v===t)l.dispatchCommand(I.REMOVE_LIST_COMMAND,void 0);else{const c=t==="bullet"?I.INSERT_UNORDERED_LIST_COMMAND:t==="number"?I.INSERT_ORDERED_LIST_COMMAND:I.INSERT_CHECK_LIST_COMMAND;l.dispatchCommand(c,void 0)}return}l.update(()=>{const c=a.$getSelection();a.$isRangeSelection(c)&&(t==="paragraph"?M.$setBlocksType(c,()=>a.$createParagraphNode()):t==="quote"?M.$setBlocksType(c,()=>w.$createQuoteNode()):M.$setBlocksType(c,()=>w.$createHeadingNode(t)))})},Ie=()=>G(v==="quote"?"paragraph":"quote"),le=(t,c="")=>{he(c),ne(t)},_e=()=>ne(null),Oe=()=>{h==null||h.onConfirm(pe.trim()),ne(null)},Ae=()=>le({icon:"Link2",title:n("rte.linkTitle"),label:n("rte.linkUrl"),placeholder:"https://example.com",confirmLabel:n(y?"common.update":"common.insert"),onConfirm:t=>l.dispatchCommand(F.TOGGLE_LINK_COMMAND,t===""?null:de(t))},Z),De=()=>le({icon:"GalleryAdd",title:n("rte.imageTitle"),label:n("rte.imageUrl"),placeholder:"https://example.com/image.jpg",confirmLabel:n("common.insert"),onConfirm:t=>{t&&l.update(()=>D.$insertNodeToNearestRoot(Q(t)))}}),$e=async t=>{var k;const c=(k=t.target.files)==null?void 0:k[0];if(t.target.value="",!!c)try{const b=i?await i(c):await Kt(c);l.update(()=>D.$insertNodeToNearestRoot(Q(b,c.name)))}catch{Qe.toast.error(n("rte.imageError"))}},qe=()=>le({icon:"VideoSquare",title:n("rte.videoTitle"),label:n("rte.videoUrl"),placeholder:n("rte.videoUrlPlaceholder"),confirmLabel:n("common.insert"),onConfirm:t=>{t&&l.update(()=>D.$insertNodeToNearestRoot(me(t)))}}),L=(t,c,k,b,R)=>r.jsx(q.IconButton,{variant:t?"filled":"text",color:"primary",size:o,disabled:e,"aria-label":c,"aria-pressed":t,onMouseDown:W=>W.preventDefault(),onClick:k,children:b},R),fe=v.startsWith("h")?v:"paragraph",xe=T||zt[o];return r.jsxs("div",{className:s.toolbar,role:"toolbar","aria-label":n("rte.formatting"),"aria-orientation":"horizontal",children:[r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!z,"aria-label":n("rte.undo"),onMouseDown:t=>t.preventDefault(),onClick:()=>l.dispatchCommand(a.UNDO_COMMAND,void 0),children:r.jsx(g.Icon,{name:"UndoArrow"})}),r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!S,"aria-label":n("rte.redo"),onMouseDown:t=>t.preventDefault(),onClick:()=>l.dispatchCommand(a.REDO_COMMAND,void 0),children:r.jsx(g.Icon,{name:"RedoArrow"})}),r.jsx($.Divider,{orientation:"vertical"}),r.jsx(ce.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:r.jsx(K.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:r.jsx(g.Icon,{name:"ArrowDown4"}),"aria-label":n("rte.fontSize"),onMouseDown:t=>t.preventDefault(),children:xe}),children:Vt.map(t=>r.jsx(J.ListItem,{clickable:!0,selected:t===xe,onClick:()=>Me(t),children:t},t))}),r.jsx($.Divider,{orientation:"vertical"}),r.jsx(ce.Dropdown,{size:o,disabled:e,trigger:r.jsx(K.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:r.jsx(g.Icon,{name:"ArrowDown4"}),onMouseDown:t=>t.preventDefault(),children:p(fe)}),children:Pt.map(t=>r.jsx(J.ListItem,{clickable:!0,selected:fe===t.type,icon:t.icon,onClick:()=>G(t.type),children:p(t.type)},t.type))}),r.jsx($.Divider,{orientation:"vertical"}),L(j,n("rte.bold"),()=>ie("bold"),r.jsx(g.Icon,{name:"TextBold"})),L(_,n("rte.italic"),()=>ie("italic"),r.jsx(g.Icon,{name:"TextItalic"})),L(f,n("rte.underline"),()=>ie("underline"),r.jsx(g.Icon,{name:"TextUnderline"})),r.jsx($.Divider,{orientation:"vertical"}),L(v==="bullet",n("rte.bulletList"),()=>G("bullet"),r.jsx(g.Icon,{name:"ListBullet"})),L(v==="number",n("rte.numberedList"),()=>G("number"),r.jsx(g.Icon,{name:"ListNumber"})),L(v==="quote",n("rte.quote"),Ie,r.jsx(g.Icon,{name:"QuoteUp"})),r.jsx($.Divider,{orientation:"vertical"}),Ht.map(t=>L(te===t.value,n(t.labelKey),()=>ke(t.value),r.jsx(g.Icon,{name:t.icon}),t.value)),r.jsx($.Divider,{orientation:"vertical"}),r.jsx(q.IconButton,{ref:U,variant:"text",color:"primary",size:o,disabled:e,"aria-label":n("rte.textColor"),"aria-expanded":H,onMouseDown:t=>t.preventDefault(),onClick:()=>V(t=>!t),children:r.jsx(Gt,{color:B})}),r.jsx(Xe.FloatingPanel,{open:H,triggerRef:U,onClose:t=>{var c;V(!1),t&&((c=U.current)==null||c.focus())},role:"dialog",ariaLabel:n("rte.textColor"),width:232,children:r.jsx(ye.ColorPickerPanel,{value:B||ye.DEFAULT_SWATCHES[0],onChange:Re,clearable:!1})}),L(y,n("rte.link"),Ae,r.jsx(g.Icon,{name:"Link2"})),r.jsxs(ce.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":n("rte.insertImage"),children:r.jsx(g.Icon,{name:"GalleryAdd"})}),children:[r.jsx(J.ListItem,{clickable:!0,icon:"GalleryImport",onClick:()=>{var t;return(t=m.current)==null?void 0:t.click()},children:n("rte.uploadImage")}),r.jsx(J.ListItem,{clickable:!0,icon:"Link",onClick:De,children:n("rte.imageByUrl")})]}),r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":n("rte.insertVideo"),onClick:qe,children:r.jsx(g.Icon,{name:"VideoSquare"})}),r.jsx("input",{ref:m,type:"file",accept:"image/*",hidden:!0,onChange:$e,"aria-hidden":"true",tabIndex:-1}),r.jsx(Ye.Modal,{open:h!==null,onClose:_e,size:"sm",icon:h==null?void 0:h.icon,title:h==null?void 0:h.title,footer:r.jsxs(r.Fragment,{children:[r.jsx(K.Button,{variant:"text",size:"sm",onClick:_e,children:n("common.cancel")}),r.jsx(K.Button,{type:"submit",size:"sm",form:"rte-url-form",children:(h==null?void 0:h.confirmLabel)??n("common.insert")})]}),children:r.jsx("form",{id:"rte-url-form",onSubmit:t=>{t.preventDefault(),Oe()},children:r.jsx(Ze.TextField,{label:h==null?void 0:h.label,placeholder:h==null?void 0:h.placeholder,value:pe,onChange:t=>he(t.target.value)})})})]})}function Kt(o){return new Promise((e,i)=>{const n=new FileReader;n.onload=()=>e(n.result),n.onerror=()=>i(n.error),n.readAsDataURL(o)})}const Jt={paragraph:s.paragraph,heading:{h1:s.h1,h2:s.h2,h3:s.h3,h4:s.h4,h5:s.h5,h6:s.h6},quote:s.quote,list:{ul:s.ul,ol:s.ol,listitem:s.li,listitemChecked:s.liChecked,listitemUnchecked:s.liUnchecked,nested:{listitem:s.nestedLi}},link:s.link,text:{bold:s.bold,italic:s.italic,underline:s.underline,strikethrough:s.strike,code:s.codeInline}},Qt=[w.HeadingNode,w.QuoteNode,I.ListNode,I.ListItemNode,F.LinkNode,X,Y],Xt=[...se.ELEMENT_TRANSFORMERS,...se.TEXT_FORMAT_TRANSFORMERS,...se.TEXT_MATCH_TRANSFORMERS],Yt=["color","font-size"],Zt={span:o=>{var i,n;const e=(n=(i=a.TextNode.importDOM())==null?void 0:i.span)==null?void 0:n.call(i,o);return{priority:1,conversion:p=>{const l=(e==null?void 0:e.conversion(p))??{node:null},m=Yt.flatMap(d=>{const _=p.style.getPropertyValue(d);return _?[[d,_]]:[]});if(m.length===0)return l;const j=l.forChild;return{...l,forChild:(d,_)=>{const N=j?j(d,_):d;if(a.$isTextNode(N)){const f={...a.getStyleObjectFromCSS(N.getStyle())};for(const[x,y]of m)f[x]=y;N.setStyle(Object.entries(f).map(([x,y])=>`${x}: ${y};`).join(" "))}return N}}}}}},er=new Set(["A","B","CODE","EM","I","MARK","S","SPAN","STRONG","SUB","SUP","U"]);function tr(o){const e=o.split(";").map(i=>i.trim()).filter(i=>i&&!/^white-space\s*:\s*pre-wrap$/i.test(i));return e.length?`${e.join("; ")};`:null}function rr(o){const e=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);let i=!0,n=!1,p=null;const l=()=>{p&&p.data.endsWith(" ")&&(p.data=`${p.data.slice(0,-1)} `),p=null,i=!0,n=!1};for(let m=e.nextNode();m;m=e.nextNode()){if(m.nodeType===Node.ELEMENT_NODE){er.has(m.tagName)||l();continue}const j=m;if(!j.data)continue;let d="";for(const _ of j.data)_===" "&&(i||n)?(d+=" ",n=!1):(d+=_,n=_===" "),i=!1;j.data=d,p=j}l()}function nr(o){if(typeof document>"u")return o;const e=document.createElement("template");e.innerHTML=o;const i=e.content;return i.querySelectorAll("[class]").forEach(n=>n.removeAttribute("class")),i.querySelectorAll("[style]").forEach(n=>{var l;if((l=n.textContent)!=null&&l.includes(" "))return;const p=tr(n.getAttribute("style")??"");p?n.setAttribute("style",p):n.removeAttribute("style")}),i.querySelectorAll("span").forEach(n=>{n.attributes.length===0&&n.replaceWith(...n.childNodes)}),i.normalize(),rr(i),e.innerHTML}function or(){const o=a.$getRoot(),e=o.getFirstChild();return o.getChildrenSize()<=1&&(e===null||a.$isParagraphNode(e)&&e.getChildrenSize()===0)}function Te(o,e){const i=a.$getRoot();if(i.clear(),e){const n=new DOMParser().parseFromString(e,"text/html"),p=ve.$generateNodesFromDOM(o,n);i.select(),a.$insertNodes(p)}i.getChildrenSize()===0&&i.append(a.$createParagraphNode()),a.$setSelection(null)}const ae="tz-external-value";function Ce(o){return or()?"":nr(ve.$generateHtmlFromNodes(o,null))}function ir({value:o,defaultValue:e,onChange:i,onReady:n,disabled:p}){const[l]=Ee.useLexicalComposerContext(),m=u.useRef(void 0),j=u.useRef(i);j.current=i;const d=u.useRef(n);d.current=n;const _=u.useRef(!1),N=f=>{var x;_.current||(_.current=!0,(x=d.current)==null||x.call(d,f))};return u.useEffect(()=>l.setEditable(!p),[l,p]),u.useEffect(()=>l.registerNodeTransform(F.LinkNode,f=>{const x=f.getURL(),y=de(x);y!==x&&f.setURL(y)}),[l]),u.useEffect(()=>{if(o===void 0){if(!e){m.current="",N("");return}m.current=e,l.update(()=>Te(l,e),{tag:["history-merge",ae]})}},[]),u.useEffect(()=>{o===void 0||o===m.current||(m.current=o,l.update(()=>Te(l,o),{tag:["history-merge",ae]}))},[l,o]),u.useEffect(()=>l.registerUpdateListener(({dirtyElements:f,dirtyLeaves:x,tags:y})=>{if(y.has(ae)){l.read(()=>{const C=Ce(l);m.current=C,N(C)});return}f.size===0&&x.size===0||l.read(()=>{const C=Ce(l);C!==m.current&&(m.current=C,j.current(C))})}),[l]),null}const lr=u.forwardRef(function({label:e,size:i="md",error:n,helperText:p,required:l=!1,disabled:m=!1,placeholder:j,name:d,value:_,defaultValue:N,onChange:f,onReady:x,onImageUpload:y,minHeight:C=220,"aria-label":Z="Rich text editor",className:ee,style:v},O){const te=ue.useT(),E=Je.useFormContext(),T=E&&d?E.field(d):void 0,A=n??(T==null?void 0:T.error)??!1,B=p??(T==null?void 0:T.helperText),P=E&&d?E.values[d]:void 0,H=_!==void 0?_:E&&d?String(P??""):void 0,V=u.useCallback(S=>{E&&d&&E.setValue(d,S),f==null||f(S)},[E,d,f]),U=S=>T==null?void 0:T.onBlur(S),z=u.useRef(null);u.useEffect(()=>{const S=z.current;S&&(d?S.setAttribute("name",d):S.removeAttribute("name"))},[d]);const re={namespace:"tz-rich-text-editor",theme:Jt,nodes:Qt,html:{import:Zt},editable:!m,onError:S=>{throw S}};return r.jsxs("div",{ref:O,className:Be.clsx(s.editor,s[i],A&&s.error,m&&s.disabled,ee),style:{"--tz-rte-min-height":`${C}px`,...v},children:[e!=null&&r.jsxs("div",{className:s.label,children:[r.jsx(je.Typography,{as:"span",variant:"bodySmall",color:"muted",children:e}),l&&r.jsx("span",{className:s.required,"aria-hidden":"true",children:"*"})]}),r.jsx("div",{className:s.control,children:r.jsxs(Ue.LexicalComposer,{initialConfig:re,children:[r.jsx(Wt,{size:i,disabled:m,onImageUpload:y}),r.jsx("div",{className:s.shell,children:r.jsx(Fe.RichTextPlugin,{contentEditable:r.jsx(Pe.ContentEditable,{ref:z,className:s.content,"aria-label":Z,"aria-invalid":A||void 0,onBlur:U}),placeholder:r.jsx("div",{className:s.placeholder,children:j??te("rte.placeholder")}),ErrorBoundary:He.LexicalErrorBoundary})}),r.jsx(Ve.HistoryPlugin,{}),r.jsx(ze.ListPlugin,{}),r.jsx(Ge.CheckListPlugin,{}),r.jsx(We.LinkPlugin,{}),r.jsx(Ke.MarkdownShortcutPlugin,{transformers:Xt}),r.jsx(ir,{value:H,defaultValue:N,onChange:V,onReady:x,disabled:m})]})}),B!=null&&r.jsx(je.Typography,{as:"span",variant:"bodySmall",color:A?"error":"muted",className:s.helper,children:B})]})});exports.RichTextEditor=lr;
2
- //# sourceMappingURL=RichTextEditor-hOfxJEPX.cjs.map
1
+ "use strict";const r=require("react/jsx-runtime"),u=require("react"),Be=require("clsx"),a=require("lexical"),Ue=require("@lexical/react/LexicalComposer"),Ee=require("@lexical/react/LexicalComposerContext"),Fe=require("@lexical/react/LexicalRichTextPlugin"),Pe=require("@lexical/react/LexicalContentEditable"),He=require("@lexical/react/LexicalErrorBoundary"),Ve=require("@lexical/react/LexicalHistoryPlugin"),ze=require("@lexical/react/LexicalListPlugin"),Ge=require("@lexical/react/LexicalCheckListPlugin"),We=require("@lexical/react/LexicalLinkPlugin"),Ke=require("@lexical/react/LexicalMarkdownShortcutPlugin"),se=require("@lexical/markdown"),w=require("@lexical/rich-text"),I=require("@lexical/list"),F=require("@lexical/link"),ve=require("@lexical/html"),Je=require("./formContext-bTWrqdEV.cjs"),je=require("./Typography-B6ASPrzT.cjs"),Qe=require("./toastStore-B4Tk2Xk7.cjs"),M=require("@lexical/selection"),D=require("@lexical/utils"),K=require("./Button-BQhiJq8e.cjs"),ye=require("./ColorPickerPanel-DXIYwUoE.cjs"),$=require("./Divider-CzbhdCiD.cjs"),ce=require("./Dropdown-BbaU1WDC.cjs"),Xe=require("./FloatingPanel-tGCG2nhA.cjs"),g=require("./Icon-BUP5_kRs.cjs"),q=require("./IconButton-CvIXSFsr.cjs"),J=require("./List-ah2PNWeY.cjs"),Ye=require("./Modal-DPObz0b-.cjs"),Ze=require("./TextField-B22NRQ91.cjs"),ue=require("./ConfigProvider-CtpfSy1i.cjs"),et=/^(?:https?:|mailto:|tel:|ftp:|#|\/|\?|\.)/i,tt=/^[a-z][a-z0-9+.-]*:/i;function de(o){const e=o.trim();return e===""?"":et.test(e)||!tt.test(e)?e:"#"}function Le(o){const e=o.trim();if(/^data:(?:image|video)\//i.test(e)||/^blob:/i.test(e))return e;const i=de(e);return i==="#"?"":i}function rt(o){return o instanceof HTMLImageElement&&o.src?{node:Q(o.getAttribute("src")??o.src,o.alt)}:null}class X extends a.DecoratorNode{static getType(){return"tz-image"}static clone(e){return new X(e.__src,e.__alt,e.__key)}constructor(e,i="",n){super(n),this.__src=Le(e),this.__alt=i}static importJSON(e){return Q(e.src,e.alt)}exportJSON(){return{...super.exportJSON(),type:"tz-image",version:1,src:this.__src,alt:this.__alt}}static importDOM(){return{img:()=>({conversion:rt,priority:0})}}exportDOM(){const e=document.createElement("img");return e.setAttribute("src",this.__src),e.setAttribute("alt",this.__alt),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}getAltText(){return this.__alt}decorate(){return r.jsx("img",{src:this.__src,alt:this.__alt,draggable:!1})}}function Q(o,e=""){return a.$applyNodeReplacement(new X(o,e))}function Se(o){return/\.(mp4|webm|ogg|ogv|mov|m4v)(\?.*)?$/i.test(o)}function nt(o){const e=o.match(/(?:youtube\.com\/(?:watch\?(?:.*&)?v=|embed\/|shorts\/)|youtu\.be\/)([\w-]{11})/);if(e)return`https://www.youtube.com/embed/${e[1]}`;const i=o.match(/vimeo\.com\/(?:video\/)?(\d+)/);return i?`https://player.vimeo.com/video/${i[1]}`:o}function Ne(o){var i;const e=o.getAttribute("src")||((i=o.querySelector("source"))==null?void 0:i.getAttribute("src"));return e?{node:me(e)}:null}class Y extends a.DecoratorNode{static getType(){return"tz-video"}static clone(e){return new Y(e.__src,e.__key)}constructor(e,i){super(i),this.__src=Le(e)}static importJSON(e){return me(e.src)}exportJSON(){return{...super.exportJSON(),type:"tz-video",version:1,src:this.__src}}static importDOM(){return{iframe:()=>({conversion:Ne,priority:0}),video:()=>({conversion:Ne,priority:0})}}exportDOM(){if(Se(this.__src)){const i=document.createElement("video");return i.setAttribute("src",this.__src),i.setAttribute("controls","true"),{element:i}}const e=document.createElement("iframe");return e.setAttribute("src",this.__src),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"),{element:e}}createDOM(){const e=document.createElement("div");return e.style.display="contents",e}updateDOM(){return!1}getSrc(){return this.__src}decorate(){return Se(this.__src)?r.jsx("video",{src:this.__src,controls:!0}):r.jsx(ot,{src:this.__src})}}function ot({src:o}){const e=ue.useT();return r.jsx("div",{className:"tz-rte-embed",children:r.jsx("iframe",{src:o,title:e("rte.embeddedVideo"),frameBorder:0,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}function me(o){return a.$applyNodeReplacement(new Y(nt(o)))}const it="_editor_16j1l_1",lt="_label_16j1l_9",st="_required_16j1l_15",ct="_helper_16j1l_18",at="_control_16j1l_24",ut="_error_16j1l_38",dt="_disabled_16j1l_45",mt="_toolbar_16j1l_51",pt="_sm_16j1l_67",ht="_md_16j1l_71",_t="_lg_16j1l_75",ft="_colorGlyph_16j1l_81",xt="_colorBar_16j1l_89",gt="_shell_16j1l_107",jt="_content_16j1l_110",yt="_placeholder_16j1l_123",St="_paragraph_16j1l_146",Nt="_h1_16j1l_152",Tt="_h2_16j1l_153",Ct="_h3_16j1l_154",Et="_h4_16j1l_155",vt="_h5_16j1l_156",Lt="_h6_16j1l_157",bt="_quote_16j1l_176",kt="_ul_16j1l_183",Rt="_ol_16j1l_188",Mt="_li_16j1l_193",It="_nestedLi_16j1l_196",Ot="_liChecked_16j1l_200",At="_liUnchecked_16j1l_201",Dt="_link_16j1l_238",$t="_bold_16j1l_245",qt="_italic_16j1l_248",wt="_underline_16j1l_251",Bt="_strike_16j1l_254",Ut="_codeInline_16j1l_260",s={editor:it,label:lt,required:st,helper:ct,control:at,error:ut,disabled:dt,toolbar:mt,sm:pt,md:ht,lg:_t,colorGlyph:ft,colorBar:xt,shell:gt,content:jt,placeholder:yt,paragraph:St,h1:Nt,h2:Tt,h3:Ct,h4:Et,h5:vt,h6:Lt,quote:bt,ul:kt,ol:Rt,li:Mt,nestedLi:It,liChecked:Ot,liUnchecked:At,link:Dt,bold:$t,italic:qt,underline:wt,strike:Bt,codeInline:Ut},Ft={paragraph:"Paragraph",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",quote:"Quote",bullet:"Bullet List",number:"Numbered List",check:"Check List"},Pt=[{type:"paragraph",icon:"Text"},{type:"h1",icon:"Hashtag"},{type:"h2",icon:"Hashtag"},{type:"h3",icon:"Hashtag"}],Ht=[{value:"left",labelKey:"rte.alignLeft",icon:"TextalignLeft"},{value:"center",labelKey:"rte.alignCenter",icon:"TextalignCenter"},{value:"right",labelKey:"rte.alignRight",icon:"TextalignRight"}],Vt=["10px","12px","14px","16px","18px","20px"],zt={sm:"12px",md:"14px",lg:"16px"};function Gt({color:o,size:e}){return r.jsxs("span",{className:s.colorGlyph,children:[r.jsx(g.Icon,{name:"Brush",size:e}),r.jsx("span",{className:s.colorBar,style:{borderColor:`transparent transparent ${o||"currentColor"} transparent`},"aria-hidden":"true"})]})}function Wt({size:o,disabled:e,onImageUpload:i}){const n=ue.useT(),p=t=>Ft[t]??t,[l]=Ee.useLexicalComposerContext(),m=u.useRef(null),[j,d]=u.useState(!1),[_,N]=u.useState(!1),[f,x]=u.useState(!1),[y,C]=u.useState(!1),[Z,ee]=u.useState(""),[v,O]=u.useState("paragraph"),[te,E]=u.useState("left"),[T,A]=u.useState(""),[B,P]=u.useState(""),[H,V]=u.useState(!1),U=u.useRef(null),[z,re]=u.useState(!1),[S,be]=u.useState(!1),[h,ne]=u.useState(null),[pe,he]=u.useState(""),oe=u.useCallback(()=>{const t=a.$getSelection();if(!a.$isRangeSelection(t))return;d(t.hasFormat("bold")),N(t.hasFormat("italic")),x(t.hasFormat("underline")),P(M.$getSelectionStyleValueForProperty(t,"color","")),A(M.$getSelectionStyleValueForProperty(t,"font-size",""));const c=t.anchor.getNode(),k=c.getParent(),b=F.$isLinkNode(c)?c:F.$isLinkNode(k)?k:null;C(b!==null),ee((b==null?void 0:b.getURL())??"");const R=c.getKey()==="root"?c:D.$findMatchingParent(c,we=>{const ge=we.getParent();return ge===null||ge.getKey()==="root"})??c.getTopLevelElement();E(a.$isElementNode(R)&&R.getFormatType()||"left");const W=D.$getNearestNodeOfType(c,I.ListNode);W?O(W.getListType()):w.$isHeadingNode(R)?O(R.getTag()):w.$isQuoteNode(R)?O("quote"):O("paragraph")},[]);u.useEffect(()=>D.mergeRegister(l.registerUpdateListener(({editorState:t})=>t.read(oe)),l.registerCommand(a.SELECTION_CHANGE_COMMAND,()=>(oe(),!1),a.COMMAND_PRIORITY_LOW),l.registerCommand(a.CAN_UNDO_COMMAND,t=>(re(t),!1),a.COMMAND_PRIORITY_LOW),l.registerCommand(a.CAN_REDO_COMMAND,t=>(be(t),!1),a.COMMAND_PRIORITY_LOW)),[l,oe]);const ie=t=>l.dispatchCommand(a.FORMAT_TEXT_COMMAND,t),ke=t=>l.dispatchCommand(a.FORMAT_ELEMENT_COMMAND,t),Re=t=>{P(t),l.update(()=>{const c=a.$getSelection();a.$isRangeSelection(c)&&M.$patchStyleText(c,{color:t||null})})},Me=t=>{A(t),l.update(()=>{const c=a.$getSelection();a.$isRangeSelection(c)&&M.$patchStyleText(c,{"font-size":t||null})})},G=t=>{if(t==="bullet"||t==="number"||t==="check"){if(v===t)l.dispatchCommand(I.REMOVE_LIST_COMMAND,void 0);else{const c=t==="bullet"?I.INSERT_UNORDERED_LIST_COMMAND:t==="number"?I.INSERT_ORDERED_LIST_COMMAND:I.INSERT_CHECK_LIST_COMMAND;l.dispatchCommand(c,void 0)}return}l.update(()=>{const c=a.$getSelection();a.$isRangeSelection(c)&&(t==="paragraph"?M.$setBlocksType(c,()=>a.$createParagraphNode()):t==="quote"?M.$setBlocksType(c,()=>w.$createQuoteNode()):M.$setBlocksType(c,()=>w.$createHeadingNode(t)))})},Ie=()=>G(v==="quote"?"paragraph":"quote"),le=(t,c="")=>{he(c),ne(t)},_e=()=>ne(null),Oe=()=>{h==null||h.onConfirm(pe.trim()),ne(null)},Ae=()=>le({icon:"Link2",title:n("rte.linkTitle"),label:n("rte.linkUrl"),placeholder:"https://example.com",confirmLabel:n(y?"common.update":"common.insert"),onConfirm:t=>l.dispatchCommand(F.TOGGLE_LINK_COMMAND,t===""?null:de(t))},Z),De=()=>le({icon:"GalleryAdd",title:n("rte.imageTitle"),label:n("rte.imageUrl"),placeholder:"https://example.com/image.jpg",confirmLabel:n("common.insert"),onConfirm:t=>{t&&l.update(()=>D.$insertNodeToNearestRoot(Q(t)))}}),$e=async t=>{var k;const c=(k=t.target.files)==null?void 0:k[0];if(t.target.value="",!!c)try{const b=i?await i(c):await Kt(c);l.update(()=>D.$insertNodeToNearestRoot(Q(b,c.name)))}catch{Qe.toast.error(n("rte.imageError"))}},qe=()=>le({icon:"VideoSquare",title:n("rte.videoTitle"),label:n("rte.videoUrl"),placeholder:n("rte.videoUrlPlaceholder"),confirmLabel:n("common.insert"),onConfirm:t=>{t&&l.update(()=>D.$insertNodeToNearestRoot(me(t)))}}),L=(t,c,k,b,R)=>r.jsx(q.IconButton,{variant:t?"filled":"text",color:"primary",size:o,disabled:e,"aria-label":c,"aria-pressed":t,onMouseDown:W=>W.preventDefault(),onClick:k,children:b},R),fe=v.startsWith("h")?v:"paragraph",xe=T||zt[o];return r.jsxs("div",{className:s.toolbar,role:"toolbar","aria-label":n("rte.formatting"),"aria-orientation":"horizontal",children:[r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!z,"aria-label":n("rte.undo"),onMouseDown:t=>t.preventDefault(),onClick:()=>l.dispatchCommand(a.UNDO_COMMAND,void 0),children:r.jsx(g.Icon,{name:"UndoArrow"})}),r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e||!S,"aria-label":n("rte.redo"),onMouseDown:t=>t.preventDefault(),onClick:()=>l.dispatchCommand(a.REDO_COMMAND,void 0),children:r.jsx(g.Icon,{name:"RedoArrow"})}),r.jsx($.Divider,{orientation:"vertical"}),r.jsx(ce.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:r.jsx(K.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:r.jsx(g.Icon,{name:"ArrowDown4"}),"aria-label":n("rte.fontSize"),onMouseDown:t=>t.preventDefault(),children:xe}),children:Vt.map(t=>r.jsx(J.ListItem,{clickable:!0,selected:t===xe,onClick:()=>Me(t),children:t},t))}),r.jsx($.Divider,{orientation:"vertical"}),r.jsx(ce.Dropdown,{size:o,disabled:e,trigger:r.jsx(K.Button,{variant:"text",color:"primary",size:o,disabled:e,endIcon:r.jsx(g.Icon,{name:"ArrowDown4"}),onMouseDown:t=>t.preventDefault(),children:p(fe)}),children:Pt.map(t=>r.jsx(J.ListItem,{clickable:!0,selected:fe===t.type,icon:t.icon,onClick:()=>G(t.type),children:p(t.type)},t.type))}),r.jsx($.Divider,{orientation:"vertical"}),L(j,n("rte.bold"),()=>ie("bold"),r.jsx(g.Icon,{name:"TextBold"})),L(_,n("rte.italic"),()=>ie("italic"),r.jsx(g.Icon,{name:"TextItalic"})),L(f,n("rte.underline"),()=>ie("underline"),r.jsx(g.Icon,{name:"TextUnderline"})),r.jsx($.Divider,{orientation:"vertical"}),L(v==="bullet",n("rte.bulletList"),()=>G("bullet"),r.jsx(g.Icon,{name:"ListBullet"})),L(v==="number",n("rte.numberedList"),()=>G("number"),r.jsx(g.Icon,{name:"ListNumber"})),L(v==="quote",n("rte.quote"),Ie,r.jsx(g.Icon,{name:"QuoteUp"})),r.jsx($.Divider,{orientation:"vertical"}),Ht.map(t=>L(te===t.value,n(t.labelKey),()=>ke(t.value),r.jsx(g.Icon,{name:t.icon}),t.value)),r.jsx($.Divider,{orientation:"vertical"}),r.jsx(q.IconButton,{ref:U,variant:"text",color:"primary",size:o,disabled:e,"aria-label":n("rte.textColor"),"aria-expanded":H,onMouseDown:t=>t.preventDefault(),onClick:()=>V(t=>!t),children:r.jsx(Gt,{color:B})}),r.jsx(Xe.FloatingPanel,{open:H,triggerRef:U,onClose:t=>{var c;V(!1),t&&((c=U.current)==null||c.focus())},role:"dialog",ariaLabel:n("rte.textColor"),width:232,children:r.jsx(ye.ColorPickerPanel,{value:B||ye.DEFAULT_SWATCHES[0],onChange:Re,clearable:!1})}),L(y,n("rte.link"),Ae,r.jsx(g.Icon,{name:"Link2"})),r.jsxs(ce.Dropdown,{size:o,disabled:e,minWidth:!1,trigger:r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":n("rte.insertImage"),children:r.jsx(g.Icon,{name:"GalleryAdd"})}),children:[r.jsx(J.ListItem,{clickable:!0,icon:"GalleryImport",onClick:()=>{var t;return(t=m.current)==null?void 0:t.click()},children:n("rte.uploadImage")}),r.jsx(J.ListItem,{clickable:!0,icon:"Link",onClick:De,children:n("rte.imageByUrl")})]}),r.jsx(q.IconButton,{variant:"text",color:"primary",size:o,disabled:e,"aria-label":n("rte.insertVideo"),onClick:qe,children:r.jsx(g.Icon,{name:"VideoSquare"})}),r.jsx("input",{ref:m,type:"file",accept:"image/*",hidden:!0,onChange:$e,"aria-hidden":"true",tabIndex:-1}),r.jsx(Ye.Modal,{open:h!==null,onClose:_e,size:"sm",icon:h==null?void 0:h.icon,title:h==null?void 0:h.title,footer:r.jsxs(r.Fragment,{children:[r.jsx(K.Button,{variant:"text",size:"sm",onClick:_e,children:n("common.cancel")}),r.jsx(K.Button,{type:"submit",size:"sm",form:"rte-url-form",children:(h==null?void 0:h.confirmLabel)??n("common.insert")})]}),children:r.jsx("form",{id:"rte-url-form",onSubmit:t=>{t.preventDefault(),Oe()},children:r.jsx(Ze.TextField,{label:h==null?void 0:h.label,placeholder:h==null?void 0:h.placeholder,value:pe,onChange:t=>he(t.target.value)})})})]})}function Kt(o){return new Promise((e,i)=>{const n=new FileReader;n.onload=()=>e(n.result),n.onerror=()=>i(n.error),n.readAsDataURL(o)})}const Jt={paragraph:s.paragraph,heading:{h1:s.h1,h2:s.h2,h3:s.h3,h4:s.h4,h5:s.h5,h6:s.h6},quote:s.quote,list:{ul:s.ul,ol:s.ol,listitem:s.li,listitemChecked:s.liChecked,listitemUnchecked:s.liUnchecked,nested:{listitem:s.nestedLi}},link:s.link,text:{bold:s.bold,italic:s.italic,underline:s.underline,strikethrough:s.strike,code:s.codeInline}},Qt=[w.HeadingNode,w.QuoteNode,I.ListNode,I.ListItemNode,F.LinkNode,X,Y],Xt=[...se.ELEMENT_TRANSFORMERS,...se.TEXT_FORMAT_TRANSFORMERS,...se.TEXT_MATCH_TRANSFORMERS],Yt=["color","font-size"],Zt={span:o=>{var i,n;const e=(n=(i=a.TextNode.importDOM())==null?void 0:i.span)==null?void 0:n.call(i,o);return{priority:1,conversion:p=>{const l=(e==null?void 0:e.conversion(p))??{node:null},m=Yt.flatMap(d=>{const _=p.style.getPropertyValue(d);return _?[[d,_]]:[]});if(m.length===0)return l;const j=l.forChild;return{...l,forChild:(d,_)=>{const N=j?j(d,_):d;if(a.$isTextNode(N)){const f={...a.getStyleObjectFromCSS(N.getStyle())};for(const[x,y]of m)f[x]=y;N.setStyle(Object.entries(f).map(([x,y])=>`${x}: ${y};`).join(" "))}return N}}}}}},er=new Set(["A","B","CODE","EM","I","MARK","S","SPAN","STRONG","SUB","SUP","U"]);function tr(o){const e=o.split(";").map(i=>i.trim()).filter(i=>i&&!/^white-space\s*:\s*pre-wrap$/i.test(i));return e.length?`${e.join("; ")};`:null}function rr(o){const e=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);let i=!0,n=!1,p=null;const l=()=>{p&&p.data.endsWith(" ")&&(p.data=`${p.data.slice(0,-1)} `),p=null,i=!0,n=!1};for(let m=e.nextNode();m;m=e.nextNode()){if(m.nodeType===Node.ELEMENT_NODE){er.has(m.tagName)||l();continue}const j=m;if(!j.data)continue;let d="";for(const _ of j.data)_===" "&&(i||n)?(d+=" ",n=!1):(d+=_,n=_===" "),i=!1;j.data=d,p=j}l()}function nr(o){if(typeof document>"u")return o;const e=document.createElement("template");e.innerHTML=o;const i=e.content;return i.querySelectorAll("[class]").forEach(n=>n.removeAttribute("class")),i.querySelectorAll("[style]").forEach(n=>{var l;if((l=n.textContent)!=null&&l.includes(" "))return;const p=tr(n.getAttribute("style")??"");p?n.setAttribute("style",p):n.removeAttribute("style")}),i.querySelectorAll("span").forEach(n=>{n.attributes.length===0&&n.replaceWith(...n.childNodes)}),i.normalize(),rr(i),e.innerHTML}function or(){const o=a.$getRoot(),e=o.getFirstChild();return o.getChildrenSize()<=1&&(e===null||a.$isParagraphNode(e)&&e.getChildrenSize()===0)}function Te(o,e){const i=a.$getRoot();if(i.clear(),e){const n=new DOMParser().parseFromString(e,"text/html"),p=ve.$generateNodesFromDOM(o,n);i.select(),a.$insertNodes(p)}i.getChildrenSize()===0&&i.append(a.$createParagraphNode()),a.$setSelection(null)}const ae="tz-external-value";function Ce(o){return or()?"":nr(ve.$generateHtmlFromNodes(o,null))}function ir({value:o,defaultValue:e,onChange:i,onReady:n,disabled:p}){const[l]=Ee.useLexicalComposerContext(),m=u.useRef(void 0),j=u.useRef(i);j.current=i;const d=u.useRef(n);d.current=n;const _=u.useRef(!1),N=f=>{var x;_.current||(_.current=!0,(x=d.current)==null||x.call(d,f))};return u.useEffect(()=>l.setEditable(!p),[l,p]),u.useEffect(()=>l.registerNodeTransform(F.LinkNode,f=>{const x=f.getURL(),y=de(x);y!==x&&f.setURL(y)}),[l]),u.useEffect(()=>{if(o===void 0){if(!e){m.current="",N("");return}m.current=e,l.update(()=>Te(l,e),{tag:["history-merge",ae]})}},[]),u.useEffect(()=>{o===void 0||o===m.current||(m.current=o,l.update(()=>Te(l,o),{tag:["history-merge",ae]}))},[l,o]),u.useEffect(()=>l.registerUpdateListener(({dirtyElements:f,dirtyLeaves:x,tags:y})=>{if(y.has(ae)){l.read(()=>{const C=Ce(l);m.current=C,N(C)});return}f.size===0&&x.size===0||l.read(()=>{const C=Ce(l);C!==m.current&&(m.current=C,j.current(C))})}),[l]),null}const lr=u.forwardRef(function({label:e,size:i="md",error:n,helperText:p,required:l=!1,disabled:m=!1,placeholder:j,name:d,value:_,defaultValue:N,onChange:f,onReady:x,onImageUpload:y,minHeight:C=220,"aria-label":Z="Rich text editor",className:ee,style:v},O){const te=ue.useT(),E=Je.useFormContext(),T=E&&d?E.field(d):void 0,A=n??(T==null?void 0:T.error)??!1,B=p??(T==null?void 0:T.helperText),P=E&&d?E.values[d]:void 0,H=_!==void 0?_:E&&d?String(P??""):void 0,V=u.useCallback(S=>{E&&d&&E.setValue(d,S),f==null||f(S)},[E,d,f]),U=S=>T==null?void 0:T.onBlur(S),z=u.useRef(null);u.useEffect(()=>{const S=z.current;S&&(d?S.setAttribute("name",d):S.removeAttribute("name"))},[d]);const re={namespace:"tz-rich-text-editor",theme:Jt,nodes:Qt,html:{import:Zt},editable:!m,onError:S=>{throw S}};return r.jsxs("div",{ref:O,className:Be.clsx(s.editor,s[i],A&&s.error,m&&s.disabled,ee),style:{"--tz-rte-min-height":`${C}px`,...v},children:[e!=null&&r.jsxs("div",{className:s.label,children:[r.jsx(je.Typography,{as:"span",variant:"bodySmall",color:"muted",children:e}),l&&r.jsx("span",{className:s.required,"aria-hidden":"true",children:"*"})]}),r.jsx("div",{className:s.control,children:r.jsxs(Ue.LexicalComposer,{initialConfig:re,children:[r.jsx(Wt,{size:i,disabled:m,onImageUpload:y}),r.jsx("div",{className:s.shell,children:r.jsx(Fe.RichTextPlugin,{contentEditable:r.jsx(Pe.ContentEditable,{ref:z,className:s.content,"aria-label":Z,"aria-invalid":A||void 0,onBlur:U}),placeholder:r.jsx("div",{className:s.placeholder,children:j??te("rte.placeholder")}),ErrorBoundary:He.LexicalErrorBoundary})}),r.jsx(Ve.HistoryPlugin,{}),r.jsx(ze.ListPlugin,{}),r.jsx(Ge.CheckListPlugin,{}),r.jsx(We.LinkPlugin,{}),r.jsx(Ke.MarkdownShortcutPlugin,{transformers:Xt}),r.jsx(ir,{value:H,defaultValue:N,onChange:V,onReady:x,disabled:m})]})}),B!=null&&r.jsx(je.Typography,{as:"span",variant:"bodySmall",color:A?"error":"muted",className:s.helper,children:B})]})});exports.RichTextEditor=lr;
2
+ //# sourceMappingURL=RichTextEditor-BVXY25sz.cjs.map