@techzyapp/ui-library 1.0.45 → 1.0.47

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 (392) hide show
  1. package/README.md +1 -1
  2. package/dist/AdminRoot-BRN_MlHp.cjs +2 -0
  3. package/dist/AdminRoot-BRN_MlHp.cjs.map +1 -0
  4. package/dist/AdminRoot-CtqPtYxo.js +107 -0
  5. package/dist/AdminRoot-CtqPtYxo.js.map +1 -0
  6. package/dist/{Alert-BU7GlQna.js → Alert-Bo_XgY-A.js} +3 -3
  7. package/dist/{Alert-BU7GlQna.js.map → Alert-Bo_XgY-A.js.map} +1 -1
  8. package/dist/{Alert-CVQOjuEq.cjs → Alert-QvfNBhlU.cjs} +2 -2
  9. package/dist/{Alert-CVQOjuEq.cjs.map → Alert-QvfNBhlU.cjs.map} +1 -1
  10. package/dist/AuthGuard-CAaQZ2y7.cjs +2 -0
  11. package/dist/AuthGuard-CAaQZ2y7.cjs.map +1 -0
  12. package/dist/AuthGuard-vqKf2PF9.js +102 -0
  13. package/dist/AuthGuard-vqKf2PF9.js.map +1 -0
  14. package/dist/{Breadcrumbs-BMz_YVPa.js → Breadcrumbs-BEv57tuJ.js} +3 -3
  15. package/dist/{Breadcrumbs-BMz_YVPa.js.map → Breadcrumbs-BEv57tuJ.js.map} +1 -1
  16. package/dist/{Breadcrumbs-BbC0o4JE.cjs → Breadcrumbs-CqGS32x5.cjs} +2 -2
  17. package/dist/{Breadcrumbs-BbC0o4JE.cjs.map → Breadcrumbs-CqGS32x5.cjs.map} +1 -1
  18. package/dist/{Button-mBZOvgyZ.cjs → Button-BtiFpRie.cjs} +2 -2
  19. package/dist/{Button-mBZOvgyZ.cjs.map → Button-BtiFpRie.cjs.map} +1 -1
  20. package/dist/{Button-C415LPw_.js → Button-DZWYeAno.js} +2 -2
  21. package/dist/{Button-C415LPw_.js.map → Button-DZWYeAno.js.map} +1 -1
  22. package/dist/{Calendar-B0f6h9-A.js → Calendar-7W9xNVBZ.js} +3 -3
  23. package/dist/{Calendar-B0f6h9-A.js.map → Calendar-7W9xNVBZ.js.map} +1 -1
  24. package/dist/{Calendar-hO051hfk.cjs → Calendar-Bgh_3Vk2.cjs} +2 -2
  25. package/dist/{Calendar-hO051hfk.cjs.map → Calendar-Bgh_3Vk2.cjs.map} +1 -1
  26. package/dist/{Card-BdNr5row.cjs → Card-KfmWG9Uz.cjs} +2 -2
  27. package/dist/{Card-BdNr5row.cjs.map → Card-KfmWG9Uz.cjs.map} +1 -1
  28. package/dist/{Card-ssUNaOF_.js → Card-ckOd617g.js} +3 -3
  29. package/dist/{Card-ssUNaOF_.js.map → Card-ckOd617g.js.map} +1 -1
  30. package/dist/{Chip-BpJN4rzY.cjs → Chip-BDUsue_R.cjs} +2 -2
  31. package/dist/{Chip-BpJN4rzY.cjs.map → Chip-BDUsue_R.cjs.map} +1 -1
  32. package/dist/{Chip-C0x-6g2h.js → Chip-Crzm7Eux.js} +2 -2
  33. package/dist/{Chip-C0x-6g2h.js.map → Chip-Crzm7Eux.js.map} +1 -1
  34. package/dist/{CodeBlock-DKnWINdV.js → CodeBlock-CX8_dMPD.js} +3 -3
  35. package/dist/{CodeBlock-DKnWINdV.js.map → CodeBlock-CX8_dMPD.js.map} +1 -1
  36. package/dist/{CodeBlock-DTrzN95i.cjs → CodeBlock-rnGAu2DQ.cjs} +2 -2
  37. package/dist/{CodeBlock-DTrzN95i.cjs.map → CodeBlock-rnGAu2DQ.cjs.map} +1 -1
  38. package/dist/{ColorPicker-Doaegll4.cjs → ColorPicker-BaAdcqR9.cjs} +2 -2
  39. package/dist/{ColorPicker-Doaegll4.cjs.map → ColorPicker-BaAdcqR9.cjs.map} +1 -1
  40. package/dist/{ColorPicker-Bidev2DJ.js → ColorPicker-CwLivdAt.js} +3 -3
  41. package/dist/{ColorPicker-Bidev2DJ.js.map → ColorPicker-CwLivdAt.js.map} +1 -1
  42. package/dist/{ColorPickerPanel-DThSuUoz.js → ColorPickerPanel-CkrSIf35.js} +2 -2
  43. package/dist/{ColorPickerPanel-DThSuUoz.js.map → ColorPickerPanel-CkrSIf35.js.map} +1 -1
  44. package/dist/{ColorPickerPanel-048Fj7wv.cjs → ColorPickerPanel-IOhJJF1R.cjs} +2 -2
  45. package/dist/{ColorPickerPanel-048Fj7wv.cjs.map → ColorPickerPanel-IOhJJF1R.cjs.map} +1 -1
  46. package/dist/{ColorRamp-CGw4D9bf.cjs → ColorRamp-BCy8a7ks.cjs} +2 -2
  47. package/dist/{ColorRamp-CGw4D9bf.cjs.map → ColorRamp-BCy8a7ks.cjs.map} +1 -1
  48. package/dist/{ColorRamp-Reb0q69d.js → ColorRamp-DbFOsspz.js} +2 -2
  49. package/dist/{ColorRamp-Reb0q69d.js.map → ColorRamp-DbFOsspz.js.map} +1 -1
  50. package/dist/ConfigProvider-CYSpuSMJ.cjs +2 -0
  51. package/dist/ConfigProvider-CYSpuSMJ.cjs.map +1 -0
  52. package/dist/ConfigProvider-DtyUlWk6.js +394 -0
  53. package/dist/ConfigProvider-DtyUlWk6.js.map +1 -0
  54. package/dist/{CopyButton-Cnab62vt.cjs → CopyButton-DUG5s3TM.cjs} +2 -2
  55. package/dist/{CopyButton-Cnab62vt.cjs.map → CopyButton-DUG5s3TM.cjs.map} +1 -1
  56. package/dist/{CopyButton-Dm8-V4ku.js → CopyButton-LURMuaYw.js} +3 -3
  57. package/dist/{CopyButton-Dm8-V4ku.js.map → CopyButton-LURMuaYw.js.map} +1 -1
  58. package/dist/{DatePicker-CaGeW_-j.cjs → DatePicker-Bw9gLB8o.cjs} +2 -2
  59. package/dist/{DatePicker-CaGeW_-j.cjs.map → DatePicker-Bw9gLB8o.cjs.map} +1 -1
  60. package/dist/{DatePicker-C4MTCmDn.js → DatePicker-CSIBYSZt.js} +4 -4
  61. package/dist/{DatePicker-C4MTCmDn.js.map → DatePicker-CSIBYSZt.js.map} +1 -1
  62. package/dist/{DateTimePicker-B0CjHKPV.js → DateTimePicker-C9F2yJMf.js} +7 -7
  63. package/dist/{DateTimePicker-B0CjHKPV.js.map → DateTimePicker-C9F2yJMf.js.map} +1 -1
  64. package/dist/{DateTimePicker-DXKaAYey.cjs → DateTimePicker-kikKdt0F.cjs} +2 -2
  65. package/dist/{DateTimePicker-DXKaAYey.cjs.map → DateTimePicker-kikKdt0F.cjs.map} +1 -1
  66. package/dist/{DescriptionList-BSDwobDc.cjs → DescriptionList-DnGkHdzT.cjs} +2 -2
  67. package/dist/{DescriptionList-BSDwobDc.cjs.map → DescriptionList-DnGkHdzT.cjs.map} +1 -1
  68. package/dist/{DescriptionList-BkUS5egS.js → DescriptionList-kfNXbf_D.js} +4 -4
  69. package/dist/{DescriptionList-BkUS5egS.js.map → DescriptionList-kfNXbf_D.js.map} +1 -1
  70. package/dist/{EmptyState-CkkFHKrh.cjs → EmptyState-BM5LrRLq.cjs} +2 -2
  71. package/dist/{EmptyState-CkkFHKrh.cjs.map → EmptyState-BM5LrRLq.cjs.map} +1 -1
  72. package/dist/{EmptyState-DXoaPC7o.js → EmptyState-DrSj2XV_.js} +2 -2
  73. package/dist/{EmptyState-DXoaPC7o.js.map → EmptyState-DrSj2XV_.js.map} +1 -1
  74. package/dist/{ErrorBoundary-CSP_Ctg6.js → ErrorBoundary-DsP4hO_V.js} +3 -3
  75. package/dist/{ErrorBoundary-CSP_Ctg6.js.map → ErrorBoundary-DsP4hO_V.js.map} +1 -1
  76. package/dist/{ErrorBoundary-tZjKtO28.cjs → ErrorBoundary-yz669VEu.cjs} +2 -2
  77. package/dist/{ErrorBoundary-tZjKtO28.cjs.map → ErrorBoundary-yz669VEu.cjs.map} +1 -1
  78. package/dist/{ErrorState-JH4JdrTI.cjs → ErrorState-BThPIYaM.cjs} +2 -2
  79. package/dist/{ErrorState-JH4JdrTI.cjs.map → ErrorState-BThPIYaM.cjs.map} +1 -1
  80. package/dist/{ErrorState-WYsly5-i.js → ErrorState-DEngucdq.js} +7 -7
  81. package/dist/{ErrorState-WYsly5-i.js.map → ErrorState-DEngucdq.js.map} +1 -1
  82. package/dist/{FileCard-D4TB3qGG.js → FileCard-CmCESTQd.js} +3 -3
  83. package/dist/{FileCard-D4TB3qGG.js.map → FileCard-CmCESTQd.js.map} +1 -1
  84. package/dist/{FileCard-BIfPqeek.cjs → FileCard-wxDT2rj9.cjs} +2 -2
  85. package/dist/{FileCard-BIfPqeek.cjs.map → FileCard-wxDT2rj9.cjs.map} +1 -1
  86. package/dist/{FileUploader-YE_DfTNC.cjs → FileUploader-DBNRp5eT.cjs} +2 -2
  87. package/dist/{FileUploader-YE_DfTNC.cjs.map → FileUploader-DBNRp5eT.cjs.map} +1 -1
  88. package/dist/{FileUploader-DPVF76Ha.js → FileUploader-Dp1r4Sxc.js} +29 -29
  89. package/dist/{FileUploader-DPVF76Ha.js.map → FileUploader-Dp1r4Sxc.js.map} +1 -1
  90. package/dist/{FullscreenToggle-ipX55Nj4.cjs → FullscreenToggle-DVdQriWB.cjs} +2 -2
  91. package/dist/{FullscreenToggle-ipX55Nj4.cjs.map → FullscreenToggle-DVdQriWB.cjs.map} +1 -1
  92. package/dist/{FullscreenToggle-CxwGPLdd.js → FullscreenToggle-WGsbE3Op.js} +3 -3
  93. package/dist/{FullscreenToggle-CxwGPLdd.js.map → FullscreenToggle-WGsbE3Op.js.map} +1 -1
  94. package/dist/{IconButton-U_sr2Ahy.cjs → IconButton-DSPdv-oI.cjs} +2 -2
  95. package/dist/{IconButton-U_sr2Ahy.cjs.map → IconButton-DSPdv-oI.cjs.map} +1 -1
  96. package/dist/{IconButton-re6xITGO.js → IconButton-iWbUJAz7.js} +2 -2
  97. package/dist/{IconButton-re6xITGO.js.map → IconButton-iWbUJAz7.js.map} +1 -1
  98. package/dist/{ImageEditor-BwrG1fk7.js → ImageEditor-BDNys8pq.js} +5 -5
  99. package/dist/{ImageEditor-BwrG1fk7.js.map → ImageEditor-BDNys8pq.js.map} +1 -1
  100. package/dist/{ImageEditor-1n50vo_v.cjs → ImageEditor-C40dp2-V.cjs} +2 -2
  101. package/dist/{ImageEditor-1n50vo_v.cjs.map → ImageEditor-C40dp2-V.cjs.map} +1 -1
  102. package/dist/{Loader-7v1QBvHY.js → Loader-DD1vfqmN.js} +2 -2
  103. package/dist/{Loader-7v1QBvHY.js.map → Loader-DD1vfqmN.js.map} +1 -1
  104. package/dist/{Loader-BE3SQr7W.cjs → Loader-RyFTP2X5.cjs} +2 -2
  105. package/dist/{Loader-BE3SQr7W.cjs.map → Loader-RyFTP2X5.cjs.map} +1 -1
  106. package/dist/{LocationPicker-CVJ4jVn2.cjs → LocationPicker-B594f0bz.cjs} +2 -2
  107. package/dist/{LocationPicker-CVJ4jVn2.cjs.map → LocationPicker-B594f0bz.cjs.map} +1 -1
  108. package/dist/{LocationPicker-BvKtZFq0.js → LocationPicker-DpmYaYyd.js} +6 -6
  109. package/dist/{LocationPicker-BvKtZFq0.js.map → LocationPicker-DpmYaYyd.js.map} +1 -1
  110. package/dist/{Modal-CxODxl81.cjs → Modal-7cCok6fV.cjs} +2 -2
  111. package/dist/{Modal-CxODxl81.cjs.map → Modal-7cCok6fV.cjs.map} +1 -1
  112. package/dist/{Modal-DpoiMMM3.js → Modal-DVGTD2Ck.js} +3 -3
  113. package/dist/{Modal-DpoiMMM3.js.map → Modal-DVGTD2Ck.js.map} +1 -1
  114. package/dist/{MultiSelect-B7KwEhL5.js → MultiSelect-D-X833xt.js} +4 -4
  115. package/dist/{MultiSelect-B7KwEhL5.js.map → MultiSelect-D-X833xt.js.map} +1 -1
  116. package/dist/{MultiSelect-2GouMRTl.cjs → MultiSelect-DTKNjUDH.cjs} +2 -2
  117. package/dist/{MultiSelect-2GouMRTl.cjs.map → MultiSelect-DTKNjUDH.cjs.map} +1 -1
  118. package/dist/{NumberField-ThojS4K3.js → NumberField-OPOl0Yph.js} +3 -3
  119. package/dist/{NumberField-ThojS4K3.js.map → NumberField-OPOl0Yph.js.map} +1 -1
  120. package/dist/{NumberField-o2z2QNK1.cjs → NumberField-Xz4yQMlm.cjs} +2 -2
  121. package/dist/{NumberField-o2z2QNK1.cjs.map → NumberField-Xz4yQMlm.cjs.map} +1 -1
  122. package/dist/{OtpField-C3MlMZ2F.js → OtpField-CLrDMNtS.js} +2 -2
  123. package/dist/{OtpField-C3MlMZ2F.js.map → OtpField-CLrDMNtS.js.map} +1 -1
  124. package/dist/{OtpField-BhZq44vV.cjs → OtpField-kd0YghZq.cjs} +2 -2
  125. package/dist/{OtpField-BhZq44vV.cjs.map → OtpField-kd0YghZq.cjs.map} +1 -1
  126. package/dist/{PageError-63Gk6fVC.js → PageError-BIiZDzey.js} +5 -5
  127. package/dist/{PageError-63Gk6fVC.js.map → PageError-BIiZDzey.js.map} +1 -1
  128. package/dist/{PageError-CCKWbrc5.cjs → PageError-v6MAH_OL.cjs} +2 -2
  129. package/dist/{PageError-CCKWbrc5.cjs.map → PageError-v6MAH_OL.cjs.map} +1 -1
  130. package/dist/{PageLayout-BekkDBtT.js → PageLayout-BjaPfXvb.js} +4 -4
  131. package/dist/{PageLayout-BekkDBtT.js.map → PageLayout-BjaPfXvb.js.map} +1 -1
  132. package/dist/{PageLayout-CDPUYu6A.cjs → PageLayout-DH3jochw.cjs} +2 -2
  133. package/dist/{PageLayout-CDPUYu6A.cjs.map → PageLayout-DH3jochw.cjs.map} +1 -1
  134. package/dist/{PageNotFound-BD3zX3cd.js → PageNotFound-C1oSsMG-.js} +5 -5
  135. package/dist/{PageNotFound-BD3zX3cd.js.map → PageNotFound-C1oSsMG-.js.map} +1 -1
  136. package/dist/{PageNotFound-CTR6htwa.cjs → PageNotFound-Cse4bROv.cjs} +2 -2
  137. package/dist/{PageNotFound-CTR6htwa.cjs.map → PageNotFound-Cse4bROv.cjs.map} +1 -1
  138. package/dist/{Pagination-qKjISBJ9.js → Pagination-BNJdqcu4.js} +2 -2
  139. package/dist/{Pagination-qKjISBJ9.js.map → Pagination-BNJdqcu4.js.map} +1 -1
  140. package/dist/{Pagination-BJvLUjQ0.cjs → Pagination-DkmfEmgK.cjs} +2 -2
  141. package/dist/{Pagination-BJvLUjQ0.cjs.map → Pagination-DkmfEmgK.cjs.map} +1 -1
  142. package/dist/{PaletteField-y8KpR4Ap.js → PaletteField-Cdky6Zka.js} +3 -3
  143. package/dist/{PaletteField-y8KpR4Ap.js.map → PaletteField-Cdky6Zka.js.map} +1 -1
  144. package/dist/{PaletteField-CDS9CJW9.cjs → PaletteField-DqZl1mK0.cjs} +2 -2
  145. package/dist/{PaletteField-CDS9CJW9.cjs.map → PaletteField-DqZl1mK0.cjs.map} +1 -1
  146. package/dist/{PhoneField-OjsuevPx.js → PhoneField-DmFaJJEa.js} +4 -4
  147. package/dist/{PhoneField-OjsuevPx.js.map → PhoneField-DmFaJJEa.js.map} +1 -1
  148. package/dist/{PhoneField-Df3J6Hhg.cjs → PhoneField-jq-3_i_b.cjs} +2 -2
  149. package/dist/{PhoneField-Df3J6Hhg.cjs.map → PhoneField-jq-3_i_b.cjs.map} +1 -1
  150. package/dist/{Popconfirm-aCyniPnH.js → Popconfirm-D-8ZG2WR.js} +3 -3
  151. package/dist/{Popconfirm-aCyniPnH.js.map → Popconfirm-D-8ZG2WR.js.map} +1 -1
  152. package/dist/{Popconfirm-BKzJ_EZy.cjs → Popconfirm-KOE9gGi6.cjs} +2 -2
  153. package/dist/{Popconfirm-BKzJ_EZy.cjs.map → Popconfirm-KOE9gGi6.cjs.map} +1 -1
  154. package/dist/{Progress-DWOoLd8u.cjs → Progress-7EyhPtnu.cjs} +2 -2
  155. package/dist/{Progress-DWOoLd8u.cjs.map → Progress-7EyhPtnu.cjs.map} +1 -1
  156. package/dist/{Progress-DzxbkcaD.js → Progress-CdX666FP.js} +2 -2
  157. package/dist/{Progress-DzxbkcaD.js.map → Progress-CdX666FP.js.map} +1 -1
  158. package/dist/{QrCode-C8uAPiHq.cjs → QrCode-ClIJjjvF.cjs} +2 -2
  159. package/dist/{QrCode-C8uAPiHq.cjs.map → QrCode-ClIJjjvF.cjs.map} +1 -1
  160. package/dist/{QrCode-DaJYqBc1.js → QrCode-D7ocSDi7.js} +2 -2
  161. package/dist/{QrCode-DaJYqBc1.js.map → QrCode-D7ocSDi7.js.map} +1 -1
  162. package/dist/{RemoveDialog-MhEU5Zl3.js → RemoveDialog-DTzRPLaT.js} +5 -5
  163. package/dist/{RemoveDialog-MhEU5Zl3.js.map → RemoveDialog-DTzRPLaT.js.map} +1 -1
  164. package/dist/{RemoveDialog-BnOtR6-q.cjs → RemoveDialog-UsSX5z8Y.cjs} +2 -2
  165. package/dist/{RemoveDialog-BnOtR6-q.cjs.map → RemoveDialog-UsSX5z8Y.cjs.map} +1 -1
  166. package/dist/{RichTextEditor-zkoxujnO.js → RichTextEditor-BMctlkVC.js} +7 -7
  167. package/dist/{RichTextEditor-zkoxujnO.js.map → RichTextEditor-BMctlkVC.js.map} +1 -1
  168. package/dist/{RichTextEditor-Cnrnvv1f.cjs → RichTextEditor-Bh0Q3dIW.cjs} +2 -2
  169. package/dist/{RichTextEditor-Cnrnvv1f.cjs.map → RichTextEditor-Bh0Q3dIW.cjs.map} +1 -1
  170. package/dist/{RootLayout-Z9PuRfsa.cjs → RootLayout-BztZetpk.cjs} +2 -2
  171. package/dist/{RootLayout-Z9PuRfsa.cjs.map → RootLayout-BztZetpk.cjs.map} +1 -1
  172. package/dist/{RootLayout-C4r9i5Go.js → RootLayout-CTkv4iQJ.js} +14 -14
  173. package/dist/{RootLayout-C4r9i5Go.js.map → RootLayout-CTkv4iQJ.js.map} +1 -1
  174. package/dist/{Select-CylqFHce.cjs → Select-BzVyK6Ne.cjs} +2 -2
  175. package/dist/{Select-CylqFHce.cjs.map → Select-BzVyK6Ne.cjs.map} +1 -1
  176. package/dist/{Select-jT94L1vq.js → Select-CmonDIIU.js} +3 -3
  177. package/dist/{Select-jT94L1vq.js.map → Select-CmonDIIU.js.map} +1 -1
  178. package/dist/{Sidebar-B1O2RsbR.js → Sidebar-CLr-DyQ_.js} +3 -3
  179. package/dist/{Sidebar-B1O2RsbR.js.map → Sidebar-CLr-DyQ_.js.map} +1 -1
  180. package/dist/{Sidebar-Bcm0fgVm.cjs → Sidebar-CM-jZfj5.cjs} +2 -2
  181. package/dist/{Sidebar-Bcm0fgVm.cjs.map → Sidebar-CM-jZfj5.cjs.map} +1 -1
  182. package/dist/{Slider-DC-ugZwT.js → Slider-C7Wb3q_F.js} +2 -2
  183. package/dist/{Slider-DC-ugZwT.js.map → Slider-C7Wb3q_F.js.map} +1 -1
  184. package/dist/{Slider-CV7ug0WF.cjs → Slider-Oe9VSAdy.cjs} +2 -2
  185. package/dist/{Slider-CV7ug0WF.cjs.map → Slider-Oe9VSAdy.cjs.map} +1 -1
  186. package/dist/{SpeedDial-C6yiMUe8.js → SpeedDial-CCGQlwn2.js} +2 -2
  187. package/dist/{SpeedDial-C6yiMUe8.js.map → SpeedDial-CCGQlwn2.js.map} +1 -1
  188. package/dist/{SpeedDial-DOgm2DDX.cjs → SpeedDial-DpIXoYHB.cjs} +2 -2
  189. package/dist/{SpeedDial-DOgm2DDX.cjs.map → SpeedDial-DpIXoYHB.cjs.map} +1 -1
  190. package/dist/{Stepper-BZdYGpBN.js → Stepper-D_WKS1RG.js} +2 -2
  191. package/dist/{Stepper-BZdYGpBN.js.map → Stepper-D_WKS1RG.js.map} +1 -1
  192. package/dist/{Stepper-DqM86TGV.cjs → Stepper-PBDU60G_.cjs} +2 -2
  193. package/dist/{Stepper-DqM86TGV.cjs.map → Stepper-PBDU60G_.cjs.map} +1 -1
  194. package/dist/{Table-BgaCwRDQ.cjs → Table-CZ4n4-TN.cjs} +2 -2
  195. package/dist/{Table-BgaCwRDQ.cjs.map → Table-CZ4n4-TN.cjs.map} +1 -1
  196. package/dist/{Table-FZlVWoYi.js → Table-DZQVa_PE.js} +16 -16
  197. package/dist/{Table-FZlVWoYi.js.map → Table-DZQVa_PE.js.map} +1 -1
  198. package/dist/{Tabs-BqQPkorY.js → Tabs-B063mP-v.js} +12 -12
  199. package/dist/{Tabs-BqQPkorY.js.map → Tabs-B063mP-v.js.map} +1 -1
  200. package/dist/{Tabs-kGeyFhJ6.cjs → Tabs-Byhqm-TE.cjs} +2 -2
  201. package/dist/{Tabs-kGeyFhJ6.cjs.map → Tabs-Byhqm-TE.cjs.map} +1 -1
  202. package/dist/{TagsField-B_sjp48X.cjs → TagsField-g_LtwYgz.cjs} +2 -2
  203. package/dist/{TagsField-B_sjp48X.cjs.map → TagsField-g_LtwYgz.cjs.map} +1 -1
  204. package/dist/{TagsField-ByTx9JXK.js → TagsField-hQFYyNcM.js} +4 -4
  205. package/dist/{TagsField-ByTx9JXK.js.map → TagsField-hQFYyNcM.js.map} +1 -1
  206. package/dist/{TextField-CBYJIfau.cjs → TextField-D4s2hGSd.cjs} +2 -2
  207. package/dist/{TextField-CBYJIfau.cjs.map → TextField-D4s2hGSd.cjs.map} +1 -1
  208. package/dist/{TextField-CyKIx-d-.js → TextField-Dfpk0jOg.js} +3 -3
  209. package/dist/{TextField-CyKIx-d-.js.map → TextField-Dfpk0jOg.js.map} +1 -1
  210. package/dist/{ThemeToggle-Dg6IishB.js → ThemeToggle-BQQ3eswr.js} +7 -7
  211. package/dist/{ThemeToggle-Dg6IishB.js.map → ThemeToggle-BQQ3eswr.js.map} +1 -1
  212. package/dist/{ThemeToggle-D2dIqiBa.cjs → ThemeToggle-BTTI7Jz0.cjs} +2 -2
  213. package/dist/{ThemeToggle-D2dIqiBa.cjs.map → ThemeToggle-BTTI7Jz0.cjs.map} +1 -1
  214. package/dist/{TimeColumns-Cx8J5qzW.js → TimeColumns-BpjhrNCq.js} +2 -2
  215. package/dist/{TimeColumns-Cx8J5qzW.js.map → TimeColumns-BpjhrNCq.js.map} +1 -1
  216. package/dist/{TimeColumns-DVmK_T_P.cjs → TimeColumns-DZYGWWG_.cjs} +2 -2
  217. package/dist/{TimeColumns-DVmK_T_P.cjs.map → TimeColumns-DZYGWWG_.cjs.map} +1 -1
  218. package/dist/{TimePicker-0nZOPRKp.cjs → TimePicker-DChtZgBs.cjs} +2 -2
  219. package/dist/{TimePicker-0nZOPRKp.cjs.map → TimePicker-DChtZgBs.cjs.map} +1 -1
  220. package/dist/{TimePicker-sAhtvqQ4.js → TimePicker-mzoMIlpq.js} +5 -5
  221. package/dist/{TimePicker-sAhtvqQ4.js.map → TimePicker-mzoMIlpq.js.map} +1 -1
  222. package/dist/{Toaster-BOW9rzLq.js → Toaster-79DvOW80.js} +8 -8
  223. package/dist/{Toaster-BOW9rzLq.js.map → Toaster-79DvOW80.js.map} +1 -1
  224. package/dist/{Toaster-DYGo92ke.cjs → Toaster-lonArt-H.cjs} +2 -2
  225. package/dist/{Toaster-DYGo92ke.cjs.map → Toaster-lonArt-H.cjs.map} +1 -1
  226. package/dist/{TranslatedFields-C_DuLotV.cjs → TranslatedFields-BYpMrYaw.cjs} +2 -2
  227. package/dist/{TranslatedFields-C_DuLotV.cjs.map → TranslatedFields-BYpMrYaw.cjs.map} +1 -1
  228. package/dist/{TranslatedFields-CcE0td9p.js → TranslatedFields-CHHtXO_n.js} +9 -9
  229. package/dist/{TranslatedFields-CcE0td9p.js.map → TranslatedFields-CHHtXO_n.js.map} +1 -1
  230. package/dist/{UserCard-DeONbaKj.js → UserCard-BJFNP_nl.js} +3 -3
  231. package/dist/{UserCard-DeONbaKj.js.map → UserCard-BJFNP_nl.js.map} +1 -1
  232. package/dist/{UserCard-DLVptkLr.cjs → UserCard-SlkCgZS9.cjs} +2 -2
  233. package/dist/{UserCard-DLVptkLr.cjs.map → UserCard-SlkCgZS9.cjs.map} +1 -1
  234. package/dist/app/AdminRoot.d.cts +9 -4
  235. package/dist/app/AdminRoot.d.ts +9 -4
  236. package/dist/auth/AuthGuard.d.cts +9 -3
  237. package/dist/auth/AuthGuard.d.ts +9 -3
  238. package/dist/auth/authLayoutRoute.d.cts +11 -3
  239. package/dist/auth/authLayoutRoute.d.ts +11 -3
  240. package/dist/auth/authRedirect.d.cts +64 -0
  241. package/dist/auth/authRedirect.d.ts +64 -0
  242. package/dist/authLayoutRoute-DCG9gCZ8.cjs +2 -0
  243. package/dist/authLayoutRoute-DCG9gCZ8.cjs.map +1 -0
  244. package/dist/authLayoutRoute-TuEqVizw.js +15 -0
  245. package/dist/authLayoutRoute-TuEqVizw.js.map +1 -0
  246. package/dist/components/Alert/index.cjs +1 -1
  247. package/dist/components/Alert/index.js +1 -1
  248. package/dist/components/Breadcrumbs/index.cjs +1 -1
  249. package/dist/components/Breadcrumbs/index.js +1 -1
  250. package/dist/components/Button/index.cjs +1 -1
  251. package/dist/components/Button/index.js +1 -1
  252. package/dist/components/Card/index.cjs +1 -1
  253. package/dist/components/Card/index.js +1 -1
  254. package/dist/components/Chip/index.cjs +1 -1
  255. package/dist/components/Chip/index.js +1 -1
  256. package/dist/components/CodeBlock/index.cjs +1 -1
  257. package/dist/components/CodeBlock/index.js +1 -1
  258. package/dist/components/ColorPicker/index.cjs +1 -1
  259. package/dist/components/ColorPicker/index.js +1 -1
  260. package/dist/components/ColorRamp/index.cjs +1 -1
  261. package/dist/components/ColorRamp/index.js +1 -1
  262. package/dist/components/CopyButton/index.cjs +1 -1
  263. package/dist/components/CopyButton/index.js +1 -1
  264. package/dist/components/DatePicker/index.cjs +1 -1
  265. package/dist/components/DatePicker/index.js +1 -1
  266. package/dist/components/DateTimePicker/index.cjs +1 -1
  267. package/dist/components/DateTimePicker/index.js +1 -1
  268. package/dist/components/DescriptionList/index.cjs +1 -1
  269. package/dist/components/DescriptionList/index.js +1 -1
  270. package/dist/components/EmptyState/index.cjs +1 -1
  271. package/dist/components/EmptyState/index.js +1 -1
  272. package/dist/components/ErrorState/index.cjs +1 -1
  273. package/dist/components/ErrorState/index.js +2 -2
  274. package/dist/components/FileCard/index.cjs +1 -1
  275. package/dist/components/FileCard/index.js +1 -1
  276. package/dist/components/FileUploader/index.cjs +1 -1
  277. package/dist/components/FileUploader/index.js +1 -1
  278. package/dist/components/FullscreenToggle/index.cjs +1 -1
  279. package/dist/components/FullscreenToggle/index.js +1 -1
  280. package/dist/components/IconButton/index.cjs +1 -1
  281. package/dist/components/IconButton/index.js +1 -1
  282. package/dist/components/ImageEditor/index.cjs +1 -1
  283. package/dist/components/ImageEditor/index.js +1 -1
  284. package/dist/components/Loader/index.cjs +1 -1
  285. package/dist/components/Loader/index.js +1 -1
  286. package/dist/components/LocationPicker/index.cjs +1 -1
  287. package/dist/components/LocationPicker/index.js +1 -1
  288. package/dist/components/Modal/index.cjs +1 -1
  289. package/dist/components/Modal/index.js +1 -1
  290. package/dist/components/MultiSelect/index.cjs +1 -1
  291. package/dist/components/MultiSelect/index.js +1 -1
  292. package/dist/components/NumberField/index.cjs +1 -1
  293. package/dist/components/NumberField/index.js +1 -1
  294. package/dist/components/OtpField/index.cjs +1 -1
  295. package/dist/components/OtpField/index.js +1 -1
  296. package/dist/components/PageError/index.cjs +1 -1
  297. package/dist/components/PageError/index.js +1 -1
  298. package/dist/components/PageLayout/index.cjs +1 -1
  299. package/dist/components/PageLayout/index.js +1 -1
  300. package/dist/components/PageNotFound/index.cjs +1 -1
  301. package/dist/components/PageNotFound/index.js +1 -1
  302. package/dist/components/Pagination/index.cjs +1 -1
  303. package/dist/components/Pagination/index.js +1 -1
  304. package/dist/components/PaletteField/index.cjs +1 -1
  305. package/dist/components/PaletteField/index.js +1 -1
  306. package/dist/components/PhoneField/index.cjs +1 -1
  307. package/dist/components/PhoneField/index.js +1 -1
  308. package/dist/components/Popconfirm/index.cjs +1 -1
  309. package/dist/components/Popconfirm/index.js +1 -1
  310. package/dist/components/Progress/index.cjs +1 -1
  311. package/dist/components/Progress/index.js +1 -1
  312. package/dist/components/QrCode/index.cjs +1 -1
  313. package/dist/components/QrCode/index.js +1 -1
  314. package/dist/components/RemoveDialog/index.cjs +1 -1
  315. package/dist/components/RemoveDialog/index.js +1 -1
  316. package/dist/components/RichTextEditor/index.cjs +1 -1
  317. package/dist/components/RichTextEditor/index.js +1 -1
  318. package/dist/components/RootLayout/index.cjs +1 -1
  319. package/dist/components/RootLayout/index.js +1 -1
  320. package/dist/components/Select/index.cjs +1 -1
  321. package/dist/components/Select/index.js +1 -1
  322. package/dist/components/Sidebar/index.cjs +1 -1
  323. package/dist/components/Sidebar/index.js +1 -1
  324. package/dist/components/Slider/index.cjs +1 -1
  325. package/dist/components/Slider/index.js +1 -1
  326. package/dist/components/SpeedDial/index.cjs +1 -1
  327. package/dist/components/SpeedDial/index.js +1 -1
  328. package/dist/components/Stepper/index.cjs +1 -1
  329. package/dist/components/Stepper/index.js +1 -1
  330. package/dist/components/Table/index.cjs +1 -1
  331. package/dist/components/Table/index.js +1 -1
  332. package/dist/components/Tabs/index.cjs +1 -1
  333. package/dist/components/Tabs/index.js +1 -1
  334. package/dist/components/TagsField/index.cjs +1 -1
  335. package/dist/components/TagsField/index.js +1 -1
  336. package/dist/components/TextField/index.cjs +1 -1
  337. package/dist/components/TextField/index.js +1 -1
  338. package/dist/components/ThemeToggle/index.cjs +1 -1
  339. package/dist/components/ThemeToggle/index.js +1 -1
  340. package/dist/components/TimePicker/index.cjs +1 -1
  341. package/dist/components/TimePicker/index.js +1 -1
  342. package/dist/components/Toast/index.cjs +1 -1
  343. package/dist/components/Toast/index.js +1 -1
  344. package/dist/components/TranslatedFields/index.cjs +1 -1
  345. package/dist/components/TranslatedFields/index.js +1 -1
  346. package/dist/components/UserCard/index.cjs +1 -1
  347. package/dist/components/UserCard/index.js +1 -1
  348. package/dist/entries/app.cjs +1 -1
  349. package/dist/entries/app.js +1 -1
  350. package/dist/entries/auth.cjs +1 -1
  351. package/dist/entries/auth.d.cts +1 -0
  352. package/dist/entries/auth.d.ts +1 -0
  353. package/dist/entries/auth.js +7 -4
  354. package/dist/entries/components.cjs +1 -1
  355. package/dist/entries/components.js +52 -52
  356. package/dist/entries/i18n.cjs +1 -1
  357. package/dist/entries/i18n.js +1 -1
  358. package/dist/entries/theme.cjs +1 -1
  359. package/dist/entries/theme.d.cts +1 -1
  360. package/dist/entries/theme.d.ts +1 -1
  361. package/dist/entries/theme.js +20 -18
  362. package/dist/index.cjs +1 -1
  363. package/dist/index.js +259 -254
  364. package/dist/theme/ConfigProvider.d.cts +17 -0
  365. package/dist/theme/ConfigProvider.d.ts +17 -0
  366. package/dist/theme/index.d.cts +1 -1
  367. package/dist/theme/index.d.ts +1 -1
  368. package/dist/{useHomeTo-BL3e8Sc6.js → useHomeTo-BLSvhJd5.js} +2 -2
  369. package/dist/{useHomeTo-BL3e8Sc6.js.map → useHomeTo-BLSvhJd5.js.map} +1 -1
  370. package/dist/{useHomeTo-W1PDW5CU.cjs → useHomeTo-cXCg1tf0.cjs} +2 -2
  371. package/dist/{useHomeTo-W1PDW5CU.cjs.map → useHomeTo-cXCg1tf0.cjs.map} +1 -1
  372. package/dist/{useOptionMenu-CVl7VHXl.cjs → useOptionMenu-6ZffgbYG.cjs} +2 -2
  373. package/dist/{useOptionMenu-CVl7VHXl.cjs.map → useOptionMenu-6ZffgbYG.cjs.map} +1 -1
  374. package/dist/{useOptionMenu-BkKiZ6Ax.js → useOptionMenu-CxM6FHXL.js} +3 -3
  375. package/dist/{useOptionMenu-BkKiZ6Ax.js.map → useOptionMenu-CxM6FHXL.js.map} +1 -1
  376. package/package.json +1 -1
  377. package/dist/AdminRoot-BZ1v5vN9.js +0 -101
  378. package/dist/AdminRoot-BZ1v5vN9.js.map +0 -1
  379. package/dist/AdminRoot-DJ4-UMAB.cjs +0 -2
  380. package/dist/AdminRoot-DJ4-UMAB.cjs.map +0 -1
  381. package/dist/AuthGuard-CVklwDbj.js +0 -7
  382. package/dist/AuthGuard-CVklwDbj.js.map +0 -1
  383. package/dist/AuthGuard-kfOZviar.cjs +0 -2
  384. package/dist/AuthGuard-kfOZviar.cjs.map +0 -1
  385. package/dist/ConfigProvider-DBU6rOIA.cjs +0 -2
  386. package/dist/ConfigProvider-DBU6rOIA.cjs.map +0 -1
  387. package/dist/ConfigProvider-DVDGtCUc.js +0 -386
  388. package/dist/ConfigProvider-DVDGtCUc.js.map +0 -1
  389. package/dist/authLayoutRoute-B10sXioW.js +0 -11
  390. package/dist/authLayoutRoute-B10sXioW.js.map +0 -1
  391. package/dist/authLayoutRoute-BVQ4LhuU.cjs +0 -2
  392. package/dist/authLayoutRoute-BVQ4LhuU.cjs.map +0 -1
