@techzyapp/ui-library 1.0.21 → 1.0.23

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 (335) hide show
  1. package/dist/{AdminRoot-BDRLuMX6.cjs → AdminRoot-C7Idu7FQ.cjs} +2 -2
  2. package/dist/AdminRoot-C7Idu7FQ.cjs.map +1 -0
  3. package/dist/{AdminRoot-DvF0js0q.js → AdminRoot-aDy6rNqI.js} +4 -4
  4. package/dist/AdminRoot-aDy6rNqI.js.map +1 -0
  5. package/dist/{Alert-CwoRkKq4.cjs → Alert-Cl1zxmX9.cjs} +2 -2
  6. package/dist/{Alert-CwoRkKq4.cjs.map → Alert-Cl1zxmX9.cjs.map} +1 -1
  7. package/dist/{Alert-DPYmdaWs.js → Alert-D6VL2C-E.js} +3 -3
  8. package/dist/{Alert-DPYmdaWs.js.map → Alert-D6VL2C-E.js.map} +1 -1
  9. package/dist/{Breadcrumbs-CknDBLMw.cjs → Breadcrumbs-BnFW4LgK.cjs} +2 -2
  10. package/dist/{Breadcrumbs-CknDBLMw.cjs.map → Breadcrumbs-BnFW4LgK.cjs.map} +1 -1
  11. package/dist/{Breadcrumbs-l0PlUpQ4.js → Breadcrumbs-CicfjfIu.js} +3 -3
  12. package/dist/{Breadcrumbs-l0PlUpQ4.js.map → Breadcrumbs-CicfjfIu.js.map} +1 -1
  13. package/dist/{Button-RljTGqHl.js → Button-Cfxd7qhd.js} +2 -2
  14. package/dist/{Button-RljTGqHl.js.map → Button-Cfxd7qhd.js.map} +1 -1
  15. package/dist/{Button-BdihbLYJ.cjs → Button-ZplrHYKw.cjs} +2 -2
  16. package/dist/{Button-BdihbLYJ.cjs.map → Button-ZplrHYKw.cjs.map} +1 -1
  17. package/dist/{Calendar-CKCikOQL.js → Calendar-DTxCT-ki.js} +3 -3
  18. package/dist/{Calendar-CKCikOQL.js.map → Calendar-DTxCT-ki.js.map} +1 -1
  19. package/dist/{Calendar-DVg1uQuj.cjs → Calendar-S9vyp-qv.cjs} +2 -2
  20. package/dist/{Calendar-DVg1uQuj.cjs.map → Calendar-S9vyp-qv.cjs.map} +1 -1
  21. package/dist/{Card-BYFuYD-a.cjs → Card-BeE2ohcn.cjs} +2 -2
  22. package/dist/{Card-BYFuYD-a.cjs.map → Card-BeE2ohcn.cjs.map} +1 -1
  23. package/dist/{Card-B0bYi4g2.js → Card-eXJfA4rU.js} +2 -2
  24. package/dist/{Card-B0bYi4g2.js.map → Card-eXJfA4rU.js.map} +1 -1
  25. package/dist/{Chip-CdKUtUGE.cjs → Chip-B4XERWb_.cjs} +2 -2
  26. package/dist/{Chip-CdKUtUGE.cjs.map → Chip-B4XERWb_.cjs.map} +1 -1
  27. package/dist/{Chip-BiqfnRUi.js → Chip-BOXXdzap.js} +2 -2
  28. package/dist/{Chip-BiqfnRUi.js.map → Chip-BOXXdzap.js.map} +1 -1
  29. package/dist/{CodeBlock-CAAggVXS.cjs → CodeBlock-C7_A6CTT.cjs} +2 -2
  30. package/dist/{CodeBlock-CAAggVXS.cjs.map → CodeBlock-C7_A6CTT.cjs.map} +1 -1
  31. package/dist/{CodeBlock-BX_0tpk3.js → CodeBlock-D_PRiWMq.js} +3 -3
  32. package/dist/{CodeBlock-BX_0tpk3.js.map → CodeBlock-D_PRiWMq.js.map} +1 -1
  33. package/dist/{ColorPicker-BCSaT1A-.cjs → ColorPicker-ClVpWf77.cjs} +2 -2
  34. package/dist/{ColorPicker-BCSaT1A-.cjs.map → ColorPicker-ClVpWf77.cjs.map} +1 -1
  35. package/dist/{ColorPicker-DhSlvwNj.js → ColorPicker-DAjs7PmR.js} +3 -3
  36. package/dist/{ColorPicker-DhSlvwNj.js.map → ColorPicker-DAjs7PmR.js.map} +1 -1
  37. package/dist/{ColorPickerPanel-D4t3b9bB.js → ColorPickerPanel-BGzm2had.js} +2 -2
  38. package/dist/{ColorPickerPanel-D4t3b9bB.js.map → ColorPickerPanel-BGzm2had.js.map} +1 -1
  39. package/dist/{ColorPickerPanel-BOGYXXF1.cjs → ColorPickerPanel-Dk6bI0Xy.cjs} +2 -2
  40. package/dist/{ColorPickerPanel-BOGYXXF1.cjs.map → ColorPickerPanel-Dk6bI0Xy.cjs.map} +1 -1
  41. package/dist/{ConfigProvider-DT0yrgmd.js → ConfigProvider-Blhvj6UQ.js} +2 -2
  42. package/dist/ConfigProvider-Blhvj6UQ.js.map +1 -0
  43. package/dist/{ConfigProvider-C7DUWHrb.cjs → ConfigProvider-CUG8Mfy2.cjs} +2 -2
  44. package/dist/ConfigProvider-CUG8Mfy2.cjs.map +1 -0
  45. package/dist/{CopyButton-BEY1gJzK.js → CopyButton-Bv7L4xJf.js} +3 -3
  46. package/dist/{CopyButton-BEY1gJzK.js.map → CopyButton-Bv7L4xJf.js.map} +1 -1
  47. package/dist/{CopyButton-3585thVM.cjs → CopyButton-COF3hIV-.cjs} +2 -2
  48. package/dist/{CopyButton-3585thVM.cjs.map → CopyButton-COF3hIV-.cjs.map} +1 -1
  49. package/dist/{DatePicker-CEFGgXLF.js → DatePicker-DZfOvxUR.js} +4 -4
  50. package/dist/{DatePicker-CEFGgXLF.js.map → DatePicker-DZfOvxUR.js.map} +1 -1
  51. package/dist/{DatePicker-Dyj2halw.cjs → DatePicker-kA-xn5ET.cjs} +2 -2
  52. package/dist/{DatePicker-Dyj2halw.cjs.map → DatePicker-kA-xn5ET.cjs.map} +1 -1
  53. package/dist/{DateTimePicker-hmYBEuUM.js → DateTimePicker-BxBXhSN_.js} +7 -7
  54. package/dist/{DateTimePicker-hmYBEuUM.js.map → DateTimePicker-BxBXhSN_.js.map} +1 -1
  55. package/dist/{DateTimePicker-CjX4-8PP.cjs → DateTimePicker-DEGmn5UX.cjs} +2 -2
  56. package/dist/{DateTimePicker-CjX4-8PP.cjs.map → DateTimePicker-DEGmn5UX.cjs.map} +1 -1
  57. package/dist/{EmptyState-Bj-vX_UV.cjs → EmptyState-DlX-BLLI.cjs} +2 -2
  58. package/dist/{EmptyState-Bj-vX_UV.cjs.map → EmptyState-DlX-BLLI.cjs.map} +1 -1
  59. package/dist/{EmptyState-DJDNLKT7.js → EmptyState-Du4vA3bC.js} +2 -2
  60. package/dist/{EmptyState-DJDNLKT7.js.map → EmptyState-Du4vA3bC.js.map} +1 -1
  61. package/dist/{FileCard-C9Ncifnu.js → FileCard-juQ1fWbG.js} +3 -3
  62. package/dist/{FileCard-C9Ncifnu.js.map → FileCard-juQ1fWbG.js.map} +1 -1
  63. package/dist/{FileCard-Dr5-z1R3.cjs → FileCard-zyCpTrJ-.cjs} +2 -2
  64. package/dist/{FileCard-Dr5-z1R3.cjs.map → FileCard-zyCpTrJ-.cjs.map} +1 -1
  65. package/dist/{FileUploader-XFmBNkA0.js → FileUploader-DL9atihI.js} +5 -5
  66. package/dist/{FileUploader-XFmBNkA0.js.map → FileUploader-DL9atihI.js.map} +1 -1
  67. package/dist/{FileUploader-DeyZENqq.cjs → FileUploader-DOe3CyJB.cjs} +2 -2
  68. package/dist/{FileUploader-DeyZENqq.cjs.map → FileUploader-DOe3CyJB.cjs.map} +1 -1
  69. package/dist/{Flag-Bs0xNP-P.js → Flag-BxRrjCTB.js} +2 -2
  70. package/dist/{Flag-Bs0xNP-P.js.map → Flag-BxRrjCTB.js.map} +1 -1
  71. package/dist/{Flag-Bxnx26DM.cjs → Flag-DFKHYnqk.cjs} +2 -2
  72. package/dist/{Flag-Bxnx26DM.cjs.map → Flag-DFKHYnqk.cjs.map} +1 -1
  73. package/dist/{FullscreenToggle-DMlp05UN.js → FullscreenToggle-BMCNsyzb.js} +3 -3
  74. package/dist/{FullscreenToggle-DMlp05UN.js.map → FullscreenToggle-BMCNsyzb.js.map} +1 -1
  75. package/dist/{FullscreenToggle-BncatGKj.cjs → FullscreenToggle-BNK7RcRq.cjs} +2 -2
  76. package/dist/{FullscreenToggle-BncatGKj.cjs.map → FullscreenToggle-BNK7RcRq.cjs.map} +1 -1
  77. package/dist/{IconButton-Lv0sDDR9.cjs → IconButton-B9eVM18U.cjs} +2 -2
  78. package/dist/{IconButton-Lv0sDDR9.cjs.map → IconButton-B9eVM18U.cjs.map} +1 -1
  79. package/dist/{IconButton-DXMmtuLA.js → IconButton-CfvsE_p3.js} +2 -2
  80. package/dist/{IconButton-DXMmtuLA.js.map → IconButton-CfvsE_p3.js.map} +1 -1
  81. package/dist/Link-BQlvsu9V.js +48 -0
  82. package/dist/Link-BQlvsu9V.js.map +1 -0
  83. package/dist/Link-GZT51mKx.cjs +2 -0
  84. package/dist/Link-GZT51mKx.cjs.map +1 -0
  85. package/dist/{Loader-53HFNMVX.cjs → Loader-CxLrhAz9.cjs} +2 -2
  86. package/dist/{Loader-53HFNMVX.cjs.map → Loader-CxLrhAz9.cjs.map} +1 -1
  87. package/dist/{Loader-WsjQFl4p.js → Loader-DwmyJFwG.js} +2 -2
  88. package/dist/{Loader-WsjQFl4p.js.map → Loader-DwmyJFwG.js.map} +1 -1
  89. package/dist/{Modal-DBYcoCbJ.js → Modal-Cx0JEQ-j.js} +3 -3
  90. package/dist/{Modal-DBYcoCbJ.js.map → Modal-Cx0JEQ-j.js.map} +1 -1
  91. package/dist/{Modal-V6eyGSzW.cjs → Modal-DXZdMmJh.cjs} +2 -2
  92. package/dist/{Modal-V6eyGSzW.cjs.map → Modal-DXZdMmJh.cjs.map} +1 -1
  93. package/dist/{MultiSelect-DS2DRpaP.cjs → MultiSelect-DfhyGxDU.cjs} +2 -2
  94. package/dist/{MultiSelect-DS2DRpaP.cjs.map → MultiSelect-DfhyGxDU.cjs.map} +1 -1
  95. package/dist/{MultiSelect-BsYPr3LD.js → MultiSelect-yGlvweEq.js} +4 -4
  96. package/dist/{MultiSelect-BsYPr3LD.js.map → MultiSelect-yGlvweEq.js.map} +1 -1
  97. package/dist/{NumberField-DC3TdGTt.cjs → NumberField-B7yPXIw_.cjs} +2 -2
  98. package/dist/{NumberField-DC3TdGTt.cjs.map → NumberField-B7yPXIw_.cjs.map} +1 -1
  99. package/dist/{NumberField-mFb9pKCx.js → NumberField-cAjPU1P5.js} +3 -3
  100. package/dist/{NumberField-mFb9pKCx.js.map → NumberField-cAjPU1P5.js.map} +1 -1
  101. package/dist/{OtpField-BYj9SDHb.cjs → OtpField-BujZAy2A.cjs} +2 -2
  102. package/dist/{OtpField-BYj9SDHb.cjs.map → OtpField-BujZAy2A.cjs.map} +1 -1
  103. package/dist/{OtpField-1ullIIZQ.js → OtpField-D0eTOLtg.js} +2 -2
  104. package/dist/{OtpField-1ullIIZQ.js.map → OtpField-D0eTOLtg.js.map} +1 -1
  105. package/dist/{PageLayout-pYL43wI9.cjs → PageLayout-BSHyKoQ4.cjs} +2 -2
  106. package/dist/{PageLayout-pYL43wI9.cjs.map → PageLayout-BSHyKoQ4.cjs.map} +1 -1
  107. package/dist/{PageLayout-qf0H_EmS.js → PageLayout-C9Je7kfF.js} +2 -2
  108. package/dist/{PageLayout-qf0H_EmS.js.map → PageLayout-C9Je7kfF.js.map} +1 -1
  109. package/dist/{PageNotFound-YGVMVvyG.js → PageNotFound-CUN2OntP.js} +5 -5
  110. package/dist/{PageNotFound-YGVMVvyG.js.map → PageNotFound-CUN2OntP.js.map} +1 -1
  111. package/dist/{PageNotFound-D1795gJ7.cjs → PageNotFound-voB9ylPF.cjs} +2 -2
  112. package/dist/{PageNotFound-D1795gJ7.cjs.map → PageNotFound-voB9ylPF.cjs.map} +1 -1
  113. package/dist/{Pagination-WJq_7QNi.cjs → Pagination-BUGaylZa.cjs} +2 -2
  114. package/dist/{Pagination-WJq_7QNi.cjs.map → Pagination-BUGaylZa.cjs.map} +1 -1
  115. package/dist/{Pagination-BTvUJiee.js → Pagination-BaVHgIWT.js} +2 -2
  116. package/dist/{Pagination-BTvUJiee.js.map → Pagination-BaVHgIWT.js.map} +1 -1
  117. package/dist/QrCode-Bcj9_Emc.js +70 -0
  118. package/dist/QrCode-Bcj9_Emc.js.map +1 -0
  119. package/dist/QrCode-DfDfGhG-.cjs +2 -0
  120. package/dist/QrCode-DfDfGhG-.cjs.map +1 -0
  121. package/dist/{RemoveDialog-BSQ6EMW-.js → RemoveDialog-BpL2-gnz.js} +4 -4
  122. package/dist/{RemoveDialog-BSQ6EMW-.js.map → RemoveDialog-BpL2-gnz.js.map} +1 -1
  123. package/dist/{RemoveDialog-BhcwsY0q.cjs → RemoveDialog-DGt_72we.cjs} +2 -2
  124. package/dist/{RemoveDialog-BhcwsY0q.cjs.map → RemoveDialog-DGt_72we.cjs.map} +1 -1
  125. package/dist/{RichTextEditor-Bc1fhvzn.cjs → RichTextEditor-BuoywqBu.cjs} +2 -2
  126. package/dist/{RichTextEditor-Bc1fhvzn.cjs.map → RichTextEditor-BuoywqBu.cjs.map} +1 -1
  127. package/dist/{RichTextEditor-CaGPtwXe.js → RichTextEditor-C_6pzqYY.js} +7 -7
  128. package/dist/{RichTextEditor-CaGPtwXe.js.map → RichTextEditor-C_6pzqYY.js.map} +1 -1
  129. package/dist/RootLayout-1am1CwPQ.cjs +2 -0
  130. package/dist/RootLayout-1am1CwPQ.cjs.map +1 -0
  131. package/dist/RootLayout-x7qWzXPc.js +479 -0
  132. package/dist/RootLayout-x7qWzXPc.js.map +1 -0
  133. package/dist/{Select-Cx1Yl8nq.cjs → Select-CVy5BnKe.cjs} +2 -2
  134. package/dist/{Select-Cx1Yl8nq.cjs.map → Select-CVy5BnKe.cjs.map} +1 -1
  135. package/dist/{Select-vKZzS9K4.js → Select-ChT-6_bM.js} +3 -3
  136. package/dist/{Select-vKZzS9K4.js.map → Select-ChT-6_bM.js.map} +1 -1
  137. package/dist/Sidebar-D2MsR33k.cjs +2 -0
  138. package/dist/Sidebar-D2MsR33k.cjs.map +1 -0
  139. package/dist/Sidebar-ZA1wxCez.js +553 -0
  140. package/dist/Sidebar-ZA1wxCez.js.map +1 -0
  141. package/dist/{SpeedDial-D6sO-9ES.cjs → SpeedDial-B9JTNNUU.cjs} +2 -2
  142. package/dist/{SpeedDial-D6sO-9ES.cjs.map → SpeedDial-B9JTNNUU.cjs.map} +1 -1
  143. package/dist/{SpeedDial-Bb0ioXaO.js → SpeedDial-DUYQMDCY.js} +2 -2
  144. package/dist/{SpeedDial-Bb0ioXaO.js.map → SpeedDial-DUYQMDCY.js.map} +1 -1
  145. package/dist/{Stepper-CVY8NJEI.cjs → Stepper-BaC934rb.cjs} +2 -2
  146. package/dist/{Stepper-CVY8NJEI.cjs.map → Stepper-BaC934rb.cjs.map} +1 -1
  147. package/dist/{Stepper-BaEOUnYe.js → Stepper-D89I17pC.js} +2 -2
  148. package/dist/{Stepper-BaEOUnYe.js.map → Stepper-D89I17pC.js.map} +1 -1
  149. package/dist/{Table-wn-B7iLj.js → Table-CdIQ5Wfh.js} +15 -15
  150. package/dist/{Table-wn-B7iLj.js.map → Table-CdIQ5Wfh.js.map} +1 -1
  151. package/dist/{Table-AQ7yJhtW.cjs → Table-DvgBWTLx.cjs} +2 -2
  152. package/dist/{Table-AQ7yJhtW.cjs.map → Table-DvgBWTLx.cjs.map} +1 -1
  153. package/dist/{Tabs-DJMfAUni.js → Tabs-8-klG-y-.js} +2 -2
  154. package/dist/{Tabs-DJMfAUni.js.map → Tabs-8-klG-y-.js.map} +1 -1
  155. package/dist/{Tabs-BtcJ2jBl.cjs → Tabs-CejCwV3O.cjs} +2 -2
  156. package/dist/{Tabs-BtcJ2jBl.cjs.map → Tabs-CejCwV3O.cjs.map} +1 -1
  157. package/dist/{TagsField-Bvh6Fm5Y.js → TagsField-BQLqUckB.js} +4 -4
  158. package/dist/{TagsField-Bvh6Fm5Y.js.map → TagsField-BQLqUckB.js.map} +1 -1
  159. package/dist/{TagsField-4x3RmGwt.cjs → TagsField-BSAd4eUr.cjs} +2 -2
  160. package/dist/{TagsField-4x3RmGwt.cjs.map → TagsField-BSAd4eUr.cjs.map} +1 -1
  161. package/dist/{TextField-DcdwUA9d.js → TextField-B4YtjNUs.js} +3 -3
  162. package/dist/{TextField-DcdwUA9d.js.map → TextField-B4YtjNUs.js.map} +1 -1
  163. package/dist/{TextField-DNqnpAWB.cjs → TextField-DzYGA_St.cjs} +2 -2
  164. package/dist/{TextField-DNqnpAWB.cjs.map → TextField-DzYGA_St.cjs.map} +1 -1
  165. package/dist/{ThemeToggle-BVQmSMsj.js → ThemeToggle-B4_zRHJY.js} +3 -3
  166. package/dist/{ThemeToggle-BVQmSMsj.js.map → ThemeToggle-B4_zRHJY.js.map} +1 -1
  167. package/dist/{ThemeToggle-isboxfZk.cjs → ThemeToggle-BKk0eFiB.cjs} +2 -2
  168. package/dist/{ThemeToggle-isboxfZk.cjs.map → ThemeToggle-BKk0eFiB.cjs.map} +1 -1
  169. package/dist/{TimeColumns-DxFjjtc7.cjs → TimeColumns-BAzRrkqY.cjs} +2 -2
  170. package/dist/{TimeColumns-DxFjjtc7.cjs.map → TimeColumns-BAzRrkqY.cjs.map} +1 -1
  171. package/dist/{TimeColumns-CFy_PynH.js → TimeColumns-CAPyli9V.js} +2 -2
  172. package/dist/{TimeColumns-CFy_PynH.js.map → TimeColumns-CAPyli9V.js.map} +1 -1
  173. package/dist/{TimePicker-v1yA7Igl.cjs → TimePicker-BUnXYR5g.cjs} +2 -2
  174. package/dist/{TimePicker-v1yA7Igl.cjs.map → TimePicker-BUnXYR5g.cjs.map} +1 -1
  175. package/dist/{TimePicker-ZO7jOJVa.js → TimePicker-BebBSlQF.js} +5 -5
  176. package/dist/{TimePicker-ZO7jOJVa.js.map → TimePicker-BebBSlQF.js.map} +1 -1
  177. package/dist/{Toaster-Qnsq3guQ.cjs → Toaster-B2rO4BkG.cjs} +2 -2
  178. package/dist/{Toaster-Qnsq3guQ.cjs.map → Toaster-B2rO4BkG.cjs.map} +1 -1
  179. package/dist/{Toaster-C6UK_2TB.js → Toaster-ywqAKP8s.js} +2 -2
  180. package/dist/{Toaster-C6UK_2TB.js.map → Toaster-ywqAKP8s.js.map} +1 -1
  181. package/dist/{TranslatedFields-Bo5rZ7so.js → TranslatedFields-C-wlh51E.js} +5 -5
  182. package/dist/{TranslatedFields-Bo5rZ7so.js.map → TranslatedFields-C-wlh51E.js.map} +1 -1
  183. package/dist/{TranslatedFields-CLMvRpJi.cjs → TranslatedFields-DQQUb0RD.cjs} +2 -2
  184. package/dist/{TranslatedFields-CLMvRpJi.cjs.map → TranslatedFields-DQQUb0RD.cjs.map} +1 -1
  185. package/dist/{UserCard-CIjZz5xd.cjs → UserCard-Be1kl0TZ.cjs} +2 -2
  186. package/dist/{UserCard-CIjZz5xd.cjs.map → UserCard-Be1kl0TZ.cjs.map} +1 -1
  187. package/dist/{UserCard-454Kc7JS.js → UserCard-BqWt0S-c.js} +3 -3
  188. package/dist/{UserCard-454Kc7JS.js.map → UserCard-BqWt0S-c.js.map} +1 -1
  189. package/dist/app/AdminRoot.d.cts +4 -1
  190. package/dist/app/AdminRoot.d.ts +4 -1
  191. package/dist/components/Alert/index.cjs +1 -1
  192. package/dist/components/Alert/index.js +1 -1
  193. package/dist/components/Breadcrumbs/index.cjs +1 -1
  194. package/dist/components/Breadcrumbs/index.js +1 -1
  195. package/dist/components/Button/index.cjs +1 -1
  196. package/dist/components/Button/index.js +1 -1
  197. package/dist/components/Card/index.cjs +1 -1
  198. package/dist/components/Card/index.js +1 -1
  199. package/dist/components/Chip/index.cjs +1 -1
  200. package/dist/components/Chip/index.js +1 -1
  201. package/dist/components/CodeBlock/index.cjs +1 -1
  202. package/dist/components/CodeBlock/index.js +1 -1
  203. package/dist/components/ColorPicker/index.cjs +1 -1
  204. package/dist/components/ColorPicker/index.js +1 -1
  205. package/dist/components/CopyButton/index.cjs +1 -1
  206. package/dist/components/CopyButton/index.js +1 -1
  207. package/dist/components/DatePicker/index.cjs +1 -1
  208. package/dist/components/DatePicker/index.js +1 -1
  209. package/dist/components/DateTimePicker/index.cjs +1 -1
  210. package/dist/components/DateTimePicker/index.js +1 -1
  211. package/dist/components/EmptyState/index.cjs +1 -1
  212. package/dist/components/EmptyState/index.js +1 -1
  213. package/dist/components/FileCard/index.cjs +1 -1
  214. package/dist/components/FileCard/index.js +1 -1
  215. package/dist/components/FileUploader/index.cjs +1 -1
  216. package/dist/components/FileUploader/index.js +1 -1
  217. package/dist/components/Flag/index.cjs +1 -1
  218. package/dist/components/Flag/index.js +1 -1
  219. package/dist/components/FullscreenToggle/index.cjs +1 -1
  220. package/dist/components/FullscreenToggle/index.js +1 -1
  221. package/dist/components/IconButton/index.cjs +1 -1
  222. package/dist/components/IconButton/index.js +1 -1
  223. package/dist/components/Link/Link.d.cts +44 -0
  224. package/dist/components/Link/Link.d.ts +44 -0
  225. package/dist/components/Link/index.cjs +2 -0
  226. package/dist/components/Link/index.cjs.map +1 -0
  227. package/dist/components/Link/index.d.cts +3 -0
  228. package/dist/components/Link/index.d.ts +3 -0
  229. package/dist/components/Link/index.js +6 -0
  230. package/dist/components/Link/index.js.map +1 -0
  231. package/dist/components/Loader/index.cjs +1 -1
  232. package/dist/components/Loader/index.js +1 -1
  233. package/dist/components/Modal/index.cjs +1 -1
  234. package/dist/components/Modal/index.js +1 -1
  235. package/dist/components/MultiSelect/index.cjs +1 -1
  236. package/dist/components/MultiSelect/index.js +1 -1
  237. package/dist/components/NumberField/index.cjs +1 -1
  238. package/dist/components/NumberField/index.js +1 -1
  239. package/dist/components/OtpField/index.cjs +1 -1
  240. package/dist/components/OtpField/index.js +1 -1
  241. package/dist/components/PageLayout/index.cjs +1 -1
  242. package/dist/components/PageLayout/index.js +1 -1
  243. package/dist/components/PageNotFound/index.cjs +1 -1
  244. package/dist/components/PageNotFound/index.js +1 -1
  245. package/dist/components/Pagination/index.cjs +1 -1
  246. package/dist/components/Pagination/index.js +1 -1
  247. package/dist/components/QrCode/QrCode.d.cts +46 -0
  248. package/dist/components/QrCode/QrCode.d.ts +46 -0
  249. package/dist/components/QrCode/index.cjs +2 -0
  250. package/dist/components/QrCode/index.cjs.map +1 -0
  251. package/dist/components/QrCode/index.d.cts +2 -0
  252. package/dist/components/QrCode/index.d.ts +2 -0
  253. package/dist/components/QrCode/index.js +6 -0
  254. package/dist/components/QrCode/index.js.map +1 -0
  255. package/dist/components/RemoveDialog/index.cjs +1 -1
  256. package/dist/components/RemoveDialog/index.js +1 -1
  257. package/dist/components/RichTextEditor/index.cjs +1 -1
  258. package/dist/components/RichTextEditor/index.js +1 -1
  259. package/dist/components/RootLayout/ActionSet.d.cts +27 -0
  260. package/dist/components/RootLayout/ActionSet.d.ts +27 -0
  261. package/dist/components/RootLayout/index.cjs +1 -1
  262. package/dist/components/RootLayout/index.js +1 -1
  263. package/dist/components/Select/index.cjs +1 -1
  264. package/dist/components/Select/index.js +1 -1
  265. package/dist/components/Sidebar/Sidebar.d.cts +55 -3
  266. package/dist/components/Sidebar/Sidebar.d.ts +55 -3
  267. package/dist/components/Sidebar/index.cjs +1 -1
  268. package/dist/components/Sidebar/index.d.cts +1 -0
  269. package/dist/components/Sidebar/index.d.ts +1 -0
  270. package/dist/components/Sidebar/index.js +1 -1
  271. package/dist/components/SpeedDial/index.cjs +1 -1
  272. package/dist/components/SpeedDial/index.js +1 -1
  273. package/dist/components/Stepper/index.cjs +1 -1
  274. package/dist/components/Stepper/index.js +1 -1
  275. package/dist/components/Table/index.cjs +1 -1
  276. package/dist/components/Table/index.js +1 -1
  277. package/dist/components/Tabs/index.cjs +1 -1
  278. package/dist/components/Tabs/index.js +1 -1
  279. package/dist/components/TagsField/index.cjs +1 -1
  280. package/dist/components/TagsField/index.js +1 -1
  281. package/dist/components/TextField/index.cjs +1 -1
  282. package/dist/components/TextField/index.js +1 -1
  283. package/dist/components/ThemeToggle/index.cjs +1 -1
  284. package/dist/components/ThemeToggle/index.js +1 -1
  285. package/dist/components/TimePicker/index.cjs +1 -1
  286. package/dist/components/TimePicker/index.js +1 -1
  287. package/dist/components/Toast/index.cjs +1 -1
  288. package/dist/components/Toast/index.js +1 -1
  289. package/dist/components/TranslatedFields/index.cjs +1 -1
  290. package/dist/components/TranslatedFields/index.js +1 -1
  291. package/dist/components/UserCard/index.cjs +1 -1
  292. package/dist/components/UserCard/index.js +1 -1
  293. package/dist/components/index.d.cts +2 -0
  294. package/dist/components/index.d.ts +2 -0
  295. package/dist/entries/app.cjs +1 -1
  296. package/dist/entries/app.js +1 -1
  297. package/dist/entries/components.cjs +1 -1
  298. package/dist/entries/components.js +112 -108
  299. package/dist/entries/components.js.map +1 -1
  300. package/dist/entries/i18n.cjs +1 -1
  301. package/dist/entries/i18n.js +2 -2
  302. package/dist/entries/theme.cjs +1 -1
  303. package/dist/entries/theme.d.cts +1 -1
  304. package/dist/entries/theme.d.ts +1 -1
  305. package/dist/entries/theme.js +1 -1
  306. package/dist/i18n/messages.d.cts +1 -0
  307. package/dist/i18n/messages.d.ts +1 -0
  308. package/dist/index.cjs +1 -1
  309. package/dist/index.css +1 -1
  310. package/dist/index.js +115 -111
  311. package/dist/index.js.map +1 -1
  312. package/dist/{messages-CGHhwf6F.js → messages-CL8uoIRj.js} +8 -1
  313. package/dist/messages-CL8uoIRj.js.map +1 -0
  314. package/dist/messages-Dvn_tEp0.cjs +36 -0
  315. package/dist/messages-Dvn_tEp0.cjs.map +1 -0
  316. package/dist/theme/ConfigProvider.d.cts +22 -1
  317. package/dist/theme/ConfigProvider.d.ts +22 -1
  318. package/dist/theme/index.d.cts +1 -1
  319. package/dist/theme/index.d.ts +1 -1
  320. package/package.json +6 -1
  321. package/dist/AdminRoot-BDRLuMX6.cjs.map +0 -1
  322. package/dist/AdminRoot-DvF0js0q.js.map +0 -1
  323. package/dist/ConfigProvider-C7DUWHrb.cjs.map +0 -1
  324. package/dist/ConfigProvider-DT0yrgmd.js.map +0 -1
  325. package/dist/RootLayout-BNwHsuhC.js +0 -422
  326. package/dist/RootLayout-BNwHsuhC.js.map +0 -1
  327. package/dist/RootLayout-CB-3FgOp.cjs +0 -2
  328. package/dist/RootLayout-CB-3FgOp.cjs.map +0 -1
  329. package/dist/Sidebar-CJ7DtOqb.js +0 -513
  330. package/dist/Sidebar-CJ7DtOqb.js.map +0 -1
  331. package/dist/Sidebar-Cv95DJxZ.cjs +0 -2
  332. package/dist/Sidebar-Cv95DJxZ.cjs.map +0 -1
  333. package/dist/messages-CGHhwf6F.js.map +0 -1
  334. package/dist/messages-DZJyiaf9.cjs +0 -36
  335. package/dist/messages-DZJyiaf9.cjs.map +0 -1
@@ -0,0 +1,479 @@
1
+ import { jsxs as r, Fragment as D, jsx as e } from "react/jsx-runtime";
2
+ import { useState as O, useEffect as U } from "react";
3
+ import { useRouterState as q, useNavigate as oe } from "@tanstack/react-router";
4
+ import { clsx as X } from "clsx";
5
+ import { a as Z } from "./useMediaQuery-DrDUrkmJ.js";
6
+ import { u as ne } from "./useLockBodyScroll-DwBILLPK.js";
7
+ import { A as Y } from "./Avatar-Q50J8wdN.js";
8
+ import { C as $, R as le } from "./Col-B51RlwWP.js";
9
+ import { D as L } from "./Divider-LtH3dLgw.js";
10
+ import { D as J } from "./Dropdown-FfkmluRu.js";
11
+ import { I as p } from "./Icon-DaTvzLBu.js";
12
+ import { I as w } from "./IconButton-CfvsE_p3.js";
13
+ import { L as P } from "./ListItem-Cn15lJBr.js";
14
+ import { F as re } from "./FullscreenToggle-BMCNsyzb.js";
15
+ import { T as ie } from "./ThemeToggle-B4_zRHJY.js";
16
+ import { T as d } from "./Typography-Cta6Rg4L.js";
17
+ import { B as ce } from "./Breadcrumbs-CicfjfIu.js";
18
+ import { T as de } from "./Toaster-ywqAKP8s.js";
19
+ import { a as me, c as he, d as pe, N as K, S as ge } from "./Sidebar-ZA1wxCez.js";
20
+ import { F as ue } from "./Flag-BxRrjCTB.js";
21
+ import { M as be } from "./Modal-Cx0JEQ-j.js";
22
+ import { a as V } from "./ChoiceCardGroup-DBohUnRj.js";
23
+ import { S as ve } from "./Select-ChT-6_bM.js";
24
+ import { S as fe } from "./SwatchPicker-CqyWngFJ.js";
25
+ import { m as ee, a as W, D as F, u as _e, g as ke } from "./ConfigProvider-Blhvj6UQ.js";
26
+ import { B as Se } from "./Button-Cfxd7qhd.js";
27
+ import { S as Ce } from "./SpeedDial-DUYQMDCY.js";
28
+ const ye = {
29
+ light: [
30
+ "#dc2626",
31
+ // red
32
+ "#ea580c",
33
+ // orange
34
+ "#d97706",
35
+ // amber
36
+ "#ca8a04",
37
+ // yellow
38
+ "#65a30d",
39
+ // lime
40
+ "#16a34a",
41
+ // green
42
+ "#059669",
43
+ // emerald
44
+ "#0891b2",
45
+ // cyan
46
+ "#0284c7",
47
+ // sky
48
+ "#2563eb",
49
+ // blue
50
+ "#4f46e5",
51
+ // indigo
52
+ "#7c3aed",
53
+ // violet
54
+ "#c026d3",
55
+ // fuchsia
56
+ "#db2777",
57
+ // pink
58
+ "#475569"
59
+ // slate
60
+ ],
61
+ dark: [
62
+ "#f87171",
63
+ // red
64
+ "#fb923c",
65
+ // orange
66
+ "#fbbf24",
67
+ // amber
68
+ "#facc15",
69
+ // yellow
70
+ "#a3e635",
71
+ // lime
72
+ "#4ade80",
73
+ // green
74
+ "#34d399",
75
+ // emerald
76
+ "#22d3ee",
77
+ // cyan
78
+ "#38bdf8",
79
+ // sky
80
+ "#60a5fa",
81
+ // blue
82
+ "#818cf8",
83
+ // indigo
84
+ "#a78bfa",
85
+ // violet
86
+ "#e879f9",
87
+ // fuchsia
88
+ "#f472b6",
89
+ // pink
90
+ "#94a3b8"
91
+ // slate
92
+ ]
93
+ };
94
+ function Te({ open: l, onClose: u, showTheme: b = !0 }) {
95
+ const {
96
+ mode: n,
97
+ setMode: _,
98
+ accentColors: k,
99
+ defaultAccentColors: S,
100
+ setAccentColor: I,
101
+ headerSticky: B,
102
+ setHeaderSticky: M,
103
+ fontFamily: v,
104
+ setFontFamily: m
105
+ } = ee(), a = W(), [c, C] = O(""), y = c.trim(), f = v !== F ? [F, v] : [F], E = (y.length > 0 && !f.some((o) => o.toLowerCase() === y.toLowerCase()) ? [y, ...f] : f).map((o) => ({
106
+ value: o,
107
+ label: o === F ? a("settings.fontDefault", { font: o }) : o
108
+ })), T = (o, x) => {
109
+ const h = S[o], i = [h, ...ye[o].filter((g) => g.toLowerCase() !== h.toLowerCase())];
110
+ return /* @__PURE__ */ e(
111
+ fe,
112
+ {
113
+ label: x,
114
+ colors: i,
115
+ value: k[o] ?? h,
116
+ onChange: (g) => I(g.toLowerCase() === h.toLowerCase() ? null : g, o),
117
+ labels: { [h]: a("settings.accentDefault", { color: h }) },
118
+ "aria-label": String(x)
119
+ }
120
+ );
121
+ };
122
+ return /* @__PURE__ */ r(
123
+ be,
124
+ {
125
+ open: l,
126
+ onClose: u,
127
+ placement: "right",
128
+ size: "sm",
129
+ title: a("settings.label"),
130
+ icon: "Setting5",
131
+ children: [
132
+ b && /* @__PURE__ */ r(D, { children: [
133
+ /* @__PURE__ */ e(d, { variant: "subtitle", as: "h3", children: a("settings.themeTitle") }),
134
+ /* @__PURE__ */ e(
135
+ d,
136
+ {
137
+ variant: "bodySmall",
138
+ color: "muted",
139
+ as: "p",
140
+ style: { marginTop: "var(--tz-space-xxs)" },
141
+ children: a("settings.themeDesc")
142
+ }
143
+ ),
144
+ /* @__PURE__ */ e(
145
+ V,
146
+ {
147
+ exclusive: !0,
148
+ color: "accent",
149
+ minCardWidth: 130,
150
+ value: n,
151
+ onChange: (o) => {
152
+ typeof o == "string" && _(o);
153
+ },
154
+ options: [
155
+ {
156
+ value: "light",
157
+ label: a("settings.light"),
158
+ description: a("settings.lightDesc"),
159
+ icon: "Sun"
160
+ },
161
+ {
162
+ value: "dark",
163
+ label: a("settings.dark"),
164
+ description: a("settings.darkDesc"),
165
+ icon: "Moon"
166
+ }
167
+ ],
168
+ "aria-label": a("settings.themeTitle"),
169
+ style: { marginTop: "var(--tz-space-sm)" }
170
+ }
171
+ ),
172
+ /* @__PURE__ */ e(L, { style: { margin: "var(--tz-space-md) 0" } })
173
+ ] }),
174
+ /* @__PURE__ */ e(d, { variant: "subtitle", as: "h3", children: a("settings.accentTitle") }),
175
+ /* @__PURE__ */ e(
176
+ d,
177
+ {
178
+ variant: "bodySmall",
179
+ color: "muted",
180
+ as: "p",
181
+ style: { marginTop: "var(--tz-space-xxs)" },
182
+ children: a("settings.accentDesc")
183
+ }
184
+ ),
185
+ /* @__PURE__ */ e($, { gap: "md", style: { marginTop: "var(--tz-space-sm)" }, children: b ? /* @__PURE__ */ r(D, { children: [
186
+ T("light", a("settings.lightTheme")),
187
+ T("dark", a("settings.darkTheme"))
188
+ ] }) : (
189
+ // theme switching is off → the panel stays in one mode, so only that mode's accent matters
190
+ T(n, a(n === "light" ? "settings.lightTheme" : "settings.darkTheme"))
191
+ ) }),
192
+ /* @__PURE__ */ e(L, { style: { margin: "var(--tz-space-md) 0" } }),
193
+ /* @__PURE__ */ e(d, { variant: "subtitle", as: "h3", children: a("settings.fontTitle") }),
194
+ /* @__PURE__ */ e(
195
+ d,
196
+ {
197
+ variant: "bodySmall",
198
+ color: "muted",
199
+ as: "p",
200
+ style: { marginTop: "var(--tz-space-xxs)" },
201
+ children: a("settings.fontDesc")
202
+ }
203
+ ),
204
+ /* @__PURE__ */ e(
205
+ ve,
206
+ {
207
+ label: a("settings.fontFamily"),
208
+ searchable: !0,
209
+ searchPlaceholder: a("settings.fontSearch"),
210
+ value: v,
211
+ options: E,
212
+ onSearchChange: C,
213
+ onChange: (o) => {
214
+ m(o), C("");
215
+ },
216
+ "aria-label": a("settings.fontFamily"),
217
+ style: { marginTop: "var(--tz-space-sm)" }
218
+ }
219
+ ),
220
+ /* @__PURE__ */ e(L, { style: { margin: "var(--tz-space-md) 0" } }),
221
+ /* @__PURE__ */ e(d, { variant: "subtitle", as: "h3", children: a("settings.headerTitle") }),
222
+ /* @__PURE__ */ e(
223
+ d,
224
+ {
225
+ variant: "bodySmall",
226
+ color: "muted",
227
+ as: "p",
228
+ style: { marginTop: "var(--tz-space-xxs)" },
229
+ children: a("settings.headerDesc")
230
+ }
231
+ ),
232
+ /* @__PURE__ */ e(
233
+ V,
234
+ {
235
+ exclusive: !0,
236
+ color: "accent",
237
+ minCardWidth: 130,
238
+ value: B ? "fixed" : "static",
239
+ onChange: (o) => {
240
+ typeof o == "string" && M(o === "fixed");
241
+ },
242
+ options: [
243
+ {
244
+ value: "static",
245
+ label: a("settings.scrollable"),
246
+ description: a("settings.scrollableDesc")
247
+ },
248
+ { value: "fixed", label: a("settings.fixed"), description: a("settings.fixedDesc") }
249
+ ],
250
+ "aria-label": a("settings.headerTitle"),
251
+ style: { marginTop: "var(--tz-space-sm)" }
252
+ }
253
+ )
254
+ ]
255
+ }
256
+ );
257
+ }
258
+ const Ne = "_shell_o4ktv_5", Ae = "_shellCollapsed_o4ktv_21", we = "_sidebar_o4ktv_21", Le = "_sidebarInner_o4ktv_49", xe = "_sidebarClose_o4ktv_58", ze = "_backdrop_o4ktv_65", Fe = "_brand_o4ktv_70", De = "_sidebarSearch_o4ktv_86", Ie = "_navScroll_o4ktv_99", Be = "_sidebarFooter_o4ktv_108", Me = "_headerSearch_o4ktv_115", Re = "_main_o4ktv_119", Ee = "_topbar_o4ktv_126", He = "_topbarSticky_o4ktv_139", Pe = "_headerStart_o4ktv_150", Oe = "_headerEnd_o4ktv_159", We = "_account_o4ktv_166", je = "_content_o4ktv_182", Qe = "_pageTitleRow_o4ktv_189", Ge = "_pageTitle_o4ktv_189", Ue = "_pageActions_o4ktv_207", qe = "_pageActionsFab_o4ktv_221", Xe = "_pageActionsLetter_o4ktv_236", Ye = "_settings_o4ktv_248", s = {
259
+ shell: Ne,
260
+ shellCollapsed: Ae,
261
+ sidebar: we,
262
+ sidebarInner: Le,
263
+ sidebarClose: xe,
264
+ backdrop: ze,
265
+ brand: Fe,
266
+ sidebarSearch: De,
267
+ navScroll: Ie,
268
+ sidebarFooter: Be,
269
+ headerSearch: Me,
270
+ main: Re,
271
+ topbar: Ee,
272
+ topbarSticky: He,
273
+ headerStart: Pe,
274
+ headerEnd: Oe,
275
+ account: We,
276
+ content: je,
277
+ pageTitleRow: Qe,
278
+ pageTitle: Ge,
279
+ pageActions: Ue,
280
+ pageActionsFab: qe,
281
+ pageActionsLetter: Xe,
282
+ settings: Ye
283
+ }, Je = (l) => typeof l == "string" ? /* @__PURE__ */ e(p, { name: l }) : l, Ke = (l) => l.icon != null ? l.icon : typeof l.label == "string" && l.label.trim() ? /* @__PURE__ */ e("span", { className: s.pageActionsLetter, children: l.label.trim()[0].toUpperCase() }) : "More";
284
+ function Ve({ actions: l }) {
285
+ const u = W(), b = Z("xs");
286
+ return l.length ? b && l.length >= 2 ? /* @__PURE__ */ e(
287
+ Ce,
288
+ {
289
+ ariaLabel: u("pageActions.label"),
290
+ icon: "Add",
291
+ direction: "up",
292
+ className: s.pageActionsFab,
293
+ actions: l.map((n) => ({
294
+ icon: Ke(n),
295
+ label: n.label,
296
+ onClick: n.onClick,
297
+ disabled: n.disabled
298
+ }))
299
+ }
300
+ ) : /* @__PURE__ */ e(D, { children: l.map((n, _) => /* @__PURE__ */ e(
301
+ Se,
302
+ {
303
+ size: "sm",
304
+ color: n.color,
305
+ variant: n.variant,
306
+ disabled: n.disabled,
307
+ startIcon: n.icon != null ? Je(n.icon) : void 0,
308
+ onClick: n.onClick,
309
+ children: n.label
310
+ },
311
+ _
312
+ )) }) : null;
313
+ }
314
+ function At({
315
+ logo: l,
316
+ sidebarFooter: u,
317
+ header: b,
318
+ toaster: n = !0,
319
+ children: _
320
+ }) {
321
+ const k = me(), S = he(), { headerSticky: I } = ee(), { language: B, setLanguage: M, languages: v } = _e(), m = W(), c = { ...ke(), ...b }, C = c.theme ?? !0, y = c.fullscreen ?? !1, f = c.settings ?? !0, R = c.search ?? !0, E = c.languages ?? !0, T = c.breadcrumbs ?? !0, o = typeof n == "object" ? n : void 0, x = c.pageTitle ?? !0, h = c.onLogout, i = c.user, g = c.menu ?? [], N = Z("md"), [z, A] = O(N);
322
+ U(() => {
323
+ A(N);
324
+ }, [N]), ne(N && !z);
325
+ const te = q({ select: (t) => t.location.pathname });
326
+ U(() => {
327
+ N && A(!0);
328
+ }, [te]);
329
+ const j = q({
330
+ select: (t) => t.statusCode === 404 || t.matches.some((H) => H.status === "notFound")
331
+ }), [ae, Q] = O(!1), se = oe(), G = (pe() ?? []).map((t) => ({
332
+ label: t.label,
333
+ icon: t.icon,
334
+ color: t.color,
335
+ variant: t.variant,
336
+ disabled: t.disabled,
337
+ onClick: t.onClick ?? (t.to ? () => se({ to: t.to, params: t.params, search: t.search }) : void 0)
338
+ }));
339
+ return /* @__PURE__ */ r("div", { className: X(s.shell, z && s.shellCollapsed), children: [
340
+ /* @__PURE__ */ e("aside", { className: s.sidebar, children: /* @__PURE__ */ r("div", { className: s.sidebarInner, children: [
341
+ l ? /* @__PURE__ */ r("div", { className: s.brand, children: [
342
+ l,
343
+ /* @__PURE__ */ e(
344
+ w,
345
+ {
346
+ variant: "filled",
347
+ size: "sm",
348
+ className: s.sidebarClose,
349
+ "aria-label": m("common.close"),
350
+ onClick: () => A(!0),
351
+ children: /* @__PURE__ */ e(p, { name: "Close" })
352
+ }
353
+ )
354
+ ] }) : null,
355
+ R ? /* @__PURE__ */ e("div", { className: s.sidebarSearch, children: /* @__PURE__ */ e(K, {}) }) : null,
356
+ /* @__PURE__ */ e("div", { className: s.navScroll, children: /* @__PURE__ */ e(ge, {}) }),
357
+ u ? /* @__PURE__ */ e("div", { className: s.sidebarFooter, children: u }) : null
358
+ ] }) }),
359
+ /* @__PURE__ */ e("div", { className: s.backdrop, onClick: () => A(!0), "aria-hidden": "true" }),
360
+ /* @__PURE__ */ r("div", { className: s.main, children: [
361
+ /* @__PURE__ */ r("header", { className: X(s.topbar, I && s.topbarSticky), children: [
362
+ /* @__PURE__ */ r("div", { className: s.headerStart, children: [
363
+ /* @__PURE__ */ e(
364
+ w,
365
+ {
366
+ "aria-label": z ? "Show sidebar" : "Hide sidebar",
367
+ "aria-expanded": !z,
368
+ variant: "filled",
369
+ size: "sm",
370
+ onClick: () => A((t) => !t),
371
+ children: /* @__PURE__ */ e(p, { name: "Menu" })
372
+ }
373
+ ),
374
+ R ? /* @__PURE__ */ e("div", { className: s.headerSearch, children: /* @__PURE__ */ e(K, {}) }) : null
375
+ ] }),
376
+ /* @__PURE__ */ r("div", { className: s.headerEnd, children: [
377
+ y ? /* @__PURE__ */ e(re, { variant: "filled", size: "sm" }) : null,
378
+ C ? /* @__PURE__ */ e(ie, { variant: "filled", size: "sm" }) : null,
379
+ E && v.length > 1 ? /* @__PURE__ */ e(
380
+ J,
381
+ {
382
+ placement: "bottom-end",
383
+ trigger: /* @__PURE__ */ e(w, { variant: "filled", size: "sm", "aria-label": m("language.label"), children: /* @__PURE__ */ e(p, { name: "Global" }) }),
384
+ children: v.map((t) => /* @__PURE__ */ e(
385
+ P,
386
+ {
387
+ clickable: !0,
388
+ selected: t.code === B,
389
+ onClick: () => M(t.code),
390
+ icon: /* @__PURE__ */ e(ue, { code: t.code }),
391
+ children: t.label ?? t.code
392
+ },
393
+ t.code
394
+ ))
395
+ }
396
+ ) : null,
397
+ f ? /* @__PURE__ */ e(
398
+ w,
399
+ {
400
+ "aria-label": m("settings.label"),
401
+ variant: "text",
402
+ size: "sm",
403
+ className: s.settings,
404
+ onClick: () => Q(!0),
405
+ children: /* @__PURE__ */ e(p, { name: "Setting5" })
406
+ }
407
+ ) : null,
408
+ h ? /* @__PURE__ */ r(
409
+ J,
410
+ {
411
+ placement: "bottom-end",
412
+ style: { minWidth: 230 },
413
+ trigger: /* @__PURE__ */ e("button", { type: "button", className: s.account, "aria-label": m("account.label"), children: /* @__PURE__ */ e(Y, { size: "md", name: i == null ? void 0 : i.name, src: i == null ? void 0 : i.avatar, color: "primary" }) }),
414
+ children: [
415
+ i ? /* @__PURE__ */ r(D, { children: [
416
+ /* @__PURE__ */ r(le, { gap: 8, align: "center", padding: "var(--tz-space-xxs) var(--tz-space-xs)", children: [
417
+ /* @__PURE__ */ e(Y, { size: "md", name: i.name, src: i.avatar, color: "primary" }),
418
+ /* @__PURE__ */ r($, { gap: 2, children: [
419
+ /* @__PURE__ */ e(d, { variant: "body", children: i.name ?? m("userCard.welcome") }),
420
+ i.email ? /* @__PURE__ */ e(d, { variant: "bodySmall", color: "muted", children: i.email }) : null
421
+ ] })
422
+ ] }),
423
+ /* @__PURE__ */ e(L, {})
424
+ ] }) : null,
425
+ g.map((t, H) => /* @__PURE__ */ e(
426
+ P,
427
+ {
428
+ icon: t.icon ? /* @__PURE__ */ e(p, { name: t.icon, color: t.color }) : void 0,
429
+ color: t.color,
430
+ clickable: !0,
431
+ disabled: t.disabled,
432
+ onClick: t.onClick,
433
+ children: t.label
434
+ },
435
+ H
436
+ )),
437
+ g.length > 0 ? /* @__PURE__ */ e(L, {}) : null,
438
+ /* @__PURE__ */ e(P, { icon: /* @__PURE__ */ e(p, { name: "Logout2", color: "error" }), clickable: !0, onClick: h, children: m("userCard.signOut") })
439
+ ]
440
+ }
441
+ ) : null
442
+ ] })
443
+ ] }),
444
+ /* @__PURE__ */ r("main", { className: s.content, children: [
445
+ T && !j ? /* @__PURE__ */ e(ce, {}) : null,
446
+ x && !j && (k || S) ? /* @__PURE__ */ r("div", { className: s.pageTitleRow, children: [
447
+ S ? /* @__PURE__ */ e(
448
+ w,
449
+ {
450
+ "aria-label": m("pageTitle.back"),
451
+ variant: "filled",
452
+ color: "accent",
453
+ className: s.backButton,
454
+ onClick: S,
455
+ size: "sm",
456
+ children: /* @__PURE__ */ e(p, { name: "ArrowLeft" })
457
+ }
458
+ ) : null,
459
+ k ? /* @__PURE__ */ e(d, { variant: "h2", className: s.pageTitle, children: k }) : null,
460
+ G.length > 0 ? /* @__PURE__ */ e("div", { className: s.pageActions, children: /* @__PURE__ */ e(Ve, { actions: G }) }) : null
461
+ ] }) : null,
462
+ _
463
+ ] })
464
+ ] }),
465
+ n !== !1 && /* @__PURE__ */ e(de, { ...o }),
466
+ f ? /* @__PURE__ */ e(
467
+ Te,
468
+ {
469
+ open: ae,
470
+ onClose: () => Q(!1),
471
+ showTheme: C
472
+ }
473
+ ) : null
474
+ ] });
475
+ }
476
+ export {
477
+ At as R
478
+ };
479
+ //# sourceMappingURL=RootLayout-x7qWzXPc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RootLayout-x7qWzXPc.js","sources":["../src/components/RootLayout/SettingsDrawer.tsx","../src/components/RootLayout/ActionSet.tsx","../src/components/RootLayout/RootLayout.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { DEFAULT_FONT_FAMILY, useT, useTheme } from '../../theme'\nimport { Col } from '../Flex'\nimport { Divider } from '../Divider'\nimport { Modal } from '../Modal'\nimport { ChoiceCardGroup } from '../ChoiceCard'\nimport { Select } from '../Select'\nimport { SwatchPicker } from '../SwatchPicker'\nimport { Typography } from '../Typography'\n\n// Accent choices offered alongside the provider's default (which leads each list) — 15 per mode, so\n// each theme shows 16 total. Tuned PER MODE (deeper tones for light, brighter for dark) and paired by\n// hue (red → violet + a neutral) so a color keeps its identity across themes.\nconst ALT_SWATCHES: Record<'light' | 'dark', string[]> = {\n light: [\n '#dc2626', // red\n '#ea580c', // orange\n '#d97706', // amber\n '#ca8a04', // yellow\n '#65a30d', // lime\n '#16a34a', // green\n '#059669', // emerald\n '#0891b2', // cyan\n '#0284c7', // sky\n '#2563eb', // blue\n '#4f46e5', // indigo\n '#7c3aed', // violet\n '#c026d3', // fuchsia\n '#db2777', // pink\n '#475569', // slate\n ],\n dark: [\n '#f87171', // red\n '#fb923c', // orange\n '#fbbf24', // amber\n '#facc15', // yellow\n '#a3e635', // lime\n '#4ade80', // green\n '#34d399', // emerald\n '#22d3ee', // cyan\n '#38bdf8', // sky\n '#60a5fa', // blue\n '#818cf8', // indigo\n '#a78bfa', // violet\n '#e879f9', // fuchsia\n '#f472b6', // pink\n '#94a3b8', // slate\n ],\n}\n\nexport interface SettingsDrawerProps {\n /** Whether the drawer is open. */\n open: boolean\n /** Close handler. */\n onClose: () => void\n /** Show the light/dark **Theme** section (gated by the shell's `header.theme`, the same flag as the header toggle). */\n showTheme?: boolean\n}\n\n/**\n * The header user-menu **Settings** drawer (a right-side `Modal`), top to bottom: a **Theme** section — an\n * exclusive `ChoiceCardGroup` (**Light** / **Dark** cards) driving `useTheme().setMode`, shown only when\n * **`showTheme`** (the shell's `header.theme`, so the header toggle + this section appear/disappear\n * together); **Accent Color** — **two `SwatchPicker`s** (Light + Dark) so both accents are chosen\n * independently, each with a per-mode set (deeper tones for light, brighter for dark), calling\n * `setAccentColor(color, mode)` and persisting it — each list leads with the provider's default for that\n * mode (`defaultAccentColors[mode]`), selected when there's no override (picking it clears the override).\n * When `showTheme` is off the panel is locked to one mode, so **only the active mode's accent picker**\n * shows (the other is pointless without a theme switch);\n * a **Font** section (a searchable `Select` — Inter preset + type any Google Font — driving\n * `setFontFamily`); and a **Header** section (an exclusive `ChoiceCardGroup` **Scrollable** / **Fixed**\n * driving `setHeaderSticky`). Internal to the admin shell — not a public export.\n */\nexport function SettingsDrawer({ open, onClose, showTheme = true }: SettingsDrawerProps) {\n const {\n mode,\n setMode,\n accentColors,\n defaultAccentColors,\n setAccentColor,\n headerSticky,\n setHeaderSticky,\n fontFamily,\n setFontFamily,\n } = useTheme()\n const t = useT()\n\n // One searchable Select doubles as a \"type any Google Font\" field. Base = Inter (the only preset) +\n // the active font (so a custom pick stays visible/selectable). While searching, the typed query is\n // offered as its own option — picking it applies + loads that family. Base is always kept in the\n // list (never filtered out) so `value` always resolves in the trigger, even mid-search.\n const [fontQuery, setFontQuery] = useState('')\n const q = fontQuery.trim()\n const base =\n fontFamily !== DEFAULT_FONT_FAMILY ? [DEFAULT_FONT_FAMILY, fontFamily] : [DEFAULT_FONT_FAMILY]\n const showTyped = q.length > 0 && !base.some((f) => f.toLowerCase() === q.toLowerCase())\n const fontOptions = (showTyped ? [q, ...base] : base).map((f) => ({\n value: f,\n label: f === DEFAULT_FONT_FAMILY ? t('settings.fontDefault', { font: f }) : f,\n }))\n\n const picker = (mode: 'light' | 'dark', label: string) => {\n const def = defaultAccentColors[mode]\n // the provider's default (per mode) leads the list; then the mode's alts (minus any collision)\n const colors = [def, ...ALT_SWATCHES[mode].filter((c) => c.toLowerCase() !== def.toLowerCase())]\n return (\n <SwatchPicker\n label={label}\n colors={colors}\n // with no override, this mode's default swatch reads as selected\n value={accentColors[mode] ?? def}\n // the default swatch clears this mode's override; the rest set it\n onChange={(color) =>\n setAccentColor(color.toLowerCase() === def.toLowerCase() ? null : color, mode)\n }\n labels={{ [def]: t('settings.accentDefault', { color: def }) }}\n aria-label={String(label)}\n />\n )\n }\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n placement=\"right\"\n size=\"sm\"\n title={t('settings.label')}\n icon=\"Setting5\"\n >\n {showTheme && (\n <>\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.themeTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.themeDesc')}\n </Typography>\n <ChoiceCardGroup\n exclusive\n color=\"accent\"\n minCardWidth={130}\n value={mode}\n onChange={(v) => {\n if (typeof v === 'string') setMode(v as 'light' | 'dark')\n }}\n options={[\n {\n value: 'light',\n label: t('settings.light'),\n description: t('settings.lightDesc'),\n icon: 'Sun',\n },\n {\n value: 'dark',\n label: t('settings.dark'),\n description: t('settings.darkDesc'),\n icon: 'Moon',\n },\n ]}\n aria-label={t('settings.themeTitle')}\n style={{ marginTop: 'var(--tz-space-sm)' }}\n />\n\n <Divider style={{ margin: 'var(--tz-space-md) 0' }} />\n </>\n )}\n\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.accentTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.accentDesc')}\n </Typography>\n <Col gap=\"md\" style={{ marginTop: 'var(--tz-space-sm)' }}>\n {showTheme ? (\n <>\n {picker('light', t('settings.lightTheme'))}\n {picker('dark', t('settings.darkTheme'))}\n </>\n ) : (\n // theme switching is off → the panel stays in one mode, so only that mode's accent matters\n picker(mode, mode === 'light' ? t('settings.lightTheme') : t('settings.darkTheme'))\n )}\n </Col>\n\n <Divider style={{ margin: 'var(--tz-space-md) 0' }} />\n\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.fontTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.fontDesc')}\n </Typography>\n <Select\n label={t('settings.fontFamily')}\n searchable\n searchPlaceholder={t('settings.fontSearch')}\n value={fontFamily}\n options={fontOptions}\n onSearchChange={setFontQuery}\n onChange={(v) => {\n setFontFamily(v)\n setFontQuery('')\n }}\n aria-label={t('settings.fontFamily')}\n style={{ marginTop: 'var(--tz-space-sm)' }}\n />\n\n <Divider style={{ margin: 'var(--tz-space-md) 0' }} />\n\n <Typography variant=\"subtitle\" as=\"h3\">\n {t('settings.headerTitle')}\n </Typography>\n <Typography\n variant=\"bodySmall\"\n color=\"muted\"\n as=\"p\"\n style={{ marginTop: 'var(--tz-space-xxs)' }}\n >\n {t('settings.headerDesc')}\n </Typography>\n <ChoiceCardGroup\n exclusive\n color=\"accent\"\n minCardWidth={130}\n value={headerSticky ? 'fixed' : 'static'}\n // exclusive (radio) → always a string; set sticky from the picked card\n onChange={(v) => {\n if (typeof v === 'string') setHeaderSticky(v === 'fixed')\n }}\n options={[\n {\n value: 'static',\n label: t('settings.scrollable'),\n description: t('settings.scrollableDesc'),\n },\n { value: 'fixed', label: t('settings.fixed'), description: t('settings.fixedDesc') },\n ]}\n aria-label={t('settings.headerTitle')}\n style={{ marginTop: 'var(--tz-space-sm)' }}\n />\n </Modal>\n )\n}\n","import { type MouseEvent, type ReactNode } from 'react'\nimport { useMediaQuery } from '../../hooks/useMediaQuery'\nimport { useT, type ThemeColor } from '../../theme'\nimport type { IconName } from '../../icons/names'\nimport { Button, type ButtonVariant } from '../Button'\nimport { Icon } from '../Icon'\nimport { SpeedDial } from '../SpeedDial'\nimport styles from './RootLayout.module.css'\n\n/** A resolved page action — rendered as a `Button` (inline) or a `SpeedDial` action (collapsed). */\nexport interface PageAction {\n /** Visible label (button text; the SpeedDial action's tooltip when collapsed). */\n label: ReactNode\n /** Leading icon — an `IconName` or any node. When omitted, the collapsed dial shows the label's first letter. */\n icon?: IconName | ReactNode\n /** Click handler. */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void\n /** Button color / tint. */\n color?: ThemeColor\n /** Inline-button variant (ignored when collapsed). Defaults to `contained`. */\n variant?: ButtonVariant\n /** Renders the action disabled. */\n disabled?: boolean\n}\n\nconst iconNode = (icon: IconName | ReactNode) =>\n typeof icon === 'string' ? <Icon name={icon as IconName} /> : icon\n\n/** The collapsed SpeedDial action's icon: the action's `icon`, else the label's first letter (uppercased),\n * else a fallback `More` glyph when the label isn't a plain string. */\nconst speedDialIcon = (a: PageAction): IconName | ReactNode => {\n if (a.icon != null) return a.icon\n if (typeof a.label === 'string' && a.label.trim())\n return <span className={styles.pageActionsLetter}>{a.label.trim()[0].toUpperCase()}</span>\n return 'More'\n}\n\n/**\n * Renders a set of page actions in the shell's page-title row: inline `Button`s on wider screens,\n * **collapsed into a `SpeedDial`** (a fixed bottom-right FAB) on the `xs` breakpoint (≤767.98px) when\n * there are **2 or more**. Fed by a route's `staticData.actions` (resolved by `RootLayout`). Internal.\n */\nexport function ActionSet({ actions }: { actions: PageAction[] }) {\n const t = useT()\n // ≤ 767.98px — collapse 2+ actions into a SpeedDial so a row of buttons doesn't crowd a phone header\n const isXs = useMediaQuery('xs')\n if (!actions.length) return null\n\n return isXs && actions.length >= 2 ? (\n <SpeedDial\n ariaLabel={t('pageActions.label')}\n icon=\"Add\"\n direction=\"up\"\n // float it as a fixed bottom-right FAB (out of the title-row flow); inset tightens on xxs\n className={styles.pageActionsFab}\n actions={actions.map((a) => ({\n icon: speedDialIcon(a),\n label: a.label,\n onClick: a.onClick,\n disabled: a.disabled,\n }))}\n />\n ) : (\n <>\n {actions.map((a, i) => (\n <Button\n key={i}\n size=\"sm\"\n color={a.color}\n variant={a.variant}\n disabled={a.disabled}\n startIcon={a.icon != null ? iconNode(a.icon) : undefined}\n onClick={a.onClick}\n >\n {a.label}\n </Button>\n ))}\n </>\n )\n}\n","import { useEffect, useState, type ReactNode } from 'react'\nimport { useNavigate, useRouterState, type LinkProps } from '@tanstack/react-router'\nimport { clsx } from 'clsx'\nimport { useMediaQuery } from '../../hooks/useMediaQuery'\nimport { useLockBodyScroll } from '../../hooks/useLockBodyScroll'\nimport {\n useHeaderConfig,\n useLanguage,\n useT,\n useTheme,\n type HeaderConfig,\n type HeaderUser,\n} from '../../theme'\nimport { Avatar } from '../Avatar'\nimport { Col, Row } from '../Flex'\nimport { Divider } from '../Divider'\nimport { Dropdown } from '../Dropdown'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { ListItem } from '../List'\nimport { FullscreenToggle } from '../FullscreenToggle'\nimport { ThemeToggle } from '../ThemeToggle'\nimport { Typography } from '../Typography'\nimport { Breadcrumbs } from '../Breadcrumbs'\nimport { Toaster, type ToasterProps } from '../Toast'\nimport { NavSearch, Sidebar, useLeafActions, usePageBack, usePageTitle } from '../Sidebar/Sidebar'\nimport { Flag } from '../Flag'\nimport { SettingsDrawer } from './SettingsDrawer'\nimport { ActionSet, type PageAction } from './ActionSet'\nimport styles from './RootLayout.module.css'\n\n/**\n * The shell header config + its user shape now live in the theme layer (so `config.header` can carry\n * them app-wide). These aliases keep the historical `RootLayout*` names importable.\n */\nexport type RootLayoutUser = HeaderUser\nexport type RootLayoutHeader = HeaderConfig\n\nexport interface RootLayoutProps {\n /** Brand logo at the top of the sidebar card — pass an `<img>`, an `<Icon>`, or any node. */\n logo?: ReactNode\n /** Optional content pinned to the **bottom of the sidebar** (e.g. a promo / \"Need help?\" card). */\n sidebarFooter?: ReactNode\n /**\n * Header config for **this** shell — merged **over** the app-wide `config.header` (the prop wins).\n * Fields: the built-in `theme` / `search` / `settings` / `languages` toggles (default `true`),\n * `fullscreen` (default `false`), `breadcrumbs` (default `true`), `pageTitle` (default `true`), and the\n * account (`onLogout` / `user`).\n */\n header?: RootLayoutHeader\n /**\n * The built-in toast viewport, mounted for you so `toast.*()` works app-wide with no extra setup.\n * Defaults to `true` (a `<Toaster>` with its defaults). Pass `ToasterProps` to configure it\n * (`{ position, duration }`), or `false` to opt out — e.g. when you mount your own `<Toaster>`.\n */\n toaster?: boolean | ToasterProps\n /** Routed content — the consumer passes `<Outlet />`. */\n children: ReactNode\n}\n\n/**\n * The admin-panel shell — a **floating** layout: the whole app sits on a soft `--tz-color-background`\n * canvas, with a rounded, elevated `--tz-color-surface` **sidebar card** (`logo` + auto-generated `Sidebar` + an optional\n * `sidebarFooter`) beside the header + content. Set it as the root route's component and pass\n * `<Outlet />` as `children`; the `Sidebar` builds itself from the routes' `staticData`. The header\n * holds an optional `ThemeToggle` (on by default), a **Settings** button (opens a right-side drawer to\n * pick + persist the `accent` color), plus an account `Avatar` whose menu has a **Sign out** item when\n * `header.onLogout` is given. The content area stacks\n * **`Breadcrumbs` → the page title (the active route's `staticData.name`) → `children`**; pages wrap\n * their own body in `PageLayout`. Set `header.pageTitle = false` to drop the auto `h2` when pages\n * carry their own heading inside their `PageLayout` header. On a 404 the auto title + breadcrumbs are\n * suppressed automatically (a partial route match would otherwise show a stale section), regardless of\n * the `header.pageTitle` / `header.breadcrumbs` props. A `<Toaster>` is **mounted by default** so\n * `toast.*()` works app-wide with no extra setup (configure via `toaster`, or `toaster={false}` to opt\n * out). Styling is token-based, so it follows the active `ConfigProvider` mode. Requires\n * `@tanstack/react-router` (peer).\n */\nexport function RootLayout({\n logo,\n sidebarFooter,\n header,\n toaster = true,\n children,\n}: RootLayoutProps) {\n const title = usePageTitle()\n const onBack = usePageBack() // set by the current route's `staticData.back` (opt-in) — else undefined\n // header sticky/static — the user's persisted choice (seeded from config.header.sticky)\n const { headerSticky } = useTheme()\n const { language, setLanguage, languages } = useLanguage()\n const t = useT()\n // app-wide header config (config.header) as the base; this shell's `header` prop wins over it\n const configHeader = useHeaderConfig()\n const h: HeaderConfig = { ...configHeader, ...header }\n const showTheme = h.theme ?? true\n const showFullscreen = h.fullscreen ?? false\n const showSettings = h.settings ?? true\n const showSearch = h.search ?? true\n const showLanguages = h.languages ?? true\n const showBreadcrumbs = h.breadcrumbs ?? true\n const toasterProps = typeof toaster === 'object' ? toaster : undefined\n const showPageTitle = h.pageTitle ?? true\n const onLogout = h.onLogout\n const user = h.user\n const accountMenu = h.menu ?? [] // custom account-menu items (between the user block and Sign out)\n // below 1280px the sidebar auto-collapses (and auto-expands again above it); a manual toggle holds\n // until the next breakpoint cross. `useMediaQuery` is correct on the first client render, so no flash.\n const isNarrow = useMediaQuery('md') // ≤ 1279.98px — the shared `md` breakpoint\n const [collapsed, setCollapsed] = useState(isNarrow)\n useEffect(() => {\n setCollapsed(isNarrow)\n }, [isNarrow])\n // while the sidebar overlays the content (narrow + open), lock page scroll so scrolling inside the\n // drawer doesn't scroll the content behind it\n useLockBodyScroll(isNarrow && !collapsed)\n // navigating from the overlay drawer (a nav link or a search suggestion — both change the route) auto-\n // closes it, so you land on the page instead of the still-open sidebar; desktop navigation is untouched\n const pathname = useRouterState({ select: (s) => s.location.pathname })\n useEffect(() => {\n if (isNarrow) setCollapsed(true)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname])\n // on a 404 the URL often partially matches a named layout route (e.g. `/core/xxx` still resolves\n // \"Core\" as the active section), so the auto page title + breadcrumbs would show a stale, wrong trail.\n // suppress both when the router is in a notFound state — automatic, no opt-out needed. `statusCode ===\n // 404` is the primary signal; a `notFound` match status is the fallback.\n const isNotFound = useRouterState({\n select: (s) => s.statusCode === 404 || s.matches.some((m) => m.status === 'notFound'),\n })\n const [settingsOpen, setSettingsOpen] = useState(false)\n // declarative page-title-row actions from the current route's `staticData.actions` — `to` navigates\n // via the router; `onClick` is a plain handler. Resolved to the `ActionSet` shape here.\n const navigate = useNavigate()\n const routeActions = useLeafActions()\n const pageActions: PageAction[] = (routeActions ?? []).map((a) => ({\n label: a.label,\n icon: a.icon,\n color: a.color,\n variant: a.variant,\n disabled: a.disabled,\n onClick:\n a.onClick ??\n (a.to\n ? () =>\n navigate({ to: a.to as LinkProps['to'], params: a.params, search: a.search } as never)\n : undefined),\n }))\n\n return (\n <div className={clsx(styles.shell, collapsed && styles.shellCollapsed)}>\n <aside className={styles.sidebar}>\n {/* fixed-width inner: the outer <aside> animates its width to 0 (and clips via overflow),\n while this keeps the sidebar's real width so the content never reflows mid-collapse */}\n <div className={styles.sidebarInner}>\n {logo ? (\n <div className={styles.brand}>\n {logo}\n {/* in-drawer close — only shown when the sidebar overlays (narrow), where the header\n toggle is behind the backdrop; closes the drawer */}\n <IconButton\n variant=\"filled\"\n size=\"sm\"\n className={styles.sidebarClose}\n aria-label={t('common.close')}\n onClick={() => setCollapsed(true)}\n >\n <Icon name=\"Close\" />\n </IconButton>\n </div>\n ) : null}\n {/* the search lives in the header on desktop; below 576px (full-width drawer) it moves here,\n between the logo and the menu (CSS toggles which instance shows) */}\n {showSearch ? (\n <div className={styles.sidebarSearch}>\n <NavSearch />\n </div>\n ) : null}\n <div className={styles.navScroll}>\n <Sidebar />\n </div>\n {sidebarFooter ? <div className={styles.sidebarFooter}>{sidebarFooter}</div> : null}\n </div>\n </aside>\n {/* dim backdrop behind the overlay sidebar — a sibling of the sidebar (same stacking context, so the\n sidebar reliably sits above it, unlike a body-portaled Overlay). Only shown/interactive below\n 1280px while open (CSS); clicking it closes the drawer. On desktop the sidebar is a grid column. */}\n <div className={styles.backdrop} onClick={() => setCollapsed(true)} aria-hidden=\"true\" />\n <div className={styles.main}>\n <header className={clsx(styles.topbar, headerSticky && styles.topbarSticky)}>\n <div className={styles.headerStart}>\n <IconButton\n aria-label={collapsed ? 'Show sidebar' : 'Hide sidebar'}\n aria-expanded={!collapsed}\n variant=\"filled\"\n size=\"sm\"\n onClick={() => setCollapsed((c) => !c)}\n >\n <Icon name=\"Menu\" />\n </IconButton>\n {showSearch ? (\n <div className={styles.headerSearch}>\n <NavSearch />\n </div>\n ) : null}\n </div>\n <div className={styles.headerEnd}>\n {showFullscreen ? <FullscreenToggle variant=\"filled\" size=\"sm\" /> : null}\n {showTheme ? <ThemeToggle variant=\"filled\" size=\"sm\" /> : null}\n {showLanguages && languages.length > 1 ? (\n <Dropdown\n placement=\"bottom-end\"\n trigger={\n <IconButton variant=\"filled\" size=\"sm\" aria-label={t('language.label')}>\n <Icon name=\"Global\" />\n </IconButton>\n }\n >\n {languages.map((l) => (\n <ListItem\n key={l.code}\n clickable\n selected={l.code === language}\n onClick={() => setLanguage(l.code)}\n icon={<Flag code={l.code} />}\n >\n {l.label ?? l.code}\n </ListItem>\n ))}\n </Dropdown>\n ) : null}\n {showSettings ? (\n <IconButton\n aria-label={t('settings.label')}\n variant=\"text\"\n size=\"sm\"\n className={styles.settings}\n onClick={() => setSettingsOpen(true)}\n >\n <Icon name=\"Setting5\" />\n </IconButton>\n ) : null}\n {onLogout ? (\n <Dropdown\n placement=\"bottom-end\"\n style={{ minWidth: 230 }}\n trigger={\n <button type=\"button\" className={styles.account} aria-label={t('account.label')}>\n <Avatar size=\"md\" name={user?.name} src={user?.avatar} color=\"primary\" />\n </button>\n }\n >\n {user ? (\n <>\n <Row gap={8} align=\"center\" padding=\"var(--tz-space-xxs) var(--tz-space-xs)\">\n <Avatar size=\"md\" name={user.name} src={user.avatar} color=\"primary\" />\n <Col gap={2}>\n {/* name, or a \"Welcome\" greeting fallback when no name is given */}\n <Typography variant=\"body\">{user.name ?? t('userCard.welcome')}</Typography>\n {user.email ? (\n <Typography variant=\"bodySmall\" color=\"muted\">\n {user.email}\n </Typography>\n ) : null}\n </Col>\n </Row>\n <Divider />\n </>\n ) : null}\n {/* app-supplied items (e.g. \"Account\"), between the user block and Sign out */}\n {accountMenu.map((item, i) => (\n <ListItem\n key={i}\n icon={item.icon ? <Icon name={item.icon} color={item.color} /> : undefined}\n color={item.color}\n clickable\n disabled={item.disabled}\n onClick={item.onClick}\n >\n {item.label}\n </ListItem>\n ))}\n {/* keep the destructive Sign out visually separated from the custom items */}\n {accountMenu.length > 0 ? <Divider /> : null}\n <ListItem icon={<Icon name=\"Logout2\" color=\"error\" />} clickable onClick={onLogout}>\n {t('userCard.signOut')}\n </ListItem>\n </Dropdown>\n ) : null}\n </div>\n </header>\n <main className={styles.content}>\n {showBreadcrumbs && !isNotFound ? <Breadcrumbs /> : null}\n {showPageTitle && !isNotFound && (title || onBack) ? (\n <div className={styles.pageTitleRow}>\n {onBack ? (\n <IconButton\n aria-label={t('pageTitle.back')}\n variant=\"filled\"\n color=\"accent\"\n className={styles.backButton}\n onClick={onBack}\n size=\"sm\"\n >\n <Icon name=\"ArrowLeft\" />\n </IconButton>\n ) : null}\n {title ? (\n <Typography variant=\"h2\" className={styles.pageTitle}>\n {title}\n </Typography>\n ) : null}\n {/* right-aligned page actions from the route's `staticData.actions` */}\n {pageActions.length > 0 ? (\n <div className={styles.pageActions}>\n <ActionSet actions={pageActions} />\n </div>\n ) : null}\n </div>\n ) : null}\n {children}\n </main>\n </div>\n {toaster !== false && <Toaster {...toasterProps} />}\n {showSettings ? (\n <SettingsDrawer\n open={settingsOpen}\n onClose={() => setSettingsOpen(false)}\n showTheme={showTheme}\n />\n ) : null}\n </div>\n )\n}\n"],"names":["ALT_SWATCHES","SettingsDrawer","open","onClose","showTheme","mode","setMode","accentColors","defaultAccentColors","setAccentColor","headerSticky","setHeaderSticky","fontFamily","setFontFamily","useTheme","t","useT","fontQuery","setFontQuery","useState","q","base","DEFAULT_FONT_FAMILY","fontOptions","f","picker","label","def","colors","c","jsx","SwatchPicker","color","jsxs","Modal","Fragment","Typography","ChoiceCardGroup","v","Divider","Col","Select","iconNode","icon","Icon","speedDialIcon","a","styles","ActionSet","actions","isXs","useMediaQuery","SpeedDial","i","Button","RootLayout","logo","sidebarFooter","header","toaster","children","title","usePageTitle","onBack","usePageBack","language","setLanguage","languages","useLanguage","h","useHeaderConfig","showFullscreen","showSettings","showSearch","showLanguages","showBreadcrumbs","toasterProps","showPageTitle","onLogout","user","accountMenu","isNarrow","collapsed","setCollapsed","useEffect","useLockBodyScroll","pathname","useRouterState","s","isNotFound","m","settingsOpen","setSettingsOpen","navigate","useNavigate","pageActions","useLeafActions","clsx","IconButton","NavSearch","Sidebar","FullscreenToggle","ThemeToggle","Dropdown","l","ListItem","Flag","Avatar","Row","item","Breadcrumbs","Toaster"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("react/jsx-runtime"),n=require("react"),M=require("clsx"),Te=require("./formContext-bTWrqdEV.cjs"),De=require("./FloatingPanel-U6sGYiSK.cjs"),Le=require("./names-BJnFU_5m.cjs"),T=require("./Icon-BVULqOJD.cjs"),Ce=require("./List-ChXO0Hz-.cjs"),Ee=require("./ListItem-yXXjtepZ.cjs"),Se=require("./Loader-53HFNMVX.cjs"),O=require("./Typography-BFatE1_A.cjs"),Re=require("./ConfigProvider-C7DUWHrb.cjs"),Me="_field_17o9l_1",Oe="_fullWidth_17o9l_7",Pe="_label_17o9l_13",Ae="_required_17o9l_22",Be="_control_17o9l_28",Ke="_open_17o9l_47",We="_error_17o9l_52",Fe="_disabled_17o9l_60",Ve="_value_17o9l_70",$e="_valueIcon_17o9l_78",He="_valueLabel_17o9l_82",Qe="_placeholder_17o9l_87",ze="_clear_17o9l_92",Ue="_chevron_17o9l_111",Ge="_sm_17o9l_121",Je="_md_17o9l_125",Xe="_lg_17o9l_129",Ye="_helper_17o9l_134",Ze="_popover_17o9l_139",el="_search_17o9l_147",ll="_searchIcon_17o9l_156",sl="_searchInput_17o9l_160",ol="_listbox_17o9l_176",rl="_active_17o9l_184",tl="_noOptions_17o9l_188",nl="_loading_17o9l_194",o={field:Me,fullWidth:Oe,label:Pe,required:Ae,control:Be,open:Ke,error:We,disabled:Fe,value:Ve,valueIcon:$e,valueLabel:He,placeholder:Qe,clear:ze,chevron:Ue,sm:Ge,md:Je,lg:Xe,helper:Ye,popover:Ze,search:el,searchIcon:ll,searchInput:sl,listbox:ol,active:rl,noOptions:tl,loading:nl},al=new Set(Le.ICON_NAMES);function cl(m,h){return m==null?null:typeof m=="string"&&al.has(m)?s.jsx(T.Icon,{name:m,size:h}):m}const il=n.forwardRef(function({label:h,options:D,size:y="md",error:te,helperText:ne,required:Q=!1,fullWidth:ae=!0,disabled:p=!1,value:P,defaultValue:ce,onChange:A,placeholder:ie,clearable:ue=!0,searchable:u=!1,searchPlaceholder:de,onSearchChange:g,loading:fe=!1,loadingText:pe,noOptionsText:L,showSelectedTick:_e=!0,name:v,id:me,className:he,style:ve},j){const be=n.useId(),w=me??be,B=`${w}-label`,K=`${w}-listbox`,z=`${w}-helper`,W=e=>`${w}-opt-${e}`,N=Re.useT(),U=de??N("common.search"),C=Te.useFormContext(),E=!!(C&&v),c=E?C.field(v):void 0,xe=P!==void 0?P:E?C.values[v]??"":void 0,G=P!==void 0||E,[Ie,ye]=n.useState(ce??""),S=G?xe:Ie,F=te??(c==null?void 0:c.error)??!1,V=ne??(c==null?void 0:c.helperText),_=D.find(e=>e.value===S),ge=_!=null,J=e=>{G||ye(e),E&&C.setValue(v,e),A==null||A(e)},b=n.useRef(null),X=n.useRef(null),$=n.useRef({buffer:"",timer:0}),R=n.useRef(void 0);R.current=c?()=>c.onBlur({}):void 0;const[r,Y]=n.useState(!1),[x,Z]=n.useState(""),[d,i]=n.useState(-1),je=n.useCallback(e=>{b.current=e,typeof j=="function"?j(e):j&&(j.current=e)},[j]),a=n.useMemo(()=>{if(!u||g||!x.trim())return D;const e=x.trim().toLowerCase();return D.filter(l=>l.label.toLowerCase().includes(e))},[u,g,x,D]),I=n.useCallback((e,l)=>{let t=e;for(;t>=0&&t<a.length;){if(!a[t].disabled)return t;t+=l}return-1},[a]),ee=n.useRef(null),k=n.useCallback(e=>{var l,t;Y(!1),Z(""),window.clearTimeout($.current.timer),$.current.buffer="",(l=R.current)==null||l.call(R),e&&((t=b.current)==null||t.focus())},[]);n.useEffect(()=>{if(!r)return;const e=a.findIndex(l=>l.value===S);i(e>=0&&!a[e].disabled?e:I(0,1)),u&&requestAnimationFrame(()=>{var l;return(l=X.current)==null?void 0:l.focus()})},[r]),n.useEffect(()=>{var e,l;!r||d<0||(l=(e=document.getElementById(W(d)))==null?void 0:e.scrollIntoView)==null||l.call(e,{block:"nearest"})},[r,d]),n.useEffect(()=>{r&&u&&i(I(0,1))},[x]),n.useEffect(()=>{r&&i(e=>e<a.length?e:I(0,1))},[a.length]);const q=()=>{p||Y(!0)},H=e=>{!e||e.disabled||(J(e.value),k(!0))},le=e=>{i(l=>{const t=l<0?e>0?0:a.length-1:l+e,f=I(t,e);return f===-1?l:f})},we=e=>{const l=$.current;window.clearTimeout(l.timer),l.buffer+=e.toLowerCase(),l.timer=window.setTimeout(()=>l.buffer="",500);const t=a.findIndex(f=>!f.disabled&&f.label.toLowerCase().startsWith(l.buffer));t>=0&&i(t)},se=e=>{if(!p)switch(e.key){case"ArrowDown":e.preventDefault(),r?le(1):q();break;case"ArrowUp":e.preventDefault(),r?le(-1):q();break;case"Enter":e.preventDefault(),r?H(a[d]):q();break;case" ":r?u||(e.preventDefault(),H(a[d])):(e.preventDefault(),q());break;case"Escape":r&&(e.preventDefault(),e.stopPropagation(),k(!0));break;case"Tab":r&&k(!0);break;case"Home":r&&(e.preventDefault(),i(I(0,1)));break;case"End":r&&(e.preventDefault(),i(I(a.length-1,-1)));break;default:!u&&r&&e.key.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&we(e.key)}},Ne=e=>{var t,f;const l=e.relatedTarget;l&&((t=ee.current)!=null&&t.contains(l)||(f=b.current)!=null&&f.contains(l))||c==null||c.onBlur(e)},ke=e=>{var l;e.stopPropagation(),J(""),(l=b.current)==null||l.focus()},oe=r&&d>=0?W(d):void 0,qe=y==="sm"?"sm":"md",re=y==="sm"?16:y==="md"?14:12;return s.jsxs("div",{className:M.clsx(o.field,o[y],ae&&o.fullWidth,F&&o.error,p&&o.disabled,he),style:ve,children:[h!=null&&s.jsxs("span",{id:B,className:o.label,onClick:()=>{var e;return!p&&((e=b.current)==null?void 0:e.focus())},children:[s.jsx(O.Typography,{as:"span",variant:"bodySmall",color:"muted",children:h}),Q&&s.jsx("span",{className:o.required,"aria-hidden":"true",children:"*"})]}),s.jsxs("div",{ref:je,id:w,...v?{name:v}:{},role:"combobox",tabIndex:p?-1:0,"aria-haspopup":"listbox","aria-expanded":r,"aria-controls":r?K:void 0,"aria-activedescendant":u?void 0:oe,"aria-labelledby":h!=null?B:void 0,"aria-disabled":p||void 0,"aria-required":Q||void 0,"aria-invalid":F||void 0,"aria-describedby":V!=null?z:void 0,className:M.clsx(o.control,r&&o.open),onClick:()=>r?k(!1):q(),onKeyDown:se,onBlur:Ne,children:[s.jsxs("span",{className:M.clsx(o.value,!ge&&o.placeholder),children:[(_==null?void 0:_.icon)!=null&&s.jsx("span",{className:o.valueIcon,children:cl(_.icon,qe)}),s.jsx("span",{className:o.valueLabel,children:_?_.label:ie??N("select.placeholder")})]}),ue&&S!==""&&!p&&s.jsx("button",{type:"button",className:o.clear,"aria-label":N("select.clear"),tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:ke,children:s.jsx(T.Icon,{name:"CloseCircle",size:"sm"})}),s.jsx(T.Icon,{name:"ArrowDown4",className:o.chevron,style:{width:re,height:re},"aria-hidden":"true"})]}),s.jsxs(De.FloatingPanel,{ref:ee,open:r,triggerRef:b,onClose:k,matchTriggerWidth:!0,className:o.popover,children:[u&&s.jsxs("div",{className:o.search,children:[s.jsx(T.Icon,{name:"SearchNormal",size:"sm",className:o.searchIcon,"aria-hidden":"true"}),s.jsx("input",{ref:X,className:o.searchInput,type:"text",role:"combobox","aria-expanded":"true","aria-controls":K,"aria-activedescendant":oe,"aria-autocomplete":"list","aria-label":U,placeholder:U,value:x,spellCheck:!1,onChange:e=>{Z(e.target.value),g==null||g(e.target.value)},onKeyDown:se})]}),s.jsx(Ce.List,{role:"listbox",id:K,"aria-labelledby":h!=null?B:void 0,size:y,className:o.listbox,onMouseLeave:()=>i(-1),children:fe?s.jsxs("div",{className:o.loading,children:[s.jsx(Se.Loader,{size:"sm"}),s.jsx(O.Typography,{as:"span",variant:"bodySmall",color:"muted",children:pe??N("common.loading")})]}):a.length===0?s.jsx("div",{className:o.noOptions,children:s.jsx(O.Typography,{as:"span",variant:"bodySmall",color:"muted",children:L==null?N("select.noOptions"):typeof L=="function"?L(x):L})}):a.map((e,l)=>{const t=e.value===S;return s.jsx(Ee.ListItem,{id:W(l),role:"option",tabIndex:-1,"aria-selected":t,"aria-current":void 0,clickable:!0,selected:t,disabled:e.disabled,icon:e.icon,className:M.clsx(l===d&&o.active),trailing:t&&_e?s.jsx(T.Icon,{name:"TickCircle",size:"sm"}):void 0,onMouseEnter:()=>!e.disabled&&i(l),onClick:()=>H(e),children:e.label},e.value)})})]}),V!=null&&s.jsx(O.Typography,{as:"span",id:z,variant:"bodySmall",color:F?"error":"muted",className:o.helper,children:V})]})});exports.Select=il;
2
- //# sourceMappingURL=Select-Cx1Yl8nq.cjs.map
1
+ "use strict";const s=require("react/jsx-runtime"),n=require("react"),M=require("clsx"),Te=require("./formContext-bTWrqdEV.cjs"),De=require("./FloatingPanel-U6sGYiSK.cjs"),Le=require("./names-BJnFU_5m.cjs"),T=require("./Icon-BVULqOJD.cjs"),Ce=require("./List-ChXO0Hz-.cjs"),Ee=require("./ListItem-yXXjtepZ.cjs"),Se=require("./Loader-CxLrhAz9.cjs"),O=require("./Typography-BFatE1_A.cjs"),Re=require("./ConfigProvider-CUG8Mfy2.cjs"),Me="_field_17o9l_1",Oe="_fullWidth_17o9l_7",Pe="_label_17o9l_13",Ae="_required_17o9l_22",Be="_control_17o9l_28",Ke="_open_17o9l_47",We="_error_17o9l_52",Fe="_disabled_17o9l_60",Ve="_value_17o9l_70",$e="_valueIcon_17o9l_78",He="_valueLabel_17o9l_82",Qe="_placeholder_17o9l_87",ze="_clear_17o9l_92",Ue="_chevron_17o9l_111",Ge="_sm_17o9l_121",Je="_md_17o9l_125",Xe="_lg_17o9l_129",Ye="_helper_17o9l_134",Ze="_popover_17o9l_139",el="_search_17o9l_147",ll="_searchIcon_17o9l_156",sl="_searchInput_17o9l_160",ol="_listbox_17o9l_176",rl="_active_17o9l_184",tl="_noOptions_17o9l_188",nl="_loading_17o9l_194",o={field:Me,fullWidth:Oe,label:Pe,required:Ae,control:Be,open:Ke,error:We,disabled:Fe,value:Ve,valueIcon:$e,valueLabel:He,placeholder:Qe,clear:ze,chevron:Ue,sm:Ge,md:Je,lg:Xe,helper:Ye,popover:Ze,search:el,searchIcon:ll,searchInput:sl,listbox:ol,active:rl,noOptions:tl,loading:nl},al=new Set(Le.ICON_NAMES);function cl(m,h){return m==null?null:typeof m=="string"&&al.has(m)?s.jsx(T.Icon,{name:m,size:h}):m}const il=n.forwardRef(function({label:h,options:D,size:y="md",error:te,helperText:ne,required:Q=!1,fullWidth:ae=!0,disabled:p=!1,value:P,defaultValue:ce,onChange:A,placeholder:ie,clearable:ue=!0,searchable:u=!1,searchPlaceholder:de,onSearchChange:g,loading:fe=!1,loadingText:pe,noOptionsText:L,showSelectedTick:_e=!0,name:v,id:me,className:he,style:ve},j){const be=n.useId(),w=me??be,B=`${w}-label`,K=`${w}-listbox`,z=`${w}-helper`,W=e=>`${w}-opt-${e}`,N=Re.useT(),U=de??N("common.search"),C=Te.useFormContext(),E=!!(C&&v),c=E?C.field(v):void 0,xe=P!==void 0?P:E?C.values[v]??"":void 0,G=P!==void 0||E,[Ie,ye]=n.useState(ce??""),S=G?xe:Ie,F=te??(c==null?void 0:c.error)??!1,V=ne??(c==null?void 0:c.helperText),_=D.find(e=>e.value===S),ge=_!=null,J=e=>{G||ye(e),E&&C.setValue(v,e),A==null||A(e)},b=n.useRef(null),X=n.useRef(null),$=n.useRef({buffer:"",timer:0}),R=n.useRef(void 0);R.current=c?()=>c.onBlur({}):void 0;const[r,Y]=n.useState(!1),[x,Z]=n.useState(""),[d,i]=n.useState(-1),je=n.useCallback(e=>{b.current=e,typeof j=="function"?j(e):j&&(j.current=e)},[j]),a=n.useMemo(()=>{if(!u||g||!x.trim())return D;const e=x.trim().toLowerCase();return D.filter(l=>l.label.toLowerCase().includes(e))},[u,g,x,D]),I=n.useCallback((e,l)=>{let t=e;for(;t>=0&&t<a.length;){if(!a[t].disabled)return t;t+=l}return-1},[a]),ee=n.useRef(null),k=n.useCallback(e=>{var l,t;Y(!1),Z(""),window.clearTimeout($.current.timer),$.current.buffer="",(l=R.current)==null||l.call(R),e&&((t=b.current)==null||t.focus())},[]);n.useEffect(()=>{if(!r)return;const e=a.findIndex(l=>l.value===S);i(e>=0&&!a[e].disabled?e:I(0,1)),u&&requestAnimationFrame(()=>{var l;return(l=X.current)==null?void 0:l.focus()})},[r]),n.useEffect(()=>{var e,l;!r||d<0||(l=(e=document.getElementById(W(d)))==null?void 0:e.scrollIntoView)==null||l.call(e,{block:"nearest"})},[r,d]),n.useEffect(()=>{r&&u&&i(I(0,1))},[x]),n.useEffect(()=>{r&&i(e=>e<a.length?e:I(0,1))},[a.length]);const q=()=>{p||Y(!0)},H=e=>{!e||e.disabled||(J(e.value),k(!0))},le=e=>{i(l=>{const t=l<0?e>0?0:a.length-1:l+e,f=I(t,e);return f===-1?l:f})},we=e=>{const l=$.current;window.clearTimeout(l.timer),l.buffer+=e.toLowerCase(),l.timer=window.setTimeout(()=>l.buffer="",500);const t=a.findIndex(f=>!f.disabled&&f.label.toLowerCase().startsWith(l.buffer));t>=0&&i(t)},se=e=>{if(!p)switch(e.key){case"ArrowDown":e.preventDefault(),r?le(1):q();break;case"ArrowUp":e.preventDefault(),r?le(-1):q();break;case"Enter":e.preventDefault(),r?H(a[d]):q();break;case" ":r?u||(e.preventDefault(),H(a[d])):(e.preventDefault(),q());break;case"Escape":r&&(e.preventDefault(),e.stopPropagation(),k(!0));break;case"Tab":r&&k(!0);break;case"Home":r&&(e.preventDefault(),i(I(0,1)));break;case"End":r&&(e.preventDefault(),i(I(a.length-1,-1)));break;default:!u&&r&&e.key.length===1&&!e.metaKey&&!e.ctrlKey&&!e.altKey&&we(e.key)}},Ne=e=>{var t,f;const l=e.relatedTarget;l&&((t=ee.current)!=null&&t.contains(l)||(f=b.current)!=null&&f.contains(l))||c==null||c.onBlur(e)},ke=e=>{var l;e.stopPropagation(),J(""),(l=b.current)==null||l.focus()},oe=r&&d>=0?W(d):void 0,qe=y==="sm"?"sm":"md",re=y==="sm"?16:y==="md"?14:12;return s.jsxs("div",{className:M.clsx(o.field,o[y],ae&&o.fullWidth,F&&o.error,p&&o.disabled,he),style:ve,children:[h!=null&&s.jsxs("span",{id:B,className:o.label,onClick:()=>{var e;return!p&&((e=b.current)==null?void 0:e.focus())},children:[s.jsx(O.Typography,{as:"span",variant:"bodySmall",color:"muted",children:h}),Q&&s.jsx("span",{className:o.required,"aria-hidden":"true",children:"*"})]}),s.jsxs("div",{ref:je,id:w,...v?{name:v}:{},role:"combobox",tabIndex:p?-1:0,"aria-haspopup":"listbox","aria-expanded":r,"aria-controls":r?K:void 0,"aria-activedescendant":u?void 0:oe,"aria-labelledby":h!=null?B:void 0,"aria-disabled":p||void 0,"aria-required":Q||void 0,"aria-invalid":F||void 0,"aria-describedby":V!=null?z:void 0,className:M.clsx(o.control,r&&o.open),onClick:()=>r?k(!1):q(),onKeyDown:se,onBlur:Ne,children:[s.jsxs("span",{className:M.clsx(o.value,!ge&&o.placeholder),children:[(_==null?void 0:_.icon)!=null&&s.jsx("span",{className:o.valueIcon,children:cl(_.icon,qe)}),s.jsx("span",{className:o.valueLabel,children:_?_.label:ie??N("select.placeholder")})]}),ue&&S!==""&&!p&&s.jsx("button",{type:"button",className:o.clear,"aria-label":N("select.clear"),tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:ke,children:s.jsx(T.Icon,{name:"CloseCircle",size:"sm"})}),s.jsx(T.Icon,{name:"ArrowDown4",className:o.chevron,style:{width:re,height:re},"aria-hidden":"true"})]}),s.jsxs(De.FloatingPanel,{ref:ee,open:r,triggerRef:b,onClose:k,matchTriggerWidth:!0,className:o.popover,children:[u&&s.jsxs("div",{className:o.search,children:[s.jsx(T.Icon,{name:"SearchNormal",size:"sm",className:o.searchIcon,"aria-hidden":"true"}),s.jsx("input",{ref:X,className:o.searchInput,type:"text",role:"combobox","aria-expanded":"true","aria-controls":K,"aria-activedescendant":oe,"aria-autocomplete":"list","aria-label":U,placeholder:U,value:x,spellCheck:!1,onChange:e=>{Z(e.target.value),g==null||g(e.target.value)},onKeyDown:se})]}),s.jsx(Ce.List,{role:"listbox",id:K,"aria-labelledby":h!=null?B:void 0,size:y,className:o.listbox,onMouseLeave:()=>i(-1),children:fe?s.jsxs("div",{className:o.loading,children:[s.jsx(Se.Loader,{size:"sm"}),s.jsx(O.Typography,{as:"span",variant:"bodySmall",color:"muted",children:pe??N("common.loading")})]}):a.length===0?s.jsx("div",{className:o.noOptions,children:s.jsx(O.Typography,{as:"span",variant:"bodySmall",color:"muted",children:L==null?N("select.noOptions"):typeof L=="function"?L(x):L})}):a.map((e,l)=>{const t=e.value===S;return s.jsx(Ee.ListItem,{id:W(l),role:"option",tabIndex:-1,"aria-selected":t,"aria-current":void 0,clickable:!0,selected:t,disabled:e.disabled,icon:e.icon,className:M.clsx(l===d&&o.active),trailing:t&&_e?s.jsx(T.Icon,{name:"TickCircle",size:"sm"}):void 0,onMouseEnter:()=>!e.disabled&&i(l),onClick:()=>H(e),children:e.label},e.value)})})]}),V!=null&&s.jsx(O.Typography,{as:"span",id:z,variant:"bodySmall",color:F?"error":"muted",className:o.helper,children:V})]})});exports.Select=il;
2
+ //# sourceMappingURL=Select-CVy5BnKe.cjs.map