@techzyapp/ui-library 1.0.42 → 1.0.44

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 (652) hide show
  1. package/README.md +15 -14
  2. package/dist/{Accordion-B4vdZXIu.cjs → Accordion-CFyeLfPT.cjs} +2 -2
  3. package/dist/{Accordion-B4vdZXIu.cjs.map → Accordion-CFyeLfPT.cjs.map} +1 -1
  4. package/dist/{Accordion-DhFZ25KV.js → Accordion-DOrTQJB9.js} +2 -2
  5. package/dist/{Accordion-DhFZ25KV.js.map → Accordion-DOrTQJB9.js.map} +1 -1
  6. package/dist/AdminRoot-9KE3ll-D.js +101 -0
  7. package/dist/AdminRoot-9KE3ll-D.js.map +1 -0
  8. package/dist/AdminRoot-BMzHo0n7.cjs +2 -0
  9. package/dist/AdminRoot-BMzHo0n7.cjs.map +1 -0
  10. package/dist/Alert-BFfzpPNd.js +70 -0
  11. package/dist/{Alert-D6oBxBdP.js.map → Alert-BFfzpPNd.js.map} +1 -1
  12. package/dist/Alert-DS8TzpIS.cjs +2 -0
  13. package/dist/{Alert-C8BBxL_7.cjs.map → Alert-DS8TzpIS.cjs.map} +1 -1
  14. package/dist/{AuthLayout-q8pbCGdt.js → AuthLayout-BI1wLuDl.js} +2 -2
  15. package/dist/{AuthLayout-q8pbCGdt.js.map → AuthLayout-BI1wLuDl.js.map} +1 -1
  16. package/dist/{AuthLayout-exuNQicH.cjs → AuthLayout-Bzlsvicf.cjs} +2 -2
  17. package/dist/{AuthLayout-exuNQicH.cjs.map → AuthLayout-Bzlsvicf.cjs.map} +1 -1
  18. package/dist/{Avatar-l48Ice6t.cjs → Avatar-BBqX1732.cjs} +2 -2
  19. package/dist/{Avatar-l48Ice6t.cjs.map → Avatar-BBqX1732.cjs.map} +1 -1
  20. package/dist/{Avatar-ClcmN0ba.js → Avatar-CaYyv5wk.js} +2 -2
  21. package/dist/{Avatar-ClcmN0ba.js.map → Avatar-CaYyv5wk.js.map} +1 -1
  22. package/dist/{AvatarGroup-l-KV3wdl.js → AvatarGroup-6fhm-van.js} +2 -2
  23. package/dist/{AvatarGroup-l-KV3wdl.js.map → AvatarGroup-6fhm-van.js.map} +1 -1
  24. package/dist/{AvatarGroup-CuvFX4di.cjs → AvatarGroup-DrkzAt1-.cjs} +2 -2
  25. package/dist/{AvatarGroup-CuvFX4di.cjs.map → AvatarGroup-DrkzAt1-.cjs.map} +1 -1
  26. package/dist/Breadcrumbs-CloqFpp1.js +34 -0
  27. package/dist/{Breadcrumbs-cXET6OM5.js.map → Breadcrumbs-CloqFpp1.js.map} +1 -1
  28. package/dist/Breadcrumbs-N2-sZWW5.cjs +2 -0
  29. package/dist/{Breadcrumbs-B-olYVdw.cjs.map → Breadcrumbs-N2-sZWW5.cjs.map} +1 -1
  30. package/dist/Button-5LQtDA9d.js +72 -0
  31. package/dist/{Button-0ZgdNjX-.js.map → Button-5LQtDA9d.js.map} +1 -1
  32. package/dist/Button-Bxztlybi.cjs +2 -0
  33. package/dist/{Button-CwrDiZek.cjs.map → Button-Bxztlybi.cjs.map} +1 -1
  34. package/dist/{Calendar-CxzdnzdK.js → Calendar-BIKo_aus.js} +5 -5
  35. package/dist/{Calendar-CxzdnzdK.js.map → Calendar-BIKo_aus.js.map} +1 -1
  36. package/dist/{Calendar-d3CX5UJp.cjs → Calendar-CsBgaKZ-.cjs} +2 -2
  37. package/dist/{Calendar-d3CX5UJp.cjs.map → Calendar-CsBgaKZ-.cjs.map} +1 -1
  38. package/dist/{Card-CxnUoWsi.cjs → Card-Csn3FaMl.cjs} +2 -2
  39. package/dist/{Card-CxnUoWsi.cjs.map → Card-Csn3FaMl.cjs.map} +1 -1
  40. package/dist/{Card-CjqStov5.js → Card-DMwQ7rMk.js} +4 -4
  41. package/dist/{Card-CjqStov5.js.map → Card-DMwQ7rMk.js.map} +1 -1
  42. package/dist/Chip-BdCZ44I8.cjs +2 -0
  43. package/dist/{Chip-BkU3yx6G.cjs.map → Chip-BdCZ44I8.cjs.map} +1 -1
  44. package/dist/Chip-C7IkFuM1.js +92 -0
  45. package/dist/{Chip-CzJjbaKx.js.map → Chip-C7IkFuM1.js.map} +1 -1
  46. package/dist/ChoiceCardGroup-Cj_YFj6C.cjs +2 -0
  47. package/dist/{ChoiceCardGroup-C7Eengyd.cjs.map → ChoiceCardGroup-Cj_YFj6C.cjs.map} +1 -1
  48. package/dist/ChoiceCardGroup-D37XREKV.js +180 -0
  49. package/dist/{ChoiceCardGroup-q0yN-TeQ.js.map → ChoiceCardGroup-D37XREKV.js.map} +1 -1
  50. package/dist/CodeBlock-BnXxxqAW.cjs +2 -0
  51. package/dist/{CodeBlock-DRBQ_S5t.cjs.map → CodeBlock-BnXxxqAW.cjs.map} +1 -1
  52. package/dist/CodeBlock-C10JN6DR.js +96 -0
  53. package/dist/{CodeBlock-BHcvQrs9.js.map → CodeBlock-C10JN6DR.js.map} +1 -1
  54. package/dist/{ColorPicker-BzCEMN7B.cjs → ColorPicker-CVddGc-n.cjs} +2 -2
  55. package/dist/{ColorPicker-BzCEMN7B.cjs.map → ColorPicker-CVddGc-n.cjs.map} +1 -1
  56. package/dist/{ColorPicker-BQKFdTNr.js → ColorPicker-z8_-77LO.js} +3 -3
  57. package/dist/{ColorPicker-BQKFdTNr.js.map → ColorPicker-z8_-77LO.js.map} +1 -1
  58. package/dist/{ColorPickerPanel-kl2jUix-.cjs → ColorPickerPanel-DJY6-EqO.cjs} +2 -2
  59. package/dist/{ColorPickerPanel-kl2jUix-.cjs.map → ColorPickerPanel-DJY6-EqO.cjs.map} +1 -1
  60. package/dist/{ColorPickerPanel-DKTKC9KH.js → ColorPickerPanel-y4A2LLLf.js} +3 -3
  61. package/dist/{ColorPickerPanel-DKTKC9KH.js.map → ColorPickerPanel-y4A2LLLf.js.map} +1 -1
  62. package/dist/{ColorRamp-n7muILK3.cjs → ColorRamp-DvRsdOWy.cjs} +2 -2
  63. package/dist/{ColorRamp-n7muILK3.cjs.map → ColorRamp-DvRsdOWy.cjs.map} +1 -1
  64. package/dist/{ColorRamp-yfMyJCyx.js → ColorRamp-Dvit8yoP.js} +2 -2
  65. package/dist/{ColorRamp-yfMyJCyx.js.map → ColorRamp-Dvit8yoP.js.map} +1 -1
  66. package/dist/{ConfigProvider-D61cpCz-.js → ConfigProvider-CYgmMH4j.js} +133 -126
  67. package/dist/ConfigProvider-CYgmMH4j.js.map +1 -0
  68. package/dist/ConfigProvider-Cf-awvZs.cjs +2 -0
  69. package/dist/ConfigProvider-Cf-awvZs.cjs.map +1 -0
  70. package/dist/{CopyButton-DlSi82gv.cjs → CopyButton-BOp7waEt.cjs} +2 -2
  71. package/dist/{CopyButton-DlSi82gv.cjs.map → CopyButton-BOp7waEt.cjs.map} +1 -1
  72. package/dist/{CopyButton-ecxn-ghi.js → CopyButton-_iMBE4q_.js} +4 -4
  73. package/dist/{CopyButton-ecxn-ghi.js.map → CopyButton-_iMBE4q_.js.map} +1 -1
  74. package/dist/DashedButton-BX8hfY1x.cjs +2 -0
  75. package/dist/{DashedButton-Dw7xHgIp.cjs.map → DashedButton-BX8hfY1x.cjs.map} +1 -1
  76. package/dist/DashedButton-wcmXTYBw.js +58 -0
  77. package/dist/{DashedButton-csz6Jt_K.js.map → DashedButton-wcmXTYBw.js.map} +1 -1
  78. package/dist/{DatePicker-BjZ_P21i.cjs → DatePicker-UQwpH-rw.cjs} +2 -2
  79. package/dist/{DatePicker-BjZ_P21i.cjs.map → DatePicker-UQwpH-rw.cjs.map} +1 -1
  80. package/dist/{DatePicker-CAGpJbDi.js → DatePicker-X5hZVSW6.js} +6 -6
  81. package/dist/{DatePicker-CAGpJbDi.js.map → DatePicker-X5hZVSW6.js.map} +1 -1
  82. package/dist/DatePicker.module-BaQyKOUM.cjs +2 -0
  83. package/dist/{DatePicker.module-BDtTsg8M.cjs.map → DatePicker.module-BaQyKOUM.cjs.map} +1 -1
  84. package/dist/DatePicker.module-DoywSvLu.js +138 -0
  85. package/dist/{DatePicker.module-CMMQyEhG.js.map → DatePicker.module-DoywSvLu.js.map} +1 -1
  86. package/dist/{DateTimePicker-BJmF0Su6.js → DateTimePicker-Ch1kUHEb.js} +9 -9
  87. package/dist/{DateTimePicker-BJmF0Su6.js.map → DateTimePicker-Ch1kUHEb.js.map} +1 -1
  88. package/dist/{DateTimePicker-DZqWQeUL.cjs → DateTimePicker-ClTZGMON.cjs} +2 -2
  89. package/dist/{DateTimePicker-DZqWQeUL.cjs.map → DateTimePicker-ClTZGMON.cjs.map} +1 -1
  90. package/dist/{DescriptionList-Knq5eCiY.js → DescriptionList-Cque-iYk.js} +69 -69
  91. package/dist/{DescriptionList-Knq5eCiY.js.map → DescriptionList-Cque-iYk.js.map} +1 -1
  92. package/dist/DescriptionList-IVAvgpEL.cjs +2 -0
  93. package/dist/{DescriptionList-CvPDn-kh.cjs.map → DescriptionList-IVAvgpEL.cjs.map} +1 -1
  94. package/dist/Dropdown-C_y9_dVn.cjs +2 -0
  95. package/dist/Dropdown-C_y9_dVn.cjs.map +1 -0
  96. package/dist/Dropdown-D-D_Z1Jo.js +154 -0
  97. package/dist/Dropdown-D-D_Z1Jo.js.map +1 -0
  98. package/dist/{EmptyState-CX1g47y_.cjs → EmptyState-C84B-E8a.cjs} +2 -2
  99. package/dist/{EmptyState-CX1g47y_.cjs.map → EmptyState-C84B-E8a.cjs.map} +1 -1
  100. package/dist/{EmptyState-Dqtpmtje.js → EmptyState-Yts_p-jZ.js} +3 -3
  101. package/dist/{EmptyState-Dqtpmtje.js.map → EmptyState-Yts_p-jZ.js.map} +1 -1
  102. package/dist/{ErrorBoundary-Dos7VLb-.js → ErrorBoundary-BgMOPle0.js} +3 -3
  103. package/dist/{ErrorBoundary-Dos7VLb-.js.map → ErrorBoundary-BgMOPle0.js.map} +1 -1
  104. package/dist/{ErrorBoundary-B8KwWXXp.cjs → ErrorBoundary-DtYswKp3.cjs} +2 -2
  105. package/dist/{ErrorBoundary-B8KwWXXp.cjs.map → ErrorBoundary-DtYswKp3.cjs.map} +1 -1
  106. package/dist/{ErrorState-CwCqd2PU.cjs → ErrorState-Aa8LVjkl.cjs} +2 -2
  107. package/dist/{ErrorState-CwCqd2PU.cjs.map → ErrorState-Aa8LVjkl.cjs.map} +1 -1
  108. package/dist/{ErrorState-KhzrGIJ-.js → ErrorState-BE9Rcmht.js} +8 -8
  109. package/dist/{ErrorState-KhzrGIJ-.js.map → ErrorState-BE9Rcmht.js.map} +1 -1
  110. package/dist/FileCard-Chfx0QdF.cjs +2 -0
  111. package/dist/{FileCard-DEc10T2G.cjs.map → FileCard-Chfx0QdF.cjs.map} +1 -1
  112. package/dist/{FileCard-SSuFS13E.js → FileCard-m3i_8yKR.js} +33 -33
  113. package/dist/{FileCard-SSuFS13E.js.map → FileCard-m3i_8yKR.js.map} +1 -1
  114. package/dist/FileUploader-B27Y4rak.js +706 -0
  115. package/dist/FileUploader-B27Y4rak.js.map +1 -0
  116. package/dist/FileUploader-DkvFO0N_.cjs +2 -0
  117. package/dist/FileUploader-DkvFO0N_.cjs.map +1 -0
  118. package/dist/{Flag-B1ZvZVXi.cjs → Flag-BvZB3295.cjs} +2 -2
  119. package/dist/{Flag-B1ZvZVXi.cjs.map → Flag-BvZB3295.cjs.map} +1 -1
  120. package/dist/{Flag-BEIqYQZg.js → Flag-C1HwnZXJ.js} +2 -2
  121. package/dist/{Flag-BEIqYQZg.js.map → Flag-C1HwnZXJ.js.map} +1 -1
  122. package/dist/{FullscreenToggle-I_In47BB.js → FullscreenToggle-B4ynXdCP.js} +4 -4
  123. package/dist/{FullscreenToggle-I_In47BB.js.map → FullscreenToggle-B4ynXdCP.js.map} +1 -1
  124. package/dist/{FullscreenToggle-Po769CoC.cjs → FullscreenToggle-CEFZQ5OC.cjs} +2 -2
  125. package/dist/{FullscreenToggle-Po769CoC.cjs.map → FullscreenToggle-CEFZQ5OC.cjs.map} +1 -1
  126. package/dist/Icon-B7DJn8Tw.js +5418 -0
  127. package/dist/Icon-B7DJn8Tw.js.map +1 -0
  128. package/dist/Icon-CBg21lKA.cjs +2 -0
  129. package/dist/Icon-CBg21lKA.cjs.map +1 -0
  130. package/dist/IconButton-EaExCXRq.js +68 -0
  131. package/dist/{IconButton-D9MCwRK_.js.map → IconButton-EaExCXRq.js.map} +1 -1
  132. package/dist/IconButton-wW1o4HHw.cjs +2 -0
  133. package/dist/{IconButton-CxSXEYce.cjs.map → IconButton-wW1o4HHw.cjs.map} +1 -1
  134. package/dist/ImageEditor-DTFQZ6ON.js +2709 -0
  135. package/dist/ImageEditor-DTFQZ6ON.js.map +1 -0
  136. package/dist/ImageEditor-D_HKfDbx.cjs +60 -0
  137. package/dist/ImageEditor-D_HKfDbx.cjs.map +1 -0
  138. package/dist/Link-BZjolIAF.js +48 -0
  139. package/dist/{Link-BQlvsu9V.js.map → Link-BZjolIAF.js.map} +1 -1
  140. package/dist/Link-CtttVM6w.cjs +2 -0
  141. package/dist/{Link-GZT51mKx.cjs.map → Link-CtttVM6w.cjs.map} +1 -1
  142. package/dist/{List-CKoNx21F.cjs → List-CLUXeaXS.cjs} +2 -2
  143. package/dist/{List-CKoNx21F.cjs.map → List-CLUXeaXS.cjs.map} +1 -1
  144. package/dist/{List-2Y3ktTcF.js → List-DS91CZUt.js} +2 -2
  145. package/dist/{List-2Y3ktTcF.js.map → List-DS91CZUt.js.map} +1 -1
  146. package/dist/ListItem-CguNjf-u.cjs +2 -0
  147. package/dist/{ListItem-DkCYXucd.cjs.map → ListItem-CguNjf-u.cjs.map} +1 -1
  148. package/dist/ListItem-Ezmdk7q-.js +76 -0
  149. package/dist/{ListItem-2Lr5_NRY.js.map → ListItem-Ezmdk7q-.js.map} +1 -1
  150. package/dist/{Loader-5zp2MPm5.cjs → Loader-DNR2_YHm.cjs} +2 -2
  151. package/dist/{Loader-5zp2MPm5.cjs.map → Loader-DNR2_YHm.cjs.map} +1 -1
  152. package/dist/{Loader-Bluu6z0-.js → Loader-D_Foo6Hj.js} +2 -2
  153. package/dist/{Loader-Bluu6z0-.js.map → Loader-D_Foo6Hj.js.map} +1 -1
  154. package/dist/{LocationPicker-CGHXTIml.cjs → LocationPicker-CdO37PKg.cjs} +2 -2
  155. package/dist/{LocationPicker-CGHXTIml.cjs.map → LocationPicker-CdO37PKg.cjs.map} +1 -1
  156. package/dist/{LocationPicker-hULpHBVG.js → LocationPicker-DGbnbTW9.js} +8 -8
  157. package/dist/{LocationPicker-hULpHBVG.js.map → LocationPicker-DGbnbTW9.js.map} +1 -1
  158. package/dist/Modal-1rIBMvKH.js +154 -0
  159. package/dist/Modal-1rIBMvKH.js.map +1 -0
  160. package/dist/Modal-Du-uVpYw.cjs +2 -0
  161. package/dist/Modal-Du-uVpYw.cjs.map +1 -0
  162. package/dist/MultiSelect-BoqunsM9.js +219 -0
  163. package/dist/{MultiSelect-CHLMpim4.js.map → MultiSelect-BoqunsM9.js.map} +1 -1
  164. package/dist/MultiSelect-lAAaD0uL.cjs +2 -0
  165. package/dist/{MultiSelect-BdPvjiTj.cjs.map → MultiSelect-lAAaD0uL.cjs.map} +1 -1
  166. package/dist/{NumberField-C-FZ-uRI.cjs → NumberField-CyUA6eob.cjs} +2 -2
  167. package/dist/{NumberField-C-FZ-uRI.cjs.map → NumberField-CyUA6eob.cjs.map} +1 -1
  168. package/dist/{NumberField-BlpFmetF.js → NumberField-DHFGNQjZ.js} +4 -4
  169. package/dist/{NumberField-BlpFmetF.js.map → NumberField-DHFGNQjZ.js.map} +1 -1
  170. package/dist/OtpField-CIy5OtXI.cjs +2 -0
  171. package/dist/{OtpField-Drjy2wwq.cjs.map → OtpField-CIy5OtXI.cjs.map} +1 -1
  172. package/dist/{OtpField-D4-r7I0A.js → OtpField-pL9nj4AW.js} +61 -61
  173. package/dist/{OtpField-D4-r7I0A.js.map → OtpField-pL9nj4AW.js.map} +1 -1
  174. package/dist/Overlay-CywFQfjm.cjs +2 -0
  175. package/dist/Overlay-CywFQfjm.cjs.map +1 -0
  176. package/dist/Overlay-DiL0ZARH.js +60 -0
  177. package/dist/Overlay-DiL0ZARH.js.map +1 -0
  178. package/dist/{PageError-DyDj1wQZ.js → PageError-C5SO0mVJ.js} +5 -5
  179. package/dist/{PageError-DyDj1wQZ.js.map → PageError-C5SO0mVJ.js.map} +1 -1
  180. package/dist/{PageError-DXUOkE14.cjs → PageError-DbokLmOY.cjs} +2 -2
  181. package/dist/{PageError-DXUOkE14.cjs.map → PageError-DbokLmOY.cjs.map} +1 -1
  182. package/dist/{PageLayout-CoG0AaUs.cjs → PageLayout-B7ZDiNq8.cjs} +2 -2
  183. package/dist/{PageLayout-CoG0AaUs.cjs.map → PageLayout-B7ZDiNq8.cjs.map} +1 -1
  184. package/dist/{PageLayout-nsJa8CbT.js → PageLayout-Du-D6Pd4.js} +5 -5
  185. package/dist/{PageLayout-nsJa8CbT.js.map → PageLayout-Du-D6Pd4.js.map} +1 -1
  186. package/dist/{PageNotFound-BNNwMkwE.js → PageNotFound-DSkoMfed.js} +5 -5
  187. package/dist/{PageNotFound-BNNwMkwE.js.map → PageNotFound-DSkoMfed.js.map} +1 -1
  188. package/dist/{PageNotFound-CGSxT_n9.cjs → PageNotFound-DfNwdtgJ.cjs} +2 -2
  189. package/dist/{PageNotFound-CGSxT_n9.cjs.map → PageNotFound-DfNwdtgJ.cjs.map} +1 -1
  190. package/dist/Pagination-BH8ACaAC.js +139 -0
  191. package/dist/{Pagination-tuWRnGwR.js.map → Pagination-BH8ACaAC.js.map} +1 -1
  192. package/dist/Pagination-DO2Os4an.cjs +2 -0
  193. package/dist/{Pagination-CZtewveA.cjs.map → Pagination-DO2Os4an.cjs.map} +1 -1
  194. package/dist/{PaletteField-CTPl3D43.js → PaletteField-BFb0PQ-S.js} +3 -3
  195. package/dist/{PaletteField-CTPl3D43.js.map → PaletteField-BFb0PQ-S.js.map} +1 -1
  196. package/dist/{PaletteField-PDcu2vUp.cjs → PaletteField-BfvcJvGM.cjs} +2 -2
  197. package/dist/{PaletteField-PDcu2vUp.cjs.map → PaletteField-BfvcJvGM.cjs.map} +1 -1
  198. package/dist/PhoneField-C-wOm7g5.cjs +2 -0
  199. package/dist/{PhoneField-BPYg5ZHW.cjs.map → PhoneField-C-wOm7g5.cjs.map} +1 -1
  200. package/dist/{PhoneField-pdWDCszb.js → PhoneField-DFhGWgbK.js} +106 -106
  201. package/dist/{PhoneField-pdWDCszb.js.map → PhoneField-DFhGWgbK.js.map} +1 -1
  202. package/dist/{Popconfirm-cNpJmkuR.cjs → Popconfirm-_53vtMI0.cjs} +2 -2
  203. package/dist/{Popconfirm-cNpJmkuR.cjs.map → Popconfirm-_53vtMI0.cjs.map} +1 -1
  204. package/dist/{Popconfirm-CMVzLaC_.js → Popconfirm-o5da44ra.js} +4 -4
  205. package/dist/{Popconfirm-CMVzLaC_.js.map → Popconfirm-o5da44ra.js.map} +1 -1
  206. package/dist/{Progress-x12Rkh06.cjs → Progress-BSinoQ8t.cjs} +2 -2
  207. package/dist/{Progress-x12Rkh06.cjs.map → Progress-BSinoQ8t.cjs.map} +1 -1
  208. package/dist/{Progress-BNEFGn-O.js → Progress-CHzNwegP.js} +2 -2
  209. package/dist/{Progress-BNEFGn-O.js.map → Progress-CHzNwegP.js.map} +1 -1
  210. package/dist/{QrCode-CrNJZV_8.js → QrCode-C3hAfNP6.js} +2 -2
  211. package/dist/{QrCode-CrNJZV_8.js.map → QrCode-C3hAfNP6.js.map} +1 -1
  212. package/dist/{QrCode-TcQQE0h7.cjs → QrCode-tNNnsbHM.cjs} +2 -2
  213. package/dist/{QrCode-TcQQE0h7.cjs.map → QrCode-tNNnsbHM.cjs.map} +1 -1
  214. package/dist/{RemoveDialog-ARFp1UJM.js → RemoveDialog-CXy-PY-G.js} +6 -6
  215. package/dist/{RemoveDialog-ARFp1UJM.js.map → RemoveDialog-CXy-PY-G.js.map} +1 -1
  216. package/dist/{RemoveDialog-IWOAQFNK.cjs → RemoveDialog-Hi_gV-8A.cjs} +2 -2
  217. package/dist/{RemoveDialog-IWOAQFNK.cjs.map → RemoveDialog-Hi_gV-8A.cjs.map} +1 -1
  218. package/dist/RichTextEditor-BhVE1q4U.cjs +2 -0
  219. package/dist/RichTextEditor-BhVE1q4U.cjs.map +1 -0
  220. package/dist/RichTextEditor-DQz9jGD3.js +1011 -0
  221. package/dist/RichTextEditor-DQz9jGD3.js.map +1 -0
  222. package/dist/{RootLayout-CZ2GQ8XA.js → RootLayout-CjT5uHlt.js} +21 -21
  223. package/dist/RootLayout-CjT5uHlt.js.map +1 -0
  224. package/dist/{RootLayout-DStUP263.cjs → RootLayout-iSGY4MsS.cjs} +2 -2
  225. package/dist/RootLayout-iSGY4MsS.cjs.map +1 -0
  226. package/dist/Select-DVoL547R.cjs +2 -0
  227. package/dist/{Select-C2DIfuoB.cjs.map → Select-DVoL547R.cjs.map} +1 -1
  228. package/dist/{Select-KGsA8PbI.js → Select-DuLDLnnb.js} +47 -47
  229. package/dist/{Select-KGsA8PbI.js.map → Select-DuLDLnnb.js.map} +1 -1
  230. package/dist/Sidebar-DRQo4zAF.cjs +2 -0
  231. package/dist/{Sidebar-wK1_xaY_.cjs.map → Sidebar-DRQo4zAF.cjs.map} +1 -1
  232. package/dist/{Sidebar-_pcwxdd8.js → Sidebar-DvQmuBNK.js} +59 -59
  233. package/dist/{Sidebar-_pcwxdd8.js.map → Sidebar-DvQmuBNK.js.map} +1 -1
  234. package/dist/{Slider-Cpc5_dPl.js → Slider-D-QjclQJ.js} +2 -2
  235. package/dist/{Slider-Cpc5_dPl.js.map → Slider-D-QjclQJ.js.map} +1 -1
  236. package/dist/{Slider-CXAz9SUY.cjs → Slider-DxnCQRSH.cjs} +2 -2
  237. package/dist/{Slider-CXAz9SUY.cjs.map → Slider-DxnCQRSH.cjs.map} +1 -1
  238. package/dist/{SpeedDial-BT_boD06.cjs → SpeedDial-37OMwj9C.cjs} +2 -2
  239. package/dist/{SpeedDial-BT_boD06.cjs.map → SpeedDial-37OMwj9C.cjs.map} +1 -1
  240. package/dist/{SpeedDial-SMMfes9f.js → SpeedDial-BBQ9y6lm.js} +3 -3
  241. package/dist/{SpeedDial-SMMfes9f.js.map → SpeedDial-BBQ9y6lm.js.map} +1 -1
  242. package/dist/Stepper-CU5Y0kfj.js +168 -0
  243. package/dist/{Stepper-CR0Mlkq7.js.map → Stepper-CU5Y0kfj.js.map} +1 -1
  244. package/dist/Stepper-WqkfGPnQ.cjs +2 -0
  245. package/dist/{Stepper-BmA_DjTS.cjs.map → Stepper-WqkfGPnQ.cjs.map} +1 -1
  246. package/dist/{SwatchPicker-0gnOvv7U.cjs → SwatchPicker-DCjE0T80.cjs} +2 -2
  247. package/dist/{SwatchPicker-0gnOvv7U.cjs.map → SwatchPicker-DCjE0T80.cjs.map} +1 -1
  248. package/dist/{SwatchPicker-BZHRELA-.js → SwatchPicker-DS4WY2eM.js} +2 -2
  249. package/dist/{SwatchPicker-BZHRELA-.js.map → SwatchPicker-DS4WY2eM.js.map} +1 -1
  250. package/dist/{Table-D-F68lcm.js → Table-BECUUZtf.js} +346 -346
  251. package/dist/Table-BECUUZtf.js.map +1 -0
  252. package/dist/Table-BnlvrRMr.cjs +2 -0
  253. package/dist/Table-BnlvrRMr.cjs.map +1 -0
  254. package/dist/Tabs-BXAHddi7.js +193 -0
  255. package/dist/{Tabs-DP0aZ5TB.js.map → Tabs-BXAHddi7.js.map} +1 -1
  256. package/dist/Tabs-DiL1vNW3.cjs +2 -0
  257. package/dist/{Tabs-Cgp6D1WP.cjs.map → Tabs-DiL1vNW3.cjs.map} +1 -1
  258. package/dist/{TagsField-9nKu6ZW4.cjs → TagsField-BsV_6dff.cjs} +2 -2
  259. package/dist/{TagsField-9nKu6ZW4.cjs.map → TagsField-BsV_6dff.cjs.map} +1 -1
  260. package/dist/{TagsField-CcY9MTMw.js → TagsField-C1SgykAj.js} +5 -5
  261. package/dist/{TagsField-CcY9MTMw.js.map → TagsField-C1SgykAj.js.map} +1 -1
  262. package/dist/{TextField-C5MgCQIV.cjs → TextField-DUv689u2.cjs} +2 -2
  263. package/dist/{TextField-C5MgCQIV.cjs.map → TextField-DUv689u2.cjs.map} +1 -1
  264. package/dist/{TextField-0WvJsHhA.js → TextField-oZI7thoU.js} +4 -4
  265. package/dist/{TextField-0WvJsHhA.js.map → TextField-oZI7thoU.js.map} +1 -1
  266. package/dist/{ThemeToggle-DmCePuTy.js → ThemeToggle-5uHCUsX7.js} +4 -4
  267. package/dist/{ThemeToggle-DmCePuTy.js.map → ThemeToggle-5uHCUsX7.js.map} +1 -1
  268. package/dist/{ThemeToggle-BvcCxRpF.cjs → ThemeToggle-xn3roH0u.cjs} +2 -2
  269. package/dist/{ThemeToggle-BvcCxRpF.cjs.map → ThemeToggle-xn3roH0u.cjs.map} +1 -1
  270. package/dist/TimeColumns-By23LHZw.cjs +2 -0
  271. package/dist/{TimeColumns-Q-vsHFZU.cjs.map → TimeColumns-By23LHZw.cjs.map} +1 -1
  272. package/dist/TimeColumns-lO33mhX7.js +147 -0
  273. package/dist/{TimeColumns-WJRHQuFv.js.map → TimeColumns-lO33mhX7.js.map} +1 -1
  274. package/dist/{TimePicker-CvbQFzBf.cjs → TimePicker-BHFNH8LR.cjs} +2 -2
  275. package/dist/{TimePicker-CvbQFzBf.cjs.map → TimePicker-BHFNH8LR.cjs.map} +1 -1
  276. package/dist/{TimePicker-DJDuSxAg.js → TimePicker-Dl5p833O.js} +7 -7
  277. package/dist/{TimePicker-DJDuSxAg.js.map → TimePicker-Dl5p833O.js.map} +1 -1
  278. package/dist/Timeline-DOojNvLG.cjs +2 -0
  279. package/dist/Timeline-DOojNvLG.cjs.map +1 -0
  280. package/dist/Timeline-Dg03dwTN.js +87 -0
  281. package/dist/Timeline-Dg03dwTN.js.map +1 -0
  282. package/dist/Toaster-BPBFZiTr.js +64 -0
  283. package/dist/Toaster-BPBFZiTr.js.map +1 -0
  284. package/dist/Toaster-D4T89N1S.cjs +2 -0
  285. package/dist/Toaster-D4T89N1S.cjs.map +1 -0
  286. package/dist/ToggleButtonGroup-CGNRLxjg.cjs +2 -0
  287. package/dist/{ToggleButtonGroup-Ci_DFvdt.cjs.map → ToggleButtonGroup-CGNRLxjg.cjs.map} +1 -1
  288. package/dist/{ToggleButtonGroup-Mdskkjdh.js → ToggleButtonGroup-K6ZcrTZT.js} +37 -37
  289. package/dist/{ToggleButtonGroup-Mdskkjdh.js.map → ToggleButtonGroup-K6ZcrTZT.js.map} +1 -1
  290. package/dist/{TranslatedFields-DKXznBtD.js → TranslatedFields-Clsr84XC.js} +13 -13
  291. package/dist/{TranslatedFields-DKXznBtD.js.map → TranslatedFields-Clsr84XC.js.map} +1 -1
  292. package/dist/{TranslatedFields-CuK5KKzE.cjs → TranslatedFields-LdeJeHEp.cjs} +2 -2
  293. package/dist/{TranslatedFields-CuK5KKzE.cjs.map → TranslatedFields-LdeJeHEp.cjs.map} +1 -1
  294. package/dist/{UserCard-DbudGMvG.cjs → UserCard-CQOiWppq.cjs} +2 -2
  295. package/dist/{UserCard-DbudGMvG.cjs.map → UserCard-CQOiWppq.cjs.map} +1 -1
  296. package/dist/{UserCard-UG_Cwe-Y.js → UserCard-Cr75RwZb.js} +5 -5
  297. package/dist/{UserCard-UG_Cwe-Y.js.map → UserCard-Cr75RwZb.js.map} +1 -1
  298. package/dist/app/AdminRoot.d.cts +11 -3
  299. package/dist/app/AdminRoot.d.ts +11 -3
  300. package/dist/chunks/icons/{25-knEB8mSp.js → 25-BMMPtr_E.js} +4 -5
  301. package/dist/chunks/icons/{25-Dho_3EHD.cjs → 25-uATZNfXE.cjs} +1 -1
  302. package/dist/chunks/icons/{2b-CQJdcF1h.js → 2b-Brkug4c-.js} +10 -11
  303. package/dist/chunks/icons/{2b-C2_97u16.cjs → 2b-CIVRGp1R.cjs} +1 -1
  304. package/dist/chunks/icons/57-BLoIUlhF.js +27 -0
  305. package/dist/chunks/icons/57-D4zLdDZ1.cjs +1 -0
  306. package/dist/chunks/icons/{75-DqLkMUyj.cjs → 75-C2eJ2Tvr.cjs} +1 -1
  307. package/dist/chunks/icons/{75-D5RQw6IJ.js → 75-D16WojvG.js} +6 -7
  308. package/dist/chunks/icons/{7c-DpnA_JOJ.js → 7c-0j5Sno5_.js} +6 -7
  309. package/dist/chunks/icons/{7c-DEaFwltT.cjs → 7c-LUfAyp72.cjs} +1 -1
  310. package/dist/chunks/icons/8a-BJ_LOjmW.js +26 -0
  311. package/dist/chunks/icons/8a-CYkhOibI.cjs +1 -0
  312. package/dist/chunks/icons/97-Bx7FkkGJ.js +12 -0
  313. package/dist/chunks/icons/97-D7pUHrOX.cjs +1 -0
  314. package/dist/chunks/icons/{b7-BtHkI92Y.js → b7-DmmkevXf.js} +17 -18
  315. package/dist/chunks/icons/{b7-B-dB5jrV.cjs → b7-rI1GpsxW.cjs} +1 -1
  316. package/dist/chunks/icons/b8-De0yKEKv.js +28 -0
  317. package/dist/chunks/icons/b8-eR814BVJ.cjs +1 -0
  318. package/dist/chunks/icons/{b9-Bw942fE3.js → b9-CJO6ZdSw.js} +10 -11
  319. package/dist/chunks/icons/{b9-Be-J4RIp.cjs → b9-DZdWz9qg.cjs} +1 -1
  320. package/dist/chunks/icons/d5-BAPeb6B0.cjs +1 -0
  321. package/dist/chunks/icons/d5-BJJanOLe.js +21 -0
  322. package/dist/chunks/icons/d8--vRkIVal.js +19 -0
  323. package/dist/chunks/icons/d8-BfMys92X.cjs +1 -0
  324. package/dist/chunks/icons/dd-CARhkHmU.js +21 -0
  325. package/dist/chunks/icons/dd-D61yllMP.cjs +1 -0
  326. package/dist/components/Accordion/index.cjs +1 -1
  327. package/dist/components/Accordion/index.js +1 -1
  328. package/dist/components/Alert/index.cjs +1 -1
  329. package/dist/components/Alert/index.js +1 -1
  330. package/dist/components/AuthLayout/index.cjs +1 -1
  331. package/dist/components/AuthLayout/index.js +1 -1
  332. package/dist/components/Avatar/index.cjs +1 -1
  333. package/dist/components/Avatar/index.js +2 -2
  334. package/dist/components/Breadcrumbs/index.cjs +1 -1
  335. package/dist/components/Breadcrumbs/index.js +1 -1
  336. package/dist/components/Button/index.cjs +1 -1
  337. package/dist/components/Button/index.js +1 -1
  338. package/dist/components/Card/index.cjs +1 -1
  339. package/dist/components/Card/index.js +1 -1
  340. package/dist/components/Chip/index.cjs +1 -1
  341. package/dist/components/Chip/index.js +1 -1
  342. package/dist/components/ChoiceCard/index.cjs +1 -1
  343. package/dist/components/ChoiceCard/index.js +1 -1
  344. package/dist/components/CodeBlock/index.cjs +1 -1
  345. package/dist/components/CodeBlock/index.js +1 -1
  346. package/dist/components/ColorPicker/index.cjs +1 -1
  347. package/dist/components/ColorPicker/index.js +1 -1
  348. package/dist/components/ColorRamp/index.cjs +1 -1
  349. package/dist/components/ColorRamp/index.js +1 -1
  350. package/dist/components/CopyButton/index.cjs +1 -1
  351. package/dist/components/CopyButton/index.js +1 -1
  352. package/dist/components/DashedButton/index.cjs +1 -1
  353. package/dist/components/DashedButton/index.js +1 -1
  354. package/dist/components/DatePicker/index.cjs +1 -1
  355. package/dist/components/DatePicker/index.js +1 -1
  356. package/dist/components/DateTimePicker/index.cjs +1 -1
  357. package/dist/components/DateTimePicker/index.js +1 -1
  358. package/dist/components/DescriptionList/index.cjs +1 -1
  359. package/dist/components/DescriptionList/index.js +1 -1
  360. package/dist/components/Dropdown/index.cjs +1 -1
  361. package/dist/components/Dropdown/index.js +1 -1
  362. package/dist/components/EmptyState/index.cjs +1 -1
  363. package/dist/components/EmptyState/index.js +1 -1
  364. package/dist/components/ErrorState/ErrorBoundary.d.cts +1 -1
  365. package/dist/components/ErrorState/ErrorBoundary.d.ts +1 -1
  366. package/dist/components/ErrorState/index.cjs +1 -1
  367. package/dist/components/ErrorState/index.js +2 -2
  368. package/dist/components/FileCard/index.cjs +1 -1
  369. package/dist/components/FileCard/index.js +1 -1
  370. package/dist/components/FileUploader/FileUploader.d.cts +33 -5
  371. package/dist/components/FileUploader/FileUploader.d.ts +33 -5
  372. package/dist/components/FileUploader/FileUploaderEditDialog.d.cts +8 -18
  373. package/dist/components/FileUploader/FileUploaderEditDialog.d.ts +8 -18
  374. package/dist/components/FileUploader/index.cjs +1 -1
  375. package/dist/components/FileUploader/index.js +1 -1
  376. package/dist/components/Flag/index.cjs +1 -1
  377. package/dist/components/Flag/index.js +1 -1
  378. package/dist/components/FullscreenToggle/index.cjs +1 -1
  379. package/dist/components/FullscreenToggle/index.js +1 -1
  380. package/dist/components/Icon/index.cjs +1 -1
  381. package/dist/components/Icon/index.js +1 -1
  382. package/dist/components/IconButton/index.cjs +1 -1
  383. package/dist/components/IconButton/index.js +1 -1
  384. package/dist/components/ImageEditor/CropShapeMenu.d.cts +17 -0
  385. package/dist/components/ImageEditor/CropShapeMenu.d.ts +17 -0
  386. package/dist/components/ImageEditor/EditorStage.d.cts +27 -0
  387. package/dist/components/ImageEditor/EditorStage.d.ts +27 -0
  388. package/dist/components/ImageEditor/FilterStrip.d.cts +14 -0
  389. package/dist/components/ImageEditor/FilterStrip.d.ts +14 -0
  390. package/dist/components/ImageEditor/ImageEditor.d.cts +30 -0
  391. package/dist/components/ImageEditor/ImageEditor.d.ts +30 -0
  392. package/dist/components/ImageEditor/ResizePanel.d.cts +19 -0
  393. package/dist/components/ImageEditor/ResizePanel.d.ts +19 -0
  394. package/dist/components/ImageEditor/RulerSlider.d.cts +37 -0
  395. package/dist/components/ImageEditor/RulerSlider.d.ts +37 -0
  396. package/dist/components/ImageEditor/core/affine.d.cts +11 -0
  397. package/dist/components/ImageEditor/core/affine.d.ts +11 -0
  398. package/dist/components/ImageEditor/core/editor.d.cts +69 -0
  399. package/dist/components/ImageEditor/core/editor.d.ts +69 -0
  400. package/dist/components/ImageEditor/core/geometry.d.cts +112 -0
  401. package/dist/components/ImageEditor/core/geometry.d.ts +112 -0
  402. package/dist/components/ImageEditor/core/load.d.cts +26 -0
  403. package/dist/components/ImageEditor/core/load.d.ts +26 -0
  404. package/dist/components/ImageEditor/core/matrix.d.cts +55 -0
  405. package/dist/components/ImageEditor/core/matrix.d.ts +55 -0
  406. package/dist/components/ImageEditor/core/pixels.d.cts +24 -0
  407. package/dist/components/ImageEditor/core/pixels.d.ts +24 -0
  408. package/dist/components/ImageEditor/core/redact.d.cts +37 -0
  409. package/dist/components/ImageEditor/core/redact.d.ts +37 -0
  410. package/dist/components/ImageEditor/core/render.d.cts +19 -0
  411. package/dist/components/ImageEditor/core/render.d.ts +19 -0
  412. package/dist/components/ImageEditor/core/scene.d.cts +47 -0
  413. package/dist/components/ImageEditor/core/scene.d.ts +47 -0
  414. package/dist/components/ImageEditor/core/spring.d.cts +17 -0
  415. package/dist/components/ImageEditor/core/spring.d.ts +17 -0
  416. package/dist/components/ImageEditor/core/types.d.cts +104 -0
  417. package/dist/components/ImageEditor/core/types.d.ts +104 -0
  418. package/dist/components/ImageEditor/core/webgl.d.cts +55 -0
  419. package/dist/components/ImageEditor/core/webgl.d.ts +55 -0
  420. package/dist/components/ImageEditor/index.cjs +2 -0
  421. package/dist/components/ImageEditor/index.cjs.map +1 -0
  422. package/dist/components/ImageEditor/index.d.cts +6 -0
  423. package/dist/components/ImageEditor/index.d.ts +6 -0
  424. package/dist/components/ImageEditor/index.js +9 -0
  425. package/dist/components/ImageEditor/index.js.map +1 -0
  426. package/dist/components/Link/index.cjs +1 -1
  427. package/dist/components/Link/index.js +1 -1
  428. package/dist/components/List/index.cjs +1 -1
  429. package/dist/components/List/index.js +2 -2
  430. package/dist/components/Loader/index.cjs +1 -1
  431. package/dist/components/Loader/index.js +1 -1
  432. package/dist/components/LocationPicker/index.cjs +1 -1
  433. package/dist/components/LocationPicker/index.js +1 -1
  434. package/dist/components/Modal/index.cjs +1 -1
  435. package/dist/components/Modal/index.js +1 -1
  436. package/dist/components/MultiSelect/index.cjs +1 -1
  437. package/dist/components/MultiSelect/index.js +1 -1
  438. package/dist/components/NumberField/index.cjs +1 -1
  439. package/dist/components/NumberField/index.js +1 -1
  440. package/dist/components/OtpField/index.cjs +1 -1
  441. package/dist/components/OtpField/index.js +1 -1
  442. package/dist/components/PageError/index.cjs +1 -1
  443. package/dist/components/PageError/index.js +1 -1
  444. package/dist/components/PageLayout/index.cjs +1 -1
  445. package/dist/components/PageLayout/index.js +1 -1
  446. package/dist/components/PageNotFound/index.cjs +1 -1
  447. package/dist/components/PageNotFound/index.js +1 -1
  448. package/dist/components/Pagination/index.cjs +1 -1
  449. package/dist/components/Pagination/index.js +1 -1
  450. package/dist/components/PaletteField/index.cjs +1 -1
  451. package/dist/components/PaletteField/index.js +1 -1
  452. package/dist/components/PhoneField/index.cjs +1 -1
  453. package/dist/components/PhoneField/index.js +1 -1
  454. package/dist/components/Popconfirm/index.cjs +1 -1
  455. package/dist/components/Popconfirm/index.js +1 -1
  456. package/dist/components/Progress/index.cjs +1 -1
  457. package/dist/components/Progress/index.js +1 -1
  458. package/dist/components/QrCode/index.cjs +1 -1
  459. package/dist/components/QrCode/index.js +1 -1
  460. package/dist/components/RemoveDialog/index.cjs +1 -1
  461. package/dist/components/RemoveDialog/index.js +1 -1
  462. package/dist/components/RichTextEditor/RichTextEditor.d.cts +3 -2
  463. package/dist/components/RichTextEditor/RichTextEditor.d.ts +3 -2
  464. package/dist/components/RichTextEditor/index.cjs +1 -1
  465. package/dist/components/RichTextEditor/index.js +1 -1
  466. package/dist/components/RichTextEditor/nodes/ImageNode.d.cts +8 -5
  467. package/dist/components/RichTextEditor/nodes/ImageNode.d.ts +8 -5
  468. package/dist/components/RichTextEditor/nodes/VideoNode.d.cts +4 -4
  469. package/dist/components/RichTextEditor/nodes/VideoNode.d.ts +4 -4
  470. package/dist/components/RootLayout/RootLayout.d.cts +3 -2
  471. package/dist/components/RootLayout/RootLayout.d.ts +3 -2
  472. package/dist/components/RootLayout/index.cjs +1 -1
  473. package/dist/components/RootLayout/index.js +1 -1
  474. package/dist/components/Select/index.cjs +1 -1
  475. package/dist/components/Select/index.js +1 -1
  476. package/dist/components/Sidebar/index.cjs +1 -1
  477. package/dist/components/Sidebar/index.js +1 -1
  478. package/dist/components/Slider/index.cjs +1 -1
  479. package/dist/components/Slider/index.js +1 -1
  480. package/dist/components/SpeedDial/index.cjs +1 -1
  481. package/dist/components/SpeedDial/index.js +1 -1
  482. package/dist/components/Stepper/index.cjs +1 -1
  483. package/dist/components/Stepper/index.js +1 -1
  484. package/dist/components/SwatchPicker/index.cjs +1 -1
  485. package/dist/components/SwatchPicker/index.js +1 -1
  486. package/dist/components/Table/index.cjs +1 -1
  487. package/dist/components/Table/index.js +1 -1
  488. package/dist/components/Tabs/index.cjs +1 -1
  489. package/dist/components/Tabs/index.js +1 -1
  490. package/dist/components/TagsField/index.cjs +1 -1
  491. package/dist/components/TagsField/index.js +1 -1
  492. package/dist/components/TextField/index.cjs +1 -1
  493. package/dist/components/TextField/index.js +1 -1
  494. package/dist/components/ThemeToggle/index.cjs +1 -1
  495. package/dist/components/ThemeToggle/index.js +1 -1
  496. package/dist/components/TimePicker/index.cjs +1 -1
  497. package/dist/components/TimePicker/index.js +1 -1
  498. package/dist/components/Timeline/Timeline.d.cts +16 -4
  499. package/dist/components/Timeline/Timeline.d.ts +16 -4
  500. package/dist/components/Timeline/TimelineItem.d.cts +12 -6
  501. package/dist/components/Timeline/TimelineItem.d.ts +12 -6
  502. package/dist/components/Timeline/index.cjs +1 -1
  503. package/dist/components/Timeline/index.d.cts +1 -1
  504. package/dist/components/Timeline/index.d.ts +1 -1
  505. package/dist/components/Timeline/index.js +1 -1
  506. package/dist/components/Timeline/timelineContext.d.cts +3 -2
  507. package/dist/components/Timeline/timelineContext.d.ts +3 -2
  508. package/dist/components/Toast/Toaster.d.cts +10 -4
  509. package/dist/components/Toast/Toaster.d.ts +10 -4
  510. package/dist/components/Toast/index.cjs +1 -1
  511. package/dist/components/Toast/index.js +1 -1
  512. package/dist/components/ToggleButton/index.cjs +1 -1
  513. package/dist/components/ToggleButton/index.js +1 -1
  514. package/dist/components/TranslatedFields/index.cjs +1 -1
  515. package/dist/components/TranslatedFields/index.js +1 -1
  516. package/dist/components/UserCard/index.cjs +1 -1
  517. package/dist/components/UserCard/index.js +1 -1
  518. package/dist/components/index.d.cts +1 -0
  519. package/dist/components/index.d.ts +1 -0
  520. package/dist/entries/app.cjs +1 -1
  521. package/dist/entries/app.js +1 -1
  522. package/dist/entries/components.cjs +1 -1
  523. package/dist/entries/components.js +164 -159
  524. package/dist/entries/components.js.map +1 -1
  525. package/dist/entries/i18n.cjs +1 -1
  526. package/dist/entries/i18n.js +2 -2
  527. package/dist/entries/icons.cjs +1 -1
  528. package/dist/entries/icons.js +1 -1
  529. package/dist/entries/theme.cjs +1 -1
  530. package/dist/entries/theme.d.cts +2 -2
  531. package/dist/entries/theme.d.ts +2 -2
  532. package/dist/entries/theme.js +14 -13
  533. package/dist/i18n/messages.d.cts +61 -4
  534. package/dist/i18n/messages.d.ts +61 -4
  535. package/dist/icons/names.d.cts +3 -3
  536. package/dist/icons/names.d.ts +3 -3
  537. package/dist/index.cjs +1 -1
  538. package/dist/index.css +1 -1
  539. package/dist/index.js +246 -240
  540. package/dist/index.js.map +1 -1
  541. package/dist/{messages-BiRLMy1E.js → messages-BZYBZ3GR.js} +101 -44
  542. package/dist/messages-BZYBZ3GR.js.map +1 -0
  543. package/dist/{messages-C_fRRCg6.cjs → messages-CTHjpVJq.cjs} +9 -9
  544. package/dist/messages-CTHjpVJq.cjs.map +1 -0
  545. package/dist/theme/ConfigProvider.d.cts +20 -0
  546. package/dist/theme/ConfigProvider.d.ts +20 -0
  547. package/dist/theme/index.d.cts +2 -2
  548. package/dist/theme/index.d.ts +2 -2
  549. package/dist/{useHomeTo-DQj9tVZI.js → useHomeTo-Biyc-Un8.js} +2 -2
  550. package/dist/{useHomeTo-DQj9tVZI.js.map → useHomeTo-Biyc-Un8.js.map} +1 -1
  551. package/dist/{useHomeTo-BaM7kBDh.cjs → useHomeTo-D7wcH6aw.cjs} +2 -2
  552. package/dist/{useHomeTo-BaM7kBDh.cjs.map → useHomeTo-D7wcH6aw.cjs.map} +1 -1
  553. package/dist/{useOptionMenu-BKC1y6oj.cjs → useOptionMenu-B40OOVsO.cjs} +2 -2
  554. package/dist/{useOptionMenu-BKC1y6oj.cjs.map → useOptionMenu-B40OOVsO.cjs.map} +1 -1
  555. package/dist/{useOptionMenu-Dom1-bqm.js → useOptionMenu-BTt8t9SM.js} +6 -6
  556. package/dist/{useOptionMenu-Dom1-bqm.js.map → useOptionMenu-BTt8t9SM.js.map} +1 -1
  557. package/package.json +1 -6
  558. package/dist/AdminRoot-DufZpgdm.js +0 -100
  559. package/dist/AdminRoot-DufZpgdm.js.map +0 -1
  560. package/dist/AdminRoot-DwJ5jdXr.cjs +0 -2
  561. package/dist/AdminRoot-DwJ5jdXr.cjs.map +0 -1
  562. package/dist/Alert-C8BBxL_7.cjs +0 -2
  563. package/dist/Alert-D6oBxBdP.js +0 -70
  564. package/dist/Breadcrumbs-B-olYVdw.cjs +0 -2
  565. package/dist/Breadcrumbs-cXET6OM5.js +0 -34
  566. package/dist/Button-0ZgdNjX-.js +0 -72
  567. package/dist/Button-CwrDiZek.cjs +0 -2
  568. package/dist/Chip-BkU3yx6G.cjs +0 -2
  569. package/dist/Chip-CzJjbaKx.js +0 -92
  570. package/dist/ChoiceCardGroup-C7Eengyd.cjs +0 -2
  571. package/dist/ChoiceCardGroup-q0yN-TeQ.js +0 -180
  572. package/dist/CodeBlock-BHcvQrs9.js +0 -96
  573. package/dist/CodeBlock-DRBQ_S5t.cjs +0 -2
  574. package/dist/ConfigProvider-BaiTKZKC.cjs +0 -2
  575. package/dist/ConfigProvider-BaiTKZKC.cjs.map +0 -1
  576. package/dist/ConfigProvider-D61cpCz-.js.map +0 -1
  577. package/dist/DashedButton-Dw7xHgIp.cjs +0 -2
  578. package/dist/DashedButton-csz6Jt_K.js +0 -58
  579. package/dist/DatePicker.module-BDtTsg8M.cjs +0 -2
  580. package/dist/DatePicker.module-CMMQyEhG.js +0 -138
  581. package/dist/DescriptionList-CvPDn-kh.cjs +0 -2
  582. package/dist/Dropdown-CMjURWYd.cjs +0 -2
  583. package/dist/Dropdown-CMjURWYd.cjs.map +0 -1
  584. package/dist/Dropdown-CnDBlB02.js +0 -146
  585. package/dist/Dropdown-CnDBlB02.js.map +0 -1
  586. package/dist/FileCard-DEc10T2G.cjs +0 -2
  587. package/dist/FileUploader-D58_6kDA.cjs +0 -2
  588. package/dist/FileUploader-D58_6kDA.cjs.map +0 -1
  589. package/dist/FileUploader-DfYOBFa4.js +0 -707
  590. package/dist/FileUploader-DfYOBFa4.js.map +0 -1
  591. package/dist/Icon-B6lz-V0A.cjs +0 -2
  592. package/dist/Icon-B6lz-V0A.cjs.map +0 -1
  593. package/dist/Icon-D5TxgfCc.js +0 -5404
  594. package/dist/Icon-D5TxgfCc.js.map +0 -1
  595. package/dist/IconButton-CxSXEYce.cjs +0 -2
  596. package/dist/IconButton-D9MCwRK_.js +0 -68
  597. package/dist/Link-BQlvsu9V.js +0 -48
  598. package/dist/Link-GZT51mKx.cjs +0 -2
  599. package/dist/ListItem-2Lr5_NRY.js +0 -76
  600. package/dist/ListItem-DkCYXucd.cjs +0 -2
  601. package/dist/Modal-C6Zgwz_6.js +0 -206
  602. package/dist/Modal-C6Zgwz_6.js.map +0 -1
  603. package/dist/Modal-D9_OG53G.cjs +0 -2
  604. package/dist/Modal-D9_OG53G.cjs.map +0 -1
  605. package/dist/MultiSelect-BdPvjiTj.cjs +0 -2
  606. package/dist/MultiSelect-CHLMpim4.js +0 -219
  607. package/dist/OtpField-Drjy2wwq.cjs +0 -2
  608. package/dist/Pagination-CZtewveA.cjs +0 -2
  609. package/dist/Pagination-tuWRnGwR.js +0 -139
  610. package/dist/PhoneField-BPYg5ZHW.cjs +0 -2
  611. package/dist/RichTextEditor-C9jT2cLl.cjs +0 -2
  612. package/dist/RichTextEditor-C9jT2cLl.cjs.map +0 -1
  613. package/dist/RichTextEditor-DrwJUEYz.js +0 -916
  614. package/dist/RichTextEditor-DrwJUEYz.js.map +0 -1
  615. package/dist/RootLayout-CZ2GQ8XA.js.map +0 -1
  616. package/dist/RootLayout-DStUP263.cjs.map +0 -1
  617. package/dist/Select-C2DIfuoB.cjs +0 -2
  618. package/dist/Sidebar-wK1_xaY_.cjs +0 -2
  619. package/dist/Stepper-BmA_DjTS.cjs +0 -2
  620. package/dist/Stepper-CR0Mlkq7.js +0 -168
  621. package/dist/Table-BkjY1Lwt.cjs +0 -2
  622. package/dist/Table-BkjY1Lwt.cjs.map +0 -1
  623. package/dist/Table-D-F68lcm.js.map +0 -1
  624. package/dist/Tabs-Cgp6D1WP.cjs +0 -2
  625. package/dist/Tabs-DP0aZ5TB.js +0 -193
  626. package/dist/TimeColumns-Q-vsHFZU.cjs +0 -2
  627. package/dist/TimeColumns-WJRHQuFv.js +0 -147
  628. package/dist/Timeline-Cb1krSlo.js +0 -70
  629. package/dist/Timeline-Cb1krSlo.js.map +0 -1
  630. package/dist/Timeline-CmluHBIT.cjs +0 -2
  631. package/dist/Timeline-CmluHBIT.cjs.map +0 -1
  632. package/dist/Toaster-Bb5YEN5j.js +0 -63
  633. package/dist/Toaster-Bb5YEN5j.js.map +0 -1
  634. package/dist/Toaster-Dy1AonLa.cjs +0 -2
  635. package/dist/Toaster-Dy1AonLa.cjs.map +0 -1
  636. package/dist/ToggleButtonGroup-Ci_DFvdt.cjs +0 -2
  637. package/dist/chunks/icons/57-Bxh2lSz-.cjs +0 -1
  638. package/dist/chunks/icons/57-CkmrDM9A.js +0 -28
  639. package/dist/chunks/icons/8a-CThAqelS.js +0 -27
  640. package/dist/chunks/icons/8a-DRBAtpxY.cjs +0 -1
  641. package/dist/chunks/icons/97-J9NBhX2o.js +0 -14
  642. package/dist/chunks/icons/97-r2YXIQ_T.cjs +0 -1
  643. package/dist/chunks/icons/b8-CyIivk3C.cjs +0 -1
  644. package/dist/chunks/icons/b8-DcK0w8WM.js +0 -29
  645. package/dist/chunks/icons/d5-3fWtNlXW.js +0 -20
  646. package/dist/chunks/icons/d5-CoG_Hfw9.cjs +0 -1
  647. package/dist/chunks/icons/d8-DsebfeMy.cjs +0 -1
  648. package/dist/chunks/icons/d8-DtOvDDrr.js +0 -20
  649. package/dist/chunks/icons/dd-BXVES9Ib.js +0 -22
  650. package/dist/chunks/icons/dd-beaqCKss.cjs +0 -1
  651. package/dist/messages-BiRLMy1E.js.map +0 -1
  652. package/dist/messages-C_fRRCg6.cjs.map +0 -1