@@ -2,11 +2,11 @@ import { jsxs as e, jsx as t } from "react/jsx-runtime";
2
2
  import { forwardRef as S } from "react";
3
3
  import { clsx as b } from "clsx";
4
4
  import { A as g } from "./Avatar-CaYyv5wk.js";
5
- import { B as w } from "./Button-C415LPw_.js";
5
+ import { B as w } from "./Button-DZWYeAno.js";
6
6
  import { b as U } from "./Icon-B7DJn8Tw.js";
7
7
  import { S as m } from "./Skeleton-_-uGax2j.js";
8
8
  import { T as d } from "./Typography-ChSuxgkc.js";
9
- import { a as N } from "./ConfigProvider-DVDGtCUc.js";
9
+ import { a as N } from "./ConfigProvider-DtyUlWk6.js";
10
10
  const T = "_card_1fykc_3", j = "_identity_1fykc_16", A = "_text_1fykc_20", B = "_sm_1fykc_33", I = "_lg_1fykc_37", o = {
11
11
  card: T,
12
12
  identity: j,
@@ -75,4 +75,4 @@ const T = "_card_1fykc_3", j = "_identity_1fykc_16", A = "_text_1fykc_20", B = "
75
75
  export {
76
76
  J as U
77
77
  };
78
- //# sourceMappingURL=UserCard-DeONbaKj.js.map
78
+ //# sourceMappingURL=UserCard-BJFNP_nl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserCard-DeONbaKj.js","sources":["../src/components/UserCard/UserCard.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport type { IconName } from '../../icons/names'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\nimport { Skeleton } from '../Skeleton'\nimport { Typography } from '../Typography'\nimport styles from './UserCard.module.css'\n\nexport type UserCardSize = 'sm' | 'md' | 'lg'\n\nexport interface UserCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n /**\n * Display name — the primary line, and the source of the avatar initials. When omitted, the primary\n * line falls back to a localized **\"Welcome\"** greeting (and the avatar shows the `icon`).\n */\n name?: string\n /** Secondary line under the name (usually the email). */\n email?: ReactNode\n /** Avatar image URL (falls back to the initials from `name`, else the `icon`). */\n avatar?: string\n /** Fallback avatar icon when there's no image or name. Defaults to `'User'`. */\n icon?: IconName\n /** Theme palette token tinting the avatar. Defaults to `'primary'`. */\n color?: ThemeColor\n /** Preset size (avatar + button + card padding; the text stays fixed). Defaults to `'md'`. */\n size?: UserCardSize\n /** When provided, a **Sign out** button is shown that calls this. */\n onLogout?: () => void\n /** Sign-out button label. Defaults to `'Sign Out'`. */\n logoutLabel?: ReactNode\n /** Extra content between the identity row and the sign-out button (e.g. a link or menu). */\n children?: ReactNode\n /** Show skeletons for the avatar, name and email while the user is being fetched (sign-out stays usable). Defaults to `false`. */\n loading?: boolean\n}\n\n/**\n * A compact account card — an `Avatar` + name/email and an optional **Sign out** button — for a consistent\n * signed-in-user block across apps, instead of hand-rolling the markup each time. The shell's sidebar renders\n * one itself (`config.sidebar.userCard` / the `RootLayout` `showUserCard` prop), so place it by hand only\n * elsewhere. Shows the image (`avatar`) → initials (from `name`) →\n * `icon` (default `User`) in priority order; renders the sign-out `Button` (filled `error`) only when\n * `onLogout` is given. `size` (`sm`/`md`/`lg`) scales the avatar, button and padding; `color` (default `primary`)\n * tints the avatar. `loading` swaps the avatar + name + email for skeletons. Own CSS module (token-only).\n */\nexport const UserCard = forwardRef<HTMLDivElement, UserCardProps>(function UserCard(\n {\n name,\n email,\n avatar,\n icon = 'User',\n color = 'primary',\n size = 'md',\n onLogout,\n logoutLabel,\n children,\n loading = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n // the identity row + the sign-out button share the same visual size step\n const avatarSize = size === 'lg' ? 'lg' : size === 'sm' ? 'sm' : 'md'\n const buttonSize = size === 'lg' ? 'md' : 'sm'\n\n return (\n <div\n ref={ref}\n className={clsx(styles.card, styles[size], className)}\n style={style as CSSProperties}\n aria-busy={loading || undefined}\n {...props}\n >\n <div className={styles.identity}>\n {/* Avatar priority is image → icon → initials, so pass `icon` only as the last resort (no\n name), otherwise a name would still show the icon instead of its initials */}\n <Avatar\n size={avatarSize}\n name={name}\n src={avatar}\n icon={name ? undefined : icon}\n color={color}\n loading={loading}\n />\n <div className={styles.text}>\n {/* primary line: the name, or a \"Welcome\" greeting fallback when no name is given */}\n <Typography variant=\"bodySmall\" truncate>\n {loading ? <Skeleton width=\"60%\" /> : (name ?? t('userCard.welcome'))}\n </Typography>\n {(loading || email != null) && (\n <Typography variant=\"caption\" color=\"muted\" truncate>\n {loading ? <Skeleton width=\"85%\" /> : email}\n </Typography>\n )}\n </div>\n </div>\n\n {children}\n\n {onLogout ? (\n <Button\n variant=\"filled\"\n color=\"error\"\n size={buttonSize}\n fullWidth\n startIcon={<Icon name=\"Logout2\" />}\n onClick={onLogout}\n >\n {logoutLabel ?? t('userCard.signOut')}\n </Button>\n ) : null}\n </div>\n )\n})\n"],"names":["UserCard","forwardRef","name","email","avatar","icon","color","size","onLogout","logoutLabel","children","loading","className","style","props","ref","t","useT","avatarSize","buttonSize","jsxs","clsx","styles","jsx","Avatar","Typography","Skeleton","Button","Icon"],"mappings":";;;;;;;;;;;;;;;GAgDaA,IAAWC,EAA0C,SAChE;AAAA,EACE,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAIC,EAAA,GAEJC,IAAaX,MAAS,OAAO,OAAOA,MAAS,OAAO,OAAO,MAC3DY,IAAaZ,MAAS,OAAO,OAAO;AAE1C,SACE,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,WAAWM,EAAKC,EAAO,MAAMA,EAAOf,CAAI,GAAGK,CAAS;AAAA,MACpD,OAAAC;AAAA,MACA,aAAWF,KAAW;AAAA,MACrB,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAM,EAAC,OAAA,EAAI,WAAWE,EAAO,UAGrB,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,MAAMN;AAAA,cACN,MAAAhB;AAAA,cACA,KAAKE;AAAA,cACL,MAAMF,IAAO,SAAYG;AAAA,cACzB,OAAAC;AAAA,cACA,SAAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,gBAAAS,EAAC,OAAA,EAAI,WAAWE,EAAO,MAErB,UAAA;AAAA,YAAA,gBAAAC,EAACE,GAAA,EAAW,SAAQ,aAAY,UAAQ,IACrC,UAAAd,IAAU,gBAAAY,EAACG,GAAA,EAAS,OAAM,MAAA,CAAM,IAAMxB,KAAQc,EAAE,kBAAkB,GACrE;AAAA,aACEL,KAAWR,KAAS,SACpB,gBAAAoB,EAACE,GAAA,EAAW,SAAQ,WAAU,OAAM,SAAQ,UAAQ,IACjD,UAAAd,IAAU,gBAAAY,EAACG,KAAS,OAAM,OAAM,IAAKvB,EAAA,CACxC;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA,GACF;AAAA,QAECO;AAAA,QAEAF,IACC,gBAAAe;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,OAAM;AAAA,YACN,MAAMR;AAAA,YACN,WAAS;AAAA,YACT,WAAW,gBAAAI,EAACK,GAAA,EAAK,MAAK,UAAA,CAAU;AAAA,YAChC,SAASpB;AAAA,YAER,UAAAC,KAAeO,EAAE,kBAAkB;AAAA,UAAA;AAAA,QAAA,IAEpC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;"}
1
+ {"version":3,"file":"UserCard-BJFNP_nl.js","sources":["../src/components/UserCard/UserCard.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport type { IconName } from '../../icons/names'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\nimport { Skeleton } from '../Skeleton'\nimport { Typography } from '../Typography'\nimport styles from './UserCard.module.css'\n\nexport type UserCardSize = 'sm' | 'md' | 'lg'\n\nexport interface UserCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n /**\n * Display name — the primary line, and the source of the avatar initials. When omitted, the primary\n * line falls back to a localized **\"Welcome\"** greeting (and the avatar shows the `icon`).\n */\n name?: string\n /** Secondary line under the name (usually the email). */\n email?: ReactNode\n /** Avatar image URL (falls back to the initials from `name`, else the `icon`). */\n avatar?: string\n /** Fallback avatar icon when there's no image or name. Defaults to `'User'`. */\n icon?: IconName\n /** Theme palette token tinting the avatar. Defaults to `'primary'`. */\n color?: ThemeColor\n /** Preset size (avatar + button + card padding; the text stays fixed). Defaults to `'md'`. */\n size?: UserCardSize\n /** When provided, a **Sign out** button is shown that calls this. */\n onLogout?: () => void\n /** Sign-out button label. Defaults to `'Sign Out'`. */\n logoutLabel?: ReactNode\n /** Extra content between the identity row and the sign-out button (e.g. a link or menu). */\n children?: ReactNode\n /** Show skeletons for the avatar, name and email while the user is being fetched (sign-out stays usable). Defaults to `false`. */\n loading?: boolean\n}\n\n/**\n * A compact account card — an `Avatar` + name/email and an optional **Sign out** button — for a consistent\n * signed-in-user block across apps, instead of hand-rolling the markup each time. The shell's sidebar renders\n * one itself (`config.sidebar.userCard` / the `RootLayout` `showUserCard` prop), so place it by hand only\n * elsewhere. Shows the image (`avatar`) → initials (from `name`) →\n * `icon` (default `User`) in priority order; renders the sign-out `Button` (filled `error`) only when\n * `onLogout` is given. `size` (`sm`/`md`/`lg`) scales the avatar, button and padding; `color` (default `primary`)\n * tints the avatar. `loading` swaps the avatar + name + email for skeletons. Own CSS module (token-only).\n */\nexport const UserCard = forwardRef<HTMLDivElement, UserCardProps>(function UserCard(\n {\n name,\n email,\n avatar,\n icon = 'User',\n color = 'primary',\n size = 'md',\n onLogout,\n logoutLabel,\n children,\n loading = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n // the identity row + the sign-out button share the same visual size step\n const avatarSize = size === 'lg' ? 'lg' : size === 'sm' ? 'sm' : 'md'\n const buttonSize = size === 'lg' ? 'md' : 'sm'\n\n return (\n <div\n ref={ref}\n className={clsx(styles.card, styles[size], className)}\n style={style as CSSProperties}\n aria-busy={loading || undefined}\n {...props}\n >\n <div className={styles.identity}>\n {/* Avatar priority is image → icon → initials, so pass `icon` only as the last resort (no\n name), otherwise a name would still show the icon instead of its initials */}\n <Avatar\n size={avatarSize}\n name={name}\n src={avatar}\n icon={name ? undefined : icon}\n color={color}\n loading={loading}\n />\n <div className={styles.text}>\n {/* primary line: the name, or a \"Welcome\" greeting fallback when no name is given */}\n <Typography variant=\"bodySmall\" truncate>\n {loading ? <Skeleton width=\"60%\" /> : (name ?? t('userCard.welcome'))}\n </Typography>\n {(loading || email != null) && (\n <Typography variant=\"caption\" color=\"muted\" truncate>\n {loading ? <Skeleton width=\"85%\" /> : email}\n </Typography>\n )}\n </div>\n </div>\n\n {children}\n\n {onLogout ? (\n <Button\n variant=\"filled\"\n color=\"error\"\n size={buttonSize}\n fullWidth\n startIcon={<Icon name=\"Logout2\" />}\n onClick={onLogout}\n >\n {logoutLabel ?? t('userCard.signOut')}\n </Button>\n ) : null}\n </div>\n )\n})\n"],"names":["UserCard","forwardRef","name","email","avatar","icon","color","size","onLogout","logoutLabel","children","loading","className","style","props","ref","t","useT","avatarSize","buttonSize","jsxs","clsx","styles","jsx","Avatar","Typography","Skeleton","Button","Icon"],"mappings":";;;;;;;;;;;;;;;GAgDaA,IAAWC,EAA0C,SAChE;AAAA,EACE,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAIC,EAAA,GAEJC,IAAaX,MAAS,OAAO,OAAOA,MAAS,OAAO,OAAO,MAC3DY,IAAaZ,MAAS,OAAO,OAAO;AAE1C,SACE,gBAAAa;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,WAAWM,EAAKC,EAAO,MAAMA,EAAOf,CAAI,GAAGK,CAAS;AAAA,MACpD,OAAAC;AAAA,MACA,aAAWF,KAAW;AAAA,MACrB,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAM,EAAC,OAAA,EAAI,WAAWE,EAAO,UAGrB,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,MAAMN;AAAA,cACN,MAAAhB;AAAA,cACA,KAAKE;AAAA,cACL,MAAMF,IAAO,SAAYG;AAAA,cACzB,OAAAC;AAAA,cACA,SAAAK;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,gBAAAS,EAAC,OAAA,EAAI,WAAWE,EAAO,MAErB,UAAA;AAAA,YAAA,gBAAAC,EAACE,GAAA,EAAW,SAAQ,aAAY,UAAQ,IACrC,UAAAd,IAAU,gBAAAY,EAACG,GAAA,EAAS,OAAM,MAAA,CAAM,IAAMxB,KAAQc,EAAE,kBAAkB,GACrE;AAAA,aACEL,KAAWR,KAAS,SACpB,gBAAAoB,EAACE,GAAA,EAAW,SAAQ,WAAU,OAAM,SAAQ,UAAQ,IACjD,UAAAd,IAAU,gBAAAY,EAACG,KAAS,OAAM,OAAM,IAAKvB,EAAA,CACxC;AAAA,UAAA,EAAA,CAEJ;AAAA,QAAA,GACF;AAAA,QAECO;AAAA,QAEAF,IACC,gBAAAe;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,OAAM;AAAA,YACN,MAAMR;AAAA,YACN,WAAS;AAAA,YACT,WAAW,gBAAAI,EAACK,GAAA,EAAK,MAAK,UAAA,CAAU;AAAA,YAChC,SAASpB;AAAA,YAER,UAAAC,KAAeO,EAAE,kBAAkB;AAAA,UAAA;AAAA,QAAA,IAEpC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("react/jsx-runtime"),q=require("react"),p=require("clsx"),g=require("./Avatar-BBqX1732.cjs"),C=require("./Button-mBZOvgyZ.cjs"),S=require("./Icon-CBg21lKA.cjs"),a=require("./Skeleton-DK0lAjS9.cjs"),d=require("./Typography-d97DdbNd.cjs"),w=require("./ConfigProvider-DBU6rOIA.cjs"),T="_card_1fykc_3",U="_identity_1fykc_16",b="_text_1fykc_20",I="_sm_1fykc_33",N="_lg_1fykc_37",s={card:T,identity:U,text:b,sm:I,lg:N},A=q.forwardRef(function({name:c,email:n,avatar:l,icon:u="User",color:y="primary",size:e="md",onLogout:i,logoutLabel:x,children:m,loading:r=!1,className:_,style:f,...h},v){const o=w.useT(),j=e==="lg"?"lg":e==="sm"?"sm":"md",k=e==="lg"?"md":"sm";return t.jsxs("div",{ref:v,className:p.clsx(s.card,s[e],_),style:f,"aria-busy":r||void 0,...h,children:[t.jsxs("div",{className:s.identity,children:[t.jsx(g.Avatar,{size:j,name:c,src:l,icon:c?void 0:u,color:y,loading:r}),t.jsxs("div",{className:s.text,children:[t.jsx(d.Typography,{variant:"bodySmall",truncate:!0,children:r?t.jsx(a.Skeleton,{width:"60%"}):c??o("userCard.welcome")}),(r||n!=null)&&t.jsx(d.Typography,{variant:"caption",color:"muted",truncate:!0,children:r?t.jsx(a.Skeleton,{width:"85%"}):n})]})]}),m,i?t.jsx(C.Button,{variant:"filled",color:"error",size:k,fullWidth:!0,startIcon:t.jsx(S.Icon,{name:"Logout2"}),onClick:i,children:x??o("userCard.signOut")}):null]})});exports.UserCard=A;
2
- //# sourceMappingURL=UserCard-DLVptkLr.cjs.map
1
+ "use strict";const t=require("react/jsx-runtime"),q=require("react"),p=require("clsx"),g=require("./Avatar-BBqX1732.cjs"),C=require("./Button-BtiFpRie.cjs"),S=require("./Icon-CBg21lKA.cjs"),a=require("./Skeleton-DK0lAjS9.cjs"),d=require("./Typography-d97DdbNd.cjs"),w=require("./ConfigProvider-CYSpuSMJ.cjs"),T="_card_1fykc_3",U="_identity_1fykc_16",b="_text_1fykc_20",I="_sm_1fykc_33",N="_lg_1fykc_37",s={card:T,identity:U,text:b,sm:I,lg:N},A=q.forwardRef(function({name:c,email:n,avatar:l,icon:u="User",color:y="primary",size:e="md",onLogout:i,logoutLabel:x,children:m,loading:r=!1,className:_,style:f,...h},v){const o=w.useT(),j=e==="lg"?"lg":e==="sm"?"sm":"md",k=e==="lg"?"md":"sm";return t.jsxs("div",{ref:v,className:p.clsx(s.card,s[e],_),style:f,"aria-busy":r||void 0,...h,children:[t.jsxs("div",{className:s.identity,children:[t.jsx(g.Avatar,{size:j,name:c,src:l,icon:c?void 0:u,color:y,loading:r}),t.jsxs("div",{className:s.text,children:[t.jsx(d.Typography,{variant:"bodySmall",truncate:!0,children:r?t.jsx(a.Skeleton,{width:"60%"}):c??o("userCard.welcome")}),(r||n!=null)&&t.jsx(d.Typography,{variant:"caption",color:"muted",truncate:!0,children:r?t.jsx(a.Skeleton,{width:"85%"}):n})]})]}),m,i?t.jsx(C.Button,{variant:"filled",color:"error",size:k,fullWidth:!0,startIcon:t.jsx(S.Icon,{name:"Logout2"}),onClick:i,children:x??o("userCard.signOut")}):null]})});exports.UserCard=A;
2
+ //# sourceMappingURL=UserCard-SlkCgZS9.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserCard-DLVptkLr.cjs","sources":["../src/components/UserCard/UserCard.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport type { IconName } from '../../icons/names'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\nimport { Skeleton } from '../Skeleton'\nimport { Typography } from '../Typography'\nimport styles from './UserCard.module.css'\n\nexport type UserCardSize = 'sm' | 'md' | 'lg'\n\nexport interface UserCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n /**\n * Display name — the primary line, and the source of the avatar initials. When omitted, the primary\n * line falls back to a localized **\"Welcome\"** greeting (and the avatar shows the `icon`).\n */\n name?: string\n /** Secondary line under the name (usually the email). */\n email?: ReactNode\n /** Avatar image URL (falls back to the initials from `name`, else the `icon`). */\n avatar?: string\n /** Fallback avatar icon when there's no image or name. Defaults to `'User'`. */\n icon?: IconName\n /** Theme palette token tinting the avatar. Defaults to `'primary'`. */\n color?: ThemeColor\n /** Preset size (avatar + button + card padding; the text stays fixed). Defaults to `'md'`. */\n size?: UserCardSize\n /** When provided, a **Sign out** button is shown that calls this. */\n onLogout?: () => void\n /** Sign-out button label. Defaults to `'Sign Out'`. */\n logoutLabel?: ReactNode\n /** Extra content between the identity row and the sign-out button (e.g. a link or menu). */\n children?: ReactNode\n /** Show skeletons for the avatar, name and email while the user is being fetched (sign-out stays usable). Defaults to `false`. */\n loading?: boolean\n}\n\n/**\n * A compact account card — an `Avatar` + name/email and an optional **Sign out** button — for a consistent\n * signed-in-user block across apps, instead of hand-rolling the markup each time. The shell's sidebar renders\n * one itself (`config.sidebar.userCard` / the `RootLayout` `showUserCard` prop), so place it by hand only\n * elsewhere. Shows the image (`avatar`) → initials (from `name`) →\n * `icon` (default `User`) in priority order; renders the sign-out `Button` (filled `error`) only when\n * `onLogout` is given. `size` (`sm`/`md`/`lg`) scales the avatar, button and padding; `color` (default `primary`)\n * tints the avatar. `loading` swaps the avatar + name + email for skeletons. Own CSS module (token-only).\n */\nexport const UserCard = forwardRef<HTMLDivElement, UserCardProps>(function UserCard(\n {\n name,\n email,\n avatar,\n icon = 'User',\n color = 'primary',\n size = 'md',\n onLogout,\n logoutLabel,\n children,\n loading = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n // the identity row + the sign-out button share the same visual size step\n const avatarSize = size === 'lg' ? 'lg' : size === 'sm' ? 'sm' : 'md'\n const buttonSize = size === 'lg' ? 'md' : 'sm'\n\n return (\n <div\n ref={ref}\n className={clsx(styles.card, styles[size], className)}\n style={style as CSSProperties}\n aria-busy={loading || undefined}\n {...props}\n >\n <div className={styles.identity}>\n {/* Avatar priority is image → icon → initials, so pass `icon` only as the last resort (no\n name), otherwise a name would still show the icon instead of its initials */}\n <Avatar\n size={avatarSize}\n name={name}\n src={avatar}\n icon={name ? undefined : icon}\n color={color}\n loading={loading}\n />\n <div className={styles.text}>\n {/* primary line: the name, or a \"Welcome\" greeting fallback when no name is given */}\n <Typography variant=\"bodySmall\" truncate>\n {loading ? <Skeleton width=\"60%\" /> : (name ?? t('userCard.welcome'))}\n </Typography>\n {(loading || email != null) && (\n <Typography variant=\"caption\" color=\"muted\" truncate>\n {loading ? <Skeleton width=\"85%\" /> : email}\n </Typography>\n )}\n </div>\n </div>\n\n {children}\n\n {onLogout ? (\n <Button\n variant=\"filled\"\n color=\"error\"\n size={buttonSize}\n fullWidth\n startIcon={<Icon name=\"Logout2\" />}\n onClick={onLogout}\n >\n {logoutLabel ?? t('userCard.signOut')}\n </Button>\n ) : null}\n </div>\n )\n})\n"],"names":["UserCard","forwardRef","name","email","avatar","icon","color","size","onLogout","logoutLabel","children","loading","className","style","props","ref","t","useT","avatarSize","buttonSize","jsxs","clsx","styles","jsx","Avatar","Typography","Skeleton","Button","Icon"],"mappings":"0bAgDaA,EAAWC,EAAAA,WAA0C,SAChE,CACE,KAAAC,EACA,MAAAC,EACA,OAAAC,EACA,KAAAC,EAAO,OACP,MAAAC,EAAQ,UACR,KAAAC,EAAO,KACP,SAAAC,EACA,YAAAC,EACA,SAAAC,EACA,QAAAC,EAAU,GACV,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,MAAMC,EAAIC,EAAAA,KAAA,EAEJC,EAAaX,IAAS,KAAO,KAAOA,IAAS,KAAO,KAAO,KAC3DY,EAAaZ,IAAS,KAAO,KAAO,KAE1C,OACEa,EAAAA,KAAC,MAAA,CACC,IAAAL,EACA,UAAWM,EAAAA,KAAKC,EAAO,KAAMA,EAAOf,CAAI,EAAGK,CAAS,EACpD,MAAAC,EACA,YAAWF,GAAW,OACrB,GAAGG,EAEJ,SAAA,CAAAM,EAAAA,KAAC,MAAA,CAAI,UAAWE,EAAO,SAGrB,SAAA,CAAAC,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAMN,EACN,KAAAhB,EACA,IAAKE,EACL,KAAMF,EAAO,OAAYG,EACzB,MAAAC,EACA,QAAAK,CAAA,CAAA,EAEFS,EAAAA,KAAC,MAAA,CAAI,UAAWE,EAAO,KAErB,SAAA,CAAAC,EAAAA,IAACE,EAAAA,WAAA,CAAW,QAAQ,YAAY,SAAQ,GACrC,SAAAd,EAAUY,EAAAA,IAACG,WAAA,CAAS,MAAM,KAAA,CAAM,EAAMxB,GAAQc,EAAE,kBAAkB,EACrE,GACEL,GAAWR,GAAS,OACpBoB,EAAAA,IAACE,EAAAA,WAAA,CAAW,QAAQ,UAAU,MAAM,QAAQ,SAAQ,GACjD,SAAAd,EAAUY,MAACG,EAAAA,UAAS,MAAM,MAAM,EAAKvB,CAAA,CACxC,CAAA,CAAA,CAEJ,CAAA,EACF,EAECO,EAEAF,EACCe,EAAAA,IAACI,EAAAA,OAAA,CACC,QAAQ,SACR,MAAM,QACN,KAAMR,EACN,UAAS,GACT,UAAWI,EAAAA,IAACK,EAAAA,KAAA,CAAK,KAAK,SAAA,CAAU,EAChC,QAASpB,EAER,SAAAC,GAAeO,EAAE,kBAAkB,CAAA,CAAA,EAEpC,IAAA,CAAA,CAAA,CAGV,CAAC"}
1
+ {"version":3,"file":"UserCard-SlkCgZS9.cjs","sources":["../src/components/UserCard/UserCard.tsx"],"sourcesContent":["import { forwardRef, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type ThemeColor } from '../../theme'\nimport type { IconName } from '../../icons/names'\nimport { Avatar } from '../Avatar'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\nimport { Skeleton } from '../Skeleton'\nimport { Typography } from '../Typography'\nimport styles from './UserCard.module.css'\n\nexport type UserCardSize = 'sm' | 'md' | 'lg'\n\nexport interface UserCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n /**\n * Display name — the primary line, and the source of the avatar initials. When omitted, the primary\n * line falls back to a localized **\"Welcome\"** greeting (and the avatar shows the `icon`).\n */\n name?: string\n /** Secondary line under the name (usually the email). */\n email?: ReactNode\n /** Avatar image URL (falls back to the initials from `name`, else the `icon`). */\n avatar?: string\n /** Fallback avatar icon when there's no image or name. Defaults to `'User'`. */\n icon?: IconName\n /** Theme palette token tinting the avatar. Defaults to `'primary'`. */\n color?: ThemeColor\n /** Preset size (avatar + button + card padding; the text stays fixed). Defaults to `'md'`. */\n size?: UserCardSize\n /** When provided, a **Sign out** button is shown that calls this. */\n onLogout?: () => void\n /** Sign-out button label. Defaults to `'Sign Out'`. */\n logoutLabel?: ReactNode\n /** Extra content between the identity row and the sign-out button (e.g. a link or menu). */\n children?: ReactNode\n /** Show skeletons for the avatar, name and email while the user is being fetched (sign-out stays usable). Defaults to `false`. */\n loading?: boolean\n}\n\n/**\n * A compact account card — an `Avatar` + name/email and an optional **Sign out** button — for a consistent\n * signed-in-user block across apps, instead of hand-rolling the markup each time. The shell's sidebar renders\n * one itself (`config.sidebar.userCard` / the `RootLayout` `showUserCard` prop), so place it by hand only\n * elsewhere. Shows the image (`avatar`) → initials (from `name`) →\n * `icon` (default `User`) in priority order; renders the sign-out `Button` (filled `error`) only when\n * `onLogout` is given. `size` (`sm`/`md`/`lg`) scales the avatar, button and padding; `color` (default `primary`)\n * tints the avatar. `loading` swaps the avatar + name + email for skeletons. Own CSS module (token-only).\n */\nexport const UserCard = forwardRef<HTMLDivElement, UserCardProps>(function UserCard(\n {\n name,\n email,\n avatar,\n icon = 'User',\n color = 'primary',\n size = 'md',\n onLogout,\n logoutLabel,\n children,\n loading = false,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n // the identity row + the sign-out button share the same visual size step\n const avatarSize = size === 'lg' ? 'lg' : size === 'sm' ? 'sm' : 'md'\n const buttonSize = size === 'lg' ? 'md' : 'sm'\n\n return (\n <div\n ref={ref}\n className={clsx(styles.card, styles[size], className)}\n style={style as CSSProperties}\n aria-busy={loading || undefined}\n {...props}\n >\n <div className={styles.identity}>\n {/* Avatar priority is image → icon → initials, so pass `icon` only as the last resort (no\n name), otherwise a name would still show the icon instead of its initials */}\n <Avatar\n size={avatarSize}\n name={name}\n src={avatar}\n icon={name ? undefined : icon}\n color={color}\n loading={loading}\n />\n <div className={styles.text}>\n {/* primary line: the name, or a \"Welcome\" greeting fallback when no name is given */}\n <Typography variant=\"bodySmall\" truncate>\n {loading ? <Skeleton width=\"60%\" /> : (name ?? t('userCard.welcome'))}\n </Typography>\n {(loading || email != null) && (\n <Typography variant=\"caption\" color=\"muted\" truncate>\n {loading ? <Skeleton width=\"85%\" /> : email}\n </Typography>\n )}\n </div>\n </div>\n\n {children}\n\n {onLogout ? (\n <Button\n variant=\"filled\"\n color=\"error\"\n size={buttonSize}\n fullWidth\n startIcon={<Icon name=\"Logout2\" />}\n onClick={onLogout}\n >\n {logoutLabel ?? t('userCard.signOut')}\n </Button>\n ) : null}\n </div>\n )\n})\n"],"names":["UserCard","forwardRef","name","email","avatar","icon","color","size","onLogout","logoutLabel","children","loading","className","style","props","ref","t","useT","avatarSize","buttonSize","jsxs","clsx","styles","jsx","Avatar","Typography","Skeleton","Button","Icon"],"mappings":"0bAgDaA,EAAWC,EAAAA,WAA0C,SAChE,CACE,KAAAC,EACA,MAAAC,EACA,OAAAC,EACA,KAAAC,EAAO,OACP,MAAAC,EAAQ,UACR,KAAAC,EAAO,KACP,SAAAC,EACA,YAAAC,EACA,SAAAC,EACA,QAAAC,EAAU,GACV,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,MAAMC,EAAIC,EAAAA,KAAA,EAEJC,EAAaX,IAAS,KAAO,KAAOA,IAAS,KAAO,KAAO,KAC3DY,EAAaZ,IAAS,KAAO,KAAO,KAE1C,OACEa,EAAAA,KAAC,MAAA,CACC,IAAAL,EACA,UAAWM,EAAAA,KAAKC,EAAO,KAAMA,EAAOf,CAAI,EAAGK,CAAS,EACpD,MAAAC,EACA,YAAWF,GAAW,OACrB,GAAGG,EAEJ,SAAA,CAAAM,EAAAA,KAAC,MAAA,CAAI,UAAWE,EAAO,SAGrB,SAAA,CAAAC,EAAAA,IAACC,EAAAA,OAAA,CACC,KAAMN,EACN,KAAAhB,EACA,IAAKE,EACL,KAAMF,EAAO,OAAYG,EACzB,MAAAC,EACA,QAAAK,CAAA,CAAA,EAEFS,EAAAA,KAAC,MAAA,CAAI,UAAWE,EAAO,KAErB,SAAA,CAAAC,EAAAA,IAACE,EAAAA,WAAA,CAAW,QAAQ,YAAY,SAAQ,GACrC,SAAAd,EAAUY,EAAAA,IAACG,WAAA,CAAS,MAAM,KAAA,CAAM,EAAMxB,GAAQc,EAAE,kBAAkB,EACrE,GACEL,GAAWR,GAAS,OACpBoB,EAAAA,IAACE,EAAAA,WAAA,CAAW,QAAQ,UAAU,MAAM,QAAQ,SAAQ,GACjD,SAAAd,EAAUY,MAACG,EAAAA,UAAS,MAAM,MAAM,EAAKvB,CAAA,CACxC,CAAA,CAAA,CAEJ,CAAA,EACF,EAECO,EAEAF,EACCe,EAAAA,IAACI,EAAAA,OAAA,CACC,QAAQ,SACR,MAAM,QACN,KAAMR,EACN,UAAS,GACT,UAAWI,EAAAA,IAACK,EAAAA,KAAA,CAAK,KAAK,SAAA,CAAU,EAChC,QAASpB,EAER,SAAAC,GAAeO,EAAE,kBAAkB,CAAA,CAAA,EAEpC,IAAA,CAAA,CAAA,CAGV,CAAC"}
@@ -31,7 +31,7 @@ export interface AdminRootUnavailableFallbackProps {
31
31
  reason: AdminRootUnavailableReason;
32
32
  /** `unavailable.onRetry`, when given — whatever the reason (the fallback decides whether to offer it). */
33
33
  retry?: () => void;
34
- /** The shell's Sign Out: `onLogout()`, then navigate to `loginPath`. */
34
+ /** The shell's Sign Out: `onLogout()`, then navigate to plain `loginPath` (no return target is remembered). */
35
35
  signOut: () => void;
36
36
  }
37
37
  /** The minimal user shape `AdminRoot` reads — apps pass their own richer type via the generic. */
@@ -54,7 +54,11 @@ export interface AdminRootProps<U extends AdminUser = AdminUser> {
54
54
  onLogout: () => void;
55
55
  /** Route-id prefix for standalone public pages (rendered outside the shell). Default `'/_auth'`. */
56
56
  authRouteId?: string;
57
- /** Guard target for signed-out visitors + post-logout redirect. Default `'/login'`. */
57
+ /**
58
+ * Guard target for signed-out visitors + post-logout redirect. Default `'/login'`. A session that ends by
59
+ * itself (an expired token, a 401, revoked in another tab) reaches it through `AuthGuard`, which remembers
60
+ * the page (`?redirect=…` — read it back with `useAuthRedirect`); an explicit Sign Out remembers nothing.
61
+ */
58
62
  loginPath?: string;
59
63
  /**
60
64
  * Show a `UserCard` (the user + Sign Out) at the bottom of the sidebar — passed to `RootLayout`. Unset, the
@@ -113,8 +117,9 @@ export interface AdminRootProps<U extends AdminUser = AdminUser> {
113
117
  * Root-route component for admin apps — it wires up the whole shell orchestration so an app only has to
114
118
  * supply `logo` + `getUser` + `onLogout`. Public pages (route id under `authRouteId`) render standalone;
115
119
  * everything else renders inside the guarded admin shell (`RootLayout`, with an optional sidebar `UserCard`), gated by
116
- * `AuthGuard` (signed-out visitors bounce to `loginPath`). Logout clears the session and navigates to
117
- * `loginPath`. Mounts exactly one app-wide `<Toaster/>` (`toaster`; none with `toaster={false}` — the inner
120
+ * `AuthGuard` (signed-out visitors bounce to `loginPath?redirect=<the page>`, so a lost session or a shared
121
+ * link returns there after sign-in — see `useAuthRedirect`). Sign Out clears the session and navigates to
122
+ * plain `loginPath`, remembering nothing. Mounts exactly one app-wide `<Toaster/>` (`toaster`; none with `toaster={false}` — the inner
118
123
  * `RootLayout` always gets `toaster={false}`),
119
124
  * and wraps the page in an `ErrorBoundary` that resets on navigation (`errorBoundary`, default on).
120
125
  * While the app is still checking the session, pass `pending` (a full-screen loader instead of a premature
@@ -31,7 +31,7 @@ export interface AdminRootUnavailableFallbackProps {
31
31
  reason: AdminRootUnavailableReason;
32
32
  /** `unavailable.onRetry`, when given — whatever the reason (the fallback decides whether to offer it). */
33
33
  retry?: () => void;
34
- /** The shell's Sign Out: `onLogout()`, then navigate to `loginPath`. */
34
+ /** The shell's Sign Out: `onLogout()`, then navigate to plain `loginPath` (no return target is remembered). */
35
35
  signOut: () => void;
36
36
  }
37
37
  /** The minimal user shape `AdminRoot` reads — apps pass their own richer type via the generic. */
@@ -54,7 +54,11 @@ export interface AdminRootProps<U extends AdminUser = AdminUser> {
54
54
  onLogout: () => void;
55
55
  /** Route-id prefix for standalone public pages (rendered outside the shell). Default `'/_auth'`. */
56
56
  authRouteId?: string;
57
- /** Guard target for signed-out visitors + post-logout redirect. Default `'/login'`. */
57
+ /**
58
+ * Guard target for signed-out visitors + post-logout redirect. Default `'/login'`. A session that ends by
59
+ * itself (an expired token, a 401, revoked in another tab) reaches it through `AuthGuard`, which remembers
60
+ * the page (`?redirect=…` — read it back with `useAuthRedirect`); an explicit Sign Out remembers nothing.
61
+ */
58
62
  loginPath?: string;
59
63
  /**
60
64
  * Show a `UserCard` (the user + Sign Out) at the bottom of the sidebar — passed to `RootLayout`. Unset, the
@@ -113,8 +117,9 @@ export interface AdminRootProps<U extends AdminUser = AdminUser> {
113
117
  * Root-route component for admin apps — it wires up the whole shell orchestration so an app only has to
114
118
  * supply `logo` + `getUser` + `onLogout`. Public pages (route id under `authRouteId`) render standalone;
115
119
  * everything else renders inside the guarded admin shell (`RootLayout`, with an optional sidebar `UserCard`), gated by
116
- * `AuthGuard` (signed-out visitors bounce to `loginPath`). Logout clears the session and navigates to
117
- * `loginPath`. Mounts exactly one app-wide `<Toaster/>` (`toaster`; none with `toaster={false}` — the inner
120
+ * `AuthGuard` (signed-out visitors bounce to `loginPath?redirect=<the page>`, so a lost session or a shared
121
+ * link returns there after sign-in — see `useAuthRedirect`). Sign Out clears the session and navigates to
122
+ * plain `loginPath`, remembering nothing. Mounts exactly one app-wide `<Toaster/>` (`toaster`; none with `toaster={false}` — the inner
118
123
  * `RootLayout` always gets `toaster={false}`),
119
124
  * and wraps the page in an `ErrorBoundary` that resets on navigation (`errorBoundary`, default on).
120
125
  * While the app is still checking the session, pass `pending` (a full-screen loader instead of a premature
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from 'react';
1
+ import { type ReactNode } from 'react';
2
2
  export interface AuthGuardProps {
3
3
  /** Session check — a boolean, or a function that returns one (evaluated on render). */
4
4
  isAuthenticated: boolean | (() => boolean);
@@ -9,7 +9,13 @@ export interface AuthGuardProps {
9
9
  }
10
10
  /**
11
11
  * Component-level auth guard: renders `children` only when authenticated, otherwise redirects to
12
- * `redirectTo` via `<Navigate>`. Wrap the authenticated area (a page or a subtree) with it.
12
+ * `redirectTo` via `<Navigate replace>` (so Back from the login page doesn't bounce off the guard).
13
+ *
14
+ * The redirect **remembers the page**: it adds `?redirect=<path + search + hash>` to the login URL (the
15
+ * param name follows `config.keys.redirectQueryKey`) and keeps the same target in memory for this tab, so
16
+ * a multi-step sign-in that drops the query string still knows it. Read it back after sign-in with
17
+ * `useAuthRedirect` / `getAuthRedirect`. Nothing is remembered from `/`, from the login path itself, or
18
+ * during an explicit Sign Out (`AdminRoot`'s). Once it renders signed-in content, the target is forgotten.
13
19
  *
14
20
  * Requires a `@tanstack/react-router` context (it renders `<Navigate>`), so use it inside a routed
15
21
  * tree. `redirectTo` is a plain string — the library can't know the app's typed route tree, so it's
@@ -20,4 +26,4 @@ export interface AuthGuardProps {
20
26
  * <Dashboard />
21
27
  * </AuthGuard>
22
28
  */
23
- export declare const AuthGuard: ({ isAuthenticated, redirectTo, children }: AuthGuardProps) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const AuthGuard: ({ isAuthenticated, redirectTo, children }: AuthGuardProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from 'react';
1
+ import { type ReactNode } from 'react';
2
2
  export interface AuthGuardProps {
3
3
  /** Session check — a boolean, or a function that returns one (evaluated on render). */
4
4
  isAuthenticated: boolean | (() => boolean);
@@ -9,7 +9,13 @@ export interface AuthGuardProps {
9
9
  }
10
10
  /**
11
11
  * Component-level auth guard: renders `children` only when authenticated, otherwise redirects to
12
- * `redirectTo` via `<Navigate>`. Wrap the authenticated area (a page or a subtree) with it.
12
+ * `redirectTo` via `<Navigate replace>` (so Back from the login page doesn't bounce off the guard).
13
+ *
14
+ * The redirect **remembers the page**: it adds `?redirect=<path + search + hash>` to the login URL (the
15
+ * param name follows `config.keys.redirectQueryKey`) and keeps the same target in memory for this tab, so
16
+ * a multi-step sign-in that drops the query string still knows it. Read it back after sign-in with
17
+ * `useAuthRedirect` / `getAuthRedirect`. Nothing is remembered from `/`, from the login path itself, or
18
+ * during an explicit Sign Out (`AdminRoot`'s). Once it renders signed-in content, the target is forgotten.
13
19
  *
14
20
  * Requires a `@tanstack/react-router` context (it renders `<Navigate>`), so use it inside a routed
15
21
  * tree. `redirectTo` is a plain string — the library can't know the app's typed route tree, so it's
@@ -20,4 +26,4 @@ export interface AuthGuardProps {
20
26
  * <Dashboard />
21
27
  * </AuthGuard>
22
28
  */
23
- export declare const AuthGuard: ({ isAuthenticated, redirectTo, children }: AuthGuardProps) => import("react/jsx-runtime").JSX.Element;
29
+ export declare const AuthGuard: ({ isAuthenticated, redirectTo, children }: AuthGuardProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,13 +1,19 @@
1
+ import { type ParsedLocation } from '@tanstack/react-router';
1
2
  export interface AuthLayoutRouteOptions {
2
3
  /** Session check — returns whether the visitor is already signed in. */
3
4
  isAuthenticated: () => boolean;
4
- /** Where to send an **already signed-in** visitor. Defaults to `'/'`. */
5
+ /**
6
+ * Where to send an **already signed-in** visitor when no page is remembered (no safe `?redirect=`, nothing
7
+ * in memory — see `getAuthRedirect`). Defaults to `'/'`.
8
+ */
5
9
  redirectTo?: string;
6
10
  }
7
11
  /**
8
12
  * Route options for the pathless `_auth` layout that groups the public auth pages (login,
9
13
  * forgot-password, reset-password, otp, …). In `beforeLoad` it bounces an already signed-in visitor to
10
- * `redirectTo`; otherwise it renders its children standalone (`component: Outlet`).
14
+ * the page `AuthGuard` remembered (the safe `?redirect=` param, else this tab's memory — see
15
+ * `getAuthRedirect`), falling back to `redirectTo`; otherwise it renders its children standalone
16
+ * (`component: Outlet`).
11
17
  *
12
18
  * Returns only the route **options** (`beforeLoad` + `component`) — not a whole route — because the
13
19
  * router plugin needs the literal path in the file. Compose it with `createFileRoute('/_auth')`.
@@ -21,6 +27,8 @@ export interface AuthLayoutRouteOptions {
21
27
  * )
22
28
  */
23
29
  export declare const authLayoutRoute: ({ isAuthenticated, redirectTo }: AuthLayoutRouteOptions) => {
24
- beforeLoad: () => void;
30
+ beforeLoad: ({ location }?: {
31
+ location?: ParsedLocation;
32
+ }) => void;
25
33
  component: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element | null>;
26
34
  };
@@ -1,13 +1,19 @@
1
+ import { type ParsedLocation } from '@tanstack/react-router';
1
2
  export interface AuthLayoutRouteOptions {
2
3
  /** Session check — returns whether the visitor is already signed in. */
3
4
  isAuthenticated: () => boolean;
4
- /** Where to send an **already signed-in** visitor. Defaults to `'/'`. */
5
+ /**
6
+ * Where to send an **already signed-in** visitor when no page is remembered (no safe `?redirect=`, nothing
7
+ * in memory — see `getAuthRedirect`). Defaults to `'/'`.
8
+ */
5
9
  redirectTo?: string;
6
10
  }
7
11
  /**
8
12
  * Route options for the pathless `_auth` layout that groups the public auth pages (login,
9
13
  * forgot-password, reset-password, otp, …). In `beforeLoad` it bounces an already signed-in visitor to
10
- * `redirectTo`; otherwise it renders its children standalone (`component: Outlet`).
14
+ * the page `AuthGuard` remembered (the safe `?redirect=` param, else this tab's memory — see
15
+ * `getAuthRedirect`), falling back to `redirectTo`; otherwise it renders its children standalone
16
+ * (`component: Outlet`).
11
17
  *
12
18
  * Returns only the route **options** (`beforeLoad` + `component`) — not a whole route — because the
13
19
  * router plugin needs the literal path in the file. Compose it with `createFileRoute('/_auth')`.
@@ -21,6 +27,8 @@ export interface AuthLayoutRouteOptions {
21
27
  * )
22
28
  */
23
29
  export declare const authLayoutRoute: ({ isAuthenticated, redirectTo }: AuthLayoutRouteOptions) => {
24
- beforeLoad: () => void;
30
+ beforeLoad: ({ location }?: {
31
+ location?: ParsedLocation;
32
+ }) => void;
25
33
  component: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element | null>;
26
34
  };
@@ -0,0 +1,64 @@
1
+ /** The longest target accepted (characters) — anything longer is treated as crafted. */
2
+ export declare const AUTH_REDIRECT_MAX_LENGTH = 2048;
3
+ /** What the safety check needs to know about the app's sign-in pages. */
4
+ export interface AuthRedirectContext {
5
+ /** The sign-in page — the target may not be it, or a step under it (`/login/mfa`). */
6
+ loginPath: string;
7
+ /** Whether a path belongs to a public auth page (under `authRouteId`) — registered by `AdminRoot`. */
8
+ isAuthPath?: ((pathname: string) => boolean) | null;
9
+ /** The origin a target must stay on. Defaults to `window.location.origin`. */
10
+ origin?: string;
11
+ }
12
+ declare const settings: Required<Omit<AuthRedirectContext, 'origin'>> & {
13
+ queryKey: string;
14
+ };
15
+ /** @internal Update what the module knows about the app (called by `AuthGuard` / `AdminRoot` / the hook). */
16
+ export declare function configureAuthRedirect(next: Partial<typeof settings>): void;
17
+ /**
18
+ * The target, normalized to `pathname + search + hash`, when it's safe to navigate to — else `null`.
19
+ * Safe = a string of at most `AUTH_REDIRECT_MAX_LENGTH` characters, starting with a single `/`, that
20
+ * resolves to the same origin (rejects `https://evil.example`, `//evil.example`, `/\evil.example`,
21
+ * `javascript:…`), and isn't the login path, a step under it, or a public auth page.
22
+ */
23
+ export declare function safeAuthRedirect(value: unknown, { loginPath, isAuthPath, origin }: AuthRedirectContext): string | null;
24
+ /** @internal The target for a search string: its param, else the remembered one, else `fallback`. */
25
+ export declare function resolveAuthRedirect(searchStr: string, fallback?: string, queryKey?: string): string;
26
+ /**
27
+ * @internal Remember a target for this tab — returns it (normalized) when it's worth remembering, `null`
28
+ * otherwise (unsafe, `/`, the login path, or an explicit Sign Out is under way).
29
+ */
30
+ export declare function rememberAuthRedirect(target: string): string | null;
31
+ /**
32
+ * @internal An explicit Sign Out: forget the target and remember nothing until `endSignOut` (once the
33
+ * navigation to the login page has settled) or the next sign-in.
34
+ */
35
+ export declare function beginSignOut(): void;
36
+ /** @internal The Sign Out navigation settled — later guard redirects remember their page again. */
37
+ export declare function endSignOut(): void;
38
+ /** @internal Signed in (the guard rendered its content): the target is spent, Sign Out is over. */
39
+ export declare function authRedirectConsumed(): void;
40
+ /**
41
+ * Where to go after a successful sign-in, outside React (a route `beforeLoad`, a mutation's `onSuccess`):
42
+ * the `?redirect=` param of `window.location` if it's safe, else the target remembered in this tab, else
43
+ * `fallback` (default `'/'`). The param name follows `config.keys.redirectQueryKey` once the guard, the
44
+ * shell or `useAuthRedirect` has rendered.
45
+ */
46
+ export declare function getAuthRedirect(fallback?: string): string;
47
+ /**
48
+ * Where to go after a successful sign-in: the `?redirect=` param of the router's location if it's safe,
49
+ * else the target remembered in this tab, else `fallback` (default `'/'`). Pure — it doesn't clear
50
+ * anything; the target is forgotten once `AuthGuard` renders signed-in content (or `clearAuthRedirect`).
51
+ *
52
+ * @example
53
+ * const to = useAuthRedirect('/')
54
+ * if (status === 'authenticated') return <Navigate to={to} replace />
55
+ */
56
+ export declare function useAuthRedirect(fallback?: string): string;
57
+ /**
58
+ * Forget the remembered target. `AuthGuard` already does this once it renders signed-in content, so a
59
+ * later sign-in in the same tab doesn't reuse it — call it yourself only when you navigate elsewhere.
60
+ */
61
+ export declare function clearAuthRedirect(): void;
62
+ /** @internal Test-only: back to a fresh tab. */
63
+ export declare function resetAuthRedirect(): void;
64
+ export {};
@@ -0,0 +1,64 @@
1
+ /** The longest target accepted (characters) — anything longer is treated as crafted. */
2
+ export declare const AUTH_REDIRECT_MAX_LENGTH = 2048;
3
+ /** What the safety check needs to know about the app's sign-in pages. */
4
+ export interface AuthRedirectContext {
5
+ /** The sign-in page — the target may not be it, or a step under it (`/login/mfa`). */
6
+ loginPath: string;
7
+ /** Whether a path belongs to a public auth page (under `authRouteId`) — registered by `AdminRoot`. */
8
+ isAuthPath?: ((pathname: string) => boolean) | null;
9
+ /** The origin a target must stay on. Defaults to `window.location.origin`. */
10
+ origin?: string;
11
+ }
12
+ declare const settings: Required<Omit<AuthRedirectContext, 'origin'>> & {
13
+ queryKey: string;
14
+ };
15
+ /** @internal Update what the module knows about the app (called by `AuthGuard` / `AdminRoot` / the hook). */
16
+ export declare function configureAuthRedirect(next: Partial<typeof settings>): void;
17
+ /**
18
+ * The target, normalized to `pathname + search + hash`, when it's safe to navigate to — else `null`.
19
+ * Safe = a string of at most `AUTH_REDIRECT_MAX_LENGTH` characters, starting with a single `/`, that
20
+ * resolves to the same origin (rejects `https://evil.example`, `//evil.example`, `/\evil.example`,
21
+ * `javascript:…`), and isn't the login path, a step under it, or a public auth page.
22
+ */
23
+ export declare function safeAuthRedirect(value: unknown, { loginPath, isAuthPath, origin }: AuthRedirectContext): string | null;
24
+ /** @internal The target for a search string: its param, else the remembered one, else `fallback`. */
25
+ export declare function resolveAuthRedirect(searchStr: string, fallback?: string, queryKey?: string): string;
26
+ /**
27
+ * @internal Remember a target for this tab — returns it (normalized) when it's worth remembering, `null`
28
+ * otherwise (unsafe, `/`, the login path, or an explicit Sign Out is under way).
29
+ */
30
+ export declare function rememberAuthRedirect(target: string): string | null;
31
+ /**
32
+ * @internal An explicit Sign Out: forget the target and remember nothing until `endSignOut` (once the
33
+ * navigation to the login page has settled) or the next sign-in.
34
+ */
35
+ export declare function beginSignOut(): void;
36
+ /** @internal The Sign Out navigation settled — later guard redirects remember their page again. */
37
+ export declare function endSignOut(): void;
38
+ /** @internal Signed in (the guard rendered its content): the target is spent, Sign Out is over. */
39
+ export declare function authRedirectConsumed(): void;
40
+ /**
41
+ * Where to go after a successful sign-in, outside React (a route `beforeLoad`, a mutation's `onSuccess`):
42
+ * the `?redirect=` param of `window.location` if it's safe, else the target remembered in this tab, else
43
+ * `fallback` (default `'/'`). The param name follows `config.keys.redirectQueryKey` once the guard, the
44
+ * shell or `useAuthRedirect` has rendered.
45
+ */
46
+ export declare function getAuthRedirect(fallback?: string): string;
47
+ /**
48
+ * Where to go after a successful sign-in: the `?redirect=` param of the router's location if it's safe,
49
+ * else the target remembered in this tab, else `fallback` (default `'/'`). Pure — it doesn't clear
50
+ * anything; the target is forgotten once `AuthGuard` renders signed-in content (or `clearAuthRedirect`).
51
+ *
52
+ * @example
53
+ * const to = useAuthRedirect('/')
54
+ * if (status === 'authenticated') return <Navigate to={to} replace />
55
+ */
56
+ export declare function useAuthRedirect(fallback?: string): string;
57
+ /**
58
+ * Forget the remembered target. `AuthGuard` already does this once it renders signed-in content, so a
59
+ * later sign-in in the same tab doesn't reuse it — call it yourself only when you navigate elsewhere.
60
+ */
61
+ export declare function clearAuthRedirect(): void;
62
+ /** @internal Test-only: back to a fresh tab. */
63
+ export declare function resetAuthRedirect(): void;
64
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";const h=require("@tanstack/react-router"),n=require("./AuthGuard-CAaQZ2y7.cjs"),p=({isAuthenticated:s,redirectTo:r="/"})=>({beforeLoad:({location:e}={})=>{if(!s())return;const t=typeof window>"u"?void 0:window.location,a=(e==null?void 0:e.searchStr)??(t==null?void 0:t.search)??"",d=(e==null?void 0:e.pathname)??(t==null?void 0:t.pathname);let u=n.resolveAuthRedirect(a,r);throw u.split(/[?#]/)[0]===d&&(u=r),h.redirect({to:u,replace:!0})},component:h.Outlet});exports.authLayoutRoute=p;
2
+ //# sourceMappingURL=authLayoutRoute-DCG9gCZ8.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authLayoutRoute-DCG9gCZ8.cjs","sources":["../src/auth/authLayoutRoute.ts"],"sourcesContent":["import { Outlet, redirect, type LinkProps, type ParsedLocation } from '@tanstack/react-router'\nimport { resolveAuthRedirect } from './authRedirect'\n\nexport interface AuthLayoutRouteOptions {\n /** Session check — returns whether the visitor is already signed in. */\n isAuthenticated: () => boolean\n /**\n * Where to send an **already signed-in** visitor when no page is remembered (no safe `?redirect=`, nothing\n * in memory — see `getAuthRedirect`). Defaults to `'/'`.\n */\n redirectTo?: string\n}\n\n/**\n * Route options for the pathless `_auth` layout that groups the public auth pages (login,\n * forgot-password, reset-password, otp, …). In `beforeLoad` it bounces an already signed-in visitor to\n * the page `AuthGuard` remembered (the safe `?redirect=` param, else this tab's memory — see\n * `getAuthRedirect`), falling back to `redirectTo`; otherwise it renders its children standalone\n * (`component: Outlet`).\n *\n * Returns only the route **options** (`beforeLoad` + `component`) — not a whole route — because the\n * router plugin needs the literal path in the file. Compose it with `createFileRoute('/_auth')`.\n * `redirectTo` is a plain string, cast loosely to the router's `to` type (the library can't know the\n * app's typed route tree).\n *\n * @example\n * // routes/_auth.tsx\n * export const Route = createFileRoute('/_auth')(\n * authLayoutRoute({ isAuthenticated: session.isAuthenticated }),\n * )\n */\nexport const authLayoutRoute = ({ isAuthenticated, redirectTo = '/' }: AuthLayoutRouteOptions) => ({\n beforeLoad: ({ location }: { location?: ParsedLocation } = {}) => {\n if (!isAuthenticated()) return\n // the router's location (works with a memory history); `window.location` if called without one\n const browser = typeof window === 'undefined' ? undefined : window.location\n const searchStr = location?.searchStr ?? browser?.search ?? ''\n const pathname = location?.pathname ?? browser?.pathname\n let to = resolveAuthRedirect(searchStr, redirectTo)\n // never back onto this same page (a crafted param naming another auth page settles on the next hop)\n if (to.split(/[?#]/)[0] === pathname) to = redirectTo\n throw redirect({ to: to as LinkProps['to'], replace: true })\n },\n component: Outlet,\n})\n"],"names":["authLayoutRoute","isAuthenticated","redirectTo","location","browser","searchStr","pathname","to","resolveAuthRedirect","redirect","Outlet"],"mappings":"6FA+BaA,EAAkB,CAAC,CAAE,gBAAAC,EAAiB,WAAAC,EAAa,QAAmC,CACjG,WAAY,CAAC,CAAE,SAAAC,CAAA,EAA4C,KAAO,CAChE,GAAI,CAACF,IAAmB,OAExB,MAAMG,EAAU,OAAO,OAAW,IAAc,OAAY,OAAO,SAC7DC,GAAYF,GAAA,YAAAA,EAAU,aAAaC,GAAA,YAAAA,EAAS,SAAU,GACtDE,GAAWH,GAAA,YAAAA,EAAU,YAAYC,GAAA,YAAAA,EAAS,UAChD,IAAIG,EAAKC,EAAAA,oBAAoBH,EAAWH,CAAU,EAElD,MAAIK,EAAG,MAAM,MAAM,EAAE,CAAC,IAAMD,IAAUC,EAAKL,GACrCO,EAAAA,SAAS,CAAE,GAAAF,EAA2B,QAAS,GAAM,CAC7D,EACA,UAAWG,EAAAA,MACb"}
@@ -0,0 +1,15 @@
1
+ import { Outlet as s, redirect as u } from "@tanstack/react-router";
2
+ import { r as d } from "./AuthGuard-vqKf2PF9.js";
3
+ const c = ({ isAuthenticated: h, redirectTo: p = "/" }) => ({
4
+ beforeLoad: ({ location: e } = {}) => {
5
+ if (!h()) return;
6
+ const t = typeof window > "u" ? void 0 : window.location, a = (e == null ? void 0 : e.searchStr) ?? (t == null ? void 0 : t.search) ?? "", m = (e == null ? void 0 : e.pathname) ?? (t == null ? void 0 : t.pathname);
7
+ let r = d(a, p);
8
+ throw r.split(/[?#]/)[0] === m && (r = p), u({ to: r, replace: !0 });
9
+ },
10
+ component: s
11
+ });
12
+ export {
13
+ c as a
14
+ };
15
+ //# sourceMappingURL=authLayoutRoute-TuEqVizw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authLayoutRoute-TuEqVizw.js","sources":["../src/auth/authLayoutRoute.ts"],"sourcesContent":["import { Outlet, redirect, type LinkProps, type ParsedLocation } from '@tanstack/react-router'\nimport { resolveAuthRedirect } from './authRedirect'\n\nexport interface AuthLayoutRouteOptions {\n /** Session check — returns whether the visitor is already signed in. */\n isAuthenticated: () => boolean\n /**\n * Where to send an **already signed-in** visitor when no page is remembered (no safe `?redirect=`, nothing\n * in memory — see `getAuthRedirect`). Defaults to `'/'`.\n */\n redirectTo?: string\n}\n\n/**\n * Route options for the pathless `_auth` layout that groups the public auth pages (login,\n * forgot-password, reset-password, otp, …). In `beforeLoad` it bounces an already signed-in visitor to\n * the page `AuthGuard` remembered (the safe `?redirect=` param, else this tab's memory — see\n * `getAuthRedirect`), falling back to `redirectTo`; otherwise it renders its children standalone\n * (`component: Outlet`).\n *\n * Returns only the route **options** (`beforeLoad` + `component`) — not a whole route — because the\n * router plugin needs the literal path in the file. Compose it with `createFileRoute('/_auth')`.\n * `redirectTo` is a plain string, cast loosely to the router's `to` type (the library can't know the\n * app's typed route tree).\n *\n * @example\n * // routes/_auth.tsx\n * export const Route = createFileRoute('/_auth')(\n * authLayoutRoute({ isAuthenticated: session.isAuthenticated }),\n * )\n */\nexport const authLayoutRoute = ({ isAuthenticated, redirectTo = '/' }: AuthLayoutRouteOptions) => ({\n beforeLoad: ({ location }: { location?: ParsedLocation } = {}) => {\n if (!isAuthenticated()) return\n // the router's location (works with a memory history); `window.location` if called without one\n const browser = typeof window === 'undefined' ? undefined : window.location\n const searchStr = location?.searchStr ?? browser?.search ?? ''\n const pathname = location?.pathname ?? browser?.pathname\n let to = resolveAuthRedirect(searchStr, redirectTo)\n // never back onto this same page (a crafted param naming another auth page settles on the next hop)\n if (to.split(/[?#]/)[0] === pathname) to = redirectTo\n throw redirect({ to: to as LinkProps['to'], replace: true })\n },\n component: Outlet,\n})\n"],"names":["authLayoutRoute","isAuthenticated","redirectTo","location","browser","searchStr","pathname","to","resolveAuthRedirect","redirect","Outlet"],"mappings":";;AA+BO,MAAMA,IAAkB,CAAC,EAAE,iBAAAC,GAAiB,YAAAC,IAAa,WAAmC;AAAA,EACjG,YAAY,CAAC,EAAE,UAAAC,EAAA,IAA4C,OAAO;AAChE,QAAI,CAACF,IAAmB;AAExB,UAAMG,IAAU,OAAO,SAAW,MAAc,SAAY,OAAO,UAC7DC,KAAYF,KAAA,gBAAAA,EAAU,eAAaC,KAAA,gBAAAA,EAAS,WAAU,IACtDE,KAAWH,KAAA,gBAAAA,EAAU,cAAYC,KAAA,gBAAAA,EAAS;AAChD,QAAIG,IAAKC,EAAoBH,GAAWH,CAAU;AAElD,UAAIK,EAAG,MAAM,MAAM,EAAE,CAAC,MAAMD,MAAUC,IAAKL,IACrCO,EAAS,EAAE,IAAAF,GAA2B,SAAS,IAAM;AAAA,EAC7D;AAAA,EACA,WAAWG;AACb;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Alert-CVQOjuEq.cjs");exports.Alert=e.Alert;exports.default=e.Alert;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Alert-QvfNBhlU.cjs");exports.Alert=e.Alert;exports.default=e.Alert;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { A as r, A as t } from "../../Alert-BU7GlQna.js";
1
+ import { A as r, A as t } from "../../Alert-Bo_XgY-A.js";
2
2
  export {
3
3
  r as Alert,
4
4
  t as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Breadcrumbs-BbC0o4JE.cjs");exports.Breadcrumbs=e.Breadcrumbs;exports.default=e.Breadcrumbs;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Breadcrumbs-CqGS32x5.cjs");exports.Breadcrumbs=e.Breadcrumbs;exports.default=e.Breadcrumbs;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { B as e, B as s } from "../../Breadcrumbs-BMz_YVPa.js";
1
+ import { B as e, B as s } from "../../Breadcrumbs-BEv57tuJ.js";
2
2
  export {
3
3
  e as Breadcrumbs,
4
4
  s as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../Button-mBZOvgyZ.cjs");exports.Button=t.Button;exports.default=t.Button;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../Button-BtiFpRie.cjs");exports.Button=t.Button;exports.default=t.Button;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { B as o, B } from "../../Button-C415LPw_.js";
1
+ import { B as o, B } from "../../Button-DZWYeAno.js";
2
2
  export {
3
3
  o as Button,
4
4
  B as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Card-BdNr5row.cjs");exports.Card=e.Card;exports.default=e.Card;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Card-KfmWG9Uz.cjs");exports.Card=e.Card;exports.default=e.Card;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { C, C as d } from "../../Card-ssUNaOF_.js";
1
+ import { C, C as d } from "../../Card-ckOd617g.js";
2
2
  export {
3
3
  C as Card,
4
4
  d as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Chip-BpJN4rzY.cjs");exports.Chip=e.Chip;exports.default=e.Chip;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../Chip-BDUsue_R.cjs");exports.Chip=e.Chip;exports.default=e.Chip;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as e, C as f } from "../../Chip-C0x-6g2h.js";
1
+ import { C as e, C as f } from "../../Chip-Crzm7Eux.js";
2
2
  export {
3
3
  e as Chip,
4
4
  f as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../CodeBlock-DTrzN95i.cjs");exports.CodeBlock=e.CodeBlock;exports.default=e.CodeBlock;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../CodeBlock-rnGAu2DQ.cjs");exports.CodeBlock=e.CodeBlock;exports.default=e.CodeBlock;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as e, C } from "../../CodeBlock-DKnWINdV.js";
1
+ import { C as e, C } from "../../CodeBlock-CX8_dMPD.js";
2
2
  export {
3
3
  e as CodeBlock,
4
4
  C as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../ColorPicker-Doaegll4.cjs");exports.ColorPicker=e.ColorPicker;exports.default=e.ColorPicker;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../ColorPicker-BaAdcqR9.cjs");exports.ColorPicker=e.ColorPicker;exports.default=e.ColorPicker;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as a, C as e } from "../../ColorPicker-Bidev2DJ.js";
1
+ import { C as a, C as e } from "../../ColorPicker-CwLivdAt.js";
2
2
  export {
3
3
  a as ColorPicker,
4
4
  e as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../ColorRamp-CGw4D9bf.cjs");exports.ColorRamp=e.ColorRamp;exports.default=e.ColorRamp;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../ColorRamp-BCy8a7ks.cjs");exports.ColorRamp=e.ColorRamp;exports.default=e.ColorRamp;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as r, C } from "../../ColorRamp-Reb0q69d.js";
1
+ import { C as r, C } from "../../ColorRamp-DbFOsspz.js";
2
2
  export {
3
3
  r as ColorRamp,
4
4
  C as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../CopyButton-Cnab62vt.cjs");exports.CopyButton=t.CopyButton;exports.default=t.CopyButton;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("../../CopyButton-DUG5s3TM.cjs");exports.CopyButton=t.CopyButton;exports.default=t.CopyButton;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as a, C } from "../../CopyButton-Dm8-V4ku.js";
1
+ import { C as a, C } from "../../CopyButton-LURMuaYw.js";
2
2
  export {
3
3
  a as CopyButton,
4
4
  C as default
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../DatePicker-CaGeW_-j.cjs");exports.DatePicker=e.DatePicker;exports.default=e.DatePicker;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../DatePicker-Bw9gLB8o.cjs");exports.DatePicker=e.DatePicker;exports.default=e.DatePicker;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- import { D as r, D as t } from "../../DatePicker-C4MTCmDn.js";
1
+ import { D as r, D as t } from "../../DatePicker-CSIBYSZt.js";
2
2
  export {
3
3
  r as DatePicker,
4
4
  t as default