@techzyapp/ui-library 1.0.44 → 1.0.46

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 (377) hide show
  1. package/dist/{AdminRoot-9KE3ll-D.js → AdminRoot-BZ1v5vN9.js} +7 -7
  2. package/dist/{AdminRoot-9KE3ll-D.js.map → AdminRoot-BZ1v5vN9.js.map} +1 -1
  3. package/dist/{AdminRoot-BMzHo0n7.cjs → AdminRoot-DJ4-UMAB.cjs} +2 -2
  4. package/dist/{AdminRoot-BMzHo0n7.cjs.map → AdminRoot-DJ4-UMAB.cjs.map} +1 -1
  5. package/dist/{Alert-BFfzpPNd.js → Alert-BU7GlQna.js} +3 -3
  6. package/dist/{Alert-BFfzpPNd.js.map → Alert-BU7GlQna.js.map} +1 -1
  7. package/dist/{Alert-DS8TzpIS.cjs → Alert-CVQOjuEq.cjs} +2 -2
  8. package/dist/{Alert-DS8TzpIS.cjs.map → Alert-CVQOjuEq.cjs.map} +1 -1
  9. package/dist/{Breadcrumbs-CloqFpp1.js → Breadcrumbs-BMz_YVPa.js} +3 -3
  10. package/dist/{Breadcrumbs-CloqFpp1.js.map → Breadcrumbs-BMz_YVPa.js.map} +1 -1
  11. package/dist/{Breadcrumbs-N2-sZWW5.cjs → Breadcrumbs-BbC0o4JE.cjs} +2 -2
  12. package/dist/{Breadcrumbs-N2-sZWW5.cjs.map → Breadcrumbs-BbC0o4JE.cjs.map} +1 -1
  13. package/dist/{Button-5LQtDA9d.js → Button-C415LPw_.js} +2 -2
  14. package/dist/{Button-5LQtDA9d.js.map → Button-C415LPw_.js.map} +1 -1
  15. package/dist/{Button-Bxztlybi.cjs → Button-mBZOvgyZ.cjs} +2 -2
  16. package/dist/{Button-Bxztlybi.cjs.map → Button-mBZOvgyZ.cjs.map} +1 -1
  17. package/dist/{Calendar-BIKo_aus.js → Calendar-B0f6h9-A.js} +3 -3
  18. package/dist/{Calendar-BIKo_aus.js.map → Calendar-B0f6h9-A.js.map} +1 -1
  19. package/dist/{Calendar-CsBgaKZ-.cjs → Calendar-hO051hfk.cjs} +2 -2
  20. package/dist/{Calendar-CsBgaKZ-.cjs.map → Calendar-hO051hfk.cjs.map} +1 -1
  21. package/dist/{Card-Csn3FaMl.cjs → Card-BdNr5row.cjs} +2 -2
  22. package/dist/{Card-Csn3FaMl.cjs.map → Card-BdNr5row.cjs.map} +1 -1
  23. package/dist/{Card-DMwQ7rMk.js → Card-ssUNaOF_.js} +3 -3
  24. package/dist/{Card-DMwQ7rMk.js.map → Card-ssUNaOF_.js.map} +1 -1
  25. package/dist/{Chip-BdCZ44I8.cjs → Chip-BpJN4rzY.cjs} +2 -2
  26. package/dist/{Chip-BdCZ44I8.cjs.map → Chip-BpJN4rzY.cjs.map} +1 -1
  27. package/dist/{Chip-C7IkFuM1.js → Chip-C0x-6g2h.js} +2 -2
  28. package/dist/{Chip-C7IkFuM1.js.map → Chip-C0x-6g2h.js.map} +1 -1
  29. package/dist/{CodeBlock-C10JN6DR.js → CodeBlock-DKnWINdV.js} +3 -3
  30. package/dist/{CodeBlock-C10JN6DR.js.map → CodeBlock-DKnWINdV.js.map} +1 -1
  31. package/dist/{CodeBlock-BnXxxqAW.cjs → CodeBlock-DTrzN95i.cjs} +2 -2
  32. package/dist/{CodeBlock-BnXxxqAW.cjs.map → CodeBlock-DTrzN95i.cjs.map} +1 -1
  33. package/dist/{ColorPicker-z8_-77LO.js → ColorPicker-Bidev2DJ.js} +3 -3
  34. package/dist/{ColorPicker-z8_-77LO.js.map → ColorPicker-Bidev2DJ.js.map} +1 -1
  35. package/dist/{ColorPicker-CVddGc-n.cjs → ColorPicker-Doaegll4.cjs} +2 -2
  36. package/dist/{ColorPicker-CVddGc-n.cjs.map → ColorPicker-Doaegll4.cjs.map} +1 -1
  37. package/dist/{ColorPickerPanel-DJY6-EqO.cjs → ColorPickerPanel-048Fj7wv.cjs} +2 -2
  38. package/dist/{ColorPickerPanel-DJY6-EqO.cjs.map → ColorPickerPanel-048Fj7wv.cjs.map} +1 -1
  39. package/dist/{ColorPickerPanel-y4A2LLLf.js → ColorPickerPanel-DThSuUoz.js} +2 -2
  40. package/dist/{ColorPickerPanel-y4A2LLLf.js.map → ColorPickerPanel-DThSuUoz.js.map} +1 -1
  41. package/dist/{ColorRamp-DvRsdOWy.cjs → ColorRamp-CGw4D9bf.cjs} +2 -2
  42. package/dist/{ColorRamp-DvRsdOWy.cjs.map → ColorRamp-CGw4D9bf.cjs.map} +1 -1
  43. package/dist/{ColorRamp-Dvit8yoP.js → ColorRamp-Reb0q69d.js} +2 -2
  44. package/dist/{ColorRamp-Dvit8yoP.js.map → ColorRamp-Reb0q69d.js.map} +1 -1
  45. package/dist/{ConfigProvider-Cf-awvZs.cjs → ConfigProvider-DBU6rOIA.cjs} +2 -2
  46. package/dist/{ConfigProvider-Cf-awvZs.cjs.map → ConfigProvider-DBU6rOIA.cjs.map} +1 -1
  47. package/dist/{ConfigProvider-CYgmMH4j.js → ConfigProvider-DVDGtCUc.js} +2 -2
  48. package/dist/{ConfigProvider-CYgmMH4j.js.map → ConfigProvider-DVDGtCUc.js.map} +1 -1
  49. package/dist/{CopyButton-BOp7waEt.cjs → CopyButton-Cnab62vt.cjs} +2 -2
  50. package/dist/{CopyButton-BOp7waEt.cjs.map → CopyButton-Cnab62vt.cjs.map} +1 -1
  51. package/dist/{CopyButton-_iMBE4q_.js → CopyButton-Dm8-V4ku.js} +3 -3
  52. package/dist/{CopyButton-_iMBE4q_.js.map → CopyButton-Dm8-V4ku.js.map} +1 -1
  53. package/dist/{DatePicker-X5hZVSW6.js → DatePicker-C4MTCmDn.js} +4 -4
  54. package/dist/{DatePicker-X5hZVSW6.js.map → DatePicker-C4MTCmDn.js.map} +1 -1
  55. package/dist/{DatePicker-UQwpH-rw.cjs → DatePicker-CaGeW_-j.cjs} +2 -2
  56. package/dist/{DatePicker-UQwpH-rw.cjs.map → DatePicker-CaGeW_-j.cjs.map} +1 -1
  57. package/dist/{DateTimePicker-Ch1kUHEb.js → DateTimePicker-B0CjHKPV.js} +7 -7
  58. package/dist/{DateTimePicker-Ch1kUHEb.js.map → DateTimePicker-B0CjHKPV.js.map} +1 -1
  59. package/dist/{DateTimePicker-ClTZGMON.cjs → DateTimePicker-DXKaAYey.cjs} +2 -2
  60. package/dist/{DateTimePicker-ClTZGMON.cjs.map → DateTimePicker-DXKaAYey.cjs.map} +1 -1
  61. package/dist/{DescriptionList-IVAvgpEL.cjs → DescriptionList-BSDwobDc.cjs} +2 -2
  62. package/dist/{DescriptionList-IVAvgpEL.cjs.map → DescriptionList-BSDwobDc.cjs.map} +1 -1
  63. package/dist/{DescriptionList-Cque-iYk.js → DescriptionList-BkUS5egS.js} +4 -4
  64. package/dist/{DescriptionList-Cque-iYk.js.map → DescriptionList-BkUS5egS.js.map} +1 -1
  65. package/dist/{EmptyState-C84B-E8a.cjs → EmptyState-CkkFHKrh.cjs} +2 -2
  66. package/dist/{EmptyState-C84B-E8a.cjs.map → EmptyState-CkkFHKrh.cjs.map} +1 -1
  67. package/dist/{EmptyState-Yts_p-jZ.js → EmptyState-DXoaPC7o.js} +2 -2
  68. package/dist/{EmptyState-Yts_p-jZ.js.map → EmptyState-DXoaPC7o.js.map} +1 -1
  69. package/dist/{ErrorBoundary-BgMOPle0.js → ErrorBoundary-CSP_Ctg6.js} +3 -3
  70. package/dist/{ErrorBoundary-BgMOPle0.js.map → ErrorBoundary-CSP_Ctg6.js.map} +1 -1
  71. package/dist/{ErrorBoundary-DtYswKp3.cjs → ErrorBoundary-tZjKtO28.cjs} +2 -2
  72. package/dist/{ErrorBoundary-DtYswKp3.cjs.map → ErrorBoundary-tZjKtO28.cjs.map} +1 -1
  73. package/dist/{ErrorState-Aa8LVjkl.cjs → ErrorState-JH4JdrTI.cjs} +2 -2
  74. package/dist/{ErrorState-Aa8LVjkl.cjs.map → ErrorState-JH4JdrTI.cjs.map} +1 -1
  75. package/dist/{ErrorState-BE9Rcmht.js → ErrorState-WYsly5-i.js} +7 -7
  76. package/dist/{ErrorState-BE9Rcmht.js.map → ErrorState-WYsly5-i.js.map} +1 -1
  77. package/dist/{FileCard-Chfx0QdF.cjs → FileCard-BIfPqeek.cjs} +2 -2
  78. package/dist/{FileCard-Chfx0QdF.cjs.map → FileCard-BIfPqeek.cjs.map} +1 -1
  79. package/dist/{FileCard-m3i_8yKR.js → FileCard-D4TB3qGG.js} +3 -3
  80. package/dist/{FileCard-m3i_8yKR.js.map → FileCard-D4TB3qGG.js.map} +1 -1
  81. package/dist/FileUploader-DPVF76Ha.js +701 -0
  82. package/dist/FileUploader-DPVF76Ha.js.map +1 -0
  83. package/dist/FileUploader-YE_DfTNC.cjs +2 -0
  84. package/dist/FileUploader-YE_DfTNC.cjs.map +1 -0
  85. package/dist/{Flag-BvZB3295.cjs → Flag-B6OhgwZr.cjs} +2 -2
  86. package/dist/{Flag-BvZB3295.cjs.map → Flag-B6OhgwZr.cjs.map} +1 -1
  87. package/dist/{Flag-C1HwnZXJ.js → Flag-Q3vI7cgt.js} +2 -2
  88. package/dist/{Flag-C1HwnZXJ.js.map → Flag-Q3vI7cgt.js.map} +1 -1
  89. package/dist/{FullscreenToggle-B4ynXdCP.js → FullscreenToggle-CxwGPLdd.js} +3 -3
  90. package/dist/{FullscreenToggle-B4ynXdCP.js.map → FullscreenToggle-CxwGPLdd.js.map} +1 -1
  91. package/dist/{FullscreenToggle-CEFZQ5OC.cjs → FullscreenToggle-ipX55Nj4.cjs} +2 -2
  92. package/dist/{FullscreenToggle-CEFZQ5OC.cjs.map → FullscreenToggle-ipX55Nj4.cjs.map} +1 -1
  93. package/dist/{IconButton-wW1o4HHw.cjs → IconButton-U_sr2Ahy.cjs} +2 -2
  94. package/dist/{IconButton-wW1o4HHw.cjs.map → IconButton-U_sr2Ahy.cjs.map} +1 -1
  95. package/dist/{IconButton-EaExCXRq.js → IconButton-re6xITGO.js} +2 -2
  96. package/dist/{IconButton-EaExCXRq.js.map → IconButton-re6xITGO.js.map} +1 -1
  97. package/dist/ImageEditor-1n50vo_v.cjs +64 -0
  98. package/dist/ImageEditor-1n50vo_v.cjs.map +1 -0
  99. package/dist/{ImageEditor-DTFQZ6ON.js → ImageEditor-BwrG1fk7.js} +968 -948
  100. package/dist/ImageEditor-BwrG1fk7.js.map +1 -0
  101. package/dist/{Loader-D_Foo6Hj.js → Loader-7v1QBvHY.js} +2 -2
  102. package/dist/{Loader-D_Foo6Hj.js.map → Loader-7v1QBvHY.js.map} +1 -1
  103. package/dist/{Loader-DNR2_YHm.cjs → Loader-BE3SQr7W.cjs} +2 -2
  104. package/dist/{Loader-DNR2_YHm.cjs.map → Loader-BE3SQr7W.cjs.map} +1 -1
  105. package/dist/{LocationPicker-DGbnbTW9.js → LocationPicker-BvKtZFq0.js} +6 -6
  106. package/dist/{LocationPicker-DGbnbTW9.js.map → LocationPicker-BvKtZFq0.js.map} +1 -1
  107. package/dist/{LocationPicker-CdO37PKg.cjs → LocationPicker-CVJ4jVn2.cjs} +2 -2
  108. package/dist/{LocationPicker-CdO37PKg.cjs.map → LocationPicker-CVJ4jVn2.cjs.map} +1 -1
  109. package/dist/{Modal-Du-uVpYw.cjs → Modal-CxODxl81.cjs} +2 -2
  110. package/dist/{Modal-Du-uVpYw.cjs.map → Modal-CxODxl81.cjs.map} +1 -1
  111. package/dist/{Modal-1rIBMvKH.js → Modal-DpoiMMM3.js} +3 -3
  112. package/dist/{Modal-1rIBMvKH.js.map → Modal-DpoiMMM3.js.map} +1 -1
  113. package/dist/{MultiSelect-lAAaD0uL.cjs → MultiSelect-2GouMRTl.cjs} +2 -2
  114. package/dist/{MultiSelect-lAAaD0uL.cjs.map → MultiSelect-2GouMRTl.cjs.map} +1 -1
  115. package/dist/{MultiSelect-BoqunsM9.js → MultiSelect-B7KwEhL5.js} +4 -4
  116. package/dist/{MultiSelect-BoqunsM9.js.map → MultiSelect-B7KwEhL5.js.map} +1 -1
  117. package/dist/{NumberField-DHFGNQjZ.js → NumberField-ThojS4K3.js} +3 -3
  118. package/dist/{NumberField-DHFGNQjZ.js.map → NumberField-ThojS4K3.js.map} +1 -1
  119. package/dist/{NumberField-CyUA6eob.cjs → NumberField-o2z2QNK1.cjs} +2 -2
  120. package/dist/{NumberField-CyUA6eob.cjs.map → NumberField-o2z2QNK1.cjs.map} +1 -1
  121. package/dist/{OtpField-CIy5OtXI.cjs → OtpField-BhZq44vV.cjs} +2 -2
  122. package/dist/{OtpField-CIy5OtXI.cjs.map → OtpField-BhZq44vV.cjs.map} +1 -1
  123. package/dist/{OtpField-pL9nj4AW.js → OtpField-C3MlMZ2F.js} +2 -2
  124. package/dist/{OtpField-pL9nj4AW.js.map → OtpField-C3MlMZ2F.js.map} +1 -1
  125. package/dist/{PageError-C5SO0mVJ.js → PageError-63Gk6fVC.js} +5 -5
  126. package/dist/{PageError-C5SO0mVJ.js.map → PageError-63Gk6fVC.js.map} +1 -1
  127. package/dist/{PageError-DbokLmOY.cjs → PageError-CCKWbrc5.cjs} +2 -2
  128. package/dist/{PageError-DbokLmOY.cjs.map → PageError-CCKWbrc5.cjs.map} +1 -1
  129. package/dist/{PageLayout-Du-D6Pd4.js → PageLayout-BekkDBtT.js} +4 -4
  130. package/dist/{PageLayout-Du-D6Pd4.js.map → PageLayout-BekkDBtT.js.map} +1 -1
  131. package/dist/{PageLayout-B7ZDiNq8.cjs → PageLayout-CDPUYu6A.cjs} +2 -2
  132. package/dist/{PageLayout-B7ZDiNq8.cjs.map → PageLayout-CDPUYu6A.cjs.map} +1 -1
  133. package/dist/{PageNotFound-DSkoMfed.js → PageNotFound-BD3zX3cd.js} +5 -5
  134. package/dist/{PageNotFound-DSkoMfed.js.map → PageNotFound-BD3zX3cd.js.map} +1 -1
  135. package/dist/{PageNotFound-DfNwdtgJ.cjs → PageNotFound-CTR6htwa.cjs} +2 -2
  136. package/dist/{PageNotFound-DfNwdtgJ.cjs.map → PageNotFound-CTR6htwa.cjs.map} +1 -1
  137. package/dist/{Pagination-DO2Os4an.cjs → Pagination-BJvLUjQ0.cjs} +2 -2
  138. package/dist/{Pagination-DO2Os4an.cjs.map → Pagination-BJvLUjQ0.cjs.map} +1 -1
  139. package/dist/{Pagination-BH8ACaAC.js → Pagination-qKjISBJ9.js} +2 -2
  140. package/dist/{Pagination-BH8ACaAC.js.map → Pagination-qKjISBJ9.js.map} +1 -1
  141. package/dist/{PaletteField-BfvcJvGM.cjs → PaletteField-CDS9CJW9.cjs} +2 -2
  142. package/dist/{PaletteField-BfvcJvGM.cjs.map → PaletteField-CDS9CJW9.cjs.map} +1 -1
  143. package/dist/{PaletteField-BFb0PQ-S.js → PaletteField-y8KpR4Ap.js} +3 -3
  144. package/dist/{PaletteField-BFb0PQ-S.js.map → PaletteField-y8KpR4Ap.js.map} +1 -1
  145. package/dist/{PhoneField-C-wOm7g5.cjs → PhoneField-Df3J6Hhg.cjs} +2 -2
  146. package/dist/{PhoneField-C-wOm7g5.cjs.map → PhoneField-Df3J6Hhg.cjs.map} +1 -1
  147. package/dist/{PhoneField-DFhGWgbK.js → PhoneField-OjsuevPx.js} +4 -4
  148. package/dist/{PhoneField-DFhGWgbK.js.map → PhoneField-OjsuevPx.js.map} +1 -1
  149. package/dist/{Popconfirm-_53vtMI0.cjs → Popconfirm-BKzJ_EZy.cjs} +2 -2
  150. package/dist/{Popconfirm-_53vtMI0.cjs.map → Popconfirm-BKzJ_EZy.cjs.map} +1 -1
  151. package/dist/{Popconfirm-o5da44ra.js → Popconfirm-aCyniPnH.js} +3 -3
  152. package/dist/{Popconfirm-o5da44ra.js.map → Popconfirm-aCyniPnH.js.map} +1 -1
  153. package/dist/{Progress-BSinoQ8t.cjs → Progress-DWOoLd8u.cjs} +2 -2
  154. package/dist/{Progress-BSinoQ8t.cjs.map → Progress-DWOoLd8u.cjs.map} +1 -1
  155. package/dist/{Progress-CHzNwegP.js → Progress-DzxbkcaD.js} +2 -2
  156. package/dist/{Progress-CHzNwegP.js.map → Progress-DzxbkcaD.js.map} +1 -1
  157. package/dist/{QrCode-tNNnsbHM.cjs → QrCode-C8uAPiHq.cjs} +2 -2
  158. package/dist/{QrCode-tNNnsbHM.cjs.map → QrCode-C8uAPiHq.cjs.map} +1 -1
  159. package/dist/{QrCode-C3hAfNP6.js → QrCode-DaJYqBc1.js} +2 -2
  160. package/dist/{QrCode-C3hAfNP6.js.map → QrCode-DaJYqBc1.js.map} +1 -1
  161. package/dist/{RemoveDialog-Hi_gV-8A.cjs → RemoveDialog-BnOtR6-q.cjs} +2 -2
  162. package/dist/{RemoveDialog-Hi_gV-8A.cjs.map → RemoveDialog-BnOtR6-q.cjs.map} +1 -1
  163. package/dist/{RemoveDialog-CXy-PY-G.js → RemoveDialog-MhEU5Zl3.js} +5 -5
  164. package/dist/{RemoveDialog-CXy-PY-G.js.map → RemoveDialog-MhEU5Zl3.js.map} +1 -1
  165. package/dist/RichTextEditor-Cnrnvv1f.cjs +2 -0
  166. package/dist/RichTextEditor-Cnrnvv1f.cjs.map +1 -0
  167. package/dist/RichTextEditor-zkoxujnO.js +1148 -0
  168. package/dist/RichTextEditor-zkoxujnO.js.map +1 -0
  169. package/dist/{RootLayout-CjT5uHlt.js → RootLayout-C4r9i5Go.js} +15 -15
  170. package/dist/{RootLayout-CjT5uHlt.js.map → RootLayout-C4r9i5Go.js.map} +1 -1
  171. package/dist/{RootLayout-iSGY4MsS.cjs → RootLayout-Z9PuRfsa.cjs} +2 -2
  172. package/dist/{RootLayout-iSGY4MsS.cjs.map → RootLayout-Z9PuRfsa.cjs.map} +1 -1
  173. package/dist/{Select-DVoL547R.cjs → Select-CylqFHce.cjs} +2 -2
  174. package/dist/{Select-DVoL547R.cjs.map → Select-CylqFHce.cjs.map} +1 -1
  175. package/dist/{Select-DuLDLnnb.js → Select-jT94L1vq.js} +3 -3
  176. package/dist/{Select-DuLDLnnb.js.map → Select-jT94L1vq.js.map} +1 -1
  177. package/dist/{Sidebar-DvQmuBNK.js → Sidebar-B1O2RsbR.js} +3 -3
  178. package/dist/{Sidebar-DvQmuBNK.js.map → Sidebar-B1O2RsbR.js.map} +1 -1
  179. package/dist/{Sidebar-DRQo4zAF.cjs → Sidebar-Bcm0fgVm.cjs} +2 -2
  180. package/dist/{Sidebar-DRQo4zAF.cjs.map → Sidebar-Bcm0fgVm.cjs.map} +1 -1
  181. package/dist/{Slider-DxnCQRSH.cjs → Slider-CV7ug0WF.cjs} +2 -2
  182. package/dist/{Slider-DxnCQRSH.cjs.map → Slider-CV7ug0WF.cjs.map} +1 -1
  183. package/dist/{Slider-D-QjclQJ.js → Slider-DC-ugZwT.js} +2 -2
  184. package/dist/{Slider-D-QjclQJ.js.map → Slider-DC-ugZwT.js.map} +1 -1
  185. package/dist/{SpeedDial-BBQ9y6lm.js → SpeedDial-C6yiMUe8.js} +2 -2
  186. package/dist/{SpeedDial-BBQ9y6lm.js.map → SpeedDial-C6yiMUe8.js.map} +1 -1
  187. package/dist/{SpeedDial-37OMwj9C.cjs → SpeedDial-DOgm2DDX.cjs} +2 -2
  188. package/dist/{SpeedDial-37OMwj9C.cjs.map → SpeedDial-DOgm2DDX.cjs.map} +1 -1
  189. package/dist/{Stepper-CU5Y0kfj.js → Stepper-BZdYGpBN.js} +2 -2
  190. package/dist/{Stepper-CU5Y0kfj.js.map → Stepper-BZdYGpBN.js.map} +1 -1
  191. package/dist/{Stepper-WqkfGPnQ.cjs → Stepper-DqM86TGV.cjs} +2 -2
  192. package/dist/{Stepper-WqkfGPnQ.cjs.map → Stepper-DqM86TGV.cjs.map} +1 -1
  193. package/dist/{Table-BnlvrRMr.cjs → Table-BgaCwRDQ.cjs} +2 -2
  194. package/dist/{Table-BnlvrRMr.cjs.map → Table-BgaCwRDQ.cjs.map} +1 -1
  195. package/dist/{Table-BECUUZtf.js → Table-FZlVWoYi.js} +16 -16
  196. package/dist/{Table-BECUUZtf.js.map → Table-FZlVWoYi.js.map} +1 -1
  197. package/dist/{Tabs-BXAHddi7.js → Tabs-BqQPkorY.js} +2 -2
  198. package/dist/{Tabs-BXAHddi7.js.map → Tabs-BqQPkorY.js.map} +1 -1
  199. package/dist/{Tabs-DiL1vNW3.cjs → Tabs-kGeyFhJ6.cjs} +2 -2
  200. package/dist/{Tabs-DiL1vNW3.cjs.map → Tabs-kGeyFhJ6.cjs.map} +1 -1
  201. package/dist/{TagsField-BsV_6dff.cjs → TagsField-B_sjp48X.cjs} +2 -2
  202. package/dist/{TagsField-BsV_6dff.cjs.map → TagsField-B_sjp48X.cjs.map} +1 -1
  203. package/dist/{TagsField-C1SgykAj.js → TagsField-ByTx9JXK.js} +4 -4
  204. package/dist/{TagsField-C1SgykAj.js.map → TagsField-ByTx9JXK.js.map} +1 -1
  205. package/dist/{TextField-DUv689u2.cjs → TextField-CBYJIfau.cjs} +2 -2
  206. package/dist/{TextField-DUv689u2.cjs.map → TextField-CBYJIfau.cjs.map} +1 -1
  207. package/dist/{TextField-oZI7thoU.js → TextField-CyKIx-d-.js} +3 -3
  208. package/dist/{TextField-oZI7thoU.js.map → TextField-CyKIx-d-.js.map} +1 -1
  209. package/dist/{ThemeToggle-xn3roH0u.cjs → ThemeToggle-D2dIqiBa.cjs} +2 -2
  210. package/dist/{ThemeToggle-xn3roH0u.cjs.map → ThemeToggle-D2dIqiBa.cjs.map} +1 -1
  211. package/dist/{ThemeToggle-5uHCUsX7.js → ThemeToggle-Dg6IishB.js} +3 -3
  212. package/dist/{ThemeToggle-5uHCUsX7.js.map → ThemeToggle-Dg6IishB.js.map} +1 -1
  213. package/dist/{TimeColumns-lO33mhX7.js → TimeColumns-Cx8J5qzW.js} +2 -2
  214. package/dist/{TimeColumns-lO33mhX7.js.map → TimeColumns-Cx8J5qzW.js.map} +1 -1
  215. package/dist/{TimeColumns-By23LHZw.cjs → TimeColumns-DVmK_T_P.cjs} +2 -2
  216. package/dist/{TimeColumns-By23LHZw.cjs.map → TimeColumns-DVmK_T_P.cjs.map} +1 -1
  217. package/dist/{TimePicker-BHFNH8LR.cjs → TimePicker-0nZOPRKp.cjs} +2 -2
  218. package/dist/{TimePicker-BHFNH8LR.cjs.map → TimePicker-0nZOPRKp.cjs.map} +1 -1
  219. package/dist/{TimePicker-Dl5p833O.js → TimePicker-sAhtvqQ4.js} +5 -5
  220. package/dist/{TimePicker-Dl5p833O.js.map → TimePicker-sAhtvqQ4.js.map} +1 -1
  221. package/dist/{Toaster-BPBFZiTr.js → Toaster-BOW9rzLq.js} +3 -3
  222. package/dist/{Toaster-BPBFZiTr.js.map → Toaster-BOW9rzLq.js.map} +1 -1
  223. package/dist/{Toaster-D4T89N1S.cjs → Toaster-DYGo92ke.cjs} +2 -2
  224. package/dist/{Toaster-D4T89N1S.cjs.map → Toaster-DYGo92ke.cjs.map} +1 -1
  225. package/dist/{TranslatedFields-LdeJeHEp.cjs → TranslatedFields-C_DuLotV.cjs} +2 -2
  226. package/dist/{TranslatedFields-LdeJeHEp.cjs.map → TranslatedFields-C_DuLotV.cjs.map} +1 -1
  227. package/dist/{TranslatedFields-Clsr84XC.js → TranslatedFields-CcE0td9p.js} +5 -5
  228. package/dist/{TranslatedFields-Clsr84XC.js.map → TranslatedFields-CcE0td9p.js.map} +1 -1
  229. package/dist/{UserCard-CQOiWppq.cjs → UserCard-DLVptkLr.cjs} +2 -2
  230. package/dist/{UserCard-CQOiWppq.cjs.map → UserCard-DLVptkLr.cjs.map} +1 -1
  231. package/dist/{UserCard-Cr75RwZb.js → UserCard-DeONbaKj.js} +3 -3
  232. package/dist/{UserCard-Cr75RwZb.js.map → UserCard-DeONbaKj.js.map} +1 -1
  233. package/dist/components/Alert/index.cjs +1 -1
  234. package/dist/components/Alert/index.js +1 -1
  235. package/dist/components/Breadcrumbs/index.cjs +1 -1
  236. package/dist/components/Breadcrumbs/index.js +1 -1
  237. package/dist/components/Button/index.cjs +1 -1
  238. package/dist/components/Button/index.js +1 -1
  239. package/dist/components/Card/index.cjs +1 -1
  240. package/dist/components/Card/index.js +1 -1
  241. package/dist/components/Chip/index.cjs +1 -1
  242. package/dist/components/Chip/index.js +1 -1
  243. package/dist/components/CodeBlock/index.cjs +1 -1
  244. package/dist/components/CodeBlock/index.js +1 -1
  245. package/dist/components/ColorPicker/index.cjs +1 -1
  246. package/dist/components/ColorPicker/index.js +1 -1
  247. package/dist/components/ColorRamp/index.cjs +1 -1
  248. package/dist/components/ColorRamp/index.js +1 -1
  249. package/dist/components/CopyButton/index.cjs +1 -1
  250. package/dist/components/CopyButton/index.js +1 -1
  251. package/dist/components/DatePicker/index.cjs +1 -1
  252. package/dist/components/DatePicker/index.js +1 -1
  253. package/dist/components/DateTimePicker/index.cjs +1 -1
  254. package/dist/components/DateTimePicker/index.js +1 -1
  255. package/dist/components/DescriptionList/index.cjs +1 -1
  256. package/dist/components/DescriptionList/index.js +1 -1
  257. package/dist/components/EmptyState/index.cjs +1 -1
  258. package/dist/components/EmptyState/index.js +1 -1
  259. package/dist/components/ErrorState/index.cjs +1 -1
  260. package/dist/components/ErrorState/index.js +2 -2
  261. package/dist/components/FileCard/index.cjs +1 -1
  262. package/dist/components/FileCard/index.js +1 -1
  263. package/dist/components/FileUploader/index.cjs +1 -1
  264. package/dist/components/FileUploader/index.js +1 -1
  265. package/dist/components/Flag/index.cjs +1 -1
  266. package/dist/components/Flag/index.js +1 -1
  267. package/dist/components/FullscreenToggle/index.cjs +1 -1
  268. package/dist/components/FullscreenToggle/index.js +1 -1
  269. package/dist/components/IconButton/index.cjs +1 -1
  270. package/dist/components/IconButton/index.js +1 -1
  271. package/dist/components/ImageEditor/index.cjs +1 -1
  272. package/dist/components/ImageEditor/index.js +1 -1
  273. package/dist/components/Loader/index.cjs +1 -1
  274. package/dist/components/Loader/index.js +1 -1
  275. package/dist/components/LocationPicker/index.cjs +1 -1
  276. package/dist/components/LocationPicker/index.js +1 -1
  277. package/dist/components/Modal/index.cjs +1 -1
  278. package/dist/components/Modal/index.js +1 -1
  279. package/dist/components/MultiSelect/index.cjs +1 -1
  280. package/dist/components/MultiSelect/index.js +1 -1
  281. package/dist/components/NumberField/index.cjs +1 -1
  282. package/dist/components/NumberField/index.js +1 -1
  283. package/dist/components/OtpField/index.cjs +1 -1
  284. package/dist/components/OtpField/index.js +1 -1
  285. package/dist/components/PageError/index.cjs +1 -1
  286. package/dist/components/PageError/index.js +1 -1
  287. package/dist/components/PageLayout/index.cjs +1 -1
  288. package/dist/components/PageLayout/index.js +1 -1
  289. package/dist/components/PageNotFound/index.cjs +1 -1
  290. package/dist/components/PageNotFound/index.js +1 -1
  291. package/dist/components/Pagination/index.cjs +1 -1
  292. package/dist/components/Pagination/index.js +1 -1
  293. package/dist/components/PaletteField/index.cjs +1 -1
  294. package/dist/components/PaletteField/index.js +1 -1
  295. package/dist/components/PhoneField/index.cjs +1 -1
  296. package/dist/components/PhoneField/index.js +1 -1
  297. package/dist/components/Popconfirm/index.cjs +1 -1
  298. package/dist/components/Popconfirm/index.js +1 -1
  299. package/dist/components/Progress/index.cjs +1 -1
  300. package/dist/components/Progress/index.js +1 -1
  301. package/dist/components/QrCode/index.cjs +1 -1
  302. package/dist/components/QrCode/index.js +1 -1
  303. package/dist/components/RemoveDialog/index.cjs +1 -1
  304. package/dist/components/RemoveDialog/index.js +1 -1
  305. package/dist/components/RichTextEditor/index.cjs +1 -1
  306. package/dist/components/RichTextEditor/index.js +1 -1
  307. package/dist/components/RichTextEditor/nodes/ImageNode.d.cts +17 -5
  308. package/dist/components/RichTextEditor/nodes/ImageNode.d.ts +17 -5
  309. package/dist/components/RootLayout/index.cjs +1 -1
  310. package/dist/components/RootLayout/index.js +1 -1
  311. package/dist/components/Select/index.cjs +1 -1
  312. package/dist/components/Select/index.js +1 -1
  313. package/dist/components/Sidebar/index.cjs +1 -1
  314. package/dist/components/Sidebar/index.js +1 -1
  315. package/dist/components/Slider/index.cjs +1 -1
  316. package/dist/components/Slider/index.js +1 -1
  317. package/dist/components/SpeedDial/index.cjs +1 -1
  318. package/dist/components/SpeedDial/index.js +1 -1
  319. package/dist/components/Stepper/index.cjs +1 -1
  320. package/dist/components/Stepper/index.js +1 -1
  321. package/dist/components/Table/index.cjs +1 -1
  322. package/dist/components/Table/index.js +1 -1
  323. package/dist/components/Tabs/index.cjs +1 -1
  324. package/dist/components/Tabs/index.js +1 -1
  325. package/dist/components/TagsField/index.cjs +1 -1
  326. package/dist/components/TagsField/index.js +1 -1
  327. package/dist/components/TextField/index.cjs +1 -1
  328. package/dist/components/TextField/index.js +1 -1
  329. package/dist/components/ThemeToggle/index.cjs +1 -1
  330. package/dist/components/ThemeToggle/index.js +1 -1
  331. package/dist/components/TimePicker/index.cjs +1 -1
  332. package/dist/components/TimePicker/index.js +1 -1
  333. package/dist/components/Toast/index.cjs +1 -1
  334. package/dist/components/Toast/index.js +1 -1
  335. package/dist/components/TranslatedFields/index.cjs +1 -1
  336. package/dist/components/TranslatedFields/index.js +1 -1
  337. package/dist/components/UserCard/index.cjs +1 -1
  338. package/dist/components/UserCard/index.js +1 -1
  339. package/dist/entries/app.cjs +1 -1
  340. package/dist/entries/app.js +1 -1
  341. package/dist/entries/components.cjs +1 -1
  342. package/dist/entries/components.js +53 -53
  343. package/dist/entries/i18n.cjs +1 -1
  344. package/dist/entries/i18n.js +2 -2
  345. package/dist/entries/theme.cjs +1 -1
  346. package/dist/entries/theme.js +1 -1
  347. package/dist/i18n/messages.d.cts +5 -0
  348. package/dist/i18n/messages.d.ts +5 -0
  349. package/dist/index.cjs +1 -1
  350. package/dist/index.css +1 -1
  351. package/dist/index.js +56 -56
  352. package/dist/{messages-BZYBZ3GR.js → messages-DeQuvGln.js} +47 -12
  353. package/dist/messages-DeQuvGln.js.map +1 -0
  354. package/dist/{messages-CTHjpVJq.cjs → messages-dL9MkVze.cjs} +9 -9
  355. package/dist/messages-dL9MkVze.cjs.map +1 -0
  356. package/dist/{useHomeTo-Biyc-Un8.js → useHomeTo-BL3e8Sc6.js} +2 -2
  357. package/dist/{useHomeTo-Biyc-Un8.js.map → useHomeTo-BL3e8Sc6.js.map} +1 -1
  358. package/dist/{useHomeTo-D7wcH6aw.cjs → useHomeTo-W1PDW5CU.cjs} +2 -2
  359. package/dist/{useHomeTo-D7wcH6aw.cjs.map → useHomeTo-W1PDW5CU.cjs.map} +1 -1
  360. package/dist/{useOptionMenu-BTt8t9SM.js → useOptionMenu-BkKiZ6Ax.js} +3 -3
  361. package/dist/{useOptionMenu-BTt8t9SM.js.map → useOptionMenu-BkKiZ6Ax.js.map} +1 -1
  362. package/dist/{useOptionMenu-B40OOVsO.cjs → useOptionMenu-CVl7VHXl.cjs} +2 -2
  363. package/dist/{useOptionMenu-B40OOVsO.cjs.map → useOptionMenu-CVl7VHXl.cjs.map} +1 -1
  364. package/package.json +1 -1
  365. package/dist/FileUploader-B27Y4rak.js +0 -706
  366. package/dist/FileUploader-B27Y4rak.js.map +0 -1
  367. package/dist/FileUploader-DkvFO0N_.cjs +0 -2
  368. package/dist/FileUploader-DkvFO0N_.cjs.map +0 -1
  369. package/dist/ImageEditor-DTFQZ6ON.js.map +0 -1
  370. package/dist/ImageEditor-D_HKfDbx.cjs +0 -60
  371. package/dist/ImageEditor-D_HKfDbx.cjs.map +0 -1
  372. package/dist/RichTextEditor-BhVE1q4U.cjs +0 -2
  373. package/dist/RichTextEditor-BhVE1q4U.cjs.map +0 -1
  374. package/dist/RichTextEditor-DQz9jGD3.js +0 -1011
  375. package/dist/RichTextEditor-DQz9jGD3.js.map +0 -1
  376. package/dist/messages-BZYBZ3GR.js.map +0 -1
  377. package/dist/messages-CTHjpVJq.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper-WqkfGPnQ.cjs","sources":["../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { removeQueryParam, useClearUrlOnUnmount } from '../../hooks/useClearUrlOnUnmount'\nimport { useStepQueryKey, type ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { Icon } from '../Icon'\nimport styles from './Stepper.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type StepperOrientation = 'horizontal' | 'vertical'\nexport type StepperSize = 'sm' | 'md' | 'lg'\n\nexport interface StepItem {\n /** Step label. */\n label?: ReactNode\n /** Muted secondary line under the label. */\n description?: ReactNode\n /** Muted caption under the label (e.g. `\"Optional\"`). */\n optional?: ReactNode\n /** Override the step's number indicator with an icon — a known `IconName` or any node. */\n icon?: IconName | ReactNode\n /** Force the **completed** look regardless of the active step (e.g. an already-saved step). */\n completed?: boolean\n /** Marks the step **invalid** — a red indicator + label (e.g. its form section failed validation). */\n error?: boolean\n /** Disables the step — dimmed, (when clickable) not selectable, and skipped by the URL restore. */\n disabled?: boolean\n /**\n * Panel content rendered while this step is active — **below the strip** in horizontal mode, and\n * **inline under the step** (indented beside the rail) in vertical mode. Optional.\n */\n content?: ReactNode\n}\n\nexport interface StepperProps {\n /** The steps, in order. */\n steps: StepItem[]\n /**\n * Controlled current step index (**0-based**). Steps before it read **completed**, the one at it is\n * **active**, and those after it are **upcoming**. Omit for uncontrolled (see `defaultStep`).\n */\n activeStep?: number\n /**\n * Initial step index (uncontrolled). A valid URL step (when URL sync is active) wins over it; with\n * neither, the first enabled step.\n */\n defaultStep?: number\n /**\n * Fires with the next step index whenever the stepper itself changes the step — a clicked step head,\n * or a Back/Forward `popstate` restore. In controlled mode apply it to your `activeStep` state.\n */\n onStepChange?: (index: number) => void\n /**\n * **Opt-in** URL sync — **off by default** (the URL is never touched when omitted). Pass the bare\n * prop (**`queryKey`** / `true`) to sync the active step under the configured `keys.stepQueryKey`\n * (else `'step'`), or a **string** for a custom param name. The URL value is **1-based**\n * (`?step=2` = index 1) and a page refresh restores it. Two synced steppers on one page need\n * distinct keys.\n */\n queryKey?: boolean | string\n /**\n * Push a history entry on each step change, so the browser **Back** button returns to the previous\n * step. Defaults to `false` — step changes **replace** the URL, so Back leaves the page instead of\n * stepping back through the wizard (and `popstate` still restores a step when one is in the query).\n */\n pushHistory?: boolean\n /**\n * With `queryKey` sync on, remove the step param when the stepper unmounts **on the same page** — a wizard\n * in a closing `Modal`, a finished flow swapped out — so `?step=3` doesn't outlive it. After a navigation to\n * another pathname nothing is touched. Defaults to `true`.\n */\n clearUrlOnUnmount?: boolean\n /**\n * Layout direction. `horizontal` (default) centers each label **under** its circle and **scrolls\n * sideways** when the steps don't fit (so it fits a phone as-is); `vertical` stacks the steps along\n * a rail connector.\n */\n orientation?: StepperOrientation\n /** Preset size. Defaults to `'md'`. */\n size?: StepperSize\n /** Theme palette token tinting the active / completed steps. Defaults to `'primary'`. */\n color?: ThemeColor\n /**\n * Makes steps **clickable** — each step head becomes a `<button>` that fires this with the step index\n * (a `disabled` step never fires); an uncontrolled stepper also selects the clicked step itself. Omit\n * for a display-only progress indicator.\n */\n onStepClick?: (index: number) => void\n /** Accessible label for the stepper list. */\n 'aria-label'?: string\n className?: string\n style?: CSSProperties\n}\n\n/**\n * A step progress indicator. Data-driven via `steps` (each: `label`, `description`, `optional`, `icon`,\n * `completed`, `error`, `disabled`, `content`) — controlled (`activeStep`, 0-based) or uncontrolled\n * (`defaultStep`). **Opt-in URL sync:** pass **`queryKey`** (bare/`true` = the configured\n * `keys.stepQueryKey`, else `'step'`; or a custom string) and the active step syncs to that query param\n * (**1-based** — `?step=2`) so a refresh restores it; with no `queryKey` the URL is never touched. A synced\n * stepper that unmounts on the same page removes its param again (`clearUrlOnUnmount`, default `true`).\n * Synced step changes **replace** the URL (Back doesn't walk the wizard); pass **`pushHistory`** to\n * step back with Back.\n * Horizontal (labels centered under the circles) or `vertical` (a rail); when the horizontal steps\n * don't fit, the strip **scrolls sideways** (scrollbar hidden, the active step kept in view) — so it\n * fits a phone as-is. The active step's **`content`** renders below the strip (horizontal) or inline\n * under the step (vertical). Pass **`onStepClick`** to make the steps navigable. Tinted by `color` via\n * the shared `--tz-btn-rgb` pattern; the list is an `<ol>` with `aria-current=\"step\"` on the active step.\n */\nexport const Stepper = forwardRef<HTMLDivElement, StepperProps>(function Stepper(\n {\n steps,\n activeStep,\n defaultStep,\n onStepChange,\n queryKey,\n pushHistory = false,\n clearUrlOnUnmount = true,\n orientation = 'horizontal',\n size = 'md',\n color = 'primary',\n onStepClick,\n 'aria-label': ariaLabel,\n className,\n style,\n },\n ref,\n) {\n const vertical = orientation === 'vertical'\n const clickable = onStepClick != null\n\n // resolve the URL-sync key — OPT-IN: omitted/false = no sync (URL untouched); the bare/`true` form\n // uses the configured default (`keys.stepQueryKey`, else 'step'); a string is a custom param name\n const stepQueryKey = useStepQueryKey()\n const syncKey = queryKey === true ? stepQueryKey : queryKey || undefined\n\n const isSelectable = useCallback(\n (i: number | null | undefined): i is number =>\n i != null && Number.isInteger(i) && i >= 0 && i < steps.length && !steps[i].disabled,\n [steps],\n )\n\n // the URL carries the step 1-based (`?step=2` = index 1) — human-friendly, like Table's page param\n const readQuery = useCallback((): number | null => {\n if (!syncKey || typeof window === 'undefined') return null\n const raw = new URLSearchParams(window.location.search).get(syncKey)\n return raw != null && /^\\d+$/.test(raw) ? Number(raw) - 1 : null\n }, [syncKey])\n\n const firstEnabled = Math.max(\n steps.findIndex((s) => !s.disabled),\n 0,\n )\n\n const [internal, setInternal] = useState<number>(() => {\n const q = readQuery()\n if (isSelectable(q)) return q\n return isSelectable(defaultStep) ? defaultStep : firstEnabled\n })\n const isControlled = activeStep !== undefined\n // controlled mode renders the given index verbatim (even past the last step — the \"all completed\"\n // pattern); only the URL/popstate restores are gated by `isSelectable`\n const active = isControlled ? activeStep : internal\n\n // keep the latest active / onStepChange / push-intent for the stable effects + popstate listener\n const activeRef = useRef(active)\n activeRef.current = active\n const onStepChangeRef = useRef(onStepChange)\n onStepChangeRef.current = onStepChange\n const pushIntent = useRef(false)\n\n const writeQuery = useCallback(\n (next: number, push: boolean) => {\n if (!syncKey || typeof window === 'undefined') return\n const params = new URLSearchParams(window.location.search)\n const value = String(next + 1)\n if (params.get(syncKey) === value) return\n params.set(syncKey, value)\n const url = `${window.location.pathname}?${params.toString()}${window.location.hash}`\n window.history[push ? 'pushState' : 'replaceState'](window.history.state, '', url)\n },\n [syncKey],\n )\n\n const select = (next: number) => {\n if (next === activeRef.current) return\n pushIntent.current = true\n if (!isControlled) setInternal(next)\n onStepChange?.(next)\n }\n\n // mirror the active step into the URL whenever it changes (and on mount = canonicalize). A\n // user-driven change `push`es when `pushHistory`; programmatic / popstate changes just `replace`.\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n // an out-of-range active (e.g. `steps.length` = \"all done\") isn't a step — leave the URL alone\n if (!Number.isInteger(active) || active < 0 || active >= steps.length) return\n const push = pushIntent.current && pushHistory\n pushIntent.current = false\n writeQuery(active, push)\n }, [syncKey, active, pushHistory, writeQuery, steps.length])\n\n // unmount on the same page → drop the step param (shared rule: not after a navigation, StrictMode-safe)\n useClearUrlOnUnmount(syncKey, clearUrlOnUnmount, () => {\n if (syncKey) removeQueryParam(syncKey)\n })\n\n // Back/Forward → restore the step from the query\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n const onPopState = () => {\n const q = readQuery()\n if (isSelectable(q) && q !== activeRef.current) {\n if (activeStep === undefined) setInternal(q)\n onStepChangeRef.current?.(q)\n }\n }\n window.addEventListener('popstate', onPopState)\n return () => window.removeEventListener('popstate', onPopState)\n }, [syncKey, readQuery, isSelectable, activeStep])\n\n const activeContent = steps[active]?.content\n\n // when the horizontal strip overflows (scrolls sideways), keep the active step in view — by moving\n // the strip's own scrollLeft only. (scrollIntoView would also scroll every scrollable ancestor —\n // i.e. the page itself — yanking the viewport down to the stepper on mount.)\n const listRef = useRef<HTMLOListElement | null>(null)\n useEffect(() => {\n if (orientation === 'vertical') return // the vertical rail never scrolls sideways\n const list = listRef.current\n const el = list?.children[active] as HTMLElement | undefined\n if (!list || !el) return\n const listRect = list.getBoundingClientRect()\n const elRect = el.getBoundingClientRect()\n const left = elRect.left - listRect.left + list.scrollLeft\n const right = left + elRect.width\n if (left < list.scrollLeft) list.scrollLeft = left\n else if (right > list.scrollLeft + list.clientWidth) list.scrollLeft = right - list.clientWidth\n }, [active, orientation])\n\n const renderIcon = (icon: StepItem['icon']) =>\n typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={size} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.root, styles[orientation], styles[size], className)}\n style={\n {\n '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`,\n '--tz-btn-on': `var(--tz-color-${color}-contrast, #fff)`,\n ...style,\n } as CSSProperties\n }\n >\n <ol ref={listRef} aria-label={ariaLabel} className={styles.list}>\n {steps.map((step, i) => {\n const isError = !!step.error\n const isCompleted = !isError && (step.completed || i < active)\n const isActive = !isError && !isCompleted && i === active\n const state = isError\n ? 'error'\n : isCompleted\n ? 'completed'\n : isActive\n ? 'active'\n : 'upcoming'\n const isLast = i === steps.length - 1\n\n const icon = renderIcon(step.icon)\n const indicator =\n icon != null ? (\n icon\n ) : isCompleted ? (\n <Icon name=\"Check\" size={size} />\n ) : (\n <span className={styles.number}>{i + 1}</span>\n )\n\n const hasText = step.label != null || step.description != null || step.optional != null\n const head = (\n <>\n <span\n className={styles.indicator}\n aria-hidden={icon == null && !isCompleted ? undefined : true}\n >\n {indicator}\n </span>\n {hasText && (\n <span className={styles.text}>\n {step.label != null && <span className={styles.label}>{step.label}</span>}\n {step.description != null && (\n <span className={styles.description}>{step.description}</span>\n )}\n {step.optional != null && (\n <span className={styles.optional}>{step.optional}</span>\n )}\n </span>\n )}\n </>\n )\n\n return (\n <li\n key={i}\n className={clsx(styles.step, styles[state], step.disabled && styles.disabled)}\n >\n {clickable ? (\n <button\n type=\"button\"\n className={styles.main}\n disabled={step.disabled}\n aria-current={isActive ? 'step' : undefined}\n onClick={() => {\n onStepClick?.(i)\n select(i)\n }}\n >\n {head}\n </button>\n ) : (\n <div className={styles.main} aria-current={isActive ? 'step' : undefined}>\n {head}\n </div>\n )}\n {!isLast && (\n <span\n className={clsx(styles.connector, i < active && styles.done)}\n aria-hidden=\"true\"\n />\n )}\n {/* vertical: the active step's content sits inline, indented beside the rail */}\n {vertical && i === active && step.content != null && (\n <div className={styles.stepContent}>{step.content}</div>\n )}\n </li>\n )\n })}\n </ol>\n {/* horizontal: the active step's content renders as a panel below the strip */}\n {!vertical && activeContent != null && <div className={styles.panel}>{activeContent}</div>}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","Stepper","forwardRef","steps","activeStep","defaultStep","onStepChange","queryKey","pushHistory","clearUrlOnUnmount","orientation","size","color","onStepClick","ariaLabel","className","style","ref","vertical","clickable","stepQueryKey","useStepQueryKey","syncKey","isSelectable","useCallback","i","readQuery","raw","firstEnabled","s","internal","setInternal","useState","q","isControlled","active","activeRef","useRef","onStepChangeRef","pushIntent","writeQuery","next","push","params","value","url","select","useEffect","useClearUrlOnUnmount","onPopState","_a","activeContent","listRef","list","el","listRect","elRect","left","right","renderIcon","icon","jsx","Icon","jsxs","clsx","styles","step","isError","isCompleted","isActive","state","isLast","indicator","hasText","head","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"Stepper-DqM86TGV.cjs","sources":["../src/components/Stepper/Stepper.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { removeQueryParam, useClearUrlOnUnmount } from '../../hooks/useClearUrlOnUnmount'\nimport { useStepQueryKey, type ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { Icon } from '../Icon'\nimport styles from './Stepper.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type StepperOrientation = 'horizontal' | 'vertical'\nexport type StepperSize = 'sm' | 'md' | 'lg'\n\nexport interface StepItem {\n /** Step label. */\n label?: ReactNode\n /** Muted secondary line under the label. */\n description?: ReactNode\n /** Muted caption under the label (e.g. `\"Optional\"`). */\n optional?: ReactNode\n /** Override the step's number indicator with an icon — a known `IconName` or any node. */\n icon?: IconName | ReactNode\n /** Force the **completed** look regardless of the active step (e.g. an already-saved step). */\n completed?: boolean\n /** Marks the step **invalid** — a red indicator + label (e.g. its form section failed validation). */\n error?: boolean\n /** Disables the step — dimmed, (when clickable) not selectable, and skipped by the URL restore. */\n disabled?: boolean\n /**\n * Panel content rendered while this step is active — **below the strip** in horizontal mode, and\n * **inline under the step** (indented beside the rail) in vertical mode. Optional.\n */\n content?: ReactNode\n}\n\nexport interface StepperProps {\n /** The steps, in order. */\n steps: StepItem[]\n /**\n * Controlled current step index (**0-based**). Steps before it read **completed**, the one at it is\n * **active**, and those after it are **upcoming**. Omit for uncontrolled (see `defaultStep`).\n */\n activeStep?: number\n /**\n * Initial step index (uncontrolled). A valid URL step (when URL sync is active) wins over it; with\n * neither, the first enabled step.\n */\n defaultStep?: number\n /**\n * Fires with the next step index whenever the stepper itself changes the step — a clicked step head,\n * or a Back/Forward `popstate` restore. In controlled mode apply it to your `activeStep` state.\n */\n onStepChange?: (index: number) => void\n /**\n * **Opt-in** URL sync — **off by default** (the URL is never touched when omitted). Pass the bare\n * prop (**`queryKey`** / `true`) to sync the active step under the configured `keys.stepQueryKey`\n * (else `'step'`), or a **string** for a custom param name. The URL value is **1-based**\n * (`?step=2` = index 1) and a page refresh restores it. Two synced steppers on one page need\n * distinct keys.\n */\n queryKey?: boolean | string\n /**\n * Push a history entry on each step change, so the browser **Back** button returns to the previous\n * step. Defaults to `false` — step changes **replace** the URL, so Back leaves the page instead of\n * stepping back through the wizard (and `popstate` still restores a step when one is in the query).\n */\n pushHistory?: boolean\n /**\n * With `queryKey` sync on, remove the step param when the stepper unmounts **on the same page** — a wizard\n * in a closing `Modal`, a finished flow swapped out — so `?step=3` doesn't outlive it. After a navigation to\n * another pathname nothing is touched. Defaults to `true`.\n */\n clearUrlOnUnmount?: boolean\n /**\n * Layout direction. `horizontal` (default) centers each label **under** its circle and **scrolls\n * sideways** when the steps don't fit (so it fits a phone as-is); `vertical` stacks the steps along\n * a rail connector.\n */\n orientation?: StepperOrientation\n /** Preset size. Defaults to `'md'`. */\n size?: StepperSize\n /** Theme palette token tinting the active / completed steps. Defaults to `'primary'`. */\n color?: ThemeColor\n /**\n * Makes steps **clickable** — each step head becomes a `<button>` that fires this with the step index\n * (a `disabled` step never fires); an uncontrolled stepper also selects the clicked step itself. Omit\n * for a display-only progress indicator.\n */\n onStepClick?: (index: number) => void\n /** Accessible label for the stepper list. */\n 'aria-label'?: string\n className?: string\n style?: CSSProperties\n}\n\n/**\n * A step progress indicator. Data-driven via `steps` (each: `label`, `description`, `optional`, `icon`,\n * `completed`, `error`, `disabled`, `content`) — controlled (`activeStep`, 0-based) or uncontrolled\n * (`defaultStep`). **Opt-in URL sync:** pass **`queryKey`** (bare/`true` = the configured\n * `keys.stepQueryKey`, else `'step'`; or a custom string) and the active step syncs to that query param\n * (**1-based** — `?step=2`) so a refresh restores it; with no `queryKey` the URL is never touched. A synced\n * stepper that unmounts on the same page removes its param again (`clearUrlOnUnmount`, default `true`).\n * Synced step changes **replace** the URL (Back doesn't walk the wizard); pass **`pushHistory`** to\n * step back with Back.\n * Horizontal (labels centered under the circles) or `vertical` (a rail); when the horizontal steps\n * don't fit, the strip **scrolls sideways** (scrollbar hidden, the active step kept in view) — so it\n * fits a phone as-is. The active step's **`content`** renders below the strip (horizontal) or inline\n * under the step (vertical). Pass **`onStepClick`** to make the steps navigable. Tinted by `color` via\n * the shared `--tz-btn-rgb` pattern; the list is an `<ol>` with `aria-current=\"step\"` on the active step.\n */\nexport const Stepper = forwardRef<HTMLDivElement, StepperProps>(function Stepper(\n {\n steps,\n activeStep,\n defaultStep,\n onStepChange,\n queryKey,\n pushHistory = false,\n clearUrlOnUnmount = true,\n orientation = 'horizontal',\n size = 'md',\n color = 'primary',\n onStepClick,\n 'aria-label': ariaLabel,\n className,\n style,\n },\n ref,\n) {\n const vertical = orientation === 'vertical'\n const clickable = onStepClick != null\n\n // resolve the URL-sync key — OPT-IN: omitted/false = no sync (URL untouched); the bare/`true` form\n // uses the configured default (`keys.stepQueryKey`, else 'step'); a string is a custom param name\n const stepQueryKey = useStepQueryKey()\n const syncKey = queryKey === true ? stepQueryKey : queryKey || undefined\n\n const isSelectable = useCallback(\n (i: number | null | undefined): i is number =>\n i != null && Number.isInteger(i) && i >= 0 && i < steps.length && !steps[i].disabled,\n [steps],\n )\n\n // the URL carries the step 1-based (`?step=2` = index 1) — human-friendly, like Table's page param\n const readQuery = useCallback((): number | null => {\n if (!syncKey || typeof window === 'undefined') return null\n const raw = new URLSearchParams(window.location.search).get(syncKey)\n return raw != null && /^\\d+$/.test(raw) ? Number(raw) - 1 : null\n }, [syncKey])\n\n const firstEnabled = Math.max(\n steps.findIndex((s) => !s.disabled),\n 0,\n )\n\n const [internal, setInternal] = useState<number>(() => {\n const q = readQuery()\n if (isSelectable(q)) return q\n return isSelectable(defaultStep) ? defaultStep : firstEnabled\n })\n const isControlled = activeStep !== undefined\n // controlled mode renders the given index verbatim (even past the last step — the \"all completed\"\n // pattern); only the URL/popstate restores are gated by `isSelectable`\n const active = isControlled ? activeStep : internal\n\n // keep the latest active / onStepChange / push-intent for the stable effects + popstate listener\n const activeRef = useRef(active)\n activeRef.current = active\n const onStepChangeRef = useRef(onStepChange)\n onStepChangeRef.current = onStepChange\n const pushIntent = useRef(false)\n\n const writeQuery = useCallback(\n (next: number, push: boolean) => {\n if (!syncKey || typeof window === 'undefined') return\n const params = new URLSearchParams(window.location.search)\n const value = String(next + 1)\n if (params.get(syncKey) === value) return\n params.set(syncKey, value)\n const url = `${window.location.pathname}?${params.toString()}${window.location.hash}`\n window.history[push ? 'pushState' : 'replaceState'](window.history.state, '', url)\n },\n [syncKey],\n )\n\n const select = (next: number) => {\n if (next === activeRef.current) return\n pushIntent.current = true\n if (!isControlled) setInternal(next)\n onStepChange?.(next)\n }\n\n // mirror the active step into the URL whenever it changes (and on mount = canonicalize). A\n // user-driven change `push`es when `pushHistory`; programmatic / popstate changes just `replace`.\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n // an out-of-range active (e.g. `steps.length` = \"all done\") isn't a step — leave the URL alone\n if (!Number.isInteger(active) || active < 0 || active >= steps.length) return\n const push = pushIntent.current && pushHistory\n pushIntent.current = false\n writeQuery(active, push)\n }, [syncKey, active, pushHistory, writeQuery, steps.length])\n\n // unmount on the same page → drop the step param (shared rule: not after a navigation, StrictMode-safe)\n useClearUrlOnUnmount(syncKey, clearUrlOnUnmount, () => {\n if (syncKey) removeQueryParam(syncKey)\n })\n\n // Back/Forward → restore the step from the query\n useEffect(() => {\n if (!syncKey || typeof window === 'undefined') return\n const onPopState = () => {\n const q = readQuery()\n if (isSelectable(q) && q !== activeRef.current) {\n if (activeStep === undefined) setInternal(q)\n onStepChangeRef.current?.(q)\n }\n }\n window.addEventListener('popstate', onPopState)\n return () => window.removeEventListener('popstate', onPopState)\n }, [syncKey, readQuery, isSelectable, activeStep])\n\n const activeContent = steps[active]?.content\n\n // when the horizontal strip overflows (scrolls sideways), keep the active step in view — by moving\n // the strip's own scrollLeft only. (scrollIntoView would also scroll every scrollable ancestor —\n // i.e. the page itself — yanking the viewport down to the stepper on mount.)\n const listRef = useRef<HTMLOListElement | null>(null)\n useEffect(() => {\n if (orientation === 'vertical') return // the vertical rail never scrolls sideways\n const list = listRef.current\n const el = list?.children[active] as HTMLElement | undefined\n if (!list || !el) return\n const listRect = list.getBoundingClientRect()\n const elRect = el.getBoundingClientRect()\n const left = elRect.left - listRect.left + list.scrollLeft\n const right = left + elRect.width\n if (left < list.scrollLeft) list.scrollLeft = left\n else if (right > list.scrollLeft + list.clientWidth) list.scrollLeft = right - list.clientWidth\n }, [active, orientation])\n\n const renderIcon = (icon: StepItem['icon']) =>\n typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={size} />\n ) : (\n icon\n )\n\n return (\n <div\n ref={ref}\n className={clsx(styles.root, styles[orientation], styles[size], className)}\n style={\n {\n '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`,\n '--tz-btn-on': `var(--tz-color-${color}-contrast, #fff)`,\n ...style,\n } as CSSProperties\n }\n >\n <ol ref={listRef} aria-label={ariaLabel} className={styles.list}>\n {steps.map((step, i) => {\n const isError = !!step.error\n const isCompleted = !isError && (step.completed || i < active)\n const isActive = !isError && !isCompleted && i === active\n const state = isError\n ? 'error'\n : isCompleted\n ? 'completed'\n : isActive\n ? 'active'\n : 'upcoming'\n const isLast = i === steps.length - 1\n\n const icon = renderIcon(step.icon)\n const indicator =\n icon != null ? (\n icon\n ) : isCompleted ? (\n <Icon name=\"Check\" size={size} />\n ) : (\n <span className={styles.number}>{i + 1}</span>\n )\n\n const hasText = step.label != null || step.description != null || step.optional != null\n const head = (\n <>\n <span\n className={styles.indicator}\n aria-hidden={icon == null && !isCompleted ? undefined : true}\n >\n {indicator}\n </span>\n {hasText && (\n <span className={styles.text}>\n {step.label != null && <span className={styles.label}>{step.label}</span>}\n {step.description != null && (\n <span className={styles.description}>{step.description}</span>\n )}\n {step.optional != null && (\n <span className={styles.optional}>{step.optional}</span>\n )}\n </span>\n )}\n </>\n )\n\n return (\n <li\n key={i}\n className={clsx(styles.step, styles[state], step.disabled && styles.disabled)}\n >\n {clickable ? (\n <button\n type=\"button\"\n className={styles.main}\n disabled={step.disabled}\n aria-current={isActive ? 'step' : undefined}\n onClick={() => {\n onStepClick?.(i)\n select(i)\n }}\n >\n {head}\n </button>\n ) : (\n <div className={styles.main} aria-current={isActive ? 'step' : undefined}>\n {head}\n </div>\n )}\n {!isLast && (\n <span\n className={clsx(styles.connector, i < active && styles.done)}\n aria-hidden=\"true\"\n />\n )}\n {/* vertical: the active step's content sits inline, indented beside the rail */}\n {vertical && i === active && step.content != null && (\n <div className={styles.stepContent}>{step.content}</div>\n )}\n </li>\n )\n })}\n </ol>\n {/* horizontal: the active step's content renders as a panel below the strip */}\n {!vertical && activeContent != null && <div className={styles.panel}>{activeContent}</div>}\n </div>\n )\n})\n"],"names":["ICON_NAME_SET","ICON_NAMES","Stepper","forwardRef","steps","activeStep","defaultStep","onStepChange","queryKey","pushHistory","clearUrlOnUnmount","orientation","size","color","onStepClick","ariaLabel","className","style","ref","vertical","clickable","stepQueryKey","useStepQueryKey","syncKey","isSelectable","useCallback","i","readQuery","raw","firstEnabled","s","internal","setInternal","useState","q","isControlled","active","activeRef","useRef","onStepChangeRef","pushIntent","writeQuery","next","push","params","value","url","select","useEffect","useClearUrlOnUnmount","onPopState","_a","activeContent","listRef","list","el","listRect","elRect","left","right","renderIcon","icon","jsx","Icon","jsxs","clsx","styles","step","isError","isCompleted","isActive","state","isLast","indicator","hasText","head","Fragment"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),p=require("react"),k=require("clsx"),ee=require("@tanstack/react-table"),W=require("@dnd-kit/core"),ne=require("@dnd-kit/sortable"),un=require("@dnd-kit/utilities"),fe=require("./table-CZRQGNdk.cjs"),Rt=require("./Badge-DVbe1rAI.cjs"),_t=require("./Button-Bxztlybi.cjs"),Fe=require("./DatePicker-UQwpH-rw.cjs"),qe=require("./DateTimePicker-ClTZGMON.cjs"),D=require("./Icon-CBg21lKA.cjs"),He=require("./IconButton-wW1o4HHw.cjs"),fn=require("./Modal-Du-uVpYw.cjs"),mn=require("./MultiSelect-lAAaD0uL.cjs"),Le=require("./NumberField-CyUA6eob.cjs"),St=require("./RadioGroup-687BVZ7k.cjs"),Mt=require("./Select-DVoL547R.cjs"),gn=require("./Slider-DxnCQRSH.cjs"),Ct=require("./TextField-DUv689u2.cjs"),Ae=require("./TimePicker-BHFNH8LR.cjs"),X=require("./Typography-d97DdbNd.cjs"),re=require("./ConfigProvider-Cf-awvZs.cjs"),wt=require("./Dropdown-C_y9_dVn.cjs"),pn=require("./EmptyState-C84B-E8a.cjs"),jt=require("./ListItem-CguNjf-u.cjs"),hn=require("./Loader-DNR2_YHm.cjs"),xn=require("./Pagination-DO2Os4an.cjs"),$e=require("./Skeleton-DK0lAjS9.cjs"),yn=require("./errorMessage-C7N4KvUS.cjs");function Oe(t,n){if(n==null)return!1;switch(t){case"number":return typeof n=="number"&&!Number.isNaN(n);case"boolean":return typeof n=="boolean";case"multiSelect":return Array.isArray(n)&&n.length>0;case"numberRange":case"numberRangeSlider":return Array.isArray(n)&&(n[0]!=null||n[1]!=null);case"dateRange":case"timeRange":case"dateTimeRange":return Array.isArray(n)&&!!(n[0]||n[1]);default:return typeof n=="string"&&n.trim()!==""}}function bn(t,n){return t.reduce((s,a)=>Oe(a.type,n[a.key])?s+1:s,0)}const Y=t=>String(t).padStart(2,"0"),Pt=t=>`${t.getFullYear()}-${Y(t.getMonth()+1)}-${Y(t.getDate())}`,_n=t=>`${Pt(t)}T${Y(t.getHours())}:${Y(t.getMinutes())}`,Sn=t=>`${Y(t.getHours())}:${Y(t.getMinutes())}`,Qe=t=>{if(!t)return null;const n=/^\d{4}-\d{2}-\d{2}$/.test(t)?`${t}T00:00:00`:t,s=new Date(n);return Number.isNaN(s.getTime())?null:s},De=t=>{const n=Qe(t);return n?Pt(n):t.slice(0,10)},Ee=t=>{const n=Qe(t);return n?_n(n):t.slice(0,16)},te=t=>{if(/\d{4}-\d{2}-\d{2}/.test(t)){const n=Qe(t);if(n)return Sn(n)}return(t.includes("T")?t.slice(t.indexOf("T")+1):t).slice(0,5)};function wn(t,n,s){const a=String(n??"");switch(t){case"text":return a.toLowerCase().includes(String(s).toLowerCase());case"number":return Number(n)===s;case"numberRange":case"numberRangeSlider":{const[h,f]=s,m=Number(n);return(h==null||m>=h)&&(f==null||m<=f)}case"select":case"radio":return a===s;case"multiSelect":return s.includes(a);case"boolean":return!!n===s;case"date":return De(a)===De(String(s));case"dateTime":return Ee(a)===Ee(String(s));case"time":return te(a)===te(String(s));case"dateRange":case"dateTimeRange":{const h=t==="dateRange"?De:Ee,[f,m]=s,g=h(a);return(!f||g>=h(f))&&(!m||g<=h(m))}case"timeRange":{const[h,f]=s,m=te(a);return(!h||m>=te(h))&&(!f||m<=te(f))}default:return!0}}function jn(t,n,s){const a=n.filter(h=>Oe(h.type,s[h.key]));return a.length===0?t:t.filter(h=>a.every(f=>wn(f.type,h[f.key],s[f.key])))}function kt(t,n,s={}){const a=new URLSearchParams,h=s.rangeMinSuffix??"Min",f=s.rangeMaxSuffix??"Max",m=s.multiSelectFormat??"repeat";for(const g of t){const i=n[g.key];if(!Oe(g.type,i))continue;const l=g.queryKey??g.key;switch(g.type){case"multiSelect":{const d=i;m==="csv"?a.set(l,d.join(",")):m==="indexed"?d.forEach((y,b)=>a.set(`${l}[${b}]`,y)):d.forEach(y=>a.append(l,y));break}case"numberRange":case"numberRangeSlider":{const[d,y]=i;d!=null&&a.set(l+h,String(d)),y!=null&&a.set(l+f,String(y));break}case"dateRange":case"timeRange":case"dateTimeRange":{const[d,y]=i;d&&a.set(l+h,d),y&&a.set(l+f,y);break}default:a.set(l,String(i))}}return a}function vt(t,n,s={}){const a=s.rangeMinSuffix??"Min",h=s.rangeMaxSuffix??"Max",f=s.multiSelectFormat??"repeat",m={};for(const g of t){const i=g.queryKey??g.key;switch(g.type){case"multiSelect":{let l=[];if(f==="csv"){const d=n.get(i);d&&(l=d.split(",").filter(Boolean))}else if(f==="indexed")for(let d=0;n.has(`${i}[${d}]`);d++)l.push(n.get(`${i}[${d}]`));else l=n.getAll(i);l.length&&(m[g.key]=l);break}case"numberRange":case"numberRangeSlider":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l!=null?Number(l):null,d!=null?Number(d):null]);break}case"dateRange":case"timeRange":case"dateTimeRange":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l??"",d??""]);break}case"number":{const l=n.get(i);if(l!=null){const d=Number(l);Number.isNaN(d)||(m[g.key]=d)}break}case"boolean":{const l=n.get(i);l==="true"?m[g.key]=!0:l==="false"&&(m[g.key]=!1);break}default:{const l=n.get(i);l&&(m[g.key]=l)}}}return m}const kn="_fields_xa8i1_2",vn="_field_xa8i1_2",Tn="_rangeLabel_xa8i1_15",Nn="_row_xa8i1_20",Rn="_rangeSep_xa8i1_30",Mn="_stack_xa8i1_36",Cn="_footer_xa8i1_43",Pn="_footerEnd_xa8i1_50",$={fields:kn,field:vn,rangeLabel:Tn,row:Nn,rangeSep:Rn,stack:Mn,footer:Cn,footerEnd:Pn},zn=(t,n)=>[{value:"",label:(t==null?void 0:t.any)??n("common.any")},{value:"true",label:(t==null?void 0:t.yes)??n("common.yes")},{value:"false",label:(t==null?void 0:t.no)??n("common.no")}],In=t=>t===!0?"true":t===!1?"false":"",Fn=t=>t==="true"?!0:t==="false"?!1:null;function me({label:t,from:n,to:s,stacked:a}){return r.jsxs("div",{className:$.field,children:[r.jsx(X.Typography,{variant:"bodySmall",className:$.rangeLabel,children:t}),a?r.jsxs("div",{className:$.stack,children:[n,s]}):r.jsxs("div",{className:$.row,children:[n,r.jsx("span",{className:$.rangeSep,"aria-hidden":!0,children:"–"}),s]})]})}function qn({filter:t,value:n,onChange:s}){const a=re.useT(),{type:h,label:f,options:m=[],placeholder:g}=t;switch(h){case"text":return r.jsx(Ct.TextField,{label:f,placeholder:g,value:n??"",onChange:i=>s(i.target.value)});case"number":return r.jsx(Le.NumberField,{label:f,placeholder:g,value:n??null,onChange:i=>s(i)});case"numberRange":{const[i,l]=n??[null,null];return r.jsx(me,{label:f,from:r.jsx(Le.NumberField,{placeholder:a("common.min"),value:i,onChange:d=>s([d,l])}),to:r.jsx(Le.NumberField,{placeholder:a("common.max"),value:l,onChange:d=>s([i,d])})})}case"numberRangeSlider":{const i=t.min??0,l=t.max??100,[d,y]=n??[null,null];return r.jsx(gn.Slider,{range:!0,label:f,min:i,max:l,step:t.step??1,value:[d??i,y??l],valueLabel:b=>{const[R,M]=b;return`${R} – ${M}`},onChange:b=>{const[R,M]=b;s([R<=i?null:R,M>=l?null:M])}})}case"select":return r.jsx(Mt.Select,{label:f,placeholder:g,options:m,value:n??"",onChange:i=>s(i)});case"radio":return r.jsx(St.RadioGroup,{label:f,orientation:t.orientation??"vertical",options:[{value:"",label:t.anyLabel??a("common.any")},...m.map(({value:i,label:l,disabled:d})=>({value:i,label:l,disabled:d}))],value:n??"",onChange:i=>s(i)});case"multiSelect":return r.jsx(mn.MultiSelect,{label:f,placeholder:g,options:m,value:n??[],onChange:i=>s(i)});case"boolean":return r.jsx(St.RadioGroup,{label:f,orientation:"horizontal",options:zn(t.booleanLabels,a),value:In(n),onChange:i=>s(Fn(i))});case"date":return r.jsx(Fe.DatePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Fe.DatePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Fe.DatePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"time":return r.jsx(Ae.TimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"timeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Ae.TimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Ae.TimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"dateTime":return r.jsx(qe.DateTimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateTimeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,stacked:!0,from:r.jsx(qe.DateTimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(qe.DateTimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}default:return null}}function Ln({filters:t,value:n,onChange:s}){const a=re.useT(),[h,f]=p.useState(!1),[m,g]=p.useState(n),i=bn(t,n),l=p.useId(),d=()=>{g(n),f(!0)},y=()=>{s(m),f(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(Rt.Badge,{content:i,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":a("table.filters"),onClick:d,children:r.jsx(D.Icon,{name:"Filter"})})}),r.jsx(fn.Modal,{open:h,onClose:()=>f(!1),placement:"right",size:"sm",icon:"Filter",title:a("table.filters"),description:a("table.filtersDescription"),footer:r.jsx("div",{className:$.footer,children:r.jsxs("div",{className:$.footerEnd,children:[r.jsx(_t.Button,{variant:"text",size:"sm",startIcon:r.jsx(D.Icon,{name:"Trash"}),onClick:()=>g({}),children:a("common.clear")}),r.jsx(_t.Button,{type:"submit",size:"sm",form:l,startIcon:r.jsx(D.Icon,{name:"Filter"}),children:a("common.apply")})]})}),children:r.jsx("form",{id:l,className:$.fields,onSubmit:b=>{b.preventDefault(),b.stopPropagation(),y()},children:t.map(b=>r.jsx(qn,{filter:b,value:m[b.key],onChange:R=>g(M=>({...M,[b.key]:R}))},b.key))})})]})}const An="_root_56of9_3",$n="_toolbar_56of9_17",Dn="_title_56of9_24",En="_toolbarStart_56of9_28",Bn="_toolbarEnd_56of9_35",Wn="_search_56of9_41",Hn="_scroll_56of9_9",On="_table_56of9_56",Qn="_th_56of9_63",Gn="_sticky_56of9_73",Un="_td_56of9_80",Kn="_tr_56of9_90",Xn="_wrapCell_56of9_97",Yn="_hoverable_56of9_102",Jn="_striped_56of9_106",Vn="_clickable_56of9_109",Zn="_empty_56of9_113",er="_menuTitle_56of9_120",tr="_skeletonCell_56of9_128",nr="_rowActions_56of9_132",rr="_skeletonActions_56of9_133",sr="_dragHandleCell_56of9_144",or="_dragHandle_56of9_144",ar="_dragging_56of9_175",ir="_pinnedLeft_56of9_183",cr="_pinnedRight_56of9_184",lr="_skeletonActionsCell_56of9_204",dr="_stateCell_56of9_245",ur="_loadingOverlay_56of9_249",fr="_footer_56of9_259",mr="_footerMain_56of9_265",gr="_pageSize_56of9_272",pr="_pageSizeSelect_56of9_278",hr="_rangeText_56of9_281",u={root:An,toolbar:$n,title:Dn,toolbarStart:En,toolbarEnd:Bn,search:Wn,scroll:Hn,table:On,th:Qn,sticky:Gn,td:Un,tr:Kn,wrapCell:Xn,hoverable:Yn,striped:Jn,clickable:Vn,empty:Zn,menuTitle:er,skeletonCell:tr,rowActions:nr,skeletonActions:rr,dragHandleCell:sr,dragHandle:or,dragging:ar,pinnedLeft:ir,pinnedRight:cr,skeletonActionsCell:lr,stateCell:dr,loadingOverlay:ur,footer:fr,footerMain:mr,pageSize:gr,pageSizeSelect:pr,rangeText:hr},ge=Number.MAX_SAFE_INTEGER,Tt=["8em","5.5em","7em","10em","4.5em","6.5em"],xr=280;function Be(t,n){return typeof t=="function"?t(n):t}function pe(t){return t.maxWidth??(t.wrap?xr:void 0)}function yr(t){return t==null||typeof t=="object"?"":String(t)}function br(t){return t==null||t===""||t===!1?r.jsx("span",{className:u.empty,"aria-hidden":!0,children:"—"}):t}function We(t){return t.toString().replace(/%2C/gi,",").replace(/%3A/gi,":").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Nt(t,n){const s={pageParam:"page",sizeParam:"size",searchParam:"search",sortParam:"sort",sortOrderParam:"order",...t},a=t.rangeMinSuffix??"Min",h=t.rangeMaxSuffix??"Max",f=[s.pageParam,s.sizeParam,s.searchParam,s.sortParam,s.sortOrderParam];for(const m of n??[]){const g=m.queryKey??m.key;f.push(g,g+a,g+h)}return m=>f.includes(m)||f.some(g=>m.startsWith(`${g}[`))}function _r(t,n,s){const a={...t};return n.top+t.y<=s.top?a.y=s.top-n.top:n.bottom+t.y>=s.top+s.height&&(a.y=s.top+s.height-n.bottom),n.left+t.x<=s.left?a.x=s.left-n.left:n.right+t.x>=s.left+s.width&&(a.x=s.left+s.width-n.right),a}const Sr=({transform:t})=>({...t,x:0}),wr=({containerNodeRect:t,draggingNodeRect:n,transform:s})=>n&&t?_r(s,n,t):s,jr=[Sr,wr];function kr({id:t,cells:n,clickable:s,onClick:a}){const h=re.useT(),{setNodeRef:f,transform:m,transition:g,isDragging:i,attributes:l,listeners:d}=ne.useSortable({id:t});return r.jsxs("tr",{ref:f,className:k.clsx(u.tr,s&&u.clickable,i&&u.dragging),style:{transform:un.CSS.Translate.toString(m),transition:g,position:i?"relative":void 0,zIndex:i?1:void 0},onClick:a,children:[r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell),children:r.jsx("button",{type:"button",className:u.dragHandle,"aria-label":h("table.dragHandle"),...l,...d,onClick:y=>y.stopPropagation(),children:r.jsx(D.Icon,{name:"Menu",size:"sm"})})}),n]})}function vr({enabled:t,sensors:n,onDragEnd:s,children:a}){return t?r.jsx(W.DndContext,{sensors:n,collisionDetection:W.closestCenter,modifiers:jr,onDragEnd:s,children:a}):r.jsx(r.Fragment,{children:a})}const Tr=p.forwardRef(function({columns:n,data:s,getRowId:a,title:h,toolbar:f,searchable:m=!1,searchPlaceholder:g,defaultSearch:i="",debounceMs:l=300,defaultPage:d=1,defaultPageSize:y=10,pageSizeOptions:b=[10,20,50,100,200],allowAllRows:R=!0,showPageSize:M="auto",showFirstButton:zt=!1,showLastButton:It=!1,manualPagination:Ft=!1,rowCount:Ge,defaultSort:he=null,onChange:Ue,queryMapping:qt,onExportToEmail:se,filters:_,defaultFilters:Lt,onRowClick:E,actions:oe,reorderable:H=!1,onReorder:Ke,loading:ae=!1,loadingRows:At,empty:$t,urlSync:B=!0,clearUrlOnUnmount:Xe=!0,page:Ye,onPageChange:xe,pageSize:Je,onPageSizeChange:ye,search:J,onSearchChange:be,sort:V,onSortChange:_e,filterValues:Se,onFiltersChange:we,stickyHeader:Dt=!1,striped:Et=!1,hoverable:Bt=!0,className:Wt,...Ht},Ot){const v=re.useT(),Qt=re.useTableQueryConfig(),F=p.useRef({});F.current={...Qt,...qt};const ie=p.useRef(Ue);ie.current=Ue;const ce=p.useRef(_);ce.current=_;const Ve=p.useRef(null),je=p.useRef(null),[Ze,Gt]=p.useState({start:!1,end:!1}),[q]=p.useState(()=>{const e=B&&typeof window<"u"?new URLSearchParams(window.location.search):null;return e?{...fe.parseTableQuery(e,F.current),filters:_!=null&&_.length?vt(_,e,F.current):{}}:{page:null,size:null,search:"",sort:null,filters:{}}}),[et,Ut]=p.useState(()=>({pageIndex:(q.page??d)-1,pageSize:q.size??y})),[le,ke]=p.useState(q.search||i),[Kt,Xt]=p.useState(q.search||i),[tt,Yt]=p.useState(()=>q.sort?[{id:q.sort.key,desc:q.sort.direction==="desc"}]:he?[{id:he.key,desc:he.direction==="desc"}]:[]),[nt,Jt]=p.useState(()=>({...Lt,...q.filters})),T=Ft,rt=Ye!==void 0,st=Je!==void 0,ot=J!==void 0,ve=V!==void 0,Te=Se!==void 0,Ne={pageIndex:rt?Ye-1:et.pageIndex,pageSize:st?Je:et.pageSize},C=ot?J:Kt,L=p.useMemo(()=>ve?V?[{id:V.key,desc:V.direction==="desc"}]:[]:tt,[ve,V,tt]),A=p.useMemo(()=>Te?Se:nt,[Te,Se,nt]),O=e=>{const o=Ne,c=Be(e,o);c.pageIndex!==o.pageIndex&&(xe==null||xe(c.pageIndex+1)),c.pageSize!==o.pageSize&&(ye==null||ye(c.pageSize)),Ut(x=>({pageIndex:rt?x.pageIndex:c.pageIndex,pageSize:st?x.pageSize:c.pageSize}))},Re=()=>O(e=>e.pageIndex===0?e:{...e,pageIndex:0}),Me=(e,o=!0)=>{ot||Xt(e),be==null||be(e),o&&Re()},Ce=(e,o=!0)=>{const c=Be(e,L);ve||Yt(c),_e==null||_e(c[0]?{key:c[0].id,direction:c[0].desc?"desc":"asc"}:null),o&&Re()},at=(e,o=!0)=>{Te||Jt(e),we==null||we(e),o&&Re()},Vt=p.useMemo(()=>_&&_.length>0&&!T?jn(s,_,A):s,[_,T,s,A]),Zt=at,en=p.useMemo(()=>n.map(e=>({id:e.key,accessorFn:o=>o[e.key],enableSorting:!!e.sortable})),[n]),tn=p.useMemo(()=>{const e=b.map(o=>({value:String(o),label:String(o)}));return R?[...e,{value:"all",label:v("common.all")}]:e},[b,R]),de=p.useMemo(()=>{if(!oe)return n;const e={key:"__actions",header:"",align:"right",pinned:"right",cell:(o,c)=>r.jsx("div",{className:u.rowActions,onClick:x=>x.stopPropagation(),children:oe(o,c)})};return[...n,e]},[n,oe]),Pe=p.useMemo(()=>n.filter(e=>e.sortable),[n]),nn=e=>Ce(o=>{const c=o[0];return!c||c.id!==e?[{id:e,desc:!1}]:c.desc?[]:[{id:e,desc:!0}]}),ze=ee.useReactTable({data:Vt,columns:en,state:{pagination:Ne,globalFilter:C,sorting:L},onPaginationChange:O,onGlobalFilterChange:e=>Me(Be(e,C)),onSortingChange:Ce,globalFilterFn:"includesString",sortDescFirst:!1,getCoreRowModel:ee.getCoreRowModel(),getRowId:a,manualPagination:T,manualFiltering:T,manualSorting:T,...T?{rowCount:Ge??s.length}:{getPaginationRowModel:ee.getPaginationRowModel(),getFilteredRowModel:ee.getFilteredRowModel(),getSortedRowModel:ee.getSortedRowModel()}}),Q=ze.getRowModel().rows,rn=W.useSensors(W.useSensor(W.PointerSensor,{activationConstraint:{distance:5}}),W.useSensor(W.KeyboardSensor,{coordinateGetter:ne.sortableKeyboardCoordinates})),it=(e,o)=>a?a(e,o):String(o),sn=e=>{const{active:o,over:c}=e;if(!c||o.id===c.id||!Ke)return;const x=s.findIndex((I,w)=>it(I,w)===o.id),j=s.findIndex((I,w)=>it(I,w)===c.id);x<0||j<0||Ke(ne.arrayMove(s,x,j),{id:String(o.id),from:x,to:j})},P=T?Ge??s.length:ze.getFilteredRowModel().rows.length,{pageIndex:N,pageSize:S}=Ne,G=Math.max(1,Math.ceil(P/S)),on=Math.min(...b,...S<ge?[S]:[]),ct=M==="auto"?P>on:M,lt=N+1,an=P===0?0:N*S+1,cn=T?Math.min(P,N*S+Q.length):Math.min(P,lt*S);p.useEffect(()=>{J!==void 0&&ke(J)},[J]),p.useEffect(()=>{if(le===C)return;const e=setTimeout(()=>Me(le),l);return()=>clearTimeout(e)},[le,C,l]),p.useEffect(()=>{T&&P===0||N>0&&N>=G&&O(e=>({...e,pageIndex:G-1}))},[G,N,T,P]);const z=L[0]?{key:L[0].id,direction:L[0].desc?"desc":"asc"}:null,dt=()=>{const e=N+1,o=S,c=fe.buildTableQuery({page:e,size:o,search:C,sort:z},F.current);return _!=null&&_.length&&kt(_,A,F.current).forEach((x,j)=>c.append(j,x)),{page:e,size:o,search:C,sort:z,filters:A,params:c,query:We(c)}};p.useEffect(()=>{var e;(e=ie.current)==null||e.call(ie,dt())},[N,S,C,L,A]);const ut=se!=null,ft=_!=null&&_.length>0,Z=p.useRef(null),mt=p.useCallback((e,o,c,x,j)=>{if(typeof window>"u"||!B)return;Z.current=window.location.pathname;const I=F.current,w=ce.current,U=fe.buildTableQuery({page:e,size:o,search:c,sort:x},I);w!=null&&w.length&&kt(w,j,I).forEach((K,Ie)=>U.append(Ie,K));const dn=Nt(I,w),ue=new URLSearchParams(window.location.search);for(const K of[...ue.keys()])dn(K)&&ue.delete(K);U.forEach((K,Ie)=>ue.append(Ie,K));const yt=We(ue),bt=`${window.location.pathname}${yt?`?${yt}`:""}${window.location.hash}`;bt!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,"",bt)},[B]);p.useEffect(()=>{mt(N+1,S,C,z,A)},[N,S,C,L,A,mt]);const gt=p.useRef(B);gt.current=B;const pt=p.useRef(Xe);pt.current=Xe,p.useEffect(()=>{if(!(typeof window>"u"))return Z.current??(Z.current=window.location.pathname),()=>{if(!gt.current||!pt.current||window.location.pathname!==Z.current)return;const e=Nt(F.current,ce.current),o=new URLSearchParams(window.location.search),c=[...o.keys()].filter(e);if(c.length===0)return;for(const j of c)o.delete(j);const x=We(o);window.history.replaceState(window.history.state,"",`${window.location.pathname}${x?`?${x}`:""}${window.location.hash}`)}},[]);const ht=p.useRef(()=>{});ht.current=()=>{const e=new URLSearchParams(window.location.search),o=F.current,c=fe.parseTableQuery(e,o);O(()=>({pageIndex:(c.page??d)-1,pageSize:c.size??S})),ke(c.search),Me(c.search,!1),Ce(()=>c.sort?[{id:c.sort.key,desc:c.sort.direction==="desc"}]:[],!1);const x=ce.current;x!=null&&x.length&&at(vt(x,e,o),!1)},p.useEffect(()=>{if(typeof window>"u"||!B)return;const e=()=>ht.current();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[B]),p.useEffect(()=>{yn.isDev()&&!a&&(E!=null||oe!=null||H)&&console.warn("[Table] No `getRowId` provided, so the row index is used as the React key. For a table with row interactions or changing / paged data, pass `getRowId` (e.g. `(row) => row.id`) so each row keeps its identity across sort / filter / refetch.")},[]),p.useEffect(()=>{const e=Ve.current;if(!e)return;const o=()=>{const x=e.scrollWidth>e.clientWidth+1,j=e.scrollLeft<=0,I=e.scrollLeft>=e.scrollWidth-e.clientWidth-1,w={start:x&&!j,end:x&&!I};Gt(U=>U.start===w.start&&U.end===w.end?U:w)};o(),e.addEventListener("scroll",o,{passive:!0});const c=typeof ResizeObserver<"u"?new ResizeObserver(o):null;return c==null||c.observe(e),c&&je.current&&c.observe(je.current),()=>{e.removeEventListener("scroll",o),c==null||c.disconnect()}},[]);const ln=h!=null||f!=null||m||ft||Pe.length>0||ut,xt=e=>de.map(o=>r.jsx("td",{className:k.clsx(u.td,o.pinned==="left"&&u.pinnedLeft,o.pinned==="right"&&u.pinnedRight,(o.wrap||o.maxWidth!=null)&&u.wrapCell),style:{width:o.width??(o.pinned?1:pe(o)),maxWidth:pe(o),textAlign:o.align},children:br(o.cell?o.cell(e.original,e.index):yr(e.getValue(o.key)))},o.key));return r.jsxs("div",{ref:Ot,className:k.clsx(u.root,Wt),...Ht,children:[ln&&r.jsxs("div",{className:u.toolbar,children:[r.jsxs("div",{className:u.toolbarStart,children:[h!=null&&r.jsx(X.Typography,{variant:"h4",as:"div",className:u.title,children:h}),m&&r.jsx(Ct.TextField,{className:u.search,fullWidth:!1,value:le,onChange:e=>ke(e.target.value),placeholder:g??v("common.search"),adornment:r.jsx(D.Icon,{name:"SearchNormal"}),"aria-label":v("common.search")})]}),r.jsxs("div",{className:u.toolbarEnd,children:[f,ut&&r.jsxs(wt.Dropdown,{placement:"bottom-end",trigger:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.export"),children:r.jsx(D.Icon,{name:"ExportArrow"})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.export")}),r.jsx(jt.ListItem,{clickable:!0,icon:"Sms",onClick:()=>se==null?void 0:se(dt()),children:v("table.sendOnEmail")})]}),Pe.length>0&&r.jsxs(wt.Dropdown,{placement:"bottom-end",closeOnSelect:!1,trigger:r.jsx(Rt.Badge,{dot:L.length>0,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.sort"),children:r.jsx(D.Icon,{name:"Sort"})})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.sortBy")}),Pe.map(e=>{const o=(z==null?void 0:z.key)===e.key;return r.jsx(jt.ListItem,{clickable:!0,selected:o,trailing:o?r.jsx(D.Icon,{name:(z==null?void 0:z.direction)==="desc"?"ArrowDown":"ArrowUp2"}):void 0,onClick:()=>nn(e.key),children:e.header},e.key)})]}),ft&&r.jsx(Ln,{filters:_,value:A,onChange:Zt})]})]}),r.jsx(vr,{enabled:H,sensors:rn,onDragEnd:sn,children:r.jsxs("div",{ref:Ve,className:u.scroll,"data-pin-start":Ze.start?"true":"false","data-pin-end":Ze.end?"true":"false",children:[r.jsxs("table",{ref:je,className:k.clsx(u.table,Et&&u.striped,Bt&&u.hoverable,Dt&&u.sticky),"aria-busy":ae||void 0,children:[r.jsx("thead",{children:r.jsxs("tr",{children:[H&&r.jsx("th",{className:k.clsx(u.th,u.dragHandleCell),scope:"col","aria-hidden":!0}),de.map(e=>{var c;const o=e.sortable&&((c=ze.getColumn(e.key))==null?void 0:c.getIsSorted())||!1;return r.jsx("th",{scope:"col",className:k.clsx(u.th,e.pinned==="left"&&u.pinnedLeft,e.pinned==="right"&&u.pinnedRight,(e.wrap||e.maxWidth!=null)&&u.wrapCell),style:{width:e.width??(e.pinned?1:pe(e)),maxWidth:pe(e),textAlign:e.align},"aria-sort":e.sortable?o==="asc"?"ascending":o==="desc"?"descending":"none":void 0,children:e.header},e.key)})]})}),r.jsx("tbody",{children:Q.length>0?H?r.jsx(ne.SortableContext,{items:Q.map(e=>e.id),strategy:ne.verticalListSortingStrategy,children:Q.map(e=>r.jsx(kr,{id:e.id,clickable:!!E,onClick:E?()=>E(e.original,e.index):void 0,cells:xt(e)},e.id))}):Q.map(e=>r.jsx("tr",{className:k.clsx(u.tr,E&&u.clickable),onClick:E?()=>E(e.original,e.index):void 0,children:xt(e)},e.id)):ae?Array.from({length:At??Math.min(S===ge?10:S,10)},(e,o)=>r.jsxs("tr",{className:u.tr,"aria-hidden":"true",children:[H&&r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell)}),de.map((c,x)=>r.jsx("td",{className:k.clsx(u.td,c.pinned==="left"&&u.pinnedLeft,c.pinned==="right"&&u.pinnedRight,c.key==="__actions"&&u.skeletonActionsCell),style:{width:c.width,textAlign:c.align},children:c.key==="__actions"?r.jsxs("span",{className:k.clsx(u.rowActions,u.skeletonActions),children:[r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"}),r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"})]}):r.jsx($e.Skeleton,{width:Tt[(o*3+x)%Tt.length],className:u.skeletonCell})},c.key))]},o)):r.jsx("tr",{children:r.jsx("td",{colSpan:Math.max(1,de.length+(H?1:0)),className:u.stateCell,children:$t??r.jsx(pn.EmptyState,{})})})})]}),ae&&Q.length>0&&r.jsx("div",{className:u.loadingOverlay,children:r.jsx(hn.Loader,{size:"lg"})})]})}),P>0&&(ct||G>1)&&r.jsxs("div",{className:u.footer,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",className:u.rangeText,children:v("table.range",{from:an,to:cn,total:P})}),r.jsxs("div",{className:u.footerMain,children:[ct&&r.jsxs("div",{className:u.pageSize,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",children:v("table.rowsPerPage")}),r.jsx(Mt.Select,{className:u.pageSizeSelect,fullWidth:!1,clearable:!1,showSelectedTick:!1,value:S>=ge?"all":String(S),onChange:e=>O(()=>({pageIndex:0,pageSize:e==="all"?ge:Number(e)})),options:tn})]}),G>1&&r.jsx(xn.Pagination,{count:G,page:lt,onChange:e=>O(o=>({...o,pageIndex:e-1})),showFirstButton:zt,showLastButton:It,disabled:ae})]})]})]})});exports.Table=Tr;
2
- //# sourceMappingURL=Table-BnlvrRMr.cjs.map
1
+ "use strict";const r=require("react/jsx-runtime"),p=require("react"),k=require("clsx"),ee=require("@tanstack/react-table"),W=require("@dnd-kit/core"),ne=require("@dnd-kit/sortable"),un=require("@dnd-kit/utilities"),fe=require("./table-CZRQGNdk.cjs"),Rt=require("./Badge-DVbe1rAI.cjs"),_t=require("./Button-mBZOvgyZ.cjs"),Fe=require("./DatePicker-CaGeW_-j.cjs"),qe=require("./DateTimePicker-DXKaAYey.cjs"),D=require("./Icon-CBg21lKA.cjs"),He=require("./IconButton-U_sr2Ahy.cjs"),fn=require("./Modal-CxODxl81.cjs"),mn=require("./MultiSelect-2GouMRTl.cjs"),Le=require("./NumberField-o2z2QNK1.cjs"),St=require("./RadioGroup-687BVZ7k.cjs"),Mt=require("./Select-CylqFHce.cjs"),gn=require("./Slider-CV7ug0WF.cjs"),Ct=require("./TextField-CBYJIfau.cjs"),Ae=require("./TimePicker-0nZOPRKp.cjs"),X=require("./Typography-d97DdbNd.cjs"),re=require("./ConfigProvider-DBU6rOIA.cjs"),wt=require("./Dropdown-C_y9_dVn.cjs"),pn=require("./EmptyState-CkkFHKrh.cjs"),jt=require("./ListItem-CguNjf-u.cjs"),hn=require("./Loader-BE3SQr7W.cjs"),xn=require("./Pagination-BJvLUjQ0.cjs"),$e=require("./Skeleton-DK0lAjS9.cjs"),yn=require("./errorMessage-C7N4KvUS.cjs");function Oe(t,n){if(n==null)return!1;switch(t){case"number":return typeof n=="number"&&!Number.isNaN(n);case"boolean":return typeof n=="boolean";case"multiSelect":return Array.isArray(n)&&n.length>0;case"numberRange":case"numberRangeSlider":return Array.isArray(n)&&(n[0]!=null||n[1]!=null);case"dateRange":case"timeRange":case"dateTimeRange":return Array.isArray(n)&&!!(n[0]||n[1]);default:return typeof n=="string"&&n.trim()!==""}}function bn(t,n){return t.reduce((s,a)=>Oe(a.type,n[a.key])?s+1:s,0)}const Y=t=>String(t).padStart(2,"0"),Pt=t=>`${t.getFullYear()}-${Y(t.getMonth()+1)}-${Y(t.getDate())}`,_n=t=>`${Pt(t)}T${Y(t.getHours())}:${Y(t.getMinutes())}`,Sn=t=>`${Y(t.getHours())}:${Y(t.getMinutes())}`,Qe=t=>{if(!t)return null;const n=/^\d{4}-\d{2}-\d{2}$/.test(t)?`${t}T00:00:00`:t,s=new Date(n);return Number.isNaN(s.getTime())?null:s},De=t=>{const n=Qe(t);return n?Pt(n):t.slice(0,10)},Ee=t=>{const n=Qe(t);return n?_n(n):t.slice(0,16)},te=t=>{if(/\d{4}-\d{2}-\d{2}/.test(t)){const n=Qe(t);if(n)return Sn(n)}return(t.includes("T")?t.slice(t.indexOf("T")+1):t).slice(0,5)};function wn(t,n,s){const a=String(n??"");switch(t){case"text":return a.toLowerCase().includes(String(s).toLowerCase());case"number":return Number(n)===s;case"numberRange":case"numberRangeSlider":{const[h,f]=s,m=Number(n);return(h==null||m>=h)&&(f==null||m<=f)}case"select":case"radio":return a===s;case"multiSelect":return s.includes(a);case"boolean":return!!n===s;case"date":return De(a)===De(String(s));case"dateTime":return Ee(a)===Ee(String(s));case"time":return te(a)===te(String(s));case"dateRange":case"dateTimeRange":{const h=t==="dateRange"?De:Ee,[f,m]=s,g=h(a);return(!f||g>=h(f))&&(!m||g<=h(m))}case"timeRange":{const[h,f]=s,m=te(a);return(!h||m>=te(h))&&(!f||m<=te(f))}default:return!0}}function jn(t,n,s){const a=n.filter(h=>Oe(h.type,s[h.key]));return a.length===0?t:t.filter(h=>a.every(f=>wn(f.type,h[f.key],s[f.key])))}function kt(t,n,s={}){const a=new URLSearchParams,h=s.rangeMinSuffix??"Min",f=s.rangeMaxSuffix??"Max",m=s.multiSelectFormat??"repeat";for(const g of t){const i=n[g.key];if(!Oe(g.type,i))continue;const l=g.queryKey??g.key;switch(g.type){case"multiSelect":{const d=i;m==="csv"?a.set(l,d.join(",")):m==="indexed"?d.forEach((y,b)=>a.set(`${l}[${b}]`,y)):d.forEach(y=>a.append(l,y));break}case"numberRange":case"numberRangeSlider":{const[d,y]=i;d!=null&&a.set(l+h,String(d)),y!=null&&a.set(l+f,String(y));break}case"dateRange":case"timeRange":case"dateTimeRange":{const[d,y]=i;d&&a.set(l+h,d),y&&a.set(l+f,y);break}default:a.set(l,String(i))}}return a}function vt(t,n,s={}){const a=s.rangeMinSuffix??"Min",h=s.rangeMaxSuffix??"Max",f=s.multiSelectFormat??"repeat",m={};for(const g of t){const i=g.queryKey??g.key;switch(g.type){case"multiSelect":{let l=[];if(f==="csv"){const d=n.get(i);d&&(l=d.split(",").filter(Boolean))}else if(f==="indexed")for(let d=0;n.has(`${i}[${d}]`);d++)l.push(n.get(`${i}[${d}]`));else l=n.getAll(i);l.length&&(m[g.key]=l);break}case"numberRange":case"numberRangeSlider":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l!=null?Number(l):null,d!=null?Number(d):null]);break}case"dateRange":case"timeRange":case"dateTimeRange":{const l=n.get(i+a),d=n.get(i+h);(l!=null||d!=null)&&(m[g.key]=[l??"",d??""]);break}case"number":{const l=n.get(i);if(l!=null){const d=Number(l);Number.isNaN(d)||(m[g.key]=d)}break}case"boolean":{const l=n.get(i);l==="true"?m[g.key]=!0:l==="false"&&(m[g.key]=!1);break}default:{const l=n.get(i);l&&(m[g.key]=l)}}}return m}const kn="_fields_xa8i1_2",vn="_field_xa8i1_2",Tn="_rangeLabel_xa8i1_15",Nn="_row_xa8i1_20",Rn="_rangeSep_xa8i1_30",Mn="_stack_xa8i1_36",Cn="_footer_xa8i1_43",Pn="_footerEnd_xa8i1_50",$={fields:kn,field:vn,rangeLabel:Tn,row:Nn,rangeSep:Rn,stack:Mn,footer:Cn,footerEnd:Pn},zn=(t,n)=>[{value:"",label:(t==null?void 0:t.any)??n("common.any")},{value:"true",label:(t==null?void 0:t.yes)??n("common.yes")},{value:"false",label:(t==null?void 0:t.no)??n("common.no")}],In=t=>t===!0?"true":t===!1?"false":"",Fn=t=>t==="true"?!0:t==="false"?!1:null;function me({label:t,from:n,to:s,stacked:a}){return r.jsxs("div",{className:$.field,children:[r.jsx(X.Typography,{variant:"bodySmall",className:$.rangeLabel,children:t}),a?r.jsxs("div",{className:$.stack,children:[n,s]}):r.jsxs("div",{className:$.row,children:[n,r.jsx("span",{className:$.rangeSep,"aria-hidden":!0,children:"–"}),s]})]})}function qn({filter:t,value:n,onChange:s}){const a=re.useT(),{type:h,label:f,options:m=[],placeholder:g}=t;switch(h){case"text":return r.jsx(Ct.TextField,{label:f,placeholder:g,value:n??"",onChange:i=>s(i.target.value)});case"number":return r.jsx(Le.NumberField,{label:f,placeholder:g,value:n??null,onChange:i=>s(i)});case"numberRange":{const[i,l]=n??[null,null];return r.jsx(me,{label:f,from:r.jsx(Le.NumberField,{placeholder:a("common.min"),value:i,onChange:d=>s([d,l])}),to:r.jsx(Le.NumberField,{placeholder:a("common.max"),value:l,onChange:d=>s([i,d])})})}case"numberRangeSlider":{const i=t.min??0,l=t.max??100,[d,y]=n??[null,null];return r.jsx(gn.Slider,{range:!0,label:f,min:i,max:l,step:t.step??1,value:[d??i,y??l],valueLabel:b=>{const[R,M]=b;return`${R} – ${M}`},onChange:b=>{const[R,M]=b;s([R<=i?null:R,M>=l?null:M])}})}case"select":return r.jsx(Mt.Select,{label:f,placeholder:g,options:m,value:n??"",onChange:i=>s(i)});case"radio":return r.jsx(St.RadioGroup,{label:f,orientation:t.orientation??"vertical",options:[{value:"",label:t.anyLabel??a("common.any")},...m.map(({value:i,label:l,disabled:d})=>({value:i,label:l,disabled:d}))],value:n??"",onChange:i=>s(i)});case"multiSelect":return r.jsx(mn.MultiSelect,{label:f,placeholder:g,options:m,value:n??[],onChange:i=>s(i)});case"boolean":return r.jsx(St.RadioGroup,{label:f,orientation:"horizontal",options:zn(t.booleanLabels,a),value:In(n),onChange:i=>s(Fn(i))});case"date":return r.jsx(Fe.DatePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Fe.DatePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Fe.DatePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"time":return r.jsx(Ae.TimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"timeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,from:r.jsx(Ae.TimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(Ae.TimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}case"dateTime":return r.jsx(qe.DateTimePicker,{label:f,value:n??"",onChange:i=>s(i??"")});case"dateTimeRange":{const[i,l]=n??["",""];return r.jsx(me,{label:f,stacked:!0,from:r.jsx(qe.DateTimePicker,{placeholder:a("common.from"),value:i,onChange:d=>s([d??"",l])}),to:r.jsx(qe.DateTimePicker,{placeholder:a("common.to"),value:l,onChange:d=>s([i,d??""])})})}default:return null}}function Ln({filters:t,value:n,onChange:s}){const a=re.useT(),[h,f]=p.useState(!1),[m,g]=p.useState(n),i=bn(t,n),l=p.useId(),d=()=>{g(n),f(!0)},y=()=>{s(m),f(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(Rt.Badge,{content:i,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":a("table.filters"),onClick:d,children:r.jsx(D.Icon,{name:"Filter"})})}),r.jsx(fn.Modal,{open:h,onClose:()=>f(!1),placement:"right",size:"sm",icon:"Filter",title:a("table.filters"),description:a("table.filtersDescription"),footer:r.jsx("div",{className:$.footer,children:r.jsxs("div",{className:$.footerEnd,children:[r.jsx(_t.Button,{variant:"text",size:"sm",startIcon:r.jsx(D.Icon,{name:"Trash"}),onClick:()=>g({}),children:a("common.clear")}),r.jsx(_t.Button,{type:"submit",size:"sm",form:l,startIcon:r.jsx(D.Icon,{name:"Filter"}),children:a("common.apply")})]})}),children:r.jsx("form",{id:l,className:$.fields,onSubmit:b=>{b.preventDefault(),b.stopPropagation(),y()},children:t.map(b=>r.jsx(qn,{filter:b,value:m[b.key],onChange:R=>g(M=>({...M,[b.key]:R}))},b.key))})})]})}const An="_root_56of9_3",$n="_toolbar_56of9_17",Dn="_title_56of9_24",En="_toolbarStart_56of9_28",Bn="_toolbarEnd_56of9_35",Wn="_search_56of9_41",Hn="_scroll_56of9_9",On="_table_56of9_56",Qn="_th_56of9_63",Gn="_sticky_56of9_73",Un="_td_56of9_80",Kn="_tr_56of9_90",Xn="_wrapCell_56of9_97",Yn="_hoverable_56of9_102",Jn="_striped_56of9_106",Vn="_clickable_56of9_109",Zn="_empty_56of9_113",er="_menuTitle_56of9_120",tr="_skeletonCell_56of9_128",nr="_rowActions_56of9_132",rr="_skeletonActions_56of9_133",sr="_dragHandleCell_56of9_144",or="_dragHandle_56of9_144",ar="_dragging_56of9_175",ir="_pinnedLeft_56of9_183",cr="_pinnedRight_56of9_184",lr="_skeletonActionsCell_56of9_204",dr="_stateCell_56of9_245",ur="_loadingOverlay_56of9_249",fr="_footer_56of9_259",mr="_footerMain_56of9_265",gr="_pageSize_56of9_272",pr="_pageSizeSelect_56of9_278",hr="_rangeText_56of9_281",u={root:An,toolbar:$n,title:Dn,toolbarStart:En,toolbarEnd:Bn,search:Wn,scroll:Hn,table:On,th:Qn,sticky:Gn,td:Un,tr:Kn,wrapCell:Xn,hoverable:Yn,striped:Jn,clickable:Vn,empty:Zn,menuTitle:er,skeletonCell:tr,rowActions:nr,skeletonActions:rr,dragHandleCell:sr,dragHandle:or,dragging:ar,pinnedLeft:ir,pinnedRight:cr,skeletonActionsCell:lr,stateCell:dr,loadingOverlay:ur,footer:fr,footerMain:mr,pageSize:gr,pageSizeSelect:pr,rangeText:hr},ge=Number.MAX_SAFE_INTEGER,Tt=["8em","5.5em","7em","10em","4.5em","6.5em"],xr=280;function Be(t,n){return typeof t=="function"?t(n):t}function pe(t){return t.maxWidth??(t.wrap?xr:void 0)}function yr(t){return t==null||typeof t=="object"?"":String(t)}function br(t){return t==null||t===""||t===!1?r.jsx("span",{className:u.empty,"aria-hidden":!0,children:"—"}):t}function We(t){return t.toString().replace(/%2C/gi,",").replace(/%3A/gi,":").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Nt(t,n){const s={pageParam:"page",sizeParam:"size",searchParam:"search",sortParam:"sort",sortOrderParam:"order",...t},a=t.rangeMinSuffix??"Min",h=t.rangeMaxSuffix??"Max",f=[s.pageParam,s.sizeParam,s.searchParam,s.sortParam,s.sortOrderParam];for(const m of n??[]){const g=m.queryKey??m.key;f.push(g,g+a,g+h)}return m=>f.includes(m)||f.some(g=>m.startsWith(`${g}[`))}function _r(t,n,s){const a={...t};return n.top+t.y<=s.top?a.y=s.top-n.top:n.bottom+t.y>=s.top+s.height&&(a.y=s.top+s.height-n.bottom),n.left+t.x<=s.left?a.x=s.left-n.left:n.right+t.x>=s.left+s.width&&(a.x=s.left+s.width-n.right),a}const Sr=({transform:t})=>({...t,x:0}),wr=({containerNodeRect:t,draggingNodeRect:n,transform:s})=>n&&t?_r(s,n,t):s,jr=[Sr,wr];function kr({id:t,cells:n,clickable:s,onClick:a}){const h=re.useT(),{setNodeRef:f,transform:m,transition:g,isDragging:i,attributes:l,listeners:d}=ne.useSortable({id:t});return r.jsxs("tr",{ref:f,className:k.clsx(u.tr,s&&u.clickable,i&&u.dragging),style:{transform:un.CSS.Translate.toString(m),transition:g,position:i?"relative":void 0,zIndex:i?1:void 0},onClick:a,children:[r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell),children:r.jsx("button",{type:"button",className:u.dragHandle,"aria-label":h("table.dragHandle"),...l,...d,onClick:y=>y.stopPropagation(),children:r.jsx(D.Icon,{name:"Menu",size:"sm"})})}),n]})}function vr({enabled:t,sensors:n,onDragEnd:s,children:a}){return t?r.jsx(W.DndContext,{sensors:n,collisionDetection:W.closestCenter,modifiers:jr,onDragEnd:s,children:a}):r.jsx(r.Fragment,{children:a})}const Tr=p.forwardRef(function({columns:n,data:s,getRowId:a,title:h,toolbar:f,searchable:m=!1,searchPlaceholder:g,defaultSearch:i="",debounceMs:l=300,defaultPage:d=1,defaultPageSize:y=10,pageSizeOptions:b=[10,20,50,100,200],allowAllRows:R=!0,showPageSize:M="auto",showFirstButton:zt=!1,showLastButton:It=!1,manualPagination:Ft=!1,rowCount:Ge,defaultSort:he=null,onChange:Ue,queryMapping:qt,onExportToEmail:se,filters:_,defaultFilters:Lt,onRowClick:E,actions:oe,reorderable:H=!1,onReorder:Ke,loading:ae=!1,loadingRows:At,empty:$t,urlSync:B=!0,clearUrlOnUnmount:Xe=!0,page:Ye,onPageChange:xe,pageSize:Je,onPageSizeChange:ye,search:J,onSearchChange:be,sort:V,onSortChange:_e,filterValues:Se,onFiltersChange:we,stickyHeader:Dt=!1,striped:Et=!1,hoverable:Bt=!0,className:Wt,...Ht},Ot){const v=re.useT(),Qt=re.useTableQueryConfig(),F=p.useRef({});F.current={...Qt,...qt};const ie=p.useRef(Ue);ie.current=Ue;const ce=p.useRef(_);ce.current=_;const Ve=p.useRef(null),je=p.useRef(null),[Ze,Gt]=p.useState({start:!1,end:!1}),[q]=p.useState(()=>{const e=B&&typeof window<"u"?new URLSearchParams(window.location.search):null;return e?{...fe.parseTableQuery(e,F.current),filters:_!=null&&_.length?vt(_,e,F.current):{}}:{page:null,size:null,search:"",sort:null,filters:{}}}),[et,Ut]=p.useState(()=>({pageIndex:(q.page??d)-1,pageSize:q.size??y})),[le,ke]=p.useState(q.search||i),[Kt,Xt]=p.useState(q.search||i),[tt,Yt]=p.useState(()=>q.sort?[{id:q.sort.key,desc:q.sort.direction==="desc"}]:he?[{id:he.key,desc:he.direction==="desc"}]:[]),[nt,Jt]=p.useState(()=>({...Lt,...q.filters})),T=Ft,rt=Ye!==void 0,st=Je!==void 0,ot=J!==void 0,ve=V!==void 0,Te=Se!==void 0,Ne={pageIndex:rt?Ye-1:et.pageIndex,pageSize:st?Je:et.pageSize},C=ot?J:Kt,L=p.useMemo(()=>ve?V?[{id:V.key,desc:V.direction==="desc"}]:[]:tt,[ve,V,tt]),A=p.useMemo(()=>Te?Se:nt,[Te,Se,nt]),O=e=>{const o=Ne,c=Be(e,o);c.pageIndex!==o.pageIndex&&(xe==null||xe(c.pageIndex+1)),c.pageSize!==o.pageSize&&(ye==null||ye(c.pageSize)),Ut(x=>({pageIndex:rt?x.pageIndex:c.pageIndex,pageSize:st?x.pageSize:c.pageSize}))},Re=()=>O(e=>e.pageIndex===0?e:{...e,pageIndex:0}),Me=(e,o=!0)=>{ot||Xt(e),be==null||be(e),o&&Re()},Ce=(e,o=!0)=>{const c=Be(e,L);ve||Yt(c),_e==null||_e(c[0]?{key:c[0].id,direction:c[0].desc?"desc":"asc"}:null),o&&Re()},at=(e,o=!0)=>{Te||Jt(e),we==null||we(e),o&&Re()},Vt=p.useMemo(()=>_&&_.length>0&&!T?jn(s,_,A):s,[_,T,s,A]),Zt=at,en=p.useMemo(()=>n.map(e=>({id:e.key,accessorFn:o=>o[e.key],enableSorting:!!e.sortable})),[n]),tn=p.useMemo(()=>{const e=b.map(o=>({value:String(o),label:String(o)}));return R?[...e,{value:"all",label:v("common.all")}]:e},[b,R]),de=p.useMemo(()=>{if(!oe)return n;const e={key:"__actions",header:"",align:"right",pinned:"right",cell:(o,c)=>r.jsx("div",{className:u.rowActions,onClick:x=>x.stopPropagation(),children:oe(o,c)})};return[...n,e]},[n,oe]),Pe=p.useMemo(()=>n.filter(e=>e.sortable),[n]),nn=e=>Ce(o=>{const c=o[0];return!c||c.id!==e?[{id:e,desc:!1}]:c.desc?[]:[{id:e,desc:!0}]}),ze=ee.useReactTable({data:Vt,columns:en,state:{pagination:Ne,globalFilter:C,sorting:L},onPaginationChange:O,onGlobalFilterChange:e=>Me(Be(e,C)),onSortingChange:Ce,globalFilterFn:"includesString",sortDescFirst:!1,getCoreRowModel:ee.getCoreRowModel(),getRowId:a,manualPagination:T,manualFiltering:T,manualSorting:T,...T?{rowCount:Ge??s.length}:{getPaginationRowModel:ee.getPaginationRowModel(),getFilteredRowModel:ee.getFilteredRowModel(),getSortedRowModel:ee.getSortedRowModel()}}),Q=ze.getRowModel().rows,rn=W.useSensors(W.useSensor(W.PointerSensor,{activationConstraint:{distance:5}}),W.useSensor(W.KeyboardSensor,{coordinateGetter:ne.sortableKeyboardCoordinates})),it=(e,o)=>a?a(e,o):String(o),sn=e=>{const{active:o,over:c}=e;if(!c||o.id===c.id||!Ke)return;const x=s.findIndex((I,w)=>it(I,w)===o.id),j=s.findIndex((I,w)=>it(I,w)===c.id);x<0||j<0||Ke(ne.arrayMove(s,x,j),{id:String(o.id),from:x,to:j})},P=T?Ge??s.length:ze.getFilteredRowModel().rows.length,{pageIndex:N,pageSize:S}=Ne,G=Math.max(1,Math.ceil(P/S)),on=Math.min(...b,...S<ge?[S]:[]),ct=M==="auto"?P>on:M,lt=N+1,an=P===0?0:N*S+1,cn=T?Math.min(P,N*S+Q.length):Math.min(P,lt*S);p.useEffect(()=>{J!==void 0&&ke(J)},[J]),p.useEffect(()=>{if(le===C)return;const e=setTimeout(()=>Me(le),l);return()=>clearTimeout(e)},[le,C,l]),p.useEffect(()=>{T&&P===0||N>0&&N>=G&&O(e=>({...e,pageIndex:G-1}))},[G,N,T,P]);const z=L[0]?{key:L[0].id,direction:L[0].desc?"desc":"asc"}:null,dt=()=>{const e=N+1,o=S,c=fe.buildTableQuery({page:e,size:o,search:C,sort:z},F.current);return _!=null&&_.length&&kt(_,A,F.current).forEach((x,j)=>c.append(j,x)),{page:e,size:o,search:C,sort:z,filters:A,params:c,query:We(c)}};p.useEffect(()=>{var e;(e=ie.current)==null||e.call(ie,dt())},[N,S,C,L,A]);const ut=se!=null,ft=_!=null&&_.length>0,Z=p.useRef(null),mt=p.useCallback((e,o,c,x,j)=>{if(typeof window>"u"||!B)return;Z.current=window.location.pathname;const I=F.current,w=ce.current,U=fe.buildTableQuery({page:e,size:o,search:c,sort:x},I);w!=null&&w.length&&kt(w,j,I).forEach((K,Ie)=>U.append(Ie,K));const dn=Nt(I,w),ue=new URLSearchParams(window.location.search);for(const K of[...ue.keys()])dn(K)&&ue.delete(K);U.forEach((K,Ie)=>ue.append(Ie,K));const yt=We(ue),bt=`${window.location.pathname}${yt?`?${yt}`:""}${window.location.hash}`;bt!==`${window.location.pathname}${window.location.search}${window.location.hash}`&&window.history.replaceState(window.history.state,"",bt)},[B]);p.useEffect(()=>{mt(N+1,S,C,z,A)},[N,S,C,L,A,mt]);const gt=p.useRef(B);gt.current=B;const pt=p.useRef(Xe);pt.current=Xe,p.useEffect(()=>{if(!(typeof window>"u"))return Z.current??(Z.current=window.location.pathname),()=>{if(!gt.current||!pt.current||window.location.pathname!==Z.current)return;const e=Nt(F.current,ce.current),o=new URLSearchParams(window.location.search),c=[...o.keys()].filter(e);if(c.length===0)return;for(const j of c)o.delete(j);const x=We(o);window.history.replaceState(window.history.state,"",`${window.location.pathname}${x?`?${x}`:""}${window.location.hash}`)}},[]);const ht=p.useRef(()=>{});ht.current=()=>{const e=new URLSearchParams(window.location.search),o=F.current,c=fe.parseTableQuery(e,o);O(()=>({pageIndex:(c.page??d)-1,pageSize:c.size??S})),ke(c.search),Me(c.search,!1),Ce(()=>c.sort?[{id:c.sort.key,desc:c.sort.direction==="desc"}]:[],!1);const x=ce.current;x!=null&&x.length&&at(vt(x,e,o),!1)},p.useEffect(()=>{if(typeof window>"u"||!B)return;const e=()=>ht.current();return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[B]),p.useEffect(()=>{yn.isDev()&&!a&&(E!=null||oe!=null||H)&&console.warn("[Table] No `getRowId` provided, so the row index is used as the React key. For a table with row interactions or changing / paged data, pass `getRowId` (e.g. `(row) => row.id`) so each row keeps its identity across sort / filter / refetch.")},[]),p.useEffect(()=>{const e=Ve.current;if(!e)return;const o=()=>{const x=e.scrollWidth>e.clientWidth+1,j=e.scrollLeft<=0,I=e.scrollLeft>=e.scrollWidth-e.clientWidth-1,w={start:x&&!j,end:x&&!I};Gt(U=>U.start===w.start&&U.end===w.end?U:w)};o(),e.addEventListener("scroll",o,{passive:!0});const c=typeof ResizeObserver<"u"?new ResizeObserver(o):null;return c==null||c.observe(e),c&&je.current&&c.observe(je.current),()=>{e.removeEventListener("scroll",o),c==null||c.disconnect()}},[]);const ln=h!=null||f!=null||m||ft||Pe.length>0||ut,xt=e=>de.map(o=>r.jsx("td",{className:k.clsx(u.td,o.pinned==="left"&&u.pinnedLeft,o.pinned==="right"&&u.pinnedRight,(o.wrap||o.maxWidth!=null)&&u.wrapCell),style:{width:o.width??(o.pinned?1:pe(o)),maxWidth:pe(o),textAlign:o.align},children:br(o.cell?o.cell(e.original,e.index):yr(e.getValue(o.key)))},o.key));return r.jsxs("div",{ref:Ot,className:k.clsx(u.root,Wt),...Ht,children:[ln&&r.jsxs("div",{className:u.toolbar,children:[r.jsxs("div",{className:u.toolbarStart,children:[h!=null&&r.jsx(X.Typography,{variant:"h4",as:"div",className:u.title,children:h}),m&&r.jsx(Ct.TextField,{className:u.search,fullWidth:!1,value:le,onChange:e=>ke(e.target.value),placeholder:g??v("common.search"),adornment:r.jsx(D.Icon,{name:"SearchNormal"}),"aria-label":v("common.search")})]}),r.jsxs("div",{className:u.toolbarEnd,children:[f,ut&&r.jsxs(wt.Dropdown,{placement:"bottom-end",trigger:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.export"),children:r.jsx(D.Icon,{name:"ExportArrow"})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.export")}),r.jsx(jt.ListItem,{clickable:!0,icon:"Sms",onClick:()=>se==null?void 0:se(dt()),children:v("table.sendOnEmail")})]}),Pe.length>0&&r.jsxs(wt.Dropdown,{placement:"bottom-end",closeOnSelect:!1,trigger:r.jsx(Rt.Badge,{dot:L.length>0,color:"primary",children:r.jsx(He.IconButton,{variant:"filled",size:"sm","aria-label":v("table.sort"),children:r.jsx(D.Icon,{name:"Sort"})})}),children:[r.jsx(X.Typography,{as:"div",variant:"caption",color:"muted",uppercase:!0,className:u.menuTitle,children:v("table.sortBy")}),Pe.map(e=>{const o=(z==null?void 0:z.key)===e.key;return r.jsx(jt.ListItem,{clickable:!0,selected:o,trailing:o?r.jsx(D.Icon,{name:(z==null?void 0:z.direction)==="desc"?"ArrowDown":"ArrowUp2"}):void 0,onClick:()=>nn(e.key),children:e.header},e.key)})]}),ft&&r.jsx(Ln,{filters:_,value:A,onChange:Zt})]})]}),r.jsx(vr,{enabled:H,sensors:rn,onDragEnd:sn,children:r.jsxs("div",{ref:Ve,className:u.scroll,"data-pin-start":Ze.start?"true":"false","data-pin-end":Ze.end?"true":"false",children:[r.jsxs("table",{ref:je,className:k.clsx(u.table,Et&&u.striped,Bt&&u.hoverable,Dt&&u.sticky),"aria-busy":ae||void 0,children:[r.jsx("thead",{children:r.jsxs("tr",{children:[H&&r.jsx("th",{className:k.clsx(u.th,u.dragHandleCell),scope:"col","aria-hidden":!0}),de.map(e=>{var c;const o=e.sortable&&((c=ze.getColumn(e.key))==null?void 0:c.getIsSorted())||!1;return r.jsx("th",{scope:"col",className:k.clsx(u.th,e.pinned==="left"&&u.pinnedLeft,e.pinned==="right"&&u.pinnedRight,(e.wrap||e.maxWidth!=null)&&u.wrapCell),style:{width:e.width??(e.pinned?1:pe(e)),maxWidth:pe(e),textAlign:e.align},"aria-sort":e.sortable?o==="asc"?"ascending":o==="desc"?"descending":"none":void 0,children:e.header},e.key)})]})}),r.jsx("tbody",{children:Q.length>0?H?r.jsx(ne.SortableContext,{items:Q.map(e=>e.id),strategy:ne.verticalListSortingStrategy,children:Q.map(e=>r.jsx(kr,{id:e.id,clickable:!!E,onClick:E?()=>E(e.original,e.index):void 0,cells:xt(e)},e.id))}):Q.map(e=>r.jsx("tr",{className:k.clsx(u.tr,E&&u.clickable),onClick:E?()=>E(e.original,e.index):void 0,children:xt(e)},e.id)):ae?Array.from({length:At??Math.min(S===ge?10:S,10)},(e,o)=>r.jsxs("tr",{className:u.tr,"aria-hidden":"true",children:[H&&r.jsx("td",{className:k.clsx(u.td,u.dragHandleCell)}),de.map((c,x)=>r.jsx("td",{className:k.clsx(u.td,c.pinned==="left"&&u.pinnedLeft,c.pinned==="right"&&u.pinnedRight,c.key==="__actions"&&u.skeletonActionsCell),style:{width:c.width,textAlign:c.align},children:c.key==="__actions"?r.jsxs("span",{className:k.clsx(u.rowActions,u.skeletonActions),children:[r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"}),r.jsx($e.Skeleton,{variant:"rect",width:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",height:"calc(var(--tz-control-height-sm) - var(--tz-space-xs))",radius:"xs"})]}):r.jsx($e.Skeleton,{width:Tt[(o*3+x)%Tt.length],className:u.skeletonCell})},c.key))]},o)):r.jsx("tr",{children:r.jsx("td",{colSpan:Math.max(1,de.length+(H?1:0)),className:u.stateCell,children:$t??r.jsx(pn.EmptyState,{})})})})]}),ae&&Q.length>0&&r.jsx("div",{className:u.loadingOverlay,children:r.jsx(hn.Loader,{size:"lg"})})]})}),P>0&&(ct||G>1)&&r.jsxs("div",{className:u.footer,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",className:u.rangeText,children:v("table.range",{from:an,to:cn,total:P})}),r.jsxs("div",{className:u.footerMain,children:[ct&&r.jsxs("div",{className:u.pageSize,children:[r.jsx(X.Typography,{variant:"bodySmall",color:"muted",as:"span",children:v("table.rowsPerPage")}),r.jsx(Mt.Select,{className:u.pageSizeSelect,fullWidth:!1,clearable:!1,showSelectedTick:!1,value:S>=ge?"all":String(S),onChange:e=>O(()=>({pageIndex:0,pageSize:e==="all"?ge:Number(e)})),options:tn})]}),G>1&&r.jsx(xn.Pagination,{count:G,page:lt,onChange:e=>O(o=>({...o,pageIndex:e-1})),showFirstButton:zt,showLastButton:It,disabled:ae})]})]})]})});exports.Table=Tr;
2
+ //# sourceMappingURL=Table-BgaCwRDQ.cjs.map