@@ -0,0 +1,48 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as s } from "react";
3
+ import { clsx as y } from "clsx";
4
+ import { createLink as k } from "@tanstack/react-router";
5
+ const w = "_link_yw5la_3", f = "_sm_yw5la_18", L = "_md_yw5la_21", b = "_lg_yw5la_24", h = "_hover_yw5la_30", u = "_always_yw5la_34", v = "_disabled_yw5la_50", t = {
6
+ link: w,
7
+ sm: f,
8
+ md: L,
9
+ lg: b,
10
+ hover: h,
11
+ always: u,
12
+ disabled: v
13
+ }, e = s(function({
14
+ color: n = "primary",
15
+ size: r = "md",
16
+ underline: l = "hover",
17
+ disabled: o = !1,
18
+ className: _,
19
+ style: c,
20
+ ...m
21
+ }, d) {
22
+ return /* @__PURE__ */ a(
23
+ "a",
24
+ {
25
+ ref: d,
26
+ className: y(
27
+ t.link,
28
+ t[r],
29
+ t[l],
30
+ o && t.disabled,
31
+ _
32
+ ),
33
+ style: { "--tz-link-rgb": `var(--tz-color-${n}-rgb)`, ...c },
34
+ "aria-disabled": o || void 0,
35
+ ...m
36
+ }
37
+ );
38
+ }), x = k(e), R = s(function(n, r) {
39
+ if (n.external) {
40
+ const { external: l, ...o } = n;
41
+ return /* @__PURE__ */ a(e, { ref: r, ...o });
42
+ }
43
+ return /* @__PURE__ */ a(x, { ref: r, ...n });
44
+ });
45
+ export {
46
+ R as L
47
+ };
48
+ //# sourceMappingURL=Link-BZjolIAF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link-BQlvsu9V.js","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type CSSProperties } from 'react'\nimport { clsx } from 'clsx'\nimport { createLink, type LinkComponentProps } from '@tanstack/react-router'\nimport type { ThemeColor } from '../../theme'\nimport styles from './Link.module.css'\n\nexport type LinkUnderline = 'none' | 'hover' | 'always'\nexport type LinkSize = 'sm' | 'md' | 'lg'\n\ninterface LinkStyleProps {\n /** Theme palette token for the link text. Defaults to `primary`. */\n color?: ThemeColor\n /** Font-size step (matches the `Typography` scale — `md` = body). Defaults to `md`. */\n size?: LinkSize\n /** When the underline shows. Defaults to `'hover'`. */\n underline?: LinkUnderline\n /** Muted, non-interactive look (`pointer-events: none` + `aria-disabled`). */\n disabled?: boolean\n}\n\n/** The styled `<a>` — the element `createLink` wraps into a router `Link`, and the one rendered directly\n * for `external` (plain `href`) links. Not exported on its own; use `Link`. */\nexport interface LinkAnchorProps\n extends LinkStyleProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {}\n\nconst LinkAnchor = forwardRef<HTMLAnchorElement, LinkAnchorProps>(function LinkAnchor(\n {\n color = 'primary',\n size = 'md',\n underline = 'hover',\n disabled = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n return (\n <a\n ref={ref}\n className={clsx(\n styles.link,\n styles[size],\n styles[underline],\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-link-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n aria-disabled={disabled || undefined}\n {...props}\n />\n )\n})\n\n/** The fully-typed TanStack Router link built from the styled anchor (typed `to`, `params`, active state, preload). */\nconst RouterLink = createLink(LinkAnchor)\n\n/** A plain external anchor (bypasses the router) — pass `external` with an `href`. */\nexport type ExternalLinkProps = { external: true } & LinkAnchorProps\n/** A typed in-app router link — pass `to` (and `params` / `search` / …). */\nexport type RouterLinkProps = { external?: false } & LinkComponentProps<typeof LinkAnchor>\nexport type LinkProps = ExternalLinkProps | RouterLinkProps\n\n/**\n * A styled text link. By default it's a **TanStack Router** link — pass `to` (plus `params` / `search` /\n * `hash` / …) for typed in-app navigation with active state + preloading. Pass **`external`** (with an\n * `href`) for a plain `<a>` to an outside URL (add your own `target` / `rel`). Tinted via `color`\n * (default `primary`); `size` (`sm`/`md`/`lg`, default `md` = `Typography` body); `underline` (`'none'` /\n * `'hover'` / `'always'`, default `'hover'`); `disabled`\n * for a muted, non-interactive look. Requires `@tanstack/react-router` (peer) for the routed mode.\n *\n * @example\n * <Link to=\"/users\">Users</Link>\n * <Link to=\"/users/$id\" params={{ id }}>Profile</Link>\n * <Link href=\"https://techzy.app\" external target=\"_blank\" rel=\"noreferrer\">Website</Link>\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n if (props.external) {\n const { external: _external, ...rest } = props\n return <LinkAnchor ref={ref} {...rest} />\n }\n return <RouterLink ref={ref} {...props} />\n})\n"],"names":["LinkAnchor","forwardRef","color","size","underline","disabled","className","style","props","ref","jsx","clsx","styles","RouterLink","createLink","Link","_external","rest"],"mappings":";;;;;;;;;;;;GAyBMA,IAAaC,EAA+C,SAChE;AAAA,EACE,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE;AAAA,QACTC,EAAO;AAAA,QACPA,EAAOT,CAAI;AAAA,QACXS,EAAOR,CAAS;AAAA,QAChBC,KAAYO,EAAO;AAAA,QACnBN;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,iBAAiB,kBAAkBJ,CAAK,SAAS,GAAGK,EAAA;AAAA,MAC7D,iBAAeF,KAAY;AAAA,MAC1B,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC,GAGKK,IAAaC,EAAWd,CAAU,GAqB3Be,IAAOd,EAAyC,SAAcO,GAAOC,GAAK;AACrF,MAAID,EAAM,UAAU;AAClB,UAAM,EAAE,UAAUQ,GAAW,GAAGC,MAAST;AACzC,WAAO,gBAAAE,EAACV,GAAA,EAAW,KAAAS,GAAW,GAAGQ,EAAA,CAAM;AAAA,EACzC;AACA,SAAO,gBAAAP,EAACG,GAAA,EAAW,KAAAJ,GAAW,GAAGD,EAAA,CAAO;AAC1C,CAAC;"}
1
+ {"version":3,"file":"Link-BZjolIAF.js","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type CSSProperties } from 'react'\nimport { clsx } from 'clsx'\nimport { createLink, type LinkComponentProps } from '@tanstack/react-router'\nimport type { ThemeColor } from '../../theme'\nimport styles from './Link.module.css'\n\nexport type LinkUnderline = 'none' | 'hover' | 'always'\nexport type LinkSize = 'sm' | 'md' | 'lg'\n\ninterface LinkStyleProps {\n /** Theme palette token for the link text. Defaults to `primary`. */\n color?: ThemeColor\n /** Font-size step (matches the `Typography` scale — `md` = body). Defaults to `md`. */\n size?: LinkSize\n /** When the underline shows. Defaults to `'hover'`. */\n underline?: LinkUnderline\n /** Muted, non-interactive look (`pointer-events: none` + `aria-disabled`). */\n disabled?: boolean\n}\n\n/** The styled `<a>` — the element `createLink` wraps into a router `Link`, and the one rendered directly\n * for `external` (plain `href`) links. Not exported on its own; use `Link`. */\nexport interface LinkAnchorProps\n extends LinkStyleProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {}\n\nconst LinkAnchor = forwardRef<HTMLAnchorElement, LinkAnchorProps>(function LinkAnchor(\n {\n color = 'primary',\n size = 'md',\n underline = 'hover',\n disabled = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n return (\n <a\n ref={ref}\n className={clsx(\n styles.link,\n styles[size],\n styles[underline],\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-link-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n aria-disabled={disabled || undefined}\n {...props}\n />\n )\n})\n\n/** The fully-typed TanStack Router link built from the styled anchor (typed `to`, `params`, active state, preload). */\nconst RouterLink = createLink(LinkAnchor)\n\n/** A plain external anchor (bypasses the router) — pass `external` with an `href`. */\nexport type ExternalLinkProps = { external: true } & LinkAnchorProps\n/** A typed in-app router link — pass `to` (and `params` / `search` / …). */\nexport type RouterLinkProps = { external?: false } & LinkComponentProps<typeof LinkAnchor>\nexport type LinkProps = ExternalLinkProps | RouterLinkProps\n\n/**\n * A styled text link. By default it's a **TanStack Router** link — pass `to` (plus `params` / `search` /\n * `hash` / …) for typed in-app navigation with active state + preloading. Pass **`external`** (with an\n * `href`) for a plain `<a>` to an outside URL (add your own `target` / `rel`). Tinted via `color`\n * (default `primary`); `size` (`sm`/`md`/`lg`, default `md` = `Typography` body); `underline` (`'none'` /\n * `'hover'` / `'always'`, default `'hover'`); `disabled`\n * for a muted, non-interactive look. Requires `@tanstack/react-router` (peer) for the routed mode.\n *\n * @example\n * <Link to=\"/users\">Users</Link>\n * <Link to=\"/users/$id\" params={{ id }}>Profile</Link>\n * <Link href=\"https://techzy.app\" external target=\"_blank\" rel=\"noreferrer\">Website</Link>\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n if (props.external) {\n const { external: _external, ...rest } = props\n return <LinkAnchor ref={ref} {...rest} />\n }\n return <RouterLink ref={ref} {...props} />\n})\n"],"names":["LinkAnchor","forwardRef","color","size","underline","disabled","className","style","props","ref","jsx","clsx","styles","RouterLink","createLink","Link","_external","rest"],"mappings":";;;;;;;;;;;;GAyBMA,IAAaC,EAA+C,SAChE;AAAA,EACE,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE;AAAA,QACTC,EAAO;AAAA,QACPA,EAAOT,CAAI;AAAA,QACXS,EAAOR,CAAS;AAAA,QAChBC,KAAYO,EAAO;AAAA,QACnBN;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,iBAAiB,kBAAkBJ,CAAK,SAAS,GAAGK,EAAA;AAAA,MAC7D,iBAAeF,KAAY;AAAA,MAC1B,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC,GAGKK,IAAaC,EAAWd,CAAU,GAqB3Be,IAAOd,EAAyC,SAAcO,GAAOC,GAAK;AACrF,MAAID,EAAM,UAAU;AAClB,UAAM,EAAE,UAAUQ,GAAW,GAAGC,MAAST;AACzC,WAAO,gBAAAE,EAACV,GAAA,EAAW,KAAAS,GAAW,GAAGQ,EAAA,CAAM;AAAA,EACzC;AACA,SAAO,gBAAAP,EAACG,GAAA,EAAW,KAAAJ,GAAW,GAAGD,EAAA,CAAO;AAC1C,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("react/jsx-runtime"),l=require("react"),y=require("clsx"),k=require("@tanstack/react-router"),w="_link_yw5la_3",m="_sm_yw5la_18",x="_md_yw5la_21",f="_lg_yw5la_24",L="_hover_yw5la_30",b="_always_yw5la_34",h="_disabled_yw5la_50",r={link:w,sm:m,md:x,lg:f,hover:L,always:b,disabled:h},o=l.forwardRef(function({color:n="primary",size:e="md",underline:a="hover",disabled:s=!1,className:i,style:_,...d},u){return t.jsx("a",{ref:u,className:y.clsx(r.link,r[e],r[a],s&&r.disabled,i),style:{"--tz-link-rgb":`var(--tz-color-${n}-rgb)`,..._},"aria-disabled":s||void 0,...d})}),v=k.createLink(o),g=l.forwardRef(function(n,e){if(n.external){const{external:a,...s}=n;return t.jsx(o,{ref:e,...s})}return t.jsx(v,{ref:e,...n})});exports.Link=g;
2
+ //# sourceMappingURL=Link-CtttVM6w.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link-GZT51mKx.cjs","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type CSSProperties } from 'react'\nimport { clsx } from 'clsx'\nimport { createLink, type LinkComponentProps } from '@tanstack/react-router'\nimport type { ThemeColor } from '../../theme'\nimport styles from './Link.module.css'\n\nexport type LinkUnderline = 'none' | 'hover' | 'always'\nexport type LinkSize = 'sm' | 'md' | 'lg'\n\ninterface LinkStyleProps {\n /** Theme palette token for the link text. Defaults to `primary`. */\n color?: ThemeColor\n /** Font-size step (matches the `Typography` scale — `md` = body). Defaults to `md`. */\n size?: LinkSize\n /** When the underline shows. Defaults to `'hover'`. */\n underline?: LinkUnderline\n /** Muted, non-interactive look (`pointer-events: none` + `aria-disabled`). */\n disabled?: boolean\n}\n\n/** The styled `<a>` — the element `createLink` wraps into a router `Link`, and the one rendered directly\n * for `external` (plain `href`) links. Not exported on its own; use `Link`. */\nexport interface LinkAnchorProps\n extends LinkStyleProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {}\n\nconst LinkAnchor = forwardRef<HTMLAnchorElement, LinkAnchorProps>(function LinkAnchor(\n {\n color = 'primary',\n size = 'md',\n underline = 'hover',\n disabled = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n return (\n <a\n ref={ref}\n className={clsx(\n styles.link,\n styles[size],\n styles[underline],\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-link-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n aria-disabled={disabled || undefined}\n {...props}\n />\n )\n})\n\n/** The fully-typed TanStack Router link built from the styled anchor (typed `to`, `params`, active state, preload). */\nconst RouterLink = createLink(LinkAnchor)\n\n/** A plain external anchor (bypasses the router) — pass `external` with an `href`. */\nexport type ExternalLinkProps = { external: true } & LinkAnchorProps\n/** A typed in-app router link — pass `to` (and `params` / `search` / …). */\nexport type RouterLinkProps = { external?: false } & LinkComponentProps<typeof LinkAnchor>\nexport type LinkProps = ExternalLinkProps | RouterLinkProps\n\n/**\n * A styled text link. By default it's a **TanStack Router** link — pass `to` (plus `params` / `search` /\n * `hash` / …) for typed in-app navigation with active state + preloading. Pass **`external`** (with an\n * `href`) for a plain `<a>` to an outside URL (add your own `target` / `rel`). Tinted via `color`\n * (default `primary`); `size` (`sm`/`md`/`lg`, default `md` = `Typography` body); `underline` (`'none'` /\n * `'hover'` / `'always'`, default `'hover'`); `disabled`\n * for a muted, non-interactive look. Requires `@tanstack/react-router` (peer) for the routed mode.\n *\n * @example\n * <Link to=\"/users\">Users</Link>\n * <Link to=\"/users/$id\" params={{ id }}>Profile</Link>\n * <Link href=\"https://techzy.app\" external target=\"_blank\" rel=\"noreferrer\">Website</Link>\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n if (props.external) {\n const { external: _external, ...rest } = props\n return <LinkAnchor ref={ref} {...rest} />\n }\n return <RouterLink ref={ref} {...props} />\n})\n"],"names":["LinkAnchor","forwardRef","color","size","underline","disabled","className","style","props","ref","jsx","clsx","styles","RouterLink","createLink","Link","_external","rest"],"mappings":"sTAyBMA,EAAaC,EAAAA,WAA+C,SAChE,CACE,MAAAC,EAAQ,UACR,KAAAC,EAAO,KACP,UAAAC,EAAY,QACZ,SAAAC,EAAW,GACX,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,OACEC,EAAAA,IAAC,IAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,KACTC,EAAO,KACPA,EAAOT,CAAI,EACXS,EAAOR,CAAS,EAChBC,GAAYO,EAAO,SACnBN,CAAA,EAEF,MAAO,CAAE,gBAAiB,kBAAkBJ,CAAK,QAAS,GAAGK,CAAA,EAC7D,gBAAeF,GAAY,OAC1B,GAAGG,CAAA,CAAA,CAGV,CAAC,EAGKK,EAAaC,EAAAA,WAAWd,CAAU,EAqB3Be,EAAOd,EAAAA,WAAyC,SAAcO,EAAOC,EAAK,CACrF,GAAID,EAAM,SAAU,CAClB,KAAM,CAAE,SAAUQ,EAAW,GAAGC,GAAST,EACzC,OAAOE,EAAAA,IAACV,EAAA,CAAW,IAAAS,EAAW,GAAGQ,CAAA,CAAM,CACzC,CACA,OAAOP,EAAAA,IAACG,EAAA,CAAW,IAAAJ,EAAW,GAAGD,CAAA,CAAO,CAC1C,CAAC"}
1
+ {"version":3,"file":"Link-CtttVM6w.cjs","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["import { forwardRef, type AnchorHTMLAttributes, type CSSProperties } from 'react'\nimport { clsx } from 'clsx'\nimport { createLink, type LinkComponentProps } from '@tanstack/react-router'\nimport type { ThemeColor } from '../../theme'\nimport styles from './Link.module.css'\n\nexport type LinkUnderline = 'none' | 'hover' | 'always'\nexport type LinkSize = 'sm' | 'md' | 'lg'\n\ninterface LinkStyleProps {\n /** Theme palette token for the link text. Defaults to `primary`. */\n color?: ThemeColor\n /** Font-size step (matches the `Typography` scale — `md` = body). Defaults to `md`. */\n size?: LinkSize\n /** When the underline shows. Defaults to `'hover'`. */\n underline?: LinkUnderline\n /** Muted, non-interactive look (`pointer-events: none` + `aria-disabled`). */\n disabled?: boolean\n}\n\n/** The styled `<a>` — the element `createLink` wraps into a router `Link`, and the one rendered directly\n * for `external` (plain `href`) links. Not exported on its own; use `Link`. */\nexport interface LinkAnchorProps\n extends LinkStyleProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {}\n\nconst LinkAnchor = forwardRef<HTMLAnchorElement, LinkAnchorProps>(function LinkAnchor(\n {\n color = 'primary',\n size = 'md',\n underline = 'hover',\n disabled = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n return (\n <a\n ref={ref}\n className={clsx(\n styles.link,\n styles[size],\n styles[underline],\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-link-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n aria-disabled={disabled || undefined}\n {...props}\n />\n )\n})\n\n/** The fully-typed TanStack Router link built from the styled anchor (typed `to`, `params`, active state, preload). */\nconst RouterLink = createLink(LinkAnchor)\n\n/** A plain external anchor (bypasses the router) — pass `external` with an `href`. */\nexport type ExternalLinkProps = { external: true } & LinkAnchorProps\n/** A typed in-app router link — pass `to` (and `params` / `search` / …). */\nexport type RouterLinkProps = { external?: false } & LinkComponentProps<typeof LinkAnchor>\nexport type LinkProps = ExternalLinkProps | RouterLinkProps\n\n/**\n * A styled text link. By default it's a **TanStack Router** link — pass `to` (plus `params` / `search` /\n * `hash` / …) for typed in-app navigation with active state + preloading. Pass **`external`** (with an\n * `href`) for a plain `<a>` to an outside URL (add your own `target` / `rel`). Tinted via `color`\n * (default `primary`); `size` (`sm`/`md`/`lg`, default `md` = `Typography` body); `underline` (`'none'` /\n * `'hover'` / `'always'`, default `'hover'`); `disabled`\n * for a muted, non-interactive look. Requires `@tanstack/react-router` (peer) for the routed mode.\n *\n * @example\n * <Link to=\"/users\">Users</Link>\n * <Link to=\"/users/$id\" params={{ id }}>Profile</Link>\n * <Link href=\"https://techzy.app\" external target=\"_blank\" rel=\"noreferrer\">Website</Link>\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {\n if (props.external) {\n const { external: _external, ...rest } = props\n return <LinkAnchor ref={ref} {...rest} />\n }\n return <RouterLink ref={ref} {...props} />\n})\n"],"names":["LinkAnchor","forwardRef","color","size","underline","disabled","className","style","props","ref","jsx","clsx","styles","RouterLink","createLink","Link","_external","rest"],"mappings":"sTAyBMA,EAAaC,EAAAA,WAA+C,SAChE,CACE,MAAAC,EAAQ,UACR,KAAAC,EAAO,KACP,UAAAC,EAAY,QACZ,SAAAC,EAAW,GACX,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,OACEC,EAAAA,IAAC,IAAA,CACC,IAAAD,EACA,UAAWE,EAAAA,KACTC,EAAO,KACPA,EAAOT,CAAI,EACXS,EAAOR,CAAS,EAChBC,GAAYO,EAAO,SACnBN,CAAA,EAEF,MAAO,CAAE,gBAAiB,kBAAkBJ,CAAK,QAAS,GAAGK,CAAA,EAC7D,gBAAeF,GAAY,OAC1B,GAAGG,CAAA,CAAA,CAGV,CAAC,EAGKK,EAAaC,EAAAA,WAAWd,CAAU,EAqB3Be,EAAOd,EAAAA,WAAyC,SAAcO,EAAOC,EAAK,CACrF,GAAID,EAAM,SAAU,CAClB,KAAM,CAAE,SAAUQ,EAAW,GAAGC,GAAST,EACzC,OAAOE,EAAAA,IAACV,EAAA,CAAW,IAAAS,EAAW,GAAGQ,CAAA,CAAM,CACzC,CACA,OAAOP,EAAAA,IAACG,EAAA,CAAW,IAAAJ,EAAW,GAAGD,CAAA,CAAO,CAC1C,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("react/jsx-runtime"),o=require("react"),c=require("./Flex-C6tHC8n7.cjs"),s=require("./Skeleton-DK0lAjS9.cjs"),u=require("./ListItem-DkCYXucd.cjs"),q=o.forwardRef(function({as:l,gap:a=2,padding:x,role:d="list",size:i,flush:n,loading:t=!1,style:m,children:h,...p},f){const j=l??"div",L=o.useMemo(()=>({size:i,flush:n}),[i,n]),k=typeof t=="number"?t:t?3:0;return e.jsx(j,{ref:f,role:d,"aria-busy":t?!0:void 0,style:{display:"flex",flexDirection:"column",gap:c.space(a),padding:c.space(x),...m},...p,children:e.jsx(u.ListContext.Provider,{value:L,children:t?Array.from({length:k},(y,r)=>e.jsx(u.ListItem,{"aria-hidden":"true",icon:e.jsx(s.Skeleton,{variant:"circle",height:"1.25em"}),description:e.jsx(s.Skeleton,{width:r%2?"45%":"60%"}),children:e.jsx(s.Skeleton,{width:r%2?"30%":"40%"})},r)):h})})});exports.List=q;
2
- //# sourceMappingURL=List-CKoNx21F.cjs.map
1
+ "use strict";const e=require("react/jsx-runtime"),o=require("react"),c=require("./Flex-C6tHC8n7.cjs"),s=require("./Skeleton-DK0lAjS9.cjs"),u=require("./ListItem-CguNjf-u.cjs"),q=o.forwardRef(function({as:l,gap:a=2,padding:x,role:d="list",size:i,flush:n,loading:t=!1,style:m,children:h,...p},f){const j=l??"div",L=o.useMemo(()=>({size:i,flush:n}),[i,n]),k=typeof t=="number"?t:t?3:0;return e.jsx(j,{ref:f,role:d,"aria-busy":t?!0:void 0,style:{display:"flex",flexDirection:"column",gap:c.space(a),padding:c.space(x),...m},...p,children:e.jsx(u.ListContext.Provider,{value:L,children:t?Array.from({length:k},(y,r)=>e.jsx(u.ListItem,{"aria-hidden":"true",icon:e.jsx(s.Skeleton,{variant:"circle",height:"1.25em"}),description:e.jsx(s.Skeleton,{width:r%2?"45%":"60%"}),children:e.jsx(s.Skeleton,{width:r%2?"30%":"40%"})},r)):h})})});exports.List=q;
2
+ //# sourceMappingURL=List-CLUXeaXS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"List-CKoNx21F.cjs","sources":["../src/components/List/List.tsx"],"sourcesContent":["import {\n forwardRef,\n useMemo,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { space, type Spacing } from '../Flex/Flex'\nimport { Skeleton } from '../Skeleton'\nimport { ListContext } from './listContext'\nimport { ListItem, type ListItemSize } from './ListItem'\n\nexport interface ListProps extends HTMLAttributes<HTMLElement> {\n /** Render a different element — e.g. `'ul'`, `'nav'`, `'menu'`. Defaults to `div`. */\n as?: ElementType\n /** Gap between items (token key, px number, or CSS value). Defaults to `2px`. */\n gap?: Spacing\n /** Padding around the list (token key, px number, or CSS value). */\n padding?: Spacing\n /** Default size for the contained `ListItem`s — each item can still override its own `size`. */\n size?: ListItemSize\n /**\n * Default `flush` for the contained `ListItem`s — drops their left / right padding so rows sit flush with\n * the list's edges (e.g. inside a padded `Card`). Each item can still override its own `flush`.\n */\n flush?: boolean\n /**\n * Render skeleton rows instead of `children` — `true` shows 3, a number sets the count. Each row is a\n * `ListItem` with an icon disc, a label line and a description line. Defaults to `false`.\n */\n loading?: boolean | number\n children?: ReactNode\n}\n\n/**\n * A thin semantic container for `ListItem`s — a vertical stack with a configurable `gap`/`padding`\n * and `role=\"list\"` (override `role` to `\"menu\"` for a dropdown, etc.). `size` and `flush` set defaults\n * for all contained `ListItem`s (an explicit item prop wins). `loading` swaps the items for skeleton rows. Layout is set via inline style, matching the `Flex`/`Grid` primitives.\n */\nexport const List = forwardRef<HTMLElement, ListProps>(function List(\n { as, gap = 2, padding, role = 'list', size, flush, loading = false, style, children, ...props },\n ref,\n) {\n const Component = (as ?? 'div') as ElementType\n // one stable object per (size, flush) so items don't re-render on every List render\n const ctx = useMemo(() => ({ size, flush }), [size, flush])\n const skeletonRows = typeof loading === 'number' ? loading : loading ? 3 : 0\n return (\n <Component\n ref={ref}\n role={role}\n aria-busy={loading ? true : undefined}\n style={\n {\n display: 'flex',\n flexDirection: 'column',\n gap: space(gap),\n padding: space(padding),\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n <ListContext.Provider value={ctx}>\n {loading\n ? Array.from({ length: skeletonRows }, (_, i) => (\n <ListItem\n key={i}\n aria-hidden=\"true\"\n icon={<Skeleton variant=\"circle\" height=\"1.25em\" />}\n description={<Skeleton width={i % 2 ? '45%' : '60%'} />}\n >\n <Skeleton width={i % 2 ? '30%' : '40%'} />\n </ListItem>\n ))\n : children}\n </ListContext.Provider>\n </Component>\n )\n})\n"],"names":["List","forwardRef","as","gap","padding","role","size","flush","loading","style","children","props","ref","Component","ctx","useMemo","skeletonRows","jsx","space","ListContext","_","i","ListItem","Skeleton"],"mappings":"gLAwCaA,EAAOC,EAAAA,WAAmC,SACrD,CAAE,GAAAC,EAAI,IAAAC,EAAM,EAAG,QAAAC,EAAS,KAAAC,EAAO,OAAQ,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAU,GAAO,MAAAC,EAAO,SAAAC,EAAU,GAAGC,CAAA,EACzFC,EACA,CACA,MAAMC,EAAaX,GAAM,MAEnBY,EAAMC,UAAQ,KAAO,CAAE,KAAAT,EAAM,MAAAC,IAAU,CAACD,EAAMC,CAAK,CAAC,EACpDS,EAAe,OAAOR,GAAY,SAAWA,EAAUA,EAAU,EAAI,EAC3E,OACES,EAAAA,IAACJ,EAAA,CACC,IAAAD,EACA,KAAAP,EACA,YAAWG,EAAU,GAAO,OAC5B,MACE,CACE,QAAS,OACT,cAAe,SACf,IAAKU,EAAAA,MAAMf,CAAG,EACd,QAASe,EAAAA,MAAMd,CAAO,EACtB,GAAGK,CAAA,EAGN,GAAGE,EAEJ,SAAAM,EAAAA,IAACE,cAAY,SAAZ,CAAqB,MAAOL,EAC1B,SAAAN,EACG,MAAM,KAAK,CAAE,OAAQQ,CAAA,EAAgB,CAACI,EAAGC,IACvCJ,EAAAA,IAACK,EAAAA,SAAA,CAEC,cAAY,OACZ,KAAML,EAAAA,IAACM,WAAA,CAAS,QAAQ,SAAS,OAAO,SAAS,EACjD,YAAaN,EAAAA,IAACM,EAAAA,SAAA,CAAS,MAAOF,EAAI,EAAI,MAAQ,MAAO,EAErD,eAACE,EAAAA,SAAA,CAAS,MAAOF,EAAI,EAAI,MAAQ,KAAA,CAAO,CAAA,EALnCA,CAAA,CAOR,EACDX,CAAA,CACN,CAAA,CAAA,CAGN,CAAC"}
1
+ {"version":3,"file":"List-CLUXeaXS.cjs","sources":["../src/components/List/List.tsx"],"sourcesContent":["import {\n forwardRef,\n useMemo,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { space, type Spacing } from '../Flex/Flex'\nimport { Skeleton } from '../Skeleton'\nimport { ListContext } from './listContext'\nimport { ListItem, type ListItemSize } from './ListItem'\n\nexport interface ListProps extends HTMLAttributes<HTMLElement> {\n /** Render a different element — e.g. `'ul'`, `'nav'`, `'menu'`. Defaults to `div`. */\n as?: ElementType\n /** Gap between items (token key, px number, or CSS value). Defaults to `2px`. */\n gap?: Spacing\n /** Padding around the list (token key, px number, or CSS value). */\n padding?: Spacing\n /** Default size for the contained `ListItem`s — each item can still override its own `size`. */\n size?: ListItemSize\n /**\n * Default `flush` for the contained `ListItem`s — drops their left / right padding so rows sit flush with\n * the list's edges (e.g. inside a padded `Card`). Each item can still override its own `flush`.\n */\n flush?: boolean\n /**\n * Render skeleton rows instead of `children` — `true` shows 3, a number sets the count. Each row is a\n * `ListItem` with an icon disc, a label line and a description line. Defaults to `false`.\n */\n loading?: boolean | number\n children?: ReactNode\n}\n\n/**\n * A thin semantic container for `ListItem`s — a vertical stack with a configurable `gap`/`padding`\n * and `role=\"list\"` (override `role` to `\"menu\"` for a dropdown, etc.). `size` and `flush` set defaults\n * for all contained `ListItem`s (an explicit item prop wins). `loading` swaps the items for skeleton rows. Layout is set via inline style, matching the `Flex`/`Grid` primitives.\n */\nexport const List = forwardRef<HTMLElement, ListProps>(function List(\n { as, gap = 2, padding, role = 'list', size, flush, loading = false, style, children, ...props },\n ref,\n) {\n const Component = (as ?? 'div') as ElementType\n // one stable object per (size, flush) so items don't re-render on every List render\n const ctx = useMemo(() => ({ size, flush }), [size, flush])\n const skeletonRows = typeof loading === 'number' ? loading : loading ? 3 : 0\n return (\n <Component\n ref={ref}\n role={role}\n aria-busy={loading ? true : undefined}\n style={\n {\n display: 'flex',\n flexDirection: 'column',\n gap: space(gap),\n padding: space(padding),\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n <ListContext.Provider value={ctx}>\n {loading\n ? Array.from({ length: skeletonRows }, (_, i) => (\n <ListItem\n key={i}\n aria-hidden=\"true\"\n icon={<Skeleton variant=\"circle\" height=\"1.25em\" />}\n description={<Skeleton width={i % 2 ? '45%' : '60%'} />}\n >\n <Skeleton width={i % 2 ? '30%' : '40%'} />\n </ListItem>\n ))\n : children}\n </ListContext.Provider>\n </Component>\n )\n})\n"],"names":["List","forwardRef","as","gap","padding","role","size","flush","loading","style","children","props","ref","Component","ctx","useMemo","skeletonRows","jsx","space","ListContext","_","i","ListItem","Skeleton"],"mappings":"gLAwCaA,EAAOC,EAAAA,WAAmC,SACrD,CAAE,GAAAC,EAAI,IAAAC,EAAM,EAAG,QAAAC,EAAS,KAAAC,EAAO,OAAQ,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAU,GAAO,MAAAC,EAAO,SAAAC,EAAU,GAAGC,CAAA,EACzFC,EACA,CACA,MAAMC,EAAaX,GAAM,MAEnBY,EAAMC,UAAQ,KAAO,CAAE,KAAAT,EAAM,MAAAC,IAAU,CAACD,EAAMC,CAAK,CAAC,EACpDS,EAAe,OAAOR,GAAY,SAAWA,EAAUA,EAAU,EAAI,EAC3E,OACES,EAAAA,IAACJ,EAAA,CACC,IAAAD,EACA,KAAAP,EACA,YAAWG,EAAU,GAAO,OAC5B,MACE,CACE,QAAS,OACT,cAAe,SACf,IAAKU,EAAAA,MAAMf,CAAG,EACd,QAASe,EAAAA,MAAMd,CAAO,EACtB,GAAGK,CAAA,EAGN,GAAGE,EAEJ,SAAAM,EAAAA,IAACE,cAAY,SAAZ,CAAqB,MAAOL,EAC1B,SAAAN,EACG,MAAM,KAAK,CAAE,OAAQQ,CAAA,EAAgB,CAACI,EAAGC,IACvCJ,EAAAA,IAACK,EAAAA,SAAA,CAEC,cAAY,OACZ,KAAML,EAAAA,IAACM,WAAA,CAAS,QAAQ,SAAS,OAAO,SAAS,EACjD,YAAaN,EAAAA,IAACM,EAAAA,SAAA,CAAS,MAAOF,EAAI,EAAI,MAAQ,MAAO,EAErD,eAACE,EAAAA,SAAA,CAAS,MAAOF,EAAI,EAAI,MAAQ,KAAA,CAAO,CAAA,EALnCA,CAAA,CAOR,EACDX,CAAA,CACN,CAAA,CAAA,CAGN,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as t } from "react/jsx-runtime";
2
2
  import { forwardRef as v, useMemo as y } from "react";
3
3
  import { s as n } from "./Flex-BFn4P1tJ.js";
4
4
  import { S as o } from "./Skeleton-_-uGax2j.js";
5
- import { a as w, L as b } from "./ListItem-2Lr5_NRY.js";
5
+ import { a as w, L as b } from "./ListItem-Ezmdk7q-.js";
6
6
  const I = v(function({ as: m, gap: a = 2, padding: c, role: p = "list", size: i, flush: s, loading: e = !1, style: f, children: d, ...l }, h) {
7
7
  const u = m ?? "div", x = y(() => ({ size: i, flush: s }), [i, s]), L = typeof e == "number" ? e : e ? 3 : 0;
8
8
  return /* @__PURE__ */ t(
@@ -35,4 +35,4 @@ const I = v(function({ as: m, gap: a = 2, padding: c, role: p = "list", size: i,
35
35
  export {
36
36
  I as L
37
37
  };
38
- //# sourceMappingURL=List-2Y3ktTcF.js.map
38
+ //# sourceMappingURL=List-DS91CZUt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List-2Y3ktTcF.js","sources":["../src/components/List/List.tsx"],"sourcesContent":["import {\n forwardRef,\n useMemo,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { space, type Spacing } from '../Flex/Flex'\nimport { Skeleton } from '../Skeleton'\nimport { ListContext } from './listContext'\nimport { ListItem, type ListItemSize } from './ListItem'\n\nexport interface ListProps extends HTMLAttributes<HTMLElement> {\n /** Render a different element — e.g. `'ul'`, `'nav'`, `'menu'`. Defaults to `div`. */\n as?: ElementType\n /** Gap between items (token key, px number, or CSS value). Defaults to `2px`. */\n gap?: Spacing\n /** Padding around the list (token key, px number, or CSS value). */\n padding?: Spacing\n /** Default size for the contained `ListItem`s — each item can still override its own `size`. */\n size?: ListItemSize\n /**\n * Default `flush` for the contained `ListItem`s — drops their left / right padding so rows sit flush with\n * the list's edges (e.g. inside a padded `Card`). Each item can still override its own `flush`.\n */\n flush?: boolean\n /**\n * Render skeleton rows instead of `children` — `true` shows 3, a number sets the count. Each row is a\n * `ListItem` with an icon disc, a label line and a description line. Defaults to `false`.\n */\n loading?: boolean | number\n children?: ReactNode\n}\n\n/**\n * A thin semantic container for `ListItem`s — a vertical stack with a configurable `gap`/`padding`\n * and `role=\"list\"` (override `role` to `\"menu\"` for a dropdown, etc.). `size` and `flush` set defaults\n * for all contained `ListItem`s (an explicit item prop wins). `loading` swaps the items for skeleton rows. Layout is set via inline style, matching the `Flex`/`Grid` primitives.\n */\nexport const List = forwardRef<HTMLElement, ListProps>(function List(\n { as, gap = 2, padding, role = 'list', size, flush, loading = false, style, children, ...props },\n ref,\n) {\n const Component = (as ?? 'div') as ElementType\n // one stable object per (size, flush) so items don't re-render on every List render\n const ctx = useMemo(() => ({ size, flush }), [size, flush])\n const skeletonRows = typeof loading === 'number' ? loading : loading ? 3 : 0\n return (\n <Component\n ref={ref}\n role={role}\n aria-busy={loading ? true : undefined}\n style={\n {\n display: 'flex',\n flexDirection: 'column',\n gap: space(gap),\n padding: space(padding),\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n <ListContext.Provider value={ctx}>\n {loading\n ? Array.from({ length: skeletonRows }, (_, i) => (\n <ListItem\n key={i}\n aria-hidden=\"true\"\n icon={<Skeleton variant=\"circle\" height=\"1.25em\" />}\n description={<Skeleton width={i % 2 ? '45%' : '60%'} />}\n >\n <Skeleton width={i % 2 ? '30%' : '40%'} />\n </ListItem>\n ))\n : children}\n </ListContext.Provider>\n </Component>\n )\n})\n"],"names":["List","forwardRef","as","gap","padding","role","size","flush","loading","style","children","props","ref","Component","ctx","useMemo","skeletonRows","jsx","space","ListContext","_","i","ListItem","Skeleton"],"mappings":";;;;;AAwCO,MAAMA,IAAOC,EAAmC,SACrD,EAAE,IAAAC,GAAI,KAAAC,IAAM,GAAG,SAAAC,GAAS,MAAAC,IAAO,QAAQ,MAAAC,GAAM,OAAAC,GAAO,SAAAC,IAAU,IAAO,OAAAC,GAAO,UAAAC,GAAU,GAAGC,EAAA,GACzFC,GACA;AACA,QAAMC,IAAaX,KAAM,OAEnBY,IAAMC,EAAQ,OAAO,EAAE,MAAAT,GAAM,OAAAC,MAAU,CAACD,GAAMC,CAAK,CAAC,GACpDS,IAAe,OAAOR,KAAY,WAAWA,IAAUA,IAAU,IAAI;AAC3E,SACE,gBAAAS;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,MAAAP;AAAA,MACA,aAAWG,IAAU,KAAO;AAAA,MAC5B,OACE;AAAA,QACE,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAKU,EAAMf,CAAG;AAAA,QACd,SAASe,EAAMd,CAAO;AAAA,QACtB,GAAGK;AAAA,MAAA;AAAA,MAGN,GAAGE;AAAA,MAEJ,UAAA,gBAAAM,EAACE,EAAY,UAAZ,EAAqB,OAAOL,GAC1B,UAAAN,IACG,MAAM,KAAK,EAAE,QAAQQ,EAAA,GAAgB,CAACI,GAAGC,MACvC,gBAAAJ;AAAA,QAACK;AAAA,QAAA;AAAA,UAEC,eAAY;AAAA,UACZ,MAAM,gBAAAL,EAACM,GAAA,EAAS,SAAQ,UAAS,QAAO,UAAS;AAAA,UACjD,aAAa,gBAAAN,EAACM,GAAA,EAAS,OAAOF,IAAI,IAAI,QAAQ,OAAO;AAAA,UAErD,4BAACE,GAAA,EAAS,OAAOF,IAAI,IAAI,QAAQ,MAAA,CAAO;AAAA,QAAA;AAAA,QALnCA;AAAA,MAAA,CAOR,IACDX,EAAA,CACN;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"List-DS91CZUt.js","sources":["../src/components/List/List.tsx"],"sourcesContent":["import {\n forwardRef,\n useMemo,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { space, type Spacing } from '../Flex/Flex'\nimport { Skeleton } from '../Skeleton'\nimport { ListContext } from './listContext'\nimport { ListItem, type ListItemSize } from './ListItem'\n\nexport interface ListProps extends HTMLAttributes<HTMLElement> {\n /** Render a different element — e.g. `'ul'`, `'nav'`, `'menu'`. Defaults to `div`. */\n as?: ElementType\n /** Gap between items (token key, px number, or CSS value). Defaults to `2px`. */\n gap?: Spacing\n /** Padding around the list (token key, px number, or CSS value). */\n padding?: Spacing\n /** Default size for the contained `ListItem`s — each item can still override its own `size`. */\n size?: ListItemSize\n /**\n * Default `flush` for the contained `ListItem`s — drops their left / right padding so rows sit flush with\n * the list's edges (e.g. inside a padded `Card`). Each item can still override its own `flush`.\n */\n flush?: boolean\n /**\n * Render skeleton rows instead of `children` — `true` shows 3, a number sets the count. Each row is a\n * `ListItem` with an icon disc, a label line and a description line. Defaults to `false`.\n */\n loading?: boolean | number\n children?: ReactNode\n}\n\n/**\n * A thin semantic container for `ListItem`s — a vertical stack with a configurable `gap`/`padding`\n * and `role=\"list\"` (override `role` to `\"menu\"` for a dropdown, etc.). `size` and `flush` set defaults\n * for all contained `ListItem`s (an explicit item prop wins). `loading` swaps the items for skeleton rows. Layout is set via inline style, matching the `Flex`/`Grid` primitives.\n */\nexport const List = forwardRef<HTMLElement, ListProps>(function List(\n { as, gap = 2, padding, role = 'list', size, flush, loading = false, style, children, ...props },\n ref,\n) {\n const Component = (as ?? 'div') as ElementType\n // one stable object per (size, flush) so items don't re-render on every List render\n const ctx = useMemo(() => ({ size, flush }), [size, flush])\n const skeletonRows = typeof loading === 'number' ? loading : loading ? 3 : 0\n return (\n <Component\n ref={ref}\n role={role}\n aria-busy={loading ? true : undefined}\n style={\n {\n display: 'flex',\n flexDirection: 'column',\n gap: space(gap),\n padding: space(padding),\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n <ListContext.Provider value={ctx}>\n {loading\n ? Array.from({ length: skeletonRows }, (_, i) => (\n <ListItem\n key={i}\n aria-hidden=\"true\"\n icon={<Skeleton variant=\"circle\" height=\"1.25em\" />}\n description={<Skeleton width={i % 2 ? '45%' : '60%'} />}\n >\n <Skeleton width={i % 2 ? '30%' : '40%'} />\n </ListItem>\n ))\n : children}\n </ListContext.Provider>\n </Component>\n )\n})\n"],"names":["List","forwardRef","as","gap","padding","role","size","flush","loading","style","children","props","ref","Component","ctx","useMemo","skeletonRows","jsx","space","ListContext","_","i","ListItem","Skeleton"],"mappings":";;;;;AAwCO,MAAMA,IAAOC,EAAmC,SACrD,EAAE,IAAAC,GAAI,KAAAC,IAAM,GAAG,SAAAC,GAAS,MAAAC,IAAO,QAAQ,MAAAC,GAAM,OAAAC,GAAO,SAAAC,IAAU,IAAO,OAAAC,GAAO,UAAAC,GAAU,GAAGC,EAAA,GACzFC,GACA;AACA,QAAMC,IAAaX,KAAM,OAEnBY,IAAMC,EAAQ,OAAO,EAAE,MAAAT,GAAM,OAAAC,MAAU,CAACD,GAAMC,CAAK,CAAC,GACpDS,IAAe,OAAOR,KAAY,WAAWA,IAAUA,IAAU,IAAI;AAC3E,SACE,gBAAAS;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,MAAAP;AAAA,MACA,aAAWG,IAAU,KAAO;AAAA,MAC5B,OACE;AAAA,QACE,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAKU,EAAMf,CAAG;AAAA,QACd,SAASe,EAAMd,CAAO;AAAA,QACtB,GAAGK;AAAA,MAAA;AAAA,MAGN,GAAGE;AAAA,MAEJ,UAAA,gBAAAM,EAACE,EAAY,UAAZ,EAAqB,OAAOL,GAC1B,UAAAN,IACG,MAAM,KAAK,EAAE,QAAQQ,EAAA,GAAgB,CAACI,GAAGC,MACvC,gBAAAJ;AAAA,QAACK;AAAA,QAAA;AAAA,UAEC,eAAY;AAAA,UACZ,MAAM,gBAAAL,EAACM,GAAA,EAAS,SAAQ,UAAS,QAAO,UAAS;AAAA,UACjD,aAAa,gBAAAN,EAACM,GAAA,EAAS,OAAOF,IAAI,IAAI,QAAQ,OAAO;AAAA,UAErD,4BAACE,GAAA,EAAS,OAAOF,IAAI,IAAI,QAAQ,MAAA,CAAO;AAAA,QAAA;AAAA,QALnCA;AAAA,MAAA,CAOR,IACDX,EAAA,CACN;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const s=require("react/jsx-runtime"),_=require("react"),E=require("clsx"),b=require("./Icon-CBg21lKA.cjs"),h=_.createContext({}),O=()=>_.useContext(h),q="_item_13oso_3",S="_sm_13oso_25",D="_md_13oso_31",A="_lg_13oso_36",M="_flush_13oso_43",R="_itemIcon_13oso_49",w="_itemText_13oso_57",B="_itemLabel_13oso_65",Z="_itemDescription_13oso_72",$="_itemTrailing_13oso_82",F="_clickable_13oso_92",G="_selected_13oso_114",H="_disabled_13oso_137",t={item:q,sm:S,md:D,lg:A,flush:M,itemIcon:R,itemText:w,itemLabel:B,itemDescription:Z,itemTrailing:$,clickable:F,selected:G,disabled:H},J=new Set(b.ICON_NAMES),P={sm:"sm",md:"md",lg:"md"},Q=_.forwardRef(function({icon:e,description:l,trailing:u,selected:d=!1,clickable:m=!1,disabled:o=!1,size:p,flush:g,color:C="primary",as:n,className:N,style:L,children:a,onClick:T,onKeyDown:c,...j},k){const x=O(),f=p??x.size??"md",z=g??x.flush??!1,v=n??"div",r=m&&!(n==="a"||n==="button"||typeof n=="function"||typeof n=="object"),I=e==null?null:typeof e=="string"&&J.has(e)?s.jsx(b.Icon,{name:e,size:P[f]}):e,y=i=>{r&&!o&&(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),i.currentTarget.click()),c==null||c(i)};return s.jsxs(v,{ref:k,className:E.clsx(t.item,t[f],z&&t.flush,d&&t.selected,m&&t.clickable,o&&t.disabled,N),style:{"--tz-btn-rgb":`var(--tz-color-${C}-rgb)`,...L},role:r?"button":void 0,tabIndex:r?o?-1:0:void 0,"aria-disabled":o||void 0,"aria-current":d||void 0,onClick:o?void 0:T,onKeyDown:m?y:c,...j,children:[I!=null&&s.jsx("span",{className:t.itemIcon,children:I}),(a!=null||l!=null)&&s.jsxs("span",{className:t.itemText,children:[a!=null&&s.jsx("span",{className:t.itemLabel,children:a}),l!=null&&s.jsx("span",{className:t.itemDescription,children:l})]}),u!=null&&s.jsx("span",{className:t.itemTrailing,children:u})]})});exports.ListContext=h;exports.ListItem=Q;
2
+ //# sourceMappingURL=ListItem-CguNjf-u.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem-DkCYXucd.cjs","sources":["../src/components/List/listContext.ts","../src/components/List/ListItem.tsx"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { ListItemSize } from './ListItem'\n\n/** Defaults a `List` hands to its `ListItem`s — an explicit item prop still wins. */\nexport interface ListContextValue {\n size?: ListItemSize\n flush?: boolean\n}\n\nexport const ListContext = createContext<ListContextValue>({})\n\n/** Read the defaults provided by a surrounding `List`, if any. */\nexport const useListContext = (): ListContextValue => useContext(ListContext)\n\n/** @deprecated internal — use `useListContext().size`. Kept so older call sites keep compiling. */\nexport const useListSize = (): ListItemSize | undefined => useListContext().size\n","import {\n forwardRef,\n type AnchorHTMLAttributes,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { Icon } from '../Icon'\nimport type { ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { useListContext } from './listContext'\nimport styles from './List.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type ListItemSize = 'sm' | 'md' | 'lg'\n\n/** Leading `<Icon>` size per row size. */\nconst ICON_SIZE: Record<ListItemSize, 'sm' | 'md'> = { sm: 'sm', md: 'md', lg: 'md' }\n\nexport interface ListItemProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'color'>,\n Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'target' | 'rel' | 'download'> {\n /** Leading element — a known `IconName` (rendered as `<Icon>`) or any node (e.g. an `Avatar`). */\n icon?: IconName | ReactNode\n /** Secondary muted line shown under the label. */\n description?: ReactNode\n /** Trailing content pinned to the right (icon, `Badge`, shortcut text, chevron, …). */\n trailing?: ReactNode\n /** Highlights the row as selected/active (menu selection, current nav route). */\n selected?: boolean\n /** Makes the row interactive (hover + cursor; adds `role`/`tabIndex`/keyboard when rendered plain). */\n clickable?: boolean\n /** Dims and inerts the row. */\n disabled?: boolean\n /** Row size — height / padding / font. Defaults to `md`. */\n size?: ListItemSize\n /**\n * Drops the row's left / right padding so it sits flush with its container's edges (vertical padding\n * and min-height stay). Defaults to `false`; a surrounding `List flush` sets the default for all its rows.\n */\n flush?: boolean\n /** Theme color for the selected tint and clickable hover. Defaults to `primary`. */\n color?: ThemeColor\n /** Render a different element/component — e.g. `'a'`, `'button'`, or a router `Link`. Defaults to `div`. */\n as?: ElementType\n /** Primary label / content. */\n children?: ReactNode\n}\n\n/**\n * A flexible, reusable list row: leading `icon`, a label (`children`) with optional `description`, and\n * a `trailing` slot. `clickable` turns it interactive (hover + keyboard when rendered as a plain\n * element), `selected` highlights it, `disabled` inerts it. Render as a link/button/router `Link` via\n * `as`. Designed to compose inside `List` — for menus, the sidebar, or a standalone styled list.\n */\nexport const ListItem = forwardRef<HTMLElement, ListItemProps>(function ListItem(\n {\n icon,\n description,\n trailing,\n selected = false,\n clickable = false,\n disabled = false,\n size: sizeProp,\n flush: flushProp,\n color = 'primary',\n as,\n className,\n style,\n children,\n onClick,\n onKeyDown,\n ...props\n },\n ref,\n) {\n // explicit props win; otherwise inherit the surrounding `List`'s defaults (size falls back to `md`)\n const listCtx = useListContext()\n const size = sizeProp ?? listCtx.size ?? 'md'\n const flush = flushProp ?? listCtx.flush ?? false\n const Component = (as ?? 'div') as ElementType\n // Anchors, buttons, and custom components (e.g. a router Link) carry their own click + keyboard\n // semantics — only a plain element needs the button role/tabIndex/Enter-Space shim.\n const handlesOwnInteraction =\n as === 'a' || as === 'button' || typeof as === 'function' || typeof as === 'object'\n const isDivButton = clickable && !handlesOwnInteraction\n\n const renderedIcon =\n icon == null ? null : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={ICON_SIZE[size]} />\n ) : (\n icon\n )\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (isDivButton && !disabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.currentTarget.click()\n }\n onKeyDown?.(event)\n }\n\n return (\n <Component\n ref={ref}\n className={clsx(\n styles.item,\n styles[size],\n flush && styles.flush,\n selected && styles.selected,\n clickable && styles.clickable,\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n role={isDivButton ? 'button' : undefined}\n tabIndex={isDivButton ? (disabled ? -1 : 0) : undefined}\n aria-disabled={disabled || undefined}\n aria-current={selected || undefined}\n onClick={disabled ? undefined : onClick}\n onKeyDown={clickable ? handleKeyDown : onKeyDown}\n {...props}\n >\n {renderedIcon != null && <span className={styles.itemIcon}>{renderedIcon}</span>}\n {(children != null || description != null) && (\n <span className={styles.itemText}>\n {children != null && <span className={styles.itemLabel}>{children}</span>}\n {description != null && <span className={styles.itemDescription}>{description}</span>}\n </span>\n )}\n {trailing != null && <span className={styles.itemTrailing}>{trailing}</span>}\n </Component>\n )\n})\n"],"names":["ListContext","createContext","useListContext","useContext","ICON_NAME_SET","ICON_NAMES","ICON_SIZE","ListItem","forwardRef","icon","description","trailing","selected","clickable","disabled","sizeProp","flushProp","color","as","className","style","children","onClick","onKeyDown","props","ref","listCtx","size","flush","Component","isDivButton","renderedIcon","jsx","Icon","handleKeyDown","event","jsxs","clsx","styles"],"mappings":"wHASaA,EAAcC,EAAAA,cAAgC,CAAA,CAAE,EAGhDC,EAAiB,IAAwBC,EAAAA,WAAWH,CAAW,yaCItEI,EAAgB,IAAI,IAAYC,YAAU,EAK1CC,EAA+C,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAA,EAuClEC,EAAWC,EAAAA,WAAuC,SAC7D,CACE,KAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,GACX,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,KAAMC,EACN,MAAOC,EACP,MAAAC,EAAQ,UACR,GAAAC,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EACAC,EACA,CAEA,MAAMC,EAAUxB,EAAA,EACVyB,EAAOZ,GAAYW,EAAQ,MAAQ,KACnCE,EAAQZ,GAAaU,EAAQ,OAAS,GACtCG,EAAaX,GAAM,MAKnBY,EAAcjB,GAAa,EAD/BK,IAAO,KAAOA,IAAO,UAAY,OAAOA,GAAO,YAAc,OAAOA,GAAO,UAGvEa,EACJtB,GAAQ,KAAO,KAAO,OAAOA,GAAS,UAAYL,EAAc,IAAIK,CAAI,EACtEuB,MAACC,EAAAA,MAAK,KAAMxB,EAAkB,KAAMH,EAAUqB,CAAI,EAAG,EAErDlB,EAGEyB,EAAiBC,GAAsC,CACvDL,GAAe,CAAChB,IAAaqB,EAAM,MAAQ,SAAWA,EAAM,MAAQ,OACtEA,EAAM,eAAA,EACNA,EAAM,cAAc,MAAA,GAEtBZ,GAAA,MAAAA,EAAYY,EACd,EAEA,OACEC,EAAAA,KAACP,EAAA,CACC,IAAAJ,EACA,UAAWY,EAAAA,KACTC,EAAO,KACPA,EAAOX,CAAI,EACXC,GAASU,EAAO,MAChB1B,GAAY0B,EAAO,SACnBzB,GAAayB,EAAO,UACpBxB,GAAYwB,EAAO,SACnBnB,CAAA,EAEF,MAAO,CAAE,eAAgB,kBAAkBF,CAAK,QAAS,GAAGG,CAAA,EAC5D,KAAMU,EAAc,SAAW,OAC/B,SAAUA,EAAehB,EAAW,GAAK,EAAK,OAC9C,gBAAeA,GAAY,OAC3B,eAAcF,GAAY,OAC1B,QAASE,EAAW,OAAYQ,EAChC,UAAWT,EAAYqB,EAAgBX,EACtC,GAAGC,EAEH,SAAA,CAAAO,GAAgB,MAAQC,EAAAA,IAAC,OAAA,CAAK,UAAWM,EAAO,SAAW,SAAAP,EAAa,GACvEV,GAAY,MAAQX,GAAe,cAClC,OAAA,CAAK,UAAW4B,EAAO,SACrB,SAAA,CAAAjB,GAAY,MAAQW,EAAAA,IAAC,OAAA,CAAK,UAAWM,EAAO,UAAY,SAAAjB,EAAS,EACjEX,GAAe,MAAQsB,EAAAA,IAAC,QAAK,UAAWM,EAAO,gBAAkB,SAAA5B,CAAA,CAAY,CAAA,EAChF,EAEDC,GAAY,MAAQqB,EAAAA,IAAC,QAAK,UAAWM,EAAO,aAAe,SAAA3B,CAAA,CAAS,CAAA,CAAA,CAAA,CAG3E,CAAC"}
1
+ {"version":3,"file":"ListItem-CguNjf-u.cjs","sources":["../src/components/List/listContext.ts","../src/components/List/ListItem.tsx"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { ListItemSize } from './ListItem'\n\n/** Defaults a `List` hands to its `ListItem`s — an explicit item prop still wins. */\nexport interface ListContextValue {\n size?: ListItemSize\n flush?: boolean\n}\n\nexport const ListContext = createContext<ListContextValue>({})\n\n/** Read the defaults provided by a surrounding `List`, if any. */\nexport const useListContext = (): ListContextValue => useContext(ListContext)\n\n/** @deprecated internal — use `useListContext().size`. Kept so older call sites keep compiling. */\nexport const useListSize = (): ListItemSize | undefined => useListContext().size\n","import {\n forwardRef,\n type AnchorHTMLAttributes,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { Icon } from '../Icon'\nimport type { ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { useListContext } from './listContext'\nimport styles from './List.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type ListItemSize = 'sm' | 'md' | 'lg'\n\n/** Leading `<Icon>` size per row size. */\nconst ICON_SIZE: Record<ListItemSize, 'sm' | 'md'> = { sm: 'sm', md: 'md', lg: 'md' }\n\nexport interface ListItemProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'color'>,\n Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'target' | 'rel' | 'download'> {\n /** Leading element — a known `IconName` (rendered as `<Icon>`) or any node (e.g. an `Avatar`). */\n icon?: IconName | ReactNode\n /** Secondary muted line shown under the label. */\n description?: ReactNode\n /** Trailing content pinned to the right (icon, `Badge`, shortcut text, chevron, …). */\n trailing?: ReactNode\n /** Highlights the row as selected/active (menu selection, current nav route). */\n selected?: boolean\n /** Makes the row interactive (hover + cursor; adds `role`/`tabIndex`/keyboard when rendered plain). */\n clickable?: boolean\n /** Dims and inerts the row. */\n disabled?: boolean\n /** Row size — height / padding / font. Defaults to `md`. */\n size?: ListItemSize\n /**\n * Drops the row's left / right padding so it sits flush with its container's edges (vertical padding\n * and min-height stay). Defaults to `false`; a surrounding `List flush` sets the default for all its rows.\n */\n flush?: boolean\n /** Theme color for the selected tint and clickable hover. Defaults to `primary`. */\n color?: ThemeColor\n /** Render a different element/component — e.g. `'a'`, `'button'`, or a router `Link`. Defaults to `div`. */\n as?: ElementType\n /** Primary label / content. */\n children?: ReactNode\n}\n\n/**\n * A flexible, reusable list row: leading `icon`, a label (`children`) with optional `description`, and\n * a `trailing` slot. `clickable` turns it interactive (hover + keyboard when rendered as a plain\n * element), `selected` highlights it, `disabled` inerts it. Render as a link/button/router `Link` via\n * `as`. Designed to compose inside `List` — for menus, the sidebar, or a standalone styled list.\n */\nexport const ListItem = forwardRef<HTMLElement, ListItemProps>(function ListItem(\n {\n icon,\n description,\n trailing,\n selected = false,\n clickable = false,\n disabled = false,\n size: sizeProp,\n flush: flushProp,\n color = 'primary',\n as,\n className,\n style,\n children,\n onClick,\n onKeyDown,\n ...props\n },\n ref,\n) {\n // explicit props win; otherwise inherit the surrounding `List`'s defaults (size falls back to `md`)\n const listCtx = useListContext()\n const size = sizeProp ?? listCtx.size ?? 'md'\n const flush = flushProp ?? listCtx.flush ?? false\n const Component = (as ?? 'div') as ElementType\n // Anchors, buttons, and custom components (e.g. a router Link) carry their own click + keyboard\n // semantics — only a plain element needs the button role/tabIndex/Enter-Space shim.\n const handlesOwnInteraction =\n as === 'a' || as === 'button' || typeof as === 'function' || typeof as === 'object'\n const isDivButton = clickable && !handlesOwnInteraction\n\n const renderedIcon =\n icon == null ? null : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={ICON_SIZE[size]} />\n ) : (\n icon\n )\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (isDivButton && !disabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.currentTarget.click()\n }\n onKeyDown?.(event)\n }\n\n return (\n <Component\n ref={ref}\n className={clsx(\n styles.item,\n styles[size],\n flush && styles.flush,\n selected && styles.selected,\n clickable && styles.clickable,\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n role={isDivButton ? 'button' : undefined}\n tabIndex={isDivButton ? (disabled ? -1 : 0) : undefined}\n aria-disabled={disabled || undefined}\n aria-current={selected || undefined}\n onClick={disabled ? undefined : onClick}\n onKeyDown={clickable ? handleKeyDown : onKeyDown}\n {...props}\n >\n {renderedIcon != null && <span className={styles.itemIcon}>{renderedIcon}</span>}\n {(children != null || description != null) && (\n <span className={styles.itemText}>\n {children != null && <span className={styles.itemLabel}>{children}</span>}\n {description != null && <span className={styles.itemDescription}>{description}</span>}\n </span>\n )}\n {trailing != null && <span className={styles.itemTrailing}>{trailing}</span>}\n </Component>\n )\n})\n"],"names":["ListContext","createContext","useListContext","useContext","ICON_NAME_SET","ICON_NAMES","ICON_SIZE","ListItem","forwardRef","icon","description","trailing","selected","clickable","disabled","sizeProp","flushProp","color","as","className","style","children","onClick","onKeyDown","props","ref","listCtx","size","flush","Component","isDivButton","renderedIcon","jsx","Icon","handleKeyDown","event","jsxs","clsx","styles"],"mappings":"wHASaA,EAAcC,EAAAA,cAAgC,CAAA,CAAE,EAGhDC,EAAiB,IAAwBC,EAAAA,WAAWH,CAAW,yaCItEI,EAAgB,IAAI,IAAYC,YAAU,EAK1CC,EAA+C,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAA,EAuClEC,EAAWC,EAAAA,WAAuC,SAC7D,CACE,KAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EAAW,GACX,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,KAAMC,EACN,MAAOC,EACP,MAAAC,EAAQ,UACR,GAAAC,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EACAC,EACA,CAEA,MAAMC,EAAUxB,EAAA,EACVyB,EAAOZ,GAAYW,EAAQ,MAAQ,KACnCE,EAAQZ,GAAaU,EAAQ,OAAS,GACtCG,EAAaX,GAAM,MAKnBY,EAAcjB,GAAa,EAD/BK,IAAO,KAAOA,IAAO,UAAY,OAAOA,GAAO,YAAc,OAAOA,GAAO,UAGvEa,EACJtB,GAAQ,KAAO,KAAO,OAAOA,GAAS,UAAYL,EAAc,IAAIK,CAAI,EACtEuB,MAACC,EAAAA,MAAK,KAAMxB,EAAkB,KAAMH,EAAUqB,CAAI,EAAG,EAErDlB,EAGEyB,EAAiBC,GAAsC,CACvDL,GAAe,CAAChB,IAAaqB,EAAM,MAAQ,SAAWA,EAAM,MAAQ,OACtEA,EAAM,eAAA,EACNA,EAAM,cAAc,MAAA,GAEtBZ,GAAA,MAAAA,EAAYY,EACd,EAEA,OACEC,EAAAA,KAACP,EAAA,CACC,IAAAJ,EACA,UAAWY,EAAAA,KACTC,EAAO,KACPA,EAAOX,CAAI,EACXC,GAASU,EAAO,MAChB1B,GAAY0B,EAAO,SACnBzB,GAAayB,EAAO,UACpBxB,GAAYwB,EAAO,SACnBnB,CAAA,EAEF,MAAO,CAAE,eAAgB,kBAAkBF,CAAK,QAAS,GAAGG,CAAA,EAC5D,KAAMU,EAAc,SAAW,OAC/B,SAAUA,EAAehB,EAAW,GAAK,EAAK,OAC9C,gBAAeA,GAAY,OAC3B,eAAcF,GAAY,OAC1B,QAASE,EAAW,OAAYQ,EAChC,UAAWT,EAAYqB,EAAgBX,EACtC,GAAGC,EAEH,SAAA,CAAAO,GAAgB,MAAQC,EAAAA,IAAC,OAAA,CAAK,UAAWM,EAAO,SAAW,SAAAP,EAAa,GACvEV,GAAY,MAAQX,GAAe,cAClC,OAAA,CAAK,UAAW4B,EAAO,SACrB,SAAA,CAAAjB,GAAY,MAAQW,EAAAA,IAAC,OAAA,CAAK,UAAWM,EAAO,UAAY,SAAAjB,EAAS,EACjEX,GAAe,MAAQsB,EAAAA,IAAC,QAAK,UAAWM,EAAO,gBAAkB,SAAA5B,CAAA,CAAY,CAAA,EAChF,EAEDC,GAAY,MAAQqB,EAAAA,IAAC,QAAK,UAAWM,EAAO,aAAe,SAAA3B,CAAA,CAAS,CAAA,CAAA,CAAA,CAG3E,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { jsx as i, jsxs as b } from "react/jsx-runtime";
2
+ import { createContext as y, useContext as E, forwardRef as O } from "react";
3
+ import { clsx as S } from "clsx";
4
+ import { b as j, a as D } from "./Icon-B7DJn8Tw.js";
5
+ const A = y({}), M = () => E(A), w = "_item_13oso_3", B = "_sm_13oso_25", R = "_md_13oso_31", Z = "_lg_13oso_36", $ = "_flush_13oso_43", q = "_itemIcon_13oso_49", F = "_itemText_13oso_57", G = "_itemLabel_13oso_65", H = "_itemDescription_13oso_72", J = "_itemTrailing_13oso_82", P = "_clickable_13oso_92", Q = "_selected_13oso_114", U = "_disabled_13oso_137", t = {
6
+ item: w,
7
+ sm: B,
8
+ md: R,
9
+ lg: Z,
10
+ flush: $,
11
+ itemIcon: q,
12
+ itemText: F,
13
+ itemLabel: G,
14
+ itemDescription: H,
15
+ itemTrailing: J,
16
+ clickable: P,
17
+ selected: Q,
18
+ disabled: U
19
+ }, V = new Set(D), W = { sm: "sm", md: "md", lg: "md" }, ot = O(function({
20
+ icon: s,
21
+ description: c,
22
+ trailing: _,
23
+ selected: d = !1,
24
+ clickable: m = !1,
25
+ disabled: e = !1,
26
+ size: I,
27
+ flush: h,
28
+ color: x = "primary",
29
+ as: o,
30
+ className: g,
31
+ style: N,
32
+ children: a,
33
+ onClick: C,
34
+ onKeyDown: l,
35
+ ...T
36
+ }, L) {
37
+ const u = M(), f = I ?? u.size ?? "md", k = h ?? u.flush ?? !1, z = o ?? "div", r = m && !(o === "a" || o === "button" || typeof o == "function" || typeof o == "object"), p = s == null ? null : typeof s == "string" && V.has(s) ? /* @__PURE__ */ i(j, { name: s, size: W[f] }) : s, v = (n) => {
38
+ r && !e && (n.key === "Enter" || n.key === " ") && (n.preventDefault(), n.currentTarget.click()), l == null || l(n);
39
+ };
40
+ return /* @__PURE__ */ b(
41
+ z,
42
+ {
43
+ ref: L,
44
+ className: S(
45
+ t.item,
46
+ t[f],
47
+ k && t.flush,
48
+ d && t.selected,
49
+ m && t.clickable,
50
+ e && t.disabled,
51
+ g
52
+ ),
53
+ style: { "--tz-btn-rgb": `var(--tz-color-${x}-rgb)`, ...N },
54
+ role: r ? "button" : void 0,
55
+ tabIndex: r ? e ? -1 : 0 : void 0,
56
+ "aria-disabled": e || void 0,
57
+ "aria-current": d || void 0,
58
+ onClick: e ? void 0 : C,
59
+ onKeyDown: m ? v : l,
60
+ ...T,
61
+ children: [
62
+ p != null && /* @__PURE__ */ i("span", { className: t.itemIcon, children: p }),
63
+ (a != null || c != null) && /* @__PURE__ */ b("span", { className: t.itemText, children: [
64
+ a != null && /* @__PURE__ */ i("span", { className: t.itemLabel, children: a }),
65
+ c != null && /* @__PURE__ */ i("span", { className: t.itemDescription, children: c })
66
+ ] }),
67
+ _ != null && /* @__PURE__ */ i("span", { className: t.itemTrailing, children: _ })
68
+ ]
69
+ }
70
+ );
71
+ });
72
+ export {
73
+ ot as L,
74
+ A as a
75
+ };
76
+ //# sourceMappingURL=ListItem-Ezmdk7q-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem-2Lr5_NRY.js","sources":["../src/components/List/listContext.ts","../src/components/List/ListItem.tsx"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { ListItemSize } from './ListItem'\n\n/** Defaults a `List` hands to its `ListItem`s — an explicit item prop still wins. */\nexport interface ListContextValue {\n size?: ListItemSize\n flush?: boolean\n}\n\nexport const ListContext = createContext<ListContextValue>({})\n\n/** Read the defaults provided by a surrounding `List`, if any. */\nexport const useListContext = (): ListContextValue => useContext(ListContext)\n\n/** @deprecated internal — use `useListContext().size`. Kept so older call sites keep compiling. */\nexport const useListSize = (): ListItemSize | undefined => useListContext().size\n","import {\n forwardRef,\n type AnchorHTMLAttributes,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { Icon } from '../Icon'\nimport type { ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { useListContext } from './listContext'\nimport styles from './List.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type ListItemSize = 'sm' | 'md' | 'lg'\n\n/** Leading `<Icon>` size per row size. */\nconst ICON_SIZE: Record<ListItemSize, 'sm' | 'md'> = { sm: 'sm', md: 'md', lg: 'md' }\n\nexport interface ListItemProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'color'>,\n Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'target' | 'rel' | 'download'> {\n /** Leading element — a known `IconName` (rendered as `<Icon>`) or any node (e.g. an `Avatar`). */\n icon?: IconName | ReactNode\n /** Secondary muted line shown under the label. */\n description?: ReactNode\n /** Trailing content pinned to the right (icon, `Badge`, shortcut text, chevron, …). */\n trailing?: ReactNode\n /** Highlights the row as selected/active (menu selection, current nav route). */\n selected?: boolean\n /** Makes the row interactive (hover + cursor; adds `role`/`tabIndex`/keyboard when rendered plain). */\n clickable?: boolean\n /** Dims and inerts the row. */\n disabled?: boolean\n /** Row size — height / padding / font. Defaults to `md`. */\n size?: ListItemSize\n /**\n * Drops the row's left / right padding so it sits flush with its container's edges (vertical padding\n * and min-height stay). Defaults to `false`; a surrounding `List flush` sets the default for all its rows.\n */\n flush?: boolean\n /** Theme color for the selected tint and clickable hover. Defaults to `primary`. */\n color?: ThemeColor\n /** Render a different element/component — e.g. `'a'`, `'button'`, or a router `Link`. Defaults to `div`. */\n as?: ElementType\n /** Primary label / content. */\n children?: ReactNode\n}\n\n/**\n * A flexible, reusable list row: leading `icon`, a label (`children`) with optional `description`, and\n * a `trailing` slot. `clickable` turns it interactive (hover + keyboard when rendered as a plain\n * element), `selected` highlights it, `disabled` inerts it. Render as a link/button/router `Link` via\n * `as`. Designed to compose inside `List` — for menus, the sidebar, or a standalone styled list.\n */\nexport const ListItem = forwardRef<HTMLElement, ListItemProps>(function ListItem(\n {\n icon,\n description,\n trailing,\n selected = false,\n clickable = false,\n disabled = false,\n size: sizeProp,\n flush: flushProp,\n color = 'primary',\n as,\n className,\n style,\n children,\n onClick,\n onKeyDown,\n ...props\n },\n ref,\n) {\n // explicit props win; otherwise inherit the surrounding `List`'s defaults (size falls back to `md`)\n const listCtx = useListContext()\n const size = sizeProp ?? listCtx.size ?? 'md'\n const flush = flushProp ?? listCtx.flush ?? false\n const Component = (as ?? 'div') as ElementType\n // Anchors, buttons, and custom components (e.g. a router Link) carry their own click + keyboard\n // semantics — only a plain element needs the button role/tabIndex/Enter-Space shim.\n const handlesOwnInteraction =\n as === 'a' || as === 'button' || typeof as === 'function' || typeof as === 'object'\n const isDivButton = clickable && !handlesOwnInteraction\n\n const renderedIcon =\n icon == null ? null : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={ICON_SIZE[size]} />\n ) : (\n icon\n )\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (isDivButton && !disabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.currentTarget.click()\n }\n onKeyDown?.(event)\n }\n\n return (\n <Component\n ref={ref}\n className={clsx(\n styles.item,\n styles[size],\n flush && styles.flush,\n selected && styles.selected,\n clickable && styles.clickable,\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n role={isDivButton ? 'button' : undefined}\n tabIndex={isDivButton ? (disabled ? -1 : 0) : undefined}\n aria-disabled={disabled || undefined}\n aria-current={selected || undefined}\n onClick={disabled ? undefined : onClick}\n onKeyDown={clickable ? handleKeyDown : onKeyDown}\n {...props}\n >\n {renderedIcon != null && <span className={styles.itemIcon}>{renderedIcon}</span>}\n {(children != null || description != null) && (\n <span className={styles.itemText}>\n {children != null && <span className={styles.itemLabel}>{children}</span>}\n {description != null && <span className={styles.itemDescription}>{description}</span>}\n </span>\n )}\n {trailing != null && <span className={styles.itemTrailing}>{trailing}</span>}\n </Component>\n )\n})\n"],"names":["ListContext","createContext","useListContext","useContext","ICON_NAME_SET","ICON_NAMES","ICON_SIZE","ListItem","forwardRef","icon","description","trailing","selected","clickable","disabled","sizeProp","flushProp","color","as","className","style","children","onClick","onKeyDown","props","ref","listCtx","size","flush","Component","isDivButton","renderedIcon","jsx","Icon","handleKeyDown","event","jsxs","clsx","styles"],"mappings":";;;;AASO,MAAMA,IAAcC,EAAgC,CAAA,CAAE,GAGhDC,IAAiB,MAAwBC,EAAWH,CAAW;;;;;;;;;;;;;;GCItEI,IAAgB,IAAI,IAAYC,CAAU,GAK1CC,IAA+C,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,KAAA,GAuClEC,KAAWC,EAAuC,SAC7D;AAAA,EACE,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,IAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AAEA,QAAMC,IAAUxB,EAAA,GACVyB,IAAOZ,KAAYW,EAAQ,QAAQ,MACnCE,IAAQZ,KAAaU,EAAQ,SAAS,IACtCG,IAAaX,KAAM,OAKnBY,IAAcjB,KAAa,EAD/BK,MAAO,OAAOA,MAAO,YAAY,OAAOA,KAAO,cAAc,OAAOA,KAAO,WAGvEa,IACJtB,KAAQ,OAAO,OAAO,OAAOA,KAAS,YAAYL,EAAc,IAAIK,CAAI,IACtE,gBAAAuB,EAACC,KAAK,MAAMxB,GAAkB,MAAMH,EAAUqB,CAAI,GAAG,IAErDlB,GAGEyB,IAAgB,CAACC,MAAsC;AAC3D,IAAIL,KAAe,CAAChB,MAAaqB,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACtEA,EAAM,eAAA,GACNA,EAAM,cAAc,MAAA,IAEtBZ,KAAA,QAAAA,EAAYY;AAAA,EACd;AAEA,SACE,gBAAAC;AAAA,IAACP;AAAA,IAAA;AAAA,MACC,KAAAJ;AAAA,MACA,WAAWY;AAAA,QACTC,EAAO;AAAA,QACPA,EAAOX,CAAI;AAAA,QACXC,KAASU,EAAO;AAAA,QAChB1B,KAAY0B,EAAO;AAAA,QACnBzB,KAAayB,EAAO;AAAA,QACpBxB,KAAYwB,EAAO;AAAA,QACnBnB;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,gBAAgB,kBAAkBF,CAAK,SAAS,GAAGG,EAAA;AAAA,MAC5D,MAAMU,IAAc,WAAW;AAAA,MAC/B,UAAUA,IAAehB,IAAW,KAAK,IAAK;AAAA,MAC9C,iBAAeA,KAAY;AAAA,MAC3B,gBAAcF,KAAY;AAAA,MAC1B,SAASE,IAAW,SAAYQ;AAAA,MAChC,WAAWT,IAAYqB,IAAgBX;AAAA,MACtC,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAO,KAAgB,QAAQ,gBAAAC,EAAC,QAAA,EAAK,WAAWM,EAAO,UAAW,UAAAP,GAAa;AAAA,SACvEV,KAAY,QAAQX,KAAe,2BAClC,QAAA,EAAK,WAAW4B,EAAO,UACrB,UAAA;AAAA,UAAAjB,KAAY,QAAQ,gBAAAW,EAAC,QAAA,EAAK,WAAWM,EAAO,WAAY,UAAAjB,GAAS;AAAA,UACjEX,KAAe,QAAQ,gBAAAsB,EAAC,UAAK,WAAWM,EAAO,iBAAkB,UAAA5B,EAAA,CAAY;AAAA,QAAA,GAChF;AAAA,QAEDC,KAAY,QAAQ,gBAAAqB,EAAC,UAAK,WAAWM,EAAO,cAAe,UAAA3B,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG3E,CAAC;"}
1
+ {"version":3,"file":"ListItem-Ezmdk7q-.js","sources":["../src/components/List/listContext.ts","../src/components/List/ListItem.tsx"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { ListItemSize } from './ListItem'\n\n/** Defaults a `List` hands to its `ListItem`s — an explicit item prop still wins. */\nexport interface ListContextValue {\n size?: ListItemSize\n flush?: boolean\n}\n\nexport const ListContext = createContext<ListContextValue>({})\n\n/** Read the defaults provided by a surrounding `List`, if any. */\nexport const useListContext = (): ListContextValue => useContext(ListContext)\n\n/** @deprecated internal — use `useListContext().size`. Kept so older call sites keep compiling. */\nexport const useListSize = (): ListItemSize | undefined => useListContext().size\n","import {\n forwardRef,\n type AnchorHTMLAttributes,\n type CSSProperties,\n type ElementType,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { Icon } from '../Icon'\nimport type { ThemeColor } from '../../theme'\nimport { ICON_NAMES, type IconName } from '../../icons/names'\nimport { useListContext } from './listContext'\nimport styles from './List.module.css'\n\nconst ICON_NAME_SET = new Set<string>(ICON_NAMES)\n\nexport type ListItemSize = 'sm' | 'md' | 'lg'\n\n/** Leading `<Icon>` size per row size. */\nconst ICON_SIZE: Record<ListItemSize, 'sm' | 'md'> = { sm: 'sm', md: 'md', lg: 'md' }\n\nexport interface ListItemProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'color'>,\n Pick<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'target' | 'rel' | 'download'> {\n /** Leading element — a known `IconName` (rendered as `<Icon>`) or any node (e.g. an `Avatar`). */\n icon?: IconName | ReactNode\n /** Secondary muted line shown under the label. */\n description?: ReactNode\n /** Trailing content pinned to the right (icon, `Badge`, shortcut text, chevron, …). */\n trailing?: ReactNode\n /** Highlights the row as selected/active (menu selection, current nav route). */\n selected?: boolean\n /** Makes the row interactive (hover + cursor; adds `role`/`tabIndex`/keyboard when rendered plain). */\n clickable?: boolean\n /** Dims and inerts the row. */\n disabled?: boolean\n /** Row size — height / padding / font. Defaults to `md`. */\n size?: ListItemSize\n /**\n * Drops the row's left / right padding so it sits flush with its container's edges (vertical padding\n * and min-height stay). Defaults to `false`; a surrounding `List flush` sets the default for all its rows.\n */\n flush?: boolean\n /** Theme color for the selected tint and clickable hover. Defaults to `primary`. */\n color?: ThemeColor\n /** Render a different element/component — e.g. `'a'`, `'button'`, or a router `Link`. Defaults to `div`. */\n as?: ElementType\n /** Primary label / content. */\n children?: ReactNode\n}\n\n/**\n * A flexible, reusable list row: leading `icon`, a label (`children`) with optional `description`, and\n * a `trailing` slot. `clickable` turns it interactive (hover + keyboard when rendered as a plain\n * element), `selected` highlights it, `disabled` inerts it. Render as a link/button/router `Link` via\n * `as`. Designed to compose inside `List` — for menus, the sidebar, or a standalone styled list.\n */\nexport const ListItem = forwardRef<HTMLElement, ListItemProps>(function ListItem(\n {\n icon,\n description,\n trailing,\n selected = false,\n clickable = false,\n disabled = false,\n size: sizeProp,\n flush: flushProp,\n color = 'primary',\n as,\n className,\n style,\n children,\n onClick,\n onKeyDown,\n ...props\n },\n ref,\n) {\n // explicit props win; otherwise inherit the surrounding `List`'s defaults (size falls back to `md`)\n const listCtx = useListContext()\n const size = sizeProp ?? listCtx.size ?? 'md'\n const flush = flushProp ?? listCtx.flush ?? false\n const Component = (as ?? 'div') as ElementType\n // Anchors, buttons, and custom components (e.g. a router Link) carry their own click + keyboard\n // semantics — only a plain element needs the button role/tabIndex/Enter-Space shim.\n const handlesOwnInteraction =\n as === 'a' || as === 'button' || typeof as === 'function' || typeof as === 'object'\n const isDivButton = clickable && !handlesOwnInteraction\n\n const renderedIcon =\n icon == null ? null : typeof icon === 'string' && ICON_NAME_SET.has(icon) ? (\n <Icon name={icon as IconName} size={ICON_SIZE[size]} />\n ) : (\n icon\n )\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (isDivButton && !disabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n event.currentTarget.click()\n }\n onKeyDown?.(event)\n }\n\n return (\n <Component\n ref={ref}\n className={clsx(\n styles.item,\n styles[size],\n flush && styles.flush,\n selected && styles.selected,\n clickable && styles.clickable,\n disabled && styles.disabled,\n className,\n )}\n style={{ '--tz-btn-rgb': `var(--tz-color-${color}-rgb)`, ...style } as CSSProperties}\n role={isDivButton ? 'button' : undefined}\n tabIndex={isDivButton ? (disabled ? -1 : 0) : undefined}\n aria-disabled={disabled || undefined}\n aria-current={selected || undefined}\n onClick={disabled ? undefined : onClick}\n onKeyDown={clickable ? handleKeyDown : onKeyDown}\n {...props}\n >\n {renderedIcon != null && <span className={styles.itemIcon}>{renderedIcon}</span>}\n {(children != null || description != null) && (\n <span className={styles.itemText}>\n {children != null && <span className={styles.itemLabel}>{children}</span>}\n {description != null && <span className={styles.itemDescription}>{description}</span>}\n </span>\n )}\n {trailing != null && <span className={styles.itemTrailing}>{trailing}</span>}\n </Component>\n )\n})\n"],"names":["ListContext","createContext","useListContext","useContext","ICON_NAME_SET","ICON_NAMES","ICON_SIZE","ListItem","forwardRef","icon","description","trailing","selected","clickable","disabled","sizeProp","flushProp","color","as","className","style","children","onClick","onKeyDown","props","ref","listCtx","size","flush","Component","isDivButton","renderedIcon","jsx","Icon","handleKeyDown","event","jsxs","clsx","styles"],"mappings":";;;;AASO,MAAMA,IAAcC,EAAgC,CAAA,CAAE,GAGhDC,IAAiB,MAAwBC,EAAWH,CAAW;;;;;;;;;;;;;;GCItEI,IAAgB,IAAI,IAAYC,CAAU,GAK1CC,IAA+C,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,KAAA,GAuClEC,KAAWC,EAAuC,SAC7D;AAAA,EACE,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,IAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AAEA,QAAMC,IAAUxB,EAAA,GACVyB,IAAOZ,KAAYW,EAAQ,QAAQ,MACnCE,IAAQZ,KAAaU,EAAQ,SAAS,IACtCG,IAAaX,KAAM,OAKnBY,IAAcjB,KAAa,EAD/BK,MAAO,OAAOA,MAAO,YAAY,OAAOA,KAAO,cAAc,OAAOA,KAAO,WAGvEa,IACJtB,KAAQ,OAAO,OAAO,OAAOA,KAAS,YAAYL,EAAc,IAAIK,CAAI,IACtE,gBAAAuB,EAACC,KAAK,MAAMxB,GAAkB,MAAMH,EAAUqB,CAAI,GAAG,IAErDlB,GAGEyB,IAAgB,CAACC,MAAsC;AAC3D,IAAIL,KAAe,CAAChB,MAAaqB,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACtEA,EAAM,eAAA,GACNA,EAAM,cAAc,MAAA,IAEtBZ,KAAA,QAAAA,EAAYY;AAAA,EACd;AAEA,SACE,gBAAAC;AAAA,IAACP;AAAA,IAAA;AAAA,MACC,KAAAJ;AAAA,MACA,WAAWY;AAAA,QACTC,EAAO;AAAA,QACPA,EAAOX,CAAI;AAAA,QACXC,KAASU,EAAO;AAAA,QAChB1B,KAAY0B,EAAO;AAAA,QACnBzB,KAAayB,EAAO;AAAA,QACpBxB,KAAYwB,EAAO;AAAA,QACnBnB;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,gBAAgB,kBAAkBF,CAAK,SAAS,GAAGG,EAAA;AAAA,MAC5D,MAAMU,IAAc,WAAW;AAAA,MAC/B,UAAUA,IAAehB,IAAW,KAAK,IAAK;AAAA,MAC9C,iBAAeA,KAAY;AAAA,MAC3B,gBAAcF,KAAY;AAAA,MAC1B,SAASE,IAAW,SAAYQ;AAAA,MAChC,WAAWT,IAAYqB,IAAgBX;AAAA,MACtC,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAO,KAAgB,QAAQ,gBAAAC,EAAC,QAAA,EAAK,WAAWM,EAAO,UAAW,UAAAP,GAAa;AAAA,SACvEV,KAAY,QAAQX,KAAe,2BAClC,QAAA,EAAK,WAAW4B,EAAO,UACrB,UAAA;AAAA,UAAAjB,KAAY,QAAQ,gBAAAW,EAAC,QAAA,EAAK,WAAWM,EAAO,WAAY,UAAAjB,GAAS;AAAA,UACjEX,KAAe,QAAQ,gBAAAsB,EAAC,UAAK,WAAWM,EAAO,iBAAkB,UAAA5B,EAAA,CAAY;AAAA,QAAA,GAChF;AAAA,QAEDC,KAAY,QAAQ,gBAAAqB,EAAC,UAAK,WAAWM,EAAO,cAAe,UAAA3B,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG3E,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const c=require("react/jsx-runtime"),d=require("react"),_=require("clsx"),p=require("./ConfigProvider-BaiTKZKC.cjs"),i="_loader_166pp_2",u="_sm_166pp_18",m="_md_166pp_24",f="_lg_166pp_30",s={loader:i,"tz-loader-spin":"_tz-loader-spin_166pp_1",sm:u,md:m,lg:f},g=d.forwardRef(function({size:o="md",color:e,className:t,style:r,...a},l){const n=p.useT();return c.jsx("span",{ref:l,role:"status","aria-label":n("loader.label"),...a,className:_.clsx(s.loader,s[o],t),style:e?{color:`var(--tz-color-${e})`,...r}:r})});exports.Loader=g;
2
- //# sourceMappingURL=Loader-5zp2MPm5.cjs.map
1
+ "use strict";const c=require("react/jsx-runtime"),d=require("react"),_=require("clsx"),p=require("./ConfigProvider-Cf-awvZs.cjs"),i="_loader_166pp_2",u="_sm_166pp_18",m="_md_166pp_24",f="_lg_166pp_30",s={loader:i,"tz-loader-spin":"_tz-loader-spin_166pp_1",sm:u,md:m,lg:f},g=d.forwardRef(function({size:o="md",color:e,className:t,style:r,...a},l){const n=p.useT();return c.jsx("span",{ref:l,role:"status","aria-label":n("loader.label"),...a,className:_.clsx(s.loader,s[o],t),style:e?{color:`var(--tz-color-${e})`,...r}:r})});exports.Loader=g;
2
+ //# sourceMappingURL=Loader-DNR2_YHm.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Loader-5zp2MPm5.cjs","sources":["../src/components/Loader/Loader.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport styles from './Loader.module.css'\n\nexport type LoaderSize = 'sm' | 'md' | 'lg'\n\nexport interface LoaderProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {\n /** Preset size — matches the Icon sizes: `sm` 16px · `md` 18px · `lg` 22px. Defaults to `md`. */\n size?: LoaderSize\n /** Theme palette token used to color the spinner. Omit to inherit the surrounding text color (`currentColor`). */\n color?: ThemeColor\n}\n\n/**\n * A circular spinner. Works standalone as a loading indicator or inside a\n * `Button`, where it inherits the button color via `currentColor` unless an\n * explicit `color` is given.\n */\nexport const Loader = forwardRef<HTMLSpanElement, LoaderProps>(function Loader(\n { size = 'md', color, className, style, ...props },\n ref,\n) {\n const t = useT()\n return (\n <span\n ref={ref}\n role=\"status\"\n aria-label={t('loader.label')}\n {...props}\n className={clsx(styles.loader, styles[size], className)}\n style={color ? ({ color: `var(--tz-color-${color})`, ...style } as CSSProperties) : style}\n />\n )\n})\n"],"names":["Loader","forwardRef","size","color","className","style","props","ref","t","useT","jsx","clsx","styles"],"mappings":"gRAmBaA,EAASC,EAAAA,WAAyC,SAC7D,CAAE,KAAAC,EAAO,KAAM,MAAAC,EAAO,UAAAC,EAAW,MAAAC,EAAO,GAAGC,CAAA,EAC3CC,EACA,CACA,MAAMC,EAAIC,EAAAA,KAAA,EACV,OACEC,EAAAA,IAAC,OAAA,CACC,IAAAH,EACA,KAAK,SACL,aAAYC,EAAE,cAAc,EAC3B,GAAGF,EACJ,UAAWK,EAAAA,KAAKC,EAAO,OAAQA,EAAOV,CAAI,EAAGE,CAAS,EACtD,MAAOD,EAAS,CAAE,MAAO,kBAAkBA,CAAK,IAAK,GAAGE,GAA4BA,CAAA,CAAA,CAG1F,CAAC"}
1
+ {"version":3,"file":"Loader-DNR2_YHm.cjs","sources":["../src/components/Loader/Loader.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport styles from './Loader.module.css'\n\nexport type LoaderSize = 'sm' | 'md' | 'lg'\n\nexport interface LoaderProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {\n /** Preset size — matches the Icon sizes: `sm` 16px · `md` 18px · `lg` 22px. Defaults to `md`. */\n size?: LoaderSize\n /** Theme palette token used to color the spinner. Omit to inherit the surrounding text color (`currentColor`). */\n color?: ThemeColor\n}\n\n/**\n * A circular spinner. Works standalone as a loading indicator or inside a\n * `Button`, where it inherits the button color via `currentColor` unless an\n * explicit `color` is given.\n */\nexport const Loader = forwardRef<HTMLSpanElement, LoaderProps>(function Loader(\n { size = 'md', color, className, style, ...props },\n ref,\n) {\n const t = useT()\n return (\n <span\n ref={ref}\n role=\"status\"\n aria-label={t('loader.label')}\n {...props}\n className={clsx(styles.loader, styles[size], className)}\n style={color ? ({ color: `var(--tz-color-${color})`, ...style } as CSSProperties) : style}\n />\n )\n})\n"],"names":["Loader","forwardRef","size","color","className","style","props","ref","t","useT","jsx","clsx","styles"],"mappings":"gRAmBaA,EAASC,EAAAA,WAAyC,SAC7D,CAAE,KAAAC,EAAO,KAAM,MAAAC,EAAO,UAAAC,EAAW,MAAAC,EAAO,GAAGC,CAAA,EAC3CC,EACA,CACA,MAAMC,EAAIC,EAAAA,KAAA,EACV,OACEC,EAAAA,IAAC,OAAA,CACC,IAAAH,EACA,KAAK,SACL,aAAYC,EAAE,cAAc,EAC3B,GAAGF,EACJ,UAAWK,EAAAA,KAAKC,EAAO,OAAQA,EAAOV,CAAI,EAAGE,CAAS,EACtD,MAAOD,EAAS,CAAE,MAAO,kBAAkBA,CAAK,IAAK,GAAGE,GAA4BA,CAAA,CAAA,CAG1F,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
2
  import { forwardRef as _ } from "react";
3
3
  import { clsx as d } from "clsx";
4
- import { a as n } from "./ConfigProvider-D61cpCz-.js";
4
+ import { a as n } from "./ConfigProvider-CYgmMH4j.js";
5
5
  const c = "_loader_166pp_2", i = "_sm_166pp_18", f = "_md_166pp_24", u = "_lg_166pp_30", s = {
6
6
  loader: c,
7
7
  "tz-loader-spin": "_tz-loader-spin_166pp_1",
@@ -25,4 +25,4 @@ const c = "_loader_166pp_2", i = "_sm_166pp_18", f = "_md_166pp_24", u = "_lg_16
25
25
  export {
26
26
  j as L
27
27
  };
28
- //# sourceMappingURL=Loader-Bluu6z0-.js.map
28
+ //# sourceMappingURL=Loader-D_Foo6Hj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Loader-Bluu6z0-.js","sources":["../src/components/Loader/Loader.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport styles from './Loader.module.css'\n\nexport type LoaderSize = 'sm' | 'md' | 'lg'\n\nexport interface LoaderProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {\n /** Preset size — matches the Icon sizes: `sm` 16px · `md` 18px · `lg` 22px. Defaults to `md`. */\n size?: LoaderSize\n /** Theme palette token used to color the spinner. Omit to inherit the surrounding text color (`currentColor`). */\n color?: ThemeColor\n}\n\n/**\n * A circular spinner. Works standalone as a loading indicator or inside a\n * `Button`, where it inherits the button color via `currentColor` unless an\n * explicit `color` is given.\n */\nexport const Loader = forwardRef<HTMLSpanElement, LoaderProps>(function Loader(\n { size = 'md', color, className, style, ...props },\n ref,\n) {\n const t = useT()\n return (\n <span\n ref={ref}\n role=\"status\"\n aria-label={t('loader.label')}\n {...props}\n className={clsx(styles.loader, styles[size], className)}\n style={color ? ({ color: `var(--tz-color-${color})`, ...style } as CSSProperties) : style}\n />\n )\n})\n"],"names":["Loader","forwardRef","size","color","className","style","props","ref","t","useT","jsx","clsx","styles"],"mappings":";;;;;;;;;;GAmBaA,IAASC,EAAyC,SAC7D,EAAE,MAAAC,IAAO,MAAM,OAAAC,GAAO,WAAAC,GAAW,OAAAC,GAAO,GAAGC,EAAA,GAC3CC,GACA;AACA,QAAMC,IAAIC,EAAA;AACV,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,MAAK;AAAA,MACL,cAAYC,EAAE,cAAc;AAAA,MAC3B,GAAGF;AAAA,MACJ,WAAWK,EAAKC,EAAO,QAAQA,EAAOV,CAAI,GAAGE,CAAS;AAAA,MACtD,OAAOD,IAAS,EAAE,OAAO,kBAAkBA,CAAK,KAAK,GAAGE,MAA4BA;AAAA,IAAA;AAAA,EAAA;AAG1F,CAAC;"}
1
+ {"version":3,"file":"Loader-D_Foo6Hj.js","sources":["../src/components/Loader/Loader.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport styles from './Loader.module.css'\n\nexport type LoaderSize = 'sm' | 'md' | 'lg'\n\nexport interface LoaderProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {\n /** Preset size — matches the Icon sizes: `sm` 16px · `md` 18px · `lg` 22px. Defaults to `md`. */\n size?: LoaderSize\n /** Theme palette token used to color the spinner. Omit to inherit the surrounding text color (`currentColor`). */\n color?: ThemeColor\n}\n\n/**\n * A circular spinner. Works standalone as a loading indicator or inside a\n * `Button`, where it inherits the button color via `currentColor` unless an\n * explicit `color` is given.\n */\nexport const Loader = forwardRef<HTMLSpanElement, LoaderProps>(function Loader(\n { size = 'md', color, className, style, ...props },\n ref,\n) {\n const t = useT()\n return (\n <span\n ref={ref}\n role=\"status\"\n aria-label={t('loader.label')}\n {...props}\n className={clsx(styles.loader, styles[size], className)}\n style={color ? ({ color: `var(--tz-color-${color})`, ...style } as CSSProperties) : style}\n />\n )\n})\n"],"names":["Loader","forwardRef","size","color","className","style","props","ref","t","useT","jsx","clsx","styles"],"mappings":";;;;;;;;;;GAmBaA,IAASC,EAAyC,SAC7D,EAAE,MAAAC,IAAO,MAAM,OAAAC,GAAO,WAAAC,GAAW,OAAAC,GAAO,GAAGC,EAAA,GAC3CC,GACA;AACA,QAAMC,IAAIC,EAAA;AACV,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,MAAK;AAAA,MACL,cAAYC,EAAE,cAAc;AAAA,MAC3B,GAAGF;AAAA,MACJ,WAAWK,EAAKC,EAAO,QAAQA,EAAOV,CAAI,GAAGE,CAAS;AAAA,MACtD,OAAOD,IAAS,EAAE,OAAO,kBAAkBA,CAAK,KAAK,GAAGE,MAA4BA;AAAA,IAAA;AAAA,EAAA;AAG1F,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react/jsx-runtime"),r=require("react"),je=require("clsx"),Tt=require("./formContext-bTWrqdEV.cjs"),Pt=require("./CopyButton-DlSi82gv.cjs"),z=require("./Icon-B6lz-V0A.cjs"),ge=require("./IconButton-CxSXEYce.cjs"),Lt=require("./Skeleton-DK0lAjS9.cjs"),Be=require("./TextField-C5MgCQIV.cjs"),fe=require("./Tooltip-DmMq5R1x.cjs"),K=require("./Typography-d97DdbNd.cjs"),Et=require("./FloatingPanel-tGCG2nhA.cjs"),qt=require("./ListItem-DkCYXucd.cjs"),mt=require("./Loader-5zp2MPm5.cjs"),he=require("./ConfigProvider-BaiTKZKC.cjs"),yt="tz-google-maps",gt="__tzGoogleMapsReady";let Z=null,ft=!1,xt=!1;const $e=new Set;function Mt(){const n=globalThis;if(n.__tzAuthHooked)return;n.__tzAuthHooked=!0;const a=n.gm_authFailure;n.gm_authFailure=()=>{xt=!0,$e.forEach(d=>d()),a==null||a()}}function Nt(n){return xt&&n(),$e.add(n),()=>{$e.delete(n)}}const Oe=()=>globalThis.google,ze=n=>typeof n.lat=="function"?{lat:n.lat(),lng:n.lng()}:n;function Rt(n,a){return new Promise((d,y)=>{const i=new URLSearchParams({key:n,v:"weekly",loading:"async",callback:gt});a&&i.set("language",a),globalThis[gt]=()=>d();const v=document.createElement("script");v.id=yt,v.async=!0,v.src=`https://maps.googleapis.com/maps/api/js?${i.toString()}`,v.onerror=()=>{v.remove(),y(new Error("The Google Maps script failed to load"))},document.head.appendChild(v)})}async function Ct(){var I,C;const n=Oe();if(!((I=n==null?void 0:n.maps)!=null&&I.importLibrary))throw new Error("Google Maps is unavailable");const[a,d,y]=await Promise.all([n.maps.importLibrary("core"),n.maps.importLibrary("maps"),n.maps.importLibrary("marker")]),i={...a,...d,...y},v=(C=n.maps.Animation)==null?void 0:C.DROP,w=l=>`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(l)}`,j=l=>({url:w(l.svg),scaledSize:i.Size?new i.Size(l.width,l.height):{width:l.width,height:l.height},anchor:i.Point?new i.Point(l.anchorX,l.anchorY):{x:l.anchorX,y:l.anchorY}}),E=l=>{const m=document.createElement("img");return m.src=w(l.svg),m.width=l.width,m.height=l.height,m.alt="",m.style.display="block",m.style.transform=`translate(${l.width/2-l.anchorX}px, ${l.height-l.anchorY}px)`,m};let k=null,N=null;const F=()=>k??(k=n.maps.importLibrary("places")),R=()=>N??(N=n.maps.importLibrary("geocoding"));return{colorScheme:l=>i.ColorScheme?i.ColorScheme[l==="dark"?"DARK":"LIGHT"]:l.toUpperCase(),createPlacesSession:()=>{let l=null,m=new Map;return{async suggest(T,{language:b,bias:g,regions:f}){const u=await F();l??(l=new u.AutocompleteSessionToken);const{suggestions:ee}=await u.AutocompleteSuggestion.fetchAutocompleteSuggestions({input:T,sessionToken:l,...b?{language:b}:{},...g?{locationBias:{center:g,radius:5e4}}:{},...f!=null&&f.length?{includedRegionCodes:f}:{}});return m=new Map,ee.flatMap((te,G)=>{var Y,p,_;const q=te.placePrediction;if(!q)return[];const X=q.placeId??String(G);m.set(X,q);const H=((Y=q.mainText)==null?void 0:Y.text)??((p=q.text)==null?void 0:p.text)??"";return[{id:X,primary:H,secondary:((_=q.secondaryText)==null?void 0:_.text)??void 0}]})},async resolve(T){const b=m.get(T);if(!b)return null;const g=b.toPlace();return await g.fetchFields({fields:["location","formattedAddress"]}),l=null,g.location?{location:ze(g.location),address:g.formattedAddress??void 0}:null}}},reverseGeocode:async(l,m)=>{var b;const T=await R();try{const{results:g}=await new T.Geocoder().geocode({location:l,...m?{language:m}:{}});return((b=g[0])==null?void 0:b.formatted_address)??null}catch(g){return(g==null?void 0:g.code)==="REQUEST_DENIED"&&!ft&&(ft=!0,console.warn("[LocationPicker] Address lookup was denied — enable the Geocoding API for this Google Maps key (and allow it in the key's API restrictions).")),null}},createMap:(l,m)=>new i.Map(l,m),createPin:(l,{position:m,advanced:T,icon:b})=>{if(T&&i.AdvancedMarkerElement){const f=new i.AdvancedMarkerElement({map:l,position:m,gmpDraggable:!0,...b?{content:E(b)}:{}});return{setPosition:u=>{f.position=u},setIcon:u=>{f.content=E(u)},setDraggable:u=>{f.gmpDraggable=u},onDragEnd:u=>f.addListener("dragend",()=>f.position&&u(ze(f.position))),remove:()=>{f.map=null}}}const g=new i.Marker({map:l,position:m,draggable:!0,animation:v,...b?{icon:j(b)}:{}});return{setPosition:f=>g.setPosition(f),setIcon:f=>g.setIcon(j(f)),setDraggable:f=>g.setDraggable(f),onDragEnd:f=>g.addListener("dragend",()=>{const u=g.getPosition();u&&f(ze(u))}),remove:()=>g.setMap(null)}}}}function Dt(n,a){if(Mt(),Z&&Z.key===n)return Z.promise;const d=(async()=>{var y,i;if(!((i=(y=Oe())==null?void 0:y.maps)!=null&&i.importLibrary)){if(typeof document>"u")throw new Error("Google Maps needs a browser");document.getElementById(yt)?await new Promise(v=>{const w=()=>{var j,E;return(E=(j=Oe())==null?void 0:j.maps)!=null&&E.importLibrary?v():setTimeout(w,50)};w()}):await Rt(n,a)}return Ct()})();return Z={key:n,promise:d},d.catch(()=>{(Z==null?void 0:Z.promise)===d&&(Z=null)}),d}const At="_root_1ykqa_4",zt="_label_1ykqa_12",Ft="_required_1ykqa_18",Bt="_helper_1ykqa_21",$t="_frame_1ykqa_27",Ot="_error_1ykqa_46",Gt="_map_1ykqa_53",Ht="_mapHost_1ykqa_58",Ut="_cover_1ykqa_64",Zt="_message_1ykqa_70",Kt="_messageIcon_1ykqa_78",Xt="_controls_1ykqa_90",Yt="_control_1ykqa_90",Vt="_zoomControls_1ykqa_106",Wt="_badge_1ykqa_114",Qt="_badgeIcon_1ykqa_137",Jt="_coords_1ykqa_141",eo="_copy_1ykqa_147",to="_search_1ykqa_155",oo="_searchPanel_1ykqa_158",no="_searchStatus_1ykqa_163",ro="_address_1ykqa_171",so="_addressIcon_1ykqa_178",ao="_addressText_1ykqa_183",lo="_fields_1ykqa_189",co="_disabled_1ykqa_202",c={root:At,label:zt,required:Ft,helper:Bt,frame:$t,error:Ot,map:Gt,mapHost:Ht,cover:Ut,message:Zt,messageIcon:Kt,controls:Xt,control:Yt,zoomControls:Vt,badge:Wt,badgeIcon:Qt,coords:Jt,copy:eo,search:to,searchPanel:oo,searchStatus:no,address:ro,addressIcon:so,addressText:ao,fields:lo,disabled:co},io=250,pt=2;function uo({api:n,language:a,bias:d,regions:y,size:i,disabled:v,onPick:w}){const j=he.useT(),E=r.useId(),k=r.useRef(null),N=r.useRef(null),F=r.useRef(0),[R,I]=r.useState(""),[C,l]=r.useState([]),[m,T]=r.useState("idle"),[b,g]=r.useState(!1),[f,u]=r.useState(-1),[ee,te]=r.useState(!1),G=()=>N.current??(N.current=n.createPlacesSession());r.useEffect(()=>{const p=R.trim();if(p.length<pt){l([]),T("idle");return}const _=++F.current;T("loading");const h=window.setTimeout(()=>{G().suggest(p,{language:a,bias:d==null?void 0:d(),regions:y}).then(V=>{_===F.current&&(l(V),u(V.length?0:-1),T("ready"))}).catch(()=>{_===F.current&&(l([]),T("error"))})},io);return()=>window.clearTimeout(h)},[R,a,y==null?void 0:y.join(",")]);const q=async p=>{te(!0);try{const _=await G().resolve(p.id);if(N.current=null,!_)return;I(_.address??[p.primary,p.secondary].filter(Boolean).join(", ")),g(!1),l([]),T("idle"),F.current++,w(_)}catch{T("error")}finally{te(!1)}},X=p=>{if(p.key==="ArrowDown"||p.key==="ArrowUp"){if(!C.length)return;p.preventDefault(),g(!0);const _=p.key==="ArrowDown"?1:-1;u(h=>(h+_+C.length)%C.length)}else if(p.key==="Enter"){p.preventDefault();const _=C[f];b&&_&&q(_)}else p.key==="Escape"&&b&&(p.stopPropagation(),g(!1))},H=b&&R.trim().length>=pt&&m!=="idle",Y=p=>`${E}-option-${p}`;return t.jsxs("div",{ref:k,className:c.search,children:[t.jsx(Be.TextField,{size:i,disabled:v,value:R,placeholder:j("location.searchPlaceholder"),adornment:ee?t.jsx(mt.Loader,{size:"sm"}):t.jsx(z.Icon,{name:"SearchNormal"}),role:"combobox","aria-label":j("location.searchPlaceholder"),"aria-autocomplete":"list","aria-expanded":H,"aria-controls":H?E:void 0,"aria-activedescendant":H&&f>=0?Y(f):void 0,autoComplete:"off",onChange:p=>{I(p.target.value),g(!0)},onFocus:()=>g(!0),onKeyDown:X}),t.jsx(Et.FloatingPanel,{open:H,triggerRef:k,matchTriggerWidth:!0,onClose:()=>g(!1),className:c.searchPanel,children:m==="loading"&&!C.length?t.jsxs("div",{className:c.searchStatus,children:[t.jsx(mt.Loader,{size:"sm"}),t.jsx(K.Typography,{variant:"bodySmall",color:"muted",children:j("location.searching")})]}):m==="error"?t.jsxs("div",{className:c.searchStatus,children:[t.jsx(z.Icon,{name:"Danger",color:"error"}),t.jsx(K.Typography,{variant:"bodySmall",color:"muted",children:j("location.searchUnavailable")})]}):C.length===0?t.jsx("div",{className:c.searchStatus,children:t.jsx(K.Typography,{variant:"bodySmall",color:"muted",children:j("location.searchEmpty")})}):t.jsx("div",{role:"listbox",id:E,"aria-label":j("location.searchPlaceholder"),children:C.map((p,_)=>t.jsx(qt.ListItem,{id:Y(_),role:"option","aria-selected":_===f,selected:_===f,clickable:!0,icon:t.jsx(z.Icon,{name:"Location"}),description:p.secondary,onMouseDown:h=>h.preventDefault(),onMouseEnter:()=>u(_),onClick:()=>void q(p),children:p.primary},p.id))})})]})}const Pe={lat:41.7151,lng:44.8271},mo=12,go=0,fo=22,ht=16,O=(n,a)=>Number(n.toFixed(a)),pe=(n,a)=>Math.abs(n.lat-a.lat)<1e-7&&Math.abs(n.lng-a.lng)<1e-7,Te=(n,a)=>n==null?"":String(O(n,a));function se(n,a){const d=n.trim().replace(",",".");if(d==="")return null;if(!/^[-+]?\d+(\.\d*)?$/.test(d))return;const y=Number(d);return Math.abs(y)<=a?y:void 0}function po(n){const a=n.trim().match(/^\(?\s*([-+]?\d+(?:\.\d+)?)\s*[,;\s]\s*([-+]?\d+(?:\.\d+)?)\s*\)?$/);if(!a)return null;const d=Number(a[1]),y=Number(a[2]);return Math.abs(d)<=90&&Math.abs(y)<=180?{lat:d,lng:y}:null}function Ge(n,a){const d=getComputedStyle(document.documentElement).getPropertyValue(`--tz-color-${n}-rgb`).trim();if(!d)return a;const[y,i,v]=d.split(",").map(w=>Number(w.trim()));return[y,i,v].some(w=>Number.isNaN(w))?a:`#${[y,i,v].map(w=>w.toString(16).padStart(2,"0")).join("")}`}const J={width:40,height:52,tipX:20,tipY:45},Fe={width:34,height:44};function vt(n){const a=Fe.width/J.width;return{svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${J.width}" height="${J.height}" viewBox="0 0 ${J.width} ${J.height}"><defs><filter id="s" x="-40%" y="-20%" width="180%" height="160%"><feDropShadow dx="0" dy="2" stdDeviation="1.8" flood-color="#000" flood-opacity=".3"/></filter></defs><path filter="url(#s)" fill="${n}" stroke="#fff" stroke-width="2.2" stroke-linejoin="round" d="M20 3C11.2 3 4 10 4 18.7c0 10.9 13.3 24 14.7 25.3a1.9 1.9 0 0 0 2.6 0C22.7 42.7 36 29.6 36 18.7 36 10 28.8 3 20 3Z"/><circle cx="20" cy="18.5" r="6.2" fill="#fff"/></svg>`,width:Fe.width,height:Fe.height,anchorX:J.tipX*a,anchorY:J.tipY*a}}const ho=()=>vt(Ge("accent","#056472"));function yo(){const n=getComputedStyle(document.documentElement),a=(w,j)=>{const E=n.getPropertyValue(`--tz-color-${w}-rgb`).trim();if(!E)return j;const[k,N,F]=E.split(",").map(R=>Number(R.trim()));return`#${[k,N,F].map(R=>R.toString(16).padStart(2,"0")).join("")}`},d=a("surface","#191919"),y=a("background","#0f0f0f"),i=a("primary","#e6e8eb"),v=a("accent","#16a6b4");return[{elementType:"geometry",stylers:[{color:d}]},{elementType:"labels.text.fill",stylers:[{color:i},{lightness:-35}]},{elementType:"labels.text.stroke",stylers:[{color:y}]},{featureType:"road",elementType:"geometry",stylers:[{color:y}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:d}]},{featureType:"water",elementType:"geometry",stylers:[{color:v},{lightness:-55}]},{featureType:"poi",elementType:"geometry",stylers:[{color:d},{lightness:4}]},{featureType:"transit",stylers:[{visibility:"off"}]}]}const xo=r.forwardRef(function({value:a,defaultValue:d=null,onChange:y,name:i,label:v,helperText:w,error:j,required:E=!1,disabled:k=!1,size:N="md",apiKey:F,mapId:R,center:I,defaultCenter:C,onCenterChange:l,zoom:m,defaultZoom:T=mo,onZoomChange:b,mapHeight:g=300,locateButton:f=!0,precision:u=6,search:ee=!1,searchRegions:te,geocode:G=!1,onAddressChange:q,addressName:X,className:H,style:Y,...p},_){const h=he.useT(),{language:V}=he.useLanguage(),Le=he.useColorMode(),He=he.useMapsConfig(),ye=F??He.apiKey,W=R??He.mapId,Ue=`${r.useId()}-label`,Q=Tt.useFormContext(),ae=!!(Q&&i),D=ae?Q.field(i):void 0,[_t,bt]=r.useState(d),s=a!==void 0?a:ae?Q.values[i]??null:_t,xe=j??(D==null?void 0:D.error)??!1,Ze=w??(D==null?void 0:D.helperText),Ke=r.useRef(!1),[Ee,le]=r.useState(null),[Xe,ce]=r.useState(!1),Ye=r.useRef(null),Ve=r.useRef(0),U=r.useCallback(e=>{const o=e&&{lat:O(e.lat,u),lng:O(e.lng,u)};Ke.current=!0,a===void 0&&!ae&&bt(o),ae&&Q.setValue(i,o),y==null||y(o)},[a,ae,Q,i,y,u]),qe=r.useRef(U);qe.current=U;const[ie,Me]=r.useState(()=>Te(s==null?void 0:s.lat,u)),[ue,Ne]=r.useState(()=>Te(s==null?void 0:s.lng,u)),Re=r.useRef({lat:ie,lng:ue});Re.current={lat:ie,lng:ue},r.useEffect(()=>{const e=se(Re.current.lat,90),o=se(Re.current.lng,180),x=e!=null&&o!=null?{lat:e,lng:o}:null;(s?x!=null&&pe(x,s):x==null)||(Me(Te(s==null?void 0:s.lat,u)),Ne(Te(s==null?void 0:s.lng,u)))},[s==null?void 0:s.lat,s==null?void 0:s.lng,u]);const ve=se(ie,90),_e=se(ue,180),[We,be]=r.useState({lat:!1,lng:!1}),Qe=ve===null&&_e!=null&&We.lat,Je=_e===null&&ve!=null&&We.lng,et=r.useRef(null);r.useEffect(()=>{const e=et.current;e&&(i?e.setAttribute("name",i):e.removeAttribute("name"))},[i]);const Ce=r.useRef(null),B=r.useRef(null),oe=r.useRef(null),ne=r.useRef(null),[L,de]=r.useState(ye?"loading":"missingKey"),[kt,De]=r.useState(!1),[tt,ot]=r.useState(!1),wt=I??C??s??Pe,It=m??T,P=r.useRef({center:wt,zoom:It}),ke=r.useRef(l);ke.current=l;const we=r.useRef(b);we.current=b;const Ie=r.useRef(k);Ie.current=k;const nt=r.useRef(s);nt.current=s;const rt=W?Le:null;r.useEffect(()=>{if(!ye){de("missingKey");return}let e=!1;const o=[];let x=null;ne.current||de("loading");const $=Nt(()=>{e||de("authError")});return Dt(ye,V.split("-")[0]).then(M=>{if(e||!Ce.current)return;ne.current=M,x=document.createElement("div"),x.className=c.mapHost,Ce.current.appendChild(x);const A=M.createMap(x,{center:P.current.center,zoom:P.current.zoom,...W?{mapId:W,colorScheme:M.colorScheme(rt??"light")}:{},disableDefaultUI:!0,zoomControl:!1,clickableIcons:!1,gestureHandling:"cooperative",draggableCursor:Ie.current?void 0:"crosshair"});B.current=A;const Ae=M.createPin(A,{position:nt.current,advanced:!!W,icon:ho()});Ae.setDraggable(!Ie.current),oe.current=Ae,o.push(A.addListener("click",S=>{Ie.current||!S.latLng||qe.current({lat:S.latLng.lat(),lng:S.latLng.lng()})}),Ae.onDragEnd(S=>qe.current(S)),A.addListener("zoom_changed",()=>{var re;const S=A.getZoom();S==null||S===P.current.zoom||(P.current={...P.current,zoom:S},(re=we.current)==null||re.call(we,S))}),A.addListener("idle",()=>{var dt;const S=A.getCenter();if(!S)return;const re={lat:S.lat(),lng:S.lng()};pe(re,P.current.center)||(P.current={...P.current,center:re},(dt=ke.current)==null||dt.call(ke,re))})),de(S=>S==="authError"?S:"ready")}).catch(()=>{e||de("error")}),()=>{var M;e=!0,$(),o.forEach(A=>A.remove()),(M=oe.current)==null||M.remove(),oe.current=null,B.current=null,x==null||x.remove()}},[ye,W,rt]),r.useEffect(()=>{var e;(e=oe.current)==null||e.setPosition(s)},[s,L]),r.useEffect(()=>{var e,o;(e=oe.current)==null||e.setDraggable(!k),(o=B.current)==null||o.setOptions({draggableCursor:k?void 0:"crosshair"})},[k,L]),r.useEffect(()=>{const e=B.current;!e||!I||pe(I,P.current.center)||(P.current={...P.current,center:I},e.setCenter(I))},[I==null?void 0:I.lat,I==null?void 0:I.lng,L]),r.useEffect(()=>{const e=B.current;!e||m==null||m===P.current.zoom||(P.current={...P.current,zoom:m},e.setZoom(m))},[m,L]),r.useEffect(()=>{if(L!=="ready"||typeof MutationObserver>"u")return;let e=Ge("accent","#056472");const o=new MutationObserver(()=>{var $;const x=Ge("accent","#056472");x!==e&&(e=x,($=oe.current)==null||$.setIcon(vt(x)))});return o.observe(document.documentElement,{attributes:!0,attributeFilter:["style","data-tz-theme"]}),()=>o.disconnect()},[L]),r.useEffect(()=>{!B.current||W||B.current.setOptions({styles:Le==="dark"?yo():null})},[Le,W,L]);const st=e=>{const o=B.current;o&&o.setZoom(Math.min(fo,Math.max(go,(o.getZoom()??P.current.zoom)+e)))},at=e=>{Ke.current&&(q==null||q(e),Q&&X&&Q.setValue(X,e??""))},Se=r.useRef(at);Se.current=at,r.useEffect(()=>{const e=++Ve.current;if(!s){le(null),ce(!1),Se.current(null);return}const o=Ye.current;if(o&&pe(o,s)){le(o.address),ce(!1),Se.current(o.address);return}if(!G||L!=="ready"||!ne.current){le(null),ce(!1);return}le(null),ce(!0);const x=ne.current,$=s,M=window.setTimeout(()=>{x.reverseGeocode($,V.split("-")[0]).then(A=>{e===Ve.current&&(le(A),ce(!1),Se.current(A))})},400);return()=>window.clearTimeout(M)},[s==null?void 0:s.lat,s==null?void 0:s.lng,G,L,V]);const St=e=>{const o={lat:O(e.location.lat,u),lng:O(e.location.lng,u)};Ye.current=e.address?{...o,address:e.address}:null,U(o),me(o,ht)},me=(e,o)=>{const x=B.current;x&&(x.panTo(e),o!=null&&(x.getZoom()??0)<o&&x.setZoom(o))},lt=(e,o)=>{const x=se(e,90),$=se(o,180);if(x==null||$==null){s&&U(null);return}const M={lat:x,lng:$};s&&pe(M,s)||(U(M),me(M))},ct=e=>{const o=po(e.clipboardData.getData("text"));o&&(e.preventDefault(),Me(String(O(o.lat,u))),Ne(String(O(o.lng,u))),U(o),me(o))},jt=()=>{navigator.geolocation&&(De(!0),ot(!1),navigator.geolocation.getCurrentPosition(e=>{De(!1);const o={lat:e.coords.latitude,lng:e.coords.longitude};U(o),me(o,ht)},()=>{De(!1),ot(!0)},{enableHighAccuracy:!0,timeout:1e4}))},it=s?`${O(s.lat,u)}, ${O(s.lng,u)}`:"",ut=L==="missingKey"?h("location.missingKey"):L==="authError"?h("location.authError"):L==="error"?h("location.loadError"):null;return t.jsxs("div",{ref:_,role:"group","aria-labelledby":v!=null?Ue:void 0,className:je.clsx(c.root,k&&c.disabled,H),style:{"--tz-location-map-height":`${g}px`,...Y},...p,children:[v!=null&&t.jsxs("div",{className:c.label,id:Ue,children:[t.jsx(K.Typography,{as:"span",variant:"bodySmall",color:"muted",children:v}),E&&t.jsx("span",{className:c.required,"aria-hidden":"true",children:"*"})]}),ee&&L==="ready"&&ne.current&&!k&&t.jsx(uo,{api:ne.current,language:V.split("-")[0],bias:()=>{var o;const e=(o=B.current)==null?void 0:o.getCenter();return e?{lat:e.lat(),lng:e.lng()}:P.current.center},regions:te,size:N,onPick:St}),t.jsxs("div",{ref:et,tabIndex:-1,className:je.clsx(c.frame,xe&&c.error),children:[t.jsx("div",{ref:Ce,className:c.map,role:"application","aria-label":h("location.mapLabel"),"data-testid":"location-map"}),L==="loading"&&t.jsx("div",{className:c.cover,"aria-hidden":"true",children:t.jsx(Lt.Skeleton,{variant:"rect",width:"100%",height:"100%",radius:"xxs"})}),ut&&t.jsxs("div",{className:je.clsx(c.cover,c.message),role:"status",children:[t.jsx("span",{className:c.messageIcon,children:t.jsx(z.Icon,{name:"Map"})}),t.jsx(K.Typography,{variant:"bodySmall",color:"muted",align:"center",children:ut})]}),L==="ready"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:c.controls,children:[f&&!k&&typeof navigator<"u"&&navigator.geolocation&&t.jsx(fe.Tooltip,{content:h(tt?"location.locateFailed":"location.locate"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.locate"),loading:kt,onClick:jt,children:t.jsx(z.Icon,{name:tt?"GpsSlash":"Gps"})})}),s&&t.jsx(fe.Tooltip,{content:h("location.centerOnPin"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.centerOnPin"),onClick:()=>me(s),children:t.jsx(z.Icon,{name:"Location"})})}),s&&!k&&t.jsx(fe.Tooltip,{content:h("location.removePin"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.removePin"),onClick:()=>U(null),children:t.jsx(z.Icon,{name:"LocationCross"})})})]}),t.jsxs("div",{className:je.clsx(c.controls,c.zoomControls),children:[t.jsx(fe.Tooltip,{content:h("location.zoomIn"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.zoomIn"),onClick:()=>st(1),children:t.jsx(z.Icon,{name:"Add"})})}),t.jsx(fe.Tooltip,{content:h("location.zoomOut"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.zoomOut"),onClick:()=>st(-1),children:t.jsx(z.Icon,{name:"Minus"})})})]}),t.jsx("div",{className:c.badge,"aria-live":"polite",children:s?t.jsxs(t.Fragment,{children:[t.jsx(z.Icon,{name:"Location",size:"sm",className:c.badgeIcon}),t.jsx("span",{className:c.coords,children:it}),t.jsx(Pt.CopyButton,{value:it,size:"sm",className:c.copy})]}):!k&&t.jsxs(t.Fragment,{children:[t.jsx(z.Icon,{name:"LocationAdd",size:"sm",className:c.badgeIcon}),t.jsx("span",{children:h("location.hint")})]})})]})]}),(G||ee)&&s&&(Ee||Xe)&&t.jsxs("div",{className:c.address,"aria-live":"polite",children:[t.jsx(z.Icon,{name:"Location",size:"sm",className:c.addressIcon}),Xe&&!Ee?t.jsx(K.Typography,{as:"span",variant:"bodySmall",color:"muted",children:h("location.addressLoading")}):t.jsx(K.Typography,{as:"span",variant:"bodySmall",className:c.addressText,children:Ee})]}),t.jsxs("div",{className:c.fields,children:[t.jsx(Be.TextField,{label:h("location.latitude"),size:N,inputMode:"decimal",placeholder:String(Pe.lat),value:ie,disabled:k,error:xe||ve===void 0||Qe,helperText:ve===void 0?h("location.latitudeRange"):Qe?h("location.pairIncomplete"):void 0,onChange:e=>{Me(e.target.value),be(o=>o.lat?o:{...o,lat:!0}),lt(e.target.value,ue)},onPaste:ct,onBlur:e=>{be(o=>o.lat?o:{...o,lat:!0}),D==null||D.onBlur(e)}}),t.jsx(Be.TextField,{label:h("location.longitude"),size:N,inputMode:"decimal",placeholder:String(Pe.lng),value:ue,disabled:k,error:xe||_e===void 0||Je,helperText:_e===void 0?h("location.longitudeRange"):Je?h("location.pairIncomplete"):void 0,onChange:e=>{Ne(e.target.value),be(o=>o.lng?o:{...o,lng:!0}),lt(ie,e.target.value)},onPaste:ct,onBlur:e=>{be(o=>o.lng?o:{...o,lng:!0}),D==null||D.onBlur(e)}})]}),Ze!=null&&t.jsx(K.Typography,{as:"span",variant:"bodySmall",color:xe?"error":"muted",className:c.helper,children:Ze})]})});exports.LocationPicker=xo;exports.TBILISI=Pe;
2
- //# sourceMappingURL=LocationPicker-CGHXTIml.cjs.map
1
+ "use strict";const t=require("react/jsx-runtime"),r=require("react"),je=require("clsx"),Tt=require("./formContext-bTWrqdEV.cjs"),Pt=require("./CopyButton-BOp7waEt.cjs"),z=require("./Icon-CBg21lKA.cjs"),ge=require("./IconButton-wW1o4HHw.cjs"),Lt=require("./Skeleton-DK0lAjS9.cjs"),Be=require("./TextField-DUv689u2.cjs"),fe=require("./Tooltip-DmMq5R1x.cjs"),K=require("./Typography-d97DdbNd.cjs"),Et=require("./FloatingPanel-tGCG2nhA.cjs"),qt=require("./ListItem-CguNjf-u.cjs"),mt=require("./Loader-DNR2_YHm.cjs"),he=require("./ConfigProvider-Cf-awvZs.cjs"),yt="tz-google-maps",gt="__tzGoogleMapsReady";let Z=null,ft=!1,xt=!1;const $e=new Set;function Mt(){const n=globalThis;if(n.__tzAuthHooked)return;n.__tzAuthHooked=!0;const a=n.gm_authFailure;n.gm_authFailure=()=>{xt=!0,$e.forEach(d=>d()),a==null||a()}}function Nt(n){return xt&&n(),$e.add(n),()=>{$e.delete(n)}}const Oe=()=>globalThis.google,ze=n=>typeof n.lat=="function"?{lat:n.lat(),lng:n.lng()}:n;function Rt(n,a){return new Promise((d,y)=>{const i=new URLSearchParams({key:n,v:"weekly",loading:"async",callback:gt});a&&i.set("language",a),globalThis[gt]=()=>d();const v=document.createElement("script");v.id=yt,v.async=!0,v.src=`https://maps.googleapis.com/maps/api/js?${i.toString()}`,v.onerror=()=>{v.remove(),y(new Error("The Google Maps script failed to load"))},document.head.appendChild(v)})}async function Ct(){var I,C;const n=Oe();if(!((I=n==null?void 0:n.maps)!=null&&I.importLibrary))throw new Error("Google Maps is unavailable");const[a,d,y]=await Promise.all([n.maps.importLibrary("core"),n.maps.importLibrary("maps"),n.maps.importLibrary("marker")]),i={...a,...d,...y},v=(C=n.maps.Animation)==null?void 0:C.DROP,w=l=>`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(l)}`,j=l=>({url:w(l.svg),scaledSize:i.Size?new i.Size(l.width,l.height):{width:l.width,height:l.height},anchor:i.Point?new i.Point(l.anchorX,l.anchorY):{x:l.anchorX,y:l.anchorY}}),E=l=>{const m=document.createElement("img");return m.src=w(l.svg),m.width=l.width,m.height=l.height,m.alt="",m.style.display="block",m.style.transform=`translate(${l.width/2-l.anchorX}px, ${l.height-l.anchorY}px)`,m};let k=null,N=null;const F=()=>k??(k=n.maps.importLibrary("places")),R=()=>N??(N=n.maps.importLibrary("geocoding"));return{colorScheme:l=>i.ColorScheme?i.ColorScheme[l==="dark"?"DARK":"LIGHT"]:l.toUpperCase(),createPlacesSession:()=>{let l=null,m=new Map;return{async suggest(T,{language:b,bias:g,regions:f}){const u=await F();l??(l=new u.AutocompleteSessionToken);const{suggestions:ee}=await u.AutocompleteSuggestion.fetchAutocompleteSuggestions({input:T,sessionToken:l,...b?{language:b}:{},...g?{locationBias:{center:g,radius:5e4}}:{},...f!=null&&f.length?{includedRegionCodes:f}:{}});return m=new Map,ee.flatMap((te,G)=>{var Y,p,_;const q=te.placePrediction;if(!q)return[];const X=q.placeId??String(G);m.set(X,q);const H=((Y=q.mainText)==null?void 0:Y.text)??((p=q.text)==null?void 0:p.text)??"";return[{id:X,primary:H,secondary:((_=q.secondaryText)==null?void 0:_.text)??void 0}]})},async resolve(T){const b=m.get(T);if(!b)return null;const g=b.toPlace();return await g.fetchFields({fields:["location","formattedAddress"]}),l=null,g.location?{location:ze(g.location),address:g.formattedAddress??void 0}:null}}},reverseGeocode:async(l,m)=>{var b;const T=await R();try{const{results:g}=await new T.Geocoder().geocode({location:l,...m?{language:m}:{}});return((b=g[0])==null?void 0:b.formatted_address)??null}catch(g){return(g==null?void 0:g.code)==="REQUEST_DENIED"&&!ft&&(ft=!0,console.warn("[LocationPicker] Address lookup was denied — enable the Geocoding API for this Google Maps key (and allow it in the key's API restrictions).")),null}},createMap:(l,m)=>new i.Map(l,m),createPin:(l,{position:m,advanced:T,icon:b})=>{if(T&&i.AdvancedMarkerElement){const f=new i.AdvancedMarkerElement({map:l,position:m,gmpDraggable:!0,...b?{content:E(b)}:{}});return{setPosition:u=>{f.position=u},setIcon:u=>{f.content=E(u)},setDraggable:u=>{f.gmpDraggable=u},onDragEnd:u=>f.addListener("dragend",()=>f.position&&u(ze(f.position))),remove:()=>{f.map=null}}}const g=new i.Marker({map:l,position:m,draggable:!0,animation:v,...b?{icon:j(b)}:{}});return{setPosition:f=>g.setPosition(f),setIcon:f=>g.setIcon(j(f)),setDraggable:f=>g.setDraggable(f),onDragEnd:f=>g.addListener("dragend",()=>{const u=g.getPosition();u&&f(ze(u))}),remove:()=>g.setMap(null)}}}}function Dt(n,a){if(Mt(),Z&&Z.key===n)return Z.promise;const d=(async()=>{var y,i;if(!((i=(y=Oe())==null?void 0:y.maps)!=null&&i.importLibrary)){if(typeof document>"u")throw new Error("Google Maps needs a browser");document.getElementById(yt)?await new Promise(v=>{const w=()=>{var j,E;return(E=(j=Oe())==null?void 0:j.maps)!=null&&E.importLibrary?v():setTimeout(w,50)};w()}):await Rt(n,a)}return Ct()})();return Z={key:n,promise:d},d.catch(()=>{(Z==null?void 0:Z.promise)===d&&(Z=null)}),d}const At="_root_1ykqa_4",zt="_label_1ykqa_12",Ft="_required_1ykqa_18",Bt="_helper_1ykqa_21",$t="_frame_1ykqa_27",Ot="_error_1ykqa_46",Gt="_map_1ykqa_53",Ht="_mapHost_1ykqa_58",Ut="_cover_1ykqa_64",Zt="_message_1ykqa_70",Kt="_messageIcon_1ykqa_78",Xt="_controls_1ykqa_90",Yt="_control_1ykqa_90",Vt="_zoomControls_1ykqa_106",Wt="_badge_1ykqa_114",Qt="_badgeIcon_1ykqa_137",Jt="_coords_1ykqa_141",eo="_copy_1ykqa_147",to="_search_1ykqa_155",oo="_searchPanel_1ykqa_158",no="_searchStatus_1ykqa_163",ro="_address_1ykqa_171",so="_addressIcon_1ykqa_178",ao="_addressText_1ykqa_183",lo="_fields_1ykqa_189",co="_disabled_1ykqa_202",c={root:At,label:zt,required:Ft,helper:Bt,frame:$t,error:Ot,map:Gt,mapHost:Ht,cover:Ut,message:Zt,messageIcon:Kt,controls:Xt,control:Yt,zoomControls:Vt,badge:Wt,badgeIcon:Qt,coords:Jt,copy:eo,search:to,searchPanel:oo,searchStatus:no,address:ro,addressIcon:so,addressText:ao,fields:lo,disabled:co},io=250,pt=2;function uo({api:n,language:a,bias:d,regions:y,size:i,disabled:v,onPick:w}){const j=he.useT(),E=r.useId(),k=r.useRef(null),N=r.useRef(null),F=r.useRef(0),[R,I]=r.useState(""),[C,l]=r.useState([]),[m,T]=r.useState("idle"),[b,g]=r.useState(!1),[f,u]=r.useState(-1),[ee,te]=r.useState(!1),G=()=>N.current??(N.current=n.createPlacesSession());r.useEffect(()=>{const p=R.trim();if(p.length<pt){l([]),T("idle");return}const _=++F.current;T("loading");const h=window.setTimeout(()=>{G().suggest(p,{language:a,bias:d==null?void 0:d(),regions:y}).then(V=>{_===F.current&&(l(V),u(V.length?0:-1),T("ready"))}).catch(()=>{_===F.current&&(l([]),T("error"))})},io);return()=>window.clearTimeout(h)},[R,a,y==null?void 0:y.join(",")]);const q=async p=>{te(!0);try{const _=await G().resolve(p.id);if(N.current=null,!_)return;I(_.address??[p.primary,p.secondary].filter(Boolean).join(", ")),g(!1),l([]),T("idle"),F.current++,w(_)}catch{T("error")}finally{te(!1)}},X=p=>{if(p.key==="ArrowDown"||p.key==="ArrowUp"){if(!C.length)return;p.preventDefault(),g(!0);const _=p.key==="ArrowDown"?1:-1;u(h=>(h+_+C.length)%C.length)}else if(p.key==="Enter"){p.preventDefault();const _=C[f];b&&_&&q(_)}else p.key==="Escape"&&b&&(p.stopPropagation(),g(!1))},H=b&&R.trim().length>=pt&&m!=="idle",Y=p=>`${E}-option-${p}`;return t.jsxs("div",{ref:k,className:c.search,children:[t.jsx(Be.TextField,{size:i,disabled:v,value:R,placeholder:j("location.searchPlaceholder"),adornment:ee?t.jsx(mt.Loader,{size:"sm"}):t.jsx(z.Icon,{name:"SearchNormal"}),role:"combobox","aria-label":j("location.searchPlaceholder"),"aria-autocomplete":"list","aria-expanded":H,"aria-controls":H?E:void 0,"aria-activedescendant":H&&f>=0?Y(f):void 0,autoComplete:"off",onChange:p=>{I(p.target.value),g(!0)},onFocus:()=>g(!0),onKeyDown:X}),t.jsx(Et.FloatingPanel,{open:H,triggerRef:k,matchTriggerWidth:!0,onClose:()=>g(!1),className:c.searchPanel,children:m==="loading"&&!C.length?t.jsxs("div",{className:c.searchStatus,children:[t.jsx(mt.Loader,{size:"sm"}),t.jsx(K.Typography,{variant:"bodySmall",color:"muted",children:j("location.searching")})]}):m==="error"?t.jsxs("div",{className:c.searchStatus,children:[t.jsx(z.Icon,{name:"Danger",color:"error"}),t.jsx(K.Typography,{variant:"bodySmall",color:"muted",children:j("location.searchUnavailable")})]}):C.length===0?t.jsx("div",{className:c.searchStatus,children:t.jsx(K.Typography,{variant:"bodySmall",color:"muted",children:j("location.searchEmpty")})}):t.jsx("div",{role:"listbox",id:E,"aria-label":j("location.searchPlaceholder"),children:C.map((p,_)=>t.jsx(qt.ListItem,{id:Y(_),role:"option","aria-selected":_===f,selected:_===f,clickable:!0,icon:t.jsx(z.Icon,{name:"Location"}),description:p.secondary,onMouseDown:h=>h.preventDefault(),onMouseEnter:()=>u(_),onClick:()=>void q(p),children:p.primary},p.id))})})]})}const Pe={lat:41.7151,lng:44.8271},mo=12,go=0,fo=22,ht=16,O=(n,a)=>Number(n.toFixed(a)),pe=(n,a)=>Math.abs(n.lat-a.lat)<1e-7&&Math.abs(n.lng-a.lng)<1e-7,Te=(n,a)=>n==null?"":String(O(n,a));function se(n,a){const d=n.trim().replace(",",".");if(d==="")return null;if(!/^[-+]?\d+(\.\d*)?$/.test(d))return;const y=Number(d);return Math.abs(y)<=a?y:void 0}function po(n){const a=n.trim().match(/^\(?\s*([-+]?\d+(?:\.\d+)?)\s*[,;\s]\s*([-+]?\d+(?:\.\d+)?)\s*\)?$/);if(!a)return null;const d=Number(a[1]),y=Number(a[2]);return Math.abs(d)<=90&&Math.abs(y)<=180?{lat:d,lng:y}:null}function Ge(n,a){const d=getComputedStyle(document.documentElement).getPropertyValue(`--tz-color-${n}-rgb`).trim();if(!d)return a;const[y,i,v]=d.split(",").map(w=>Number(w.trim()));return[y,i,v].some(w=>Number.isNaN(w))?a:`#${[y,i,v].map(w=>w.toString(16).padStart(2,"0")).join("")}`}const J={width:40,height:52,tipX:20,tipY:45},Fe={width:34,height:44};function vt(n){const a=Fe.width/J.width;return{svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${J.width}" height="${J.height}" viewBox="0 0 ${J.width} ${J.height}"><defs><filter id="s" x="-40%" y="-20%" width="180%" height="160%"><feDropShadow dx="0" dy="2" stdDeviation="1.8" flood-color="#000" flood-opacity=".3"/></filter></defs><path filter="url(#s)" fill="${n}" stroke="#fff" stroke-width="2.2" stroke-linejoin="round" d="M20 3C11.2 3 4 10 4 18.7c0 10.9 13.3 24 14.7 25.3a1.9 1.9 0 0 0 2.6 0C22.7 42.7 36 29.6 36 18.7 36 10 28.8 3 20 3Z"/><circle cx="20" cy="18.5" r="6.2" fill="#fff"/></svg>`,width:Fe.width,height:Fe.height,anchorX:J.tipX*a,anchorY:J.tipY*a}}const ho=()=>vt(Ge("accent","#056472"));function yo(){const n=getComputedStyle(document.documentElement),a=(w,j)=>{const E=n.getPropertyValue(`--tz-color-${w}-rgb`).trim();if(!E)return j;const[k,N,F]=E.split(",").map(R=>Number(R.trim()));return`#${[k,N,F].map(R=>R.toString(16).padStart(2,"0")).join("")}`},d=a("surface","#191919"),y=a("background","#0f0f0f"),i=a("primary","#e6e8eb"),v=a("accent","#16a6b4");return[{elementType:"geometry",stylers:[{color:d}]},{elementType:"labels.text.fill",stylers:[{color:i},{lightness:-35}]},{elementType:"labels.text.stroke",stylers:[{color:y}]},{featureType:"road",elementType:"geometry",stylers:[{color:y}]},{featureType:"road",elementType:"geometry.stroke",stylers:[{color:d}]},{featureType:"water",elementType:"geometry",stylers:[{color:v},{lightness:-55}]},{featureType:"poi",elementType:"geometry",stylers:[{color:d},{lightness:4}]},{featureType:"transit",stylers:[{visibility:"off"}]}]}const xo=r.forwardRef(function({value:a,defaultValue:d=null,onChange:y,name:i,label:v,helperText:w,error:j,required:E=!1,disabled:k=!1,size:N="md",apiKey:F,mapId:R,center:I,defaultCenter:C,onCenterChange:l,zoom:m,defaultZoom:T=mo,onZoomChange:b,mapHeight:g=300,locateButton:f=!0,precision:u=6,search:ee=!1,searchRegions:te,geocode:G=!1,onAddressChange:q,addressName:X,className:H,style:Y,...p},_){const h=he.useT(),{language:V}=he.useLanguage(),Le=he.useColorMode(),He=he.useMapsConfig(),ye=F??He.apiKey,W=R??He.mapId,Ue=`${r.useId()}-label`,Q=Tt.useFormContext(),ae=!!(Q&&i),D=ae?Q.field(i):void 0,[_t,bt]=r.useState(d),s=a!==void 0?a:ae?Q.values[i]??null:_t,xe=j??(D==null?void 0:D.error)??!1,Ze=w??(D==null?void 0:D.helperText),Ke=r.useRef(!1),[Ee,le]=r.useState(null),[Xe,ce]=r.useState(!1),Ye=r.useRef(null),Ve=r.useRef(0),U=r.useCallback(e=>{const o=e&&{lat:O(e.lat,u),lng:O(e.lng,u)};Ke.current=!0,a===void 0&&!ae&&bt(o),ae&&Q.setValue(i,o),y==null||y(o)},[a,ae,Q,i,y,u]),qe=r.useRef(U);qe.current=U;const[ie,Me]=r.useState(()=>Te(s==null?void 0:s.lat,u)),[ue,Ne]=r.useState(()=>Te(s==null?void 0:s.lng,u)),Re=r.useRef({lat:ie,lng:ue});Re.current={lat:ie,lng:ue},r.useEffect(()=>{const e=se(Re.current.lat,90),o=se(Re.current.lng,180),x=e!=null&&o!=null?{lat:e,lng:o}:null;(s?x!=null&&pe(x,s):x==null)||(Me(Te(s==null?void 0:s.lat,u)),Ne(Te(s==null?void 0:s.lng,u)))},[s==null?void 0:s.lat,s==null?void 0:s.lng,u]);const ve=se(ie,90),_e=se(ue,180),[We,be]=r.useState({lat:!1,lng:!1}),Qe=ve===null&&_e!=null&&We.lat,Je=_e===null&&ve!=null&&We.lng,et=r.useRef(null);r.useEffect(()=>{const e=et.current;e&&(i?e.setAttribute("name",i):e.removeAttribute("name"))},[i]);const Ce=r.useRef(null),B=r.useRef(null),oe=r.useRef(null),ne=r.useRef(null),[L,de]=r.useState(ye?"loading":"missingKey"),[kt,De]=r.useState(!1),[tt,ot]=r.useState(!1),wt=I??C??s??Pe,It=m??T,P=r.useRef({center:wt,zoom:It}),ke=r.useRef(l);ke.current=l;const we=r.useRef(b);we.current=b;const Ie=r.useRef(k);Ie.current=k;const nt=r.useRef(s);nt.current=s;const rt=W?Le:null;r.useEffect(()=>{if(!ye){de("missingKey");return}let e=!1;const o=[];let x=null;ne.current||de("loading");const $=Nt(()=>{e||de("authError")});return Dt(ye,V.split("-")[0]).then(M=>{if(e||!Ce.current)return;ne.current=M,x=document.createElement("div"),x.className=c.mapHost,Ce.current.appendChild(x);const A=M.createMap(x,{center:P.current.center,zoom:P.current.zoom,...W?{mapId:W,colorScheme:M.colorScheme(rt??"light")}:{},disableDefaultUI:!0,zoomControl:!1,clickableIcons:!1,gestureHandling:"cooperative",draggableCursor:Ie.current?void 0:"crosshair"});B.current=A;const Ae=M.createPin(A,{position:nt.current,advanced:!!W,icon:ho()});Ae.setDraggable(!Ie.current),oe.current=Ae,o.push(A.addListener("click",S=>{Ie.current||!S.latLng||qe.current({lat:S.latLng.lat(),lng:S.latLng.lng()})}),Ae.onDragEnd(S=>qe.current(S)),A.addListener("zoom_changed",()=>{var re;const S=A.getZoom();S==null||S===P.current.zoom||(P.current={...P.current,zoom:S},(re=we.current)==null||re.call(we,S))}),A.addListener("idle",()=>{var dt;const S=A.getCenter();if(!S)return;const re={lat:S.lat(),lng:S.lng()};pe(re,P.current.center)||(P.current={...P.current,center:re},(dt=ke.current)==null||dt.call(ke,re))})),de(S=>S==="authError"?S:"ready")}).catch(()=>{e||de("error")}),()=>{var M;e=!0,$(),o.forEach(A=>A.remove()),(M=oe.current)==null||M.remove(),oe.current=null,B.current=null,x==null||x.remove()}},[ye,W,rt]),r.useEffect(()=>{var e;(e=oe.current)==null||e.setPosition(s)},[s,L]),r.useEffect(()=>{var e,o;(e=oe.current)==null||e.setDraggable(!k),(o=B.current)==null||o.setOptions({draggableCursor:k?void 0:"crosshair"})},[k,L]),r.useEffect(()=>{const e=B.current;!e||!I||pe(I,P.current.center)||(P.current={...P.current,center:I},e.setCenter(I))},[I==null?void 0:I.lat,I==null?void 0:I.lng,L]),r.useEffect(()=>{const e=B.current;!e||m==null||m===P.current.zoom||(P.current={...P.current,zoom:m},e.setZoom(m))},[m,L]),r.useEffect(()=>{if(L!=="ready"||typeof MutationObserver>"u")return;let e=Ge("accent","#056472");const o=new MutationObserver(()=>{var $;const x=Ge("accent","#056472");x!==e&&(e=x,($=oe.current)==null||$.setIcon(vt(x)))});return o.observe(document.documentElement,{attributes:!0,attributeFilter:["style","data-tz-theme"]}),()=>o.disconnect()},[L]),r.useEffect(()=>{!B.current||W||B.current.setOptions({styles:Le==="dark"?yo():null})},[Le,W,L]);const st=e=>{const o=B.current;o&&o.setZoom(Math.min(fo,Math.max(go,(o.getZoom()??P.current.zoom)+e)))},at=e=>{Ke.current&&(q==null||q(e),Q&&X&&Q.setValue(X,e??""))},Se=r.useRef(at);Se.current=at,r.useEffect(()=>{const e=++Ve.current;if(!s){le(null),ce(!1),Se.current(null);return}const o=Ye.current;if(o&&pe(o,s)){le(o.address),ce(!1),Se.current(o.address);return}if(!G||L!=="ready"||!ne.current){le(null),ce(!1);return}le(null),ce(!0);const x=ne.current,$=s,M=window.setTimeout(()=>{x.reverseGeocode($,V.split("-")[0]).then(A=>{e===Ve.current&&(le(A),ce(!1),Se.current(A))})},400);return()=>window.clearTimeout(M)},[s==null?void 0:s.lat,s==null?void 0:s.lng,G,L,V]);const St=e=>{const o={lat:O(e.location.lat,u),lng:O(e.location.lng,u)};Ye.current=e.address?{...o,address:e.address}:null,U(o),me(o,ht)},me=(e,o)=>{const x=B.current;x&&(x.panTo(e),o!=null&&(x.getZoom()??0)<o&&x.setZoom(o))},lt=(e,o)=>{const x=se(e,90),$=se(o,180);if(x==null||$==null){s&&U(null);return}const M={lat:x,lng:$};s&&pe(M,s)||(U(M),me(M))},ct=e=>{const o=po(e.clipboardData.getData("text"));o&&(e.preventDefault(),Me(String(O(o.lat,u))),Ne(String(O(o.lng,u))),U(o),me(o))},jt=()=>{navigator.geolocation&&(De(!0),ot(!1),navigator.geolocation.getCurrentPosition(e=>{De(!1);const o={lat:e.coords.latitude,lng:e.coords.longitude};U(o),me(o,ht)},()=>{De(!1),ot(!0)},{enableHighAccuracy:!0,timeout:1e4}))},it=s?`${O(s.lat,u)}, ${O(s.lng,u)}`:"",ut=L==="missingKey"?h("location.missingKey"):L==="authError"?h("location.authError"):L==="error"?h("location.loadError"):null;return t.jsxs("div",{ref:_,role:"group","aria-labelledby":v!=null?Ue:void 0,className:je.clsx(c.root,k&&c.disabled,H),style:{"--tz-location-map-height":`${g}px`,...Y},...p,children:[v!=null&&t.jsxs("div",{className:c.label,id:Ue,children:[t.jsx(K.Typography,{as:"span",variant:"bodySmall",color:"muted",children:v}),E&&t.jsx("span",{className:c.required,"aria-hidden":"true",children:"*"})]}),ee&&L==="ready"&&ne.current&&!k&&t.jsx(uo,{api:ne.current,language:V.split("-")[0],bias:()=>{var o;const e=(o=B.current)==null?void 0:o.getCenter();return e?{lat:e.lat(),lng:e.lng()}:P.current.center},regions:te,size:N,onPick:St}),t.jsxs("div",{ref:et,tabIndex:-1,className:je.clsx(c.frame,xe&&c.error),children:[t.jsx("div",{ref:Ce,className:c.map,role:"application","aria-label":h("location.mapLabel"),"data-testid":"location-map"}),L==="loading"&&t.jsx("div",{className:c.cover,"aria-hidden":"true",children:t.jsx(Lt.Skeleton,{variant:"rect",width:"100%",height:"100%",radius:"xxs"})}),ut&&t.jsxs("div",{className:je.clsx(c.cover,c.message),role:"status",children:[t.jsx("span",{className:c.messageIcon,children:t.jsx(z.Icon,{name:"Map"})}),t.jsx(K.Typography,{variant:"bodySmall",color:"muted",align:"center",children:ut})]}),L==="ready"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:c.controls,children:[f&&!k&&typeof navigator<"u"&&navigator.geolocation&&t.jsx(fe.Tooltip,{content:h(tt?"location.locateFailed":"location.locate"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.locate"),loading:kt,onClick:jt,children:t.jsx(z.Icon,{name:tt?"GpsSlash":"Gps"})})}),s&&t.jsx(fe.Tooltip,{content:h("location.centerOnPin"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.centerOnPin"),onClick:()=>me(s),children:t.jsx(z.Icon,{name:"Location"})})}),s&&!k&&t.jsx(fe.Tooltip,{content:h("location.removePin"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.removePin"),onClick:()=>U(null),children:t.jsx(z.Icon,{name:"LocationCross"})})})]}),t.jsxs("div",{className:je.clsx(c.controls,c.zoomControls),children:[t.jsx(fe.Tooltip,{content:h("location.zoomIn"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.zoomIn"),onClick:()=>st(1),children:t.jsx(z.Icon,{name:"Add"})})}),t.jsx(fe.Tooltip,{content:h("location.zoomOut"),placement:"left",children:t.jsx(ge.IconButton,{size:"sm",color:"surface",className:c.control,"aria-label":h("location.zoomOut"),onClick:()=>st(-1),children:t.jsx(z.Icon,{name:"Minus"})})})]}),t.jsx("div",{className:c.badge,"aria-live":"polite",children:s?t.jsxs(t.Fragment,{children:[t.jsx(z.Icon,{name:"Location",size:"sm",className:c.badgeIcon}),t.jsx("span",{className:c.coords,children:it}),t.jsx(Pt.CopyButton,{value:it,size:"sm",className:c.copy})]}):!k&&t.jsxs(t.Fragment,{children:[t.jsx(z.Icon,{name:"LocationAdd",size:"sm",className:c.badgeIcon}),t.jsx("span",{children:h("location.hint")})]})})]})]}),(G||ee)&&s&&(Ee||Xe)&&t.jsxs("div",{className:c.address,"aria-live":"polite",children:[t.jsx(z.Icon,{name:"Location",size:"sm",className:c.addressIcon}),Xe&&!Ee?t.jsx(K.Typography,{as:"span",variant:"bodySmall",color:"muted",children:h("location.addressLoading")}):t.jsx(K.Typography,{as:"span",variant:"bodySmall",className:c.addressText,children:Ee})]}),t.jsxs("div",{className:c.fields,children:[t.jsx(Be.TextField,{label:h("location.latitude"),size:N,inputMode:"decimal",placeholder:String(Pe.lat),value:ie,disabled:k,error:xe||ve===void 0||Qe,helperText:ve===void 0?h("location.latitudeRange"):Qe?h("location.pairIncomplete"):void 0,onChange:e=>{Me(e.target.value),be(o=>o.lat?o:{...o,lat:!0}),lt(e.target.value,ue)},onPaste:ct,onBlur:e=>{be(o=>o.lat?o:{...o,lat:!0}),D==null||D.onBlur(e)}}),t.jsx(Be.TextField,{label:h("location.longitude"),size:N,inputMode:"decimal",placeholder:String(Pe.lng),value:ue,disabled:k,error:xe||_e===void 0||Je,helperText:_e===void 0?h("location.longitudeRange"):Je?h("location.pairIncomplete"):void 0,onChange:e=>{Ne(e.target.value),be(o=>o.lng?o:{...o,lng:!0}),lt(ie,e.target.value)},onPaste:ct,onBlur:e=>{be(o=>o.lng?o:{...o,lng:!0}),D==null||D.onBlur(e)}})]}),Ze!=null&&t.jsx(K.Typography,{as:"span",variant:"bodySmall",color:xe?"error":"muted",className:c.helper,children:Ze})]})});exports.LocationPicker=xo;exports.TBILISI=Pe;
2
+ //# sourceMappingURL=LocationPicker-CdO37PKg.cjs.map