@egose/shadcn-theme 0.1.9 → 0.1.11

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 (434) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +88 -29
  3. package/{chunk-GBNJFKPB.js → chunk-26NBTW3I.js} +3 -3
  4. package/{chunk-7PX7GVOR.mjs → chunk-2EXZ4JQX.mjs} +2 -2
  5. package/{chunk-YJR5JBXS.js → chunk-36GT5EGU.js} +3 -3
  6. package/{chunk-AGPEWIPR.mjs → chunk-3R2OBHS6.mjs} +5 -5
  7. package/{chunk-QCHBJMD6.mjs → chunk-3R7FZDQ7.mjs} +2 -2
  8. package/{chunk-PS3LNHTA.js → chunk-3RQTEIV5.js} +3 -3
  9. package/{chunk-E7F5KADG.mjs → chunk-3YFVUGSK.mjs} +2 -2
  10. package/{chunk-7MDWTJEP.mjs → chunk-42IQSRLZ.mjs} +2 -2
  11. package/{chunk-GV62APQ6.js → chunk-5CUM73VT.js} +3 -3
  12. package/{chunk-P4EDRIBH.js → chunk-5LDEF3T6.js} +44 -44
  13. package/{chunk-HWDU5KVD.mjs → chunk-6M7NWFTI.mjs} +4 -4
  14. package/{chunk-CNYC22IA.mjs → chunk-6SAR4RAU.mjs} +4 -4
  15. package/{chunk-XMRJIUYX.mjs → chunk-7DB2YNKV.mjs} +2 -2
  16. package/{chunk-RPF753T2.mjs → chunk-7S5XDE3W.mjs} +2 -2
  17. package/{chunk-OMQVDSR6.js → chunk-A4VKE26S.js} +4 -4
  18. package/{chunk-WK4MG4VT.js → chunk-AH57ACVP.js} +6 -6
  19. package/{chunk-4BKWF5FK.js → chunk-AIZ3XYAI.js} +6 -6
  20. package/{chunk-RFORRZRN.js → chunk-AOGFHEQH.js} +11 -11
  21. package/{chunk-WJBTXKFN.js → chunk-AQWVA6TL.js} +14 -14
  22. package/{chunk-6ECNY4VS.mjs → chunk-ASPR3W6A.mjs} +4 -4
  23. package/{chunk-OVHPXYDN.mjs → chunk-B6SBEOMV.mjs} +2 -2
  24. package/{chunk-ZFSZ6K4K.js → chunk-BGITSWS4.js} +1 -1
  25. package/{chunk-RJVQU443.mjs → chunk-BKUEN3CP.mjs} +6 -6
  26. package/{chunk-OUVM5NST.js → chunk-BM53W77T.js} +9 -9
  27. package/{chunk-JZXOJAMQ.js → chunk-C4JWWUXI.js} +8 -8
  28. package/{chunk-IYVLRZJ4.js → chunk-C74J4JWA.js} +1 -1
  29. package/{chunk-OPNHC6JN.mjs → chunk-CFG4GTRV.mjs} +3 -3
  30. package/{chunk-YQENFZOY.mjs → chunk-CHV7CG5L.mjs} +2 -2
  31. package/{chunk-UFRPUC7K.js → chunk-CRBQL2FG.js} +3 -3
  32. package/{chunk-K4JVHEI2.js → chunk-CZZWPS2I.js} +3 -3
  33. package/{chunk-LAIO3QZX.js → chunk-DD3MCW6L.js} +17 -17
  34. package/{chunk-US2CUADK.mjs → chunk-DL6HJ3OB.mjs} +3 -3
  35. package/{chunk-WXEEDLLR.js → chunk-DNOZXQ2U.js} +15 -15
  36. package/{chunk-BJK4J4VY.js → chunk-DYYTK4BP.js} +7 -7
  37. package/{chunk-N7JSYNXM.js → chunk-FUFUQWRV.js} +1 -1
  38. package/{chunk-LPDYWZN6.js → chunk-GOATL3D5.js} +14 -14
  39. package/{chunk-VBPJD7U3.js → chunk-HCWYPASJ.js} +13 -13
  40. package/{chunk-SX4LQFOF.mjs → chunk-HD7GX5UE.mjs} +1 -1
  41. package/{chunk-6POWZMND.js → chunk-HDO7OG7I.js} +3 -3
  42. package/{chunk-AQIBLBXW.js → chunk-I4ICCNHG.js} +9 -9
  43. package/{chunk-KB6BX6LA.js → chunk-IEPLSUBR.js} +5 -5
  44. package/{chunk-NRCL342G.js → chunk-IOCZ25V7.js} +11 -11
  45. package/{chunk-FOEQYO2Q.js → chunk-JXITZDN4.js} +15 -15
  46. package/{chunk-6CRGZEQF.js → chunk-JYRR3NKH.js} +9 -9
  47. package/{chunk-Z342XYFY.js → chunk-KDDWHY5M.js} +6 -6
  48. package/{chunk-KGUUDFJE.mjs → chunk-KKCJ2GMO.mjs} +1 -1
  49. package/{chunk-4IDPSNL3.mjs → chunk-KS7PUPPU.mjs} +9 -9
  50. package/{chunk-RNKMPQDZ.mjs → chunk-L7EN73HA.mjs} +4 -4
  51. package/{chunk-NCJI2DCV.mjs → chunk-LBOUUQFM.mjs} +3 -3
  52. package/{chunk-RIBB6GXJ.mjs → chunk-MBDPHX4P.mjs} +3 -3
  53. package/{chunk-77MASFCZ.mjs → chunk-MLXTZKBJ.mjs} +1 -1
  54. package/{chunk-4ETXRZKO.js → chunk-MMD72AEX.js} +8 -8
  55. package/{chunk-O6PHWGJH.mjs → chunk-MP7OH5ZP.mjs} +2 -2
  56. package/{chunk-HTEQHRTK.mjs → chunk-MSZ2AHQM.mjs} +2 -2
  57. package/{chunk-CSL3CTEN.mjs → chunk-N3WWOWZ4.mjs} +2 -2
  58. package/{chunk-PSPAJNNB.js → chunk-NBQEF4JD.js} +1 -1
  59. package/{chunk-P4DW3EEW.mjs → chunk-NPEOZHKQ.mjs} +4 -4
  60. package/{chunk-GUB2Y4JK.mjs → chunk-NQQR2NDC.mjs} +3 -3
  61. package/{chunk-ZEZK2FJ4.mjs → chunk-O6E6RGZT.mjs} +1 -1
  62. package/{chunk-7ZMTJBXT.mjs → chunk-OURAYOOM.mjs} +7 -7
  63. package/{chunk-QF6PFV6M.mjs → chunk-OXUVPYJE.mjs} +2 -2
  64. package/{chunk-CKGMFUU2.js → chunk-OZAVO5UA.js} +3 -3
  65. package/{chunk-ICOZ5BK7.mjs → chunk-PBCJ476S.mjs} +3 -3
  66. package/{chunk-OXCN3BD6.mjs → chunk-PODBONNQ.mjs} +2 -2
  67. package/{chunk-5CBMRDT7.mjs → chunk-PW4ITUWI.mjs} +3 -3
  68. package/{chunk-F2QWMBUB.mjs → chunk-Q23ZKF2E.mjs} +2 -2
  69. package/{chunk-ELSPE6GB.mjs → chunk-QFLEJVD3.mjs} +5 -4
  70. package/{chunk-XVWILFYQ.mjs → chunk-RG3G5IZC.mjs} +2 -2
  71. package/{chunk-PDB2VCWX.mjs → chunk-RKVMGHH3.mjs} +1 -1
  72. package/{chunk-WKQDHQAS.js → chunk-RV4AOZUL.js} +10 -10
  73. package/{chunk-7BYWDRRI.mjs → chunk-S2LLOGBR.mjs} +3 -3
  74. package/{chunk-VHYQNTH7.mjs → chunk-S7HB64F7.mjs} +4 -4
  75. package/{chunk-TTCGK36S.js → chunk-SOJSGQJO.js} +8 -8
  76. package/{chunk-YEGS4ETW.js → chunk-SSBVBEDI.js} +12 -12
  77. package/{chunk-FD7CNCJW.mjs → chunk-SVZMGPZC.mjs} +4 -4
  78. package/{chunk-P6L4JTWO.js → chunk-TGQA25KR.js} +7 -6
  79. package/{chunk-3HZTA2ZQ.js → chunk-UHYOQN4B.js} +11 -11
  80. package/{chunk-K3LYDDTD.js → chunk-VHXALM6O.js} +5 -5
  81. package/{chunk-ZFBUIBJH.mjs → chunk-VQWCEF3I.mjs} +4 -4
  82. package/{chunk-4SYFVOM2.js → chunk-VRY6WSXJ.js} +1 -1
  83. package/{chunk-2YMMYND2.js → chunk-VVU3Q7KV.js} +3 -3
  84. package/{chunk-QHCOMBHI.js → chunk-W4ZJYYQP.js} +6 -6
  85. package/{chunk-D6YGFMSG.mjs → chunk-W7CX2O2V.mjs} +6 -6
  86. package/{chunk-NMYVYLKF.js → chunk-W7PK2KN7.js} +3 -3
  87. package/{chunk-UQW3H2JS.js → chunk-WEZTFUOR.js} +7 -7
  88. package/{chunk-X3V6YE47.mjs → chunk-WR7C2Q2O.mjs} +1 -1
  89. package/{chunk-G6WKPZTL.js → chunk-X3FLPO26.js} +10 -10
  90. package/{chunk-QMLV5G5Z.js → chunk-XF75HZNV.js} +36 -36
  91. package/{chunk-YDRPNCWF.mjs → chunk-XH7WQWOD.mjs} +5 -5
  92. package/{chunk-A4FV6TTM.js → chunk-XR7BY66N.js} +1 -1
  93. package/{chunk-UKPBHVOT.js → chunk-XWASPFJ7.js} +11 -11
  94. package/{chunk-7MDE2NEO.mjs → chunk-YAFFRILU.mjs} +2 -2
  95. package/{chunk-MM5OJOOR.mjs → chunk-YHL7Q5J3.mjs} +2 -2
  96. package/{chunk-RJG7QLDD.js → chunk-YMBEAV7N.js} +3 -3
  97. package/{chunk-BMAIJZN6.js → chunk-ZE53QYI6.js} +3 -3
  98. package/{chunk-3GHC4JQU.mjs → chunk-ZJRJN2UJ.mjs} +2 -2
  99. package/{chunk-WIISPZZE.mjs → chunk-ZLGQUL4Y.mjs} +2 -2
  100. package/{chunk-BEPAUXCN.mjs → chunk-ZSHUAH66.mjs} +4 -4
  101. package/components/form/checkbox.js +5 -5
  102. package/components/form/checkbox.mjs +4 -4
  103. package/components/form/date-picker.js +9 -9
  104. package/components/form/date-picker.mjs +8 -8
  105. package/components/form/date-range-picker.js +13 -13
  106. package/components/form/date-range-picker.mjs +7 -7
  107. package/components/form/error.js +3 -3
  108. package/components/form/error.mjs +2 -2
  109. package/components/form/hook-checkbox.js +10 -10
  110. package/components/form/hook-checkbox.mjs +5 -5
  111. package/components/form/hook-date-picker.js +12 -12
  112. package/components/form/hook-date-picker.mjs +9 -9
  113. package/components/form/hook-multi-select.js +17 -17
  114. package/components/form/hook-multi-select.mjs +14 -14
  115. package/components/form/hook-native-select.js +9 -9
  116. package/components/form/hook-native-select.mjs +4 -4
  117. package/components/form/hook-searchable-select.js +15 -15
  118. package/components/form/hook-searchable-select.mjs +12 -12
  119. package/components/form/hook-select.js +8 -8
  120. package/components/form/hook-select.mjs +5 -5
  121. package/components/form/hook-tag-picker.js +9 -9
  122. package/components/form/hook-tag-picker.mjs +6 -6
  123. package/components/form/hook-text-input.js +10 -10
  124. package/components/form/hook-text-input.mjs +5 -5
  125. package/components/form/hook-textarea.js +10 -10
  126. package/components/form/hook-textarea.mjs +5 -5
  127. package/components/form/hook-time-input.js +12 -12
  128. package/components/form/hook-time-input.mjs +7 -7
  129. package/components/form/multi-select.js +14 -14
  130. package/components/form/multi-select.mjs +13 -13
  131. package/components/form/native-select.js +4 -4
  132. package/components/form/native-select.mjs +3 -3
  133. package/components/form/searchable-select.js +12 -12
  134. package/components/form/searchable-select.mjs +11 -11
  135. package/components/form/select.js +5 -5
  136. package/components/form/select.mjs +4 -4
  137. package/components/form/tag-picker.d.mts +2 -2
  138. package/components/form/tag-picker.d.ts +2 -2
  139. package/components/form/tag-picker.js +6 -6
  140. package/components/form/tag-picker.mjs +5 -5
  141. package/components/form/text-input.d.mts +12 -0
  142. package/components/form/text-input.d.ts +12 -0
  143. package/components/form/text-input.js +5 -5
  144. package/components/form/text-input.mjs +4 -4
  145. package/components/form/textarea.js +5 -5
  146. package/components/form/textarea.mjs +4 -4
  147. package/components/form/time-input.js +7 -7
  148. package/components/form/time-input.mjs +6 -6
  149. package/components/form/types.d.mts +6 -0
  150. package/components/form/types.d.ts +6 -0
  151. package/components/ui/accordion.js +5 -5
  152. package/components/ui/accordion.mjs +1 -1
  153. package/components/ui/alert-dialog.js +12 -12
  154. package/components/ui/alert-dialog.mjs +3 -3
  155. package/components/ui/alert.js +3 -3
  156. package/components/ui/alert.mjs +2 -2
  157. package/components/ui/avatar.js +3 -3
  158. package/components/ui/avatar.mjs +2 -2
  159. package/components/ui/badge.js +3 -3
  160. package/components/ui/badge.mjs +2 -2
  161. package/components/ui/basic-alert.js +3 -3
  162. package/components/ui/basic-alert.mjs +2 -2
  163. package/components/ui/breadcrumb.js +3 -3
  164. package/components/ui/breadcrumb.mjs +2 -2
  165. package/components/ui/button-group.js +6 -6
  166. package/components/ui/button-group.mjs +2 -2
  167. package/components/ui/button.d.mts +23 -0
  168. package/components/ui/button.d.ts +23 -0
  169. package/components/ui/button.js +4 -4
  170. package/components/ui/button.mjs +3 -3
  171. package/components/ui/calendar.js +5 -5
  172. package/components/ui/calendar.mjs +4 -4
  173. package/components/ui/card.js +8 -8
  174. package/components/ui/card.mjs +1 -1
  175. package/components/ui/carousel.js +10 -10
  176. package/components/ui/carousel.mjs +3 -3
  177. package/components/ui/checkbox.js +3 -3
  178. package/components/ui/checkbox.mjs +2 -2
  179. package/components/ui/combobox.js +22 -22
  180. package/components/ui/combobox.mjs +6 -6
  181. package/components/ui/command.js +9 -9
  182. package/components/ui/command.mjs +8 -8
  183. package/components/ui/context-menu.js +11 -11
  184. package/components/ui/context-menu.mjs +1 -1
  185. package/components/ui/copy-button.js +8 -8
  186. package/components/ui/copy-button.mjs +3 -3
  187. package/components/ui/dialog.js +5 -5
  188. package/components/ui/dialog.mjs +4 -4
  189. package/components/ui/drawer.js +7 -7
  190. package/components/ui/drawer.mjs +1 -1
  191. package/components/ui/dropdown-menu.js +3 -3
  192. package/components/ui/dropdown-menu.mjs +2 -2
  193. package/components/ui/empty.js +7 -7
  194. package/components/ui/empty.mjs +1 -1
  195. package/components/ui/extension/file-input.js +5 -5
  196. package/components/ui/extension/file-input.mjs +4 -4
  197. package/components/ui/field.js +15 -15
  198. package/components/ui/field.mjs +3 -3
  199. package/components/ui/hover-card.js +2 -2
  200. package/components/ui/hover-card.mjs +1 -1
  201. package/components/ui/input-group.js +7 -7
  202. package/components/ui/input-group.mjs +6 -6
  203. package/components/ui/input-otp.js +5 -5
  204. package/components/ui/input-otp.mjs +1 -1
  205. package/components/ui/input.js +3 -3
  206. package/components/ui/input.mjs +2 -2
  207. package/components/ui/item.js +12 -12
  208. package/components/ui/item.mjs +2 -2
  209. package/components/ui/kbd.js +3 -3
  210. package/components/ui/kbd.mjs +1 -1
  211. package/components/ui/label.js +3 -3
  212. package/components/ui/label.mjs +2 -2
  213. package/components/ui/menubar.js +12 -12
  214. package/components/ui/menubar.mjs +1 -1
  215. package/components/ui/multi-select.js +11 -11
  216. package/components/ui/multi-select.mjs +10 -10
  217. package/components/ui/native-select.js +3 -3
  218. package/components/ui/native-select.mjs +1 -1
  219. package/components/ui/navigation-menu.js +10 -10
  220. package/components/ui/navigation-menu.mjs +1 -1
  221. package/components/ui/pagination.js +9 -9
  222. package/components/ui/pagination.mjs +3 -3
  223. package/components/ui/popover.js +3 -3
  224. package/components/ui/popover.mjs +2 -2
  225. package/components/ui/progress.js +2 -2
  226. package/components/ui/progress.mjs +1 -1
  227. package/components/ui/radio-group.js +3 -3
  228. package/components/ui/radio-group.mjs +1 -1
  229. package/components/ui/resizable.js +3 -3
  230. package/components/ui/resizable.mjs +1 -1
  231. package/components/ui/scroll-area.js +3 -3
  232. package/components/ui/scroll-area.mjs +1 -1
  233. package/components/ui/select.js +3 -3
  234. package/components/ui/select.mjs +2 -2
  235. package/components/ui/separator.js +3 -3
  236. package/components/ui/separator.mjs +2 -2
  237. package/components/ui/sheet.js +5 -5
  238. package/components/ui/sheet.mjs +4 -4
  239. package/components/ui/sidebar.js +11 -11
  240. package/components/ui/sidebar.mjs +10 -10
  241. package/components/ui/skeleton.js +3 -3
  242. package/components/ui/skeleton.mjs +2 -2
  243. package/components/ui/slider.js +2 -2
  244. package/components/ui/slider.mjs +1 -1
  245. package/components/ui/spinner.js +3 -3
  246. package/components/ui/spinner.mjs +2 -2
  247. package/components/ui/switch.js +2 -2
  248. package/components/ui/switch.mjs +1 -1
  249. package/components/ui/table.js +9 -9
  250. package/components/ui/table.mjs +1 -1
  251. package/components/ui/tabs.js +5 -5
  252. package/components/ui/tabs.mjs +1 -1
  253. package/components/ui/tag-picker.js +4 -4
  254. package/components/ui/tag-picker.mjs +3 -3
  255. package/components/ui/textarea.js +3 -3
  256. package/components/ui/textarea.mjs +2 -2
  257. package/components/ui/toggle-group.js +5 -5
  258. package/components/ui/toggle-group.mjs +2 -2
  259. package/components/ui/toggle.js +3 -3
  260. package/components/ui/toggle.mjs +2 -2
  261. package/components/ui/tooltip.js +3 -3
  262. package/components/ui/tooltip.mjs +2 -2
  263. package/components/widgets/dialog-manager/context.d.mts +26 -0
  264. package/components/widgets/dialog-manager/context.d.ts +26 -0
  265. package/components/widgets/dialog-manager/context.js +2 -2
  266. package/components/widgets/dialog-manager/context.mjs +1 -1
  267. package/components/widgets/dialog-manager/index.js +3 -3
  268. package/components/widgets/dialog-manager/index.mjs +2 -2
  269. package/components/widgets/dialog-manager/provider.d.mts +13 -0
  270. package/components/widgets/dialog-manager/provider.d.ts +13 -0
  271. package/components/widgets/dialog-manager/provider.js +3 -3
  272. package/components/widgets/dialog-manager/provider.mjs +2 -2
  273. package/components/widgets/dialog-manager/types.d.mts +10 -0
  274. package/components/widgets/dialog-manager/types.d.ts +10 -0
  275. package/hooks/use-clipboard.d.mts +12 -0
  276. package/hooks/use-clipboard.d.ts +12 -0
  277. package/hooks/use-clipboard.js +2 -2
  278. package/hooks/use-clipboard.mjs +1 -1
  279. package/hooks/use-mobile.d.mts +5 -0
  280. package/hooks/use-mobile.d.ts +5 -0
  281. package/hooks/use-mobile.js +2 -2
  282. package/hooks/use-mobile.mjs +1 -1
  283. package/layouts/sidebar1/app-sidebar.d.mts +12 -0
  284. package/layouts/sidebar1/app-sidebar.d.ts +12 -0
  285. package/layouts/sidebar1/app-sidebar.js +17 -17
  286. package/layouts/sidebar1/app-sidebar.mjs +16 -16
  287. package/layouts/sidebar1/context-switcher.js +13 -13
  288. package/layouts/sidebar1/context-switcher.mjs +12 -12
  289. package/layouts/sidebar1/index.d.mts +22 -0
  290. package/layouts/sidebar1/index.d.ts +22 -0
  291. package/layouts/sidebar1/index.js +23 -23
  292. package/layouts/sidebar1/index.js.map +1 -1
  293. package/layouts/sidebar1/index.mjs +17 -17
  294. package/layouts/sidebar1/index.mjs.map +1 -1
  295. package/layouts/sidebar1/nav-menus.js +12 -12
  296. package/layouts/sidebar1/nav-menus.mjs +11 -11
  297. package/layouts/sidebar1/nav-user.d.mts +9 -0
  298. package/layouts/sidebar1/nav-user.d.ts +9 -0
  299. package/layouts/sidebar1/nav-user.js +14 -14
  300. package/layouts/sidebar1/nav-user.mjs +13 -13
  301. package/layouts/simple/index.d.mts +23 -0
  302. package/layouts/simple/index.d.ts +23 -0
  303. package/layouts/simple/index.js +17 -17
  304. package/layouts/simple/index.js.map +1 -1
  305. package/layouts/simple/index.mjs +4 -4
  306. package/layouts/simple/index.mjs.map +1 -1
  307. package/layouts/simple/mobile-menu.js +3 -3
  308. package/layouts/simple/mobile-menu.mjs +2 -2
  309. package/layouts/simple/types.d.mts +11 -0
  310. package/layouts/simple/types.d.ts +11 -0
  311. package/layouts/simple/user-menu.js +4 -4
  312. package/layouts/simple/user-menu.mjs +3 -3
  313. package/llms.txt +102 -0
  314. package/package.json +84 -4
  315. package/utils/date.d.mts +9 -0
  316. package/utils/date.d.ts +9 -0
  317. package/utils/date.js +2 -2
  318. package/utils/date.mjs +1 -1
  319. package/utils/time.d.mts +12 -0
  320. package/utils/time.d.ts +12 -0
  321. package/utils/time.js +2 -2
  322. package/utils/time.mjs +1 -1
  323. package/utils/ui.d.mts +8 -0
  324. package/utils/ui.d.ts +8 -0
  325. package/utils/ui.js +2 -2
  326. package/utils/ui.mjs +1 -1
  327. package/chunk-2NMEKWO5.js.map +0 -1
  328. package/chunk-2YMMYND2.js.map +0 -1
  329. package/chunk-3GHC4JQU.mjs.map +0 -1
  330. package/chunk-3HZTA2ZQ.js.map +0 -1
  331. package/chunk-4BKWF5FK.js.map +0 -1
  332. package/chunk-4ETXRZKO.js.map +0 -1
  333. package/chunk-4IDPSNL3.mjs.map +0 -1
  334. package/chunk-4SYFVOM2.js.map +0 -1
  335. package/chunk-5CBMRDT7.mjs.map +0 -1
  336. package/chunk-5SLUBHNN.js.map +0 -1
  337. package/chunk-5TXFHYQ5.js.map +0 -1
  338. package/chunk-6CRGZEQF.js.map +0 -1
  339. package/chunk-6ECNY4VS.mjs.map +0 -1
  340. package/chunk-6POWZMND.js.map +0 -1
  341. package/chunk-6T6UTNWD.mjs.map +0 -1
  342. package/chunk-77MASFCZ.mjs.map +0 -1
  343. package/chunk-7BYWDRRI.mjs.map +0 -1
  344. package/chunk-7GZ7NWTV.js.map +0 -1
  345. package/chunk-7MDE2NEO.mjs.map +0 -1
  346. package/chunk-7MDWTJEP.mjs.map +0 -1
  347. package/chunk-7PX7GVOR.mjs.map +0 -1
  348. package/chunk-7ZMTJBXT.mjs.map +0 -1
  349. package/chunk-A4FV6TTM.js.map +0 -1
  350. package/chunk-AGPEWIPR.mjs.map +0 -1
  351. package/chunk-AQIBLBXW.js.map +0 -1
  352. package/chunk-B2Z7BNYW.mjs.map +0 -1
  353. package/chunk-BEPAUXCN.mjs.map +0 -1
  354. package/chunk-BJK4J4VY.js.map +0 -1
  355. package/chunk-BMAIJZN6.js.map +0 -1
  356. package/chunk-CKGMFUU2.js.map +0 -1
  357. package/chunk-CNYC22IA.mjs.map +0 -1
  358. package/chunk-CSL3CTEN.mjs.map +0 -1
  359. package/chunk-D6YGFMSG.mjs.map +0 -1
  360. package/chunk-E7F5KADG.mjs.map +0 -1
  361. package/chunk-ELSPE6GB.mjs.map +0 -1
  362. package/chunk-F2QWMBUB.mjs.map +0 -1
  363. package/chunk-FD7CNCJW.mjs.map +0 -1
  364. package/chunk-FOEQYO2Q.js.map +0 -1
  365. package/chunk-G6WKPZTL.js.map +0 -1
  366. package/chunk-GBNJFKPB.js.map +0 -1
  367. package/chunk-GUB2Y4JK.mjs.map +0 -1
  368. package/chunk-GV62APQ6.js.map +0 -1
  369. package/chunk-HTEQHRTK.mjs.map +0 -1
  370. package/chunk-HWDU5KVD.mjs.map +0 -1
  371. package/chunk-ICOZ5BK7.mjs.map +0 -1
  372. package/chunk-IYVLRZJ4.js.map +0 -1
  373. package/chunk-JZXOJAMQ.js.map +0 -1
  374. package/chunk-K3LYDDTD.js.map +0 -1
  375. package/chunk-K4JVHEI2.js.map +0 -1
  376. package/chunk-KB6BX6LA.js.map +0 -1
  377. package/chunk-KGUUDFJE.mjs.map +0 -1
  378. package/chunk-LAIO3QZX.js.map +0 -1
  379. package/chunk-LPDYWZN6.js.map +0 -1
  380. package/chunk-LVXIGNFJ.mjs.map +0 -1
  381. package/chunk-M6UKU56L.mjs.map +0 -1
  382. package/chunk-MM5OJOOR.mjs.map +0 -1
  383. package/chunk-N7JSYNXM.js.map +0 -1
  384. package/chunk-NCJI2DCV.mjs.map +0 -1
  385. package/chunk-NMYVYLKF.js.map +0 -1
  386. package/chunk-NRCL342G.js.map +0 -1
  387. package/chunk-O6PHWGJH.mjs.map +0 -1
  388. package/chunk-OMQVDSR6.js.map +0 -1
  389. package/chunk-OPNHC6JN.mjs.map +0 -1
  390. package/chunk-OUVM5NST.js.map +0 -1
  391. package/chunk-OVHPXYDN.mjs.map +0 -1
  392. package/chunk-OXCN3BD6.mjs.map +0 -1
  393. package/chunk-P4DW3EEW.mjs.map +0 -1
  394. package/chunk-P4EDRIBH.js.map +0 -1
  395. package/chunk-P6L4JTWO.js.map +0 -1
  396. package/chunk-PDB2VCWX.mjs.map +0 -1
  397. package/chunk-PS3LNHTA.js.map +0 -1
  398. package/chunk-PSPAJNNB.js.map +0 -1
  399. package/chunk-QCHBJMD6.mjs.map +0 -1
  400. package/chunk-QF6PFV6M.mjs.map +0 -1
  401. package/chunk-QHCOMBHI.js.map +0 -1
  402. package/chunk-QMLV5G5Z.js.map +0 -1
  403. package/chunk-RFORRZRN.js.map +0 -1
  404. package/chunk-RIBB6GXJ.mjs.map +0 -1
  405. package/chunk-RJG7QLDD.js.map +0 -1
  406. package/chunk-RJVQU443.mjs.map +0 -1
  407. package/chunk-RNKMPQDZ.mjs.map +0 -1
  408. package/chunk-RPF753T2.mjs.map +0 -1
  409. package/chunk-SC6IX6NJ.js.map +0 -1
  410. package/chunk-SX4LQFOF.mjs.map +0 -1
  411. package/chunk-TTCGK36S.js.map +0 -1
  412. package/chunk-UFRPUC7K.js.map +0 -1
  413. package/chunk-UKPBHVOT.js.map +0 -1
  414. package/chunk-UQW3H2JS.js.map +0 -1
  415. package/chunk-US2CUADK.mjs.map +0 -1
  416. package/chunk-VBPJD7U3.js.map +0 -1
  417. package/chunk-VHYQNTH7.mjs.map +0 -1
  418. package/chunk-WIISPZZE.mjs.map +0 -1
  419. package/chunk-WJBTXKFN.js.map +0 -1
  420. package/chunk-WK4MG4VT.js.map +0 -1
  421. package/chunk-WKQDHQAS.js.map +0 -1
  422. package/chunk-WXEEDLLR.js.map +0 -1
  423. package/chunk-X3V6YE47.mjs.map +0 -1
  424. package/chunk-XMRJIUYX.mjs.map +0 -1
  425. package/chunk-XVWILFYQ.mjs.map +0 -1
  426. package/chunk-YDRPNCWF.mjs.map +0 -1
  427. package/chunk-YEGS4ETW.js.map +0 -1
  428. package/chunk-YJR5JBXS.js.map +0 -1
  429. package/chunk-YOSPWY5K.mjs.map +0 -1
  430. package/chunk-YQENFZOY.mjs.map +0 -1
  431. package/chunk-Z342XYFY.js.map +0 -1
  432. package/chunk-ZEZK2FJ4.mjs.map +0 -1
  433. package/chunk-ZFBUIBJH.mjs.map +0 -1
  434. package/chunk-ZFSZ6K4K.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/index.js","../../../layouts/sidebar1/index.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/index.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { proxy, ref, useSnapshot } from 'valtio';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nimport { cn } from '../../utils/ui';\nimport { ThemeProvider } from 'next-themes';\nexport type { ISidebarData };\nexport type { INavUser };\n\nexport default function SidebarLayout({\n children,\n aslink,\n data,\n classNames,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n data: ISidebarData;\n classNames?: {\n sidebar?: string;\n inset?: string;\n header?: string;\n main?: string;\n };\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <ThemeProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} className={cn(classNames?.sidebar)} />\n <SidebarInset className={cn(classNames?.inset)}>\n <header\n className={cn(\n 'flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12',\n classNames?.header,\n )}\n >\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"\" />\n <LayoutHeader items={activeItems} />\n </div>\n </header>\n <main className={cn('px-4 pb-2 overflow-auto', classNames?.main)}>{children}</main>\n </SidebarInset>\n </SidebarProvider>\n </ThemeProvider>\n );\n}\n\ninterface HeaderState {\n content: React.ReactNode | ReturnType<typeof ref<object>>;\n}\n\nexport const headerStore = proxy<HeaderState>({\n content: null,\n});\n\nexport const setLayoutHeader = (node: React.ReactNode) => {\n if (node !== null && typeof node === 'object') {\n // We cast to any here to satisfy the internal Valtio ref assignment\n // or use a utility type\n headerStore.content = ref(node as object);\n } else {\n headerStore.content = node;\n }\n};\n\nfunction LayoutHeader({ items }: { items: string[] }) {\n const snap = useSnapshot(headerStore);\n if (snap.content) {\n return <>{snap.content}</>;\n }\n\n return (\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {items.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/index.js","../../../layouts/sidebar1/index.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/sidebar1/index.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { proxy, ref, useSnapshot } from 'valtio';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nimport { cn } from '../../utils/ui';\nimport { ThemeProvider } from 'next-themes';\nexport type { ISidebarData };\nexport type { INavUser };\n\n/**\n * Collapsible sidebar layout built on `@egose/shadcn-theme/components/ui/sidebar`.\n * Wraps content with `SidebarProvider`, renders an `AppSidebar` from `data`,\n * and shows a breadcrumb of active items in the header. Pass `aslink` (your\n * router's `Link`) so internal links work; the header also accepts custom\n * content via {@link setLayoutHeader}.\n *\n * @example\n * <SidebarLayout aslink={Link} data={sidebarData}>\n * {children}\n * </SidebarLayout>\n */\nexport default function SidebarLayout({\n children,\n aslink,\n data,\n classNames,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n data: ISidebarData;\n classNames?: {\n sidebar?: string;\n inset?: string;\n header?: string;\n main?: string;\n };\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <ThemeProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} className={cn(classNames?.sidebar)} />\n <SidebarInset className={cn(classNames?.inset)}>\n <header\n className={cn(\n 'flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12',\n classNames?.header,\n )}\n >\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"\" />\n <LayoutHeader items={activeItems} />\n </div>\n </header>\n <main className={cn('px-4 pb-2 overflow-auto', classNames?.main)}>{children}</main>\n </SidebarInset>\n </SidebarProvider>\n </ThemeProvider>\n );\n}\n\ninterface HeaderState {\n content: React.ReactNode | ReturnType<typeof ref<object>>;\n}\n\n/**\n * Internal Valtio proxy holding the header slot content. Read via\n * `useSnapshot(headerStore)`; prefer the {@link setLayoutHeader} helper\n * over mutating this directly so React nodes are wrapped with `valtio/ref`.\n */\nexport const headerStore = proxy<HeaderState>({\n content: null,\n});\n\n/**\n * Replace the sidebar layout header slot. Pass a React node (it is wrapped\n * with `valtio/ref` so it stays referentially stable inside the proxy) or\n * `null` to reset back to the breadcrumb-driven default.\n */\nexport const setLayoutHeader = (node: React.ReactNode) => {\n if (node !== null && typeof node === 'object') {\n // We cast to any here to satisfy the internal Valtio ref assignment\n // or use a utility type\n headerStore.content = ref(node as object);\n } else {\n headerStore.content = node;\n }\n};\n\nfunction LayoutHeader({ items }: { items: string[] }) {\n const snap = useSnapshot(headerStore);\n if (snap.content) {\n return <>{snap.content}</>;\n }\n\n return (\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {items.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n"]}
@@ -1,39 +1,39 @@
1
1
  "use client";
2
2
  import {
3
3
  AppSidebar
4
- } from "../../chunk-D6YGFMSG.mjs";
5
- import "../../chunk-CNYC22IA.mjs";
6
- import "../../chunk-5CBMRDT7.mjs";
7
- import "../../chunk-P4DW3EEW.mjs";
4
+ } from "../../chunk-W7CX2O2V.mjs";
5
+ import "../../chunk-6SAR4RAU.mjs";
6
+ import "../../chunk-PW4ITUWI.mjs";
7
+ import "../../chunk-NPEOZHKQ.mjs";
8
8
  import "../../chunk-LVXIGNFJ.mjs";
9
9
  import {
10
10
  SidebarInset,
11
11
  SidebarProvider,
12
12
  SidebarTrigger
13
- } from "../../chunk-4IDPSNL3.mjs";
14
- import "../../chunk-ICOZ5BK7.mjs";
15
- import "../../chunk-O6PHWGJH.mjs";
16
- import "../../chunk-RPF753T2.mjs";
13
+ } from "../../chunk-KS7PUPPU.mjs";
14
+ import "../../chunk-PBCJ476S.mjs";
15
+ import "../../chunk-MP7OH5ZP.mjs";
16
+ import "../../chunk-7S5XDE3W.mjs";
17
17
  import "../../chunk-M6UKU56L.mjs";
18
- import "../../chunk-XMRJIUYX.mjs";
19
- import "../../chunk-7PX7GVOR.mjs";
18
+ import "../../chunk-7DB2YNKV.mjs";
19
+ import "../../chunk-2EXZ4JQX.mjs";
20
20
  import {
21
21
  Breadcrumb,
22
22
  BreadcrumbItem,
23
23
  BreadcrumbList,
24
24
  BreadcrumbPage,
25
25
  BreadcrumbSeparator
26
- } from "../../chunk-7MDE2NEO.mjs";
26
+ } from "../../chunk-YAFFRILU.mjs";
27
27
  import {
28
28
  Separator
29
- } from "../../chunk-F2QWMBUB.mjs";
30
- import "../../chunk-QF6PFV6M.mjs";
31
- import "../../chunk-77MASFCZ.mjs";
32
- import "../../chunk-7BYWDRRI.mjs";
33
- import "../../chunk-3GHC4JQU.mjs";
29
+ } from "../../chunk-Q23ZKF2E.mjs";
30
+ import "../../chunk-OXUVPYJE.mjs";
31
+ import "../../chunk-MLXTZKBJ.mjs";
32
+ import "../../chunk-S2LLOGBR.mjs";
33
+ import "../../chunk-ZJRJN2UJ.mjs";
34
34
  import {
35
35
  cn
36
- } from "../../chunk-KGUUDFJE.mjs";
36
+ } from "../../chunk-KKCJ2GMO.mjs";
37
37
  import "../../chunk-YOSPWY5K.mjs";
38
38
 
39
39
  // layouts/sidebar1/index.tsx
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../layouts/sidebar1/index.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { proxy, ref, useSnapshot } from 'valtio';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nimport { cn } from '../../utils/ui';\nimport { ThemeProvider } from 'next-themes';\nexport type { ISidebarData };\nexport type { INavUser };\n\nexport default function SidebarLayout({\n children,\n aslink,\n data,\n classNames,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n data: ISidebarData;\n classNames?: {\n sidebar?: string;\n inset?: string;\n header?: string;\n main?: string;\n };\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <ThemeProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} className={cn(classNames?.sidebar)} />\n <SidebarInset className={cn(classNames?.inset)}>\n <header\n className={cn(\n 'flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12',\n classNames?.header,\n )}\n >\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"\" />\n <LayoutHeader items={activeItems} />\n </div>\n </header>\n <main className={cn('px-4 pb-2 overflow-auto', classNames?.main)}>{children}</main>\n </SidebarInset>\n </SidebarProvider>\n </ThemeProvider>\n );\n}\n\ninterface HeaderState {\n content: React.ReactNode | ReturnType<typeof ref<object>>;\n}\n\nexport const headerStore = proxy<HeaderState>({\n content: null,\n});\n\nexport const setLayoutHeader = (node: React.ReactNode) => {\n if (node !== null && typeof node === 'object') {\n // We cast to any here to satisfy the internal Valtio ref assignment\n // or use a utility type\n headerStore.content = ref(node as object);\n } else {\n headerStore.content = node;\n }\n};\n\nfunction LayoutHeader({ items }: { items: string[] }) {\n const snap = useSnapshot(headerStore);\n if (snap.content) {\n return <>{snap.content}</>;\n }\n\n return (\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {items.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,OAAO,KAAK,mBAAmB;AAcxC,SAAS,qBAAqB;AAIf,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAUI;AACF,QAAM,cAAwB,CAAC;AAE/B,OAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,SAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,UAAI,KAAK,UAAU;AACjB,aAAK,SAAS,QAAQ,CAAC,YAAY;AACjC,cAAI,QAAQ,UAAU;AACpB,wBAAY,KAAK,KAAK,OAAO,QAAQ,KAAK;AAAA,UAC5C;AAAA,QACF,CAAC;AAAA,MACH,WAAW,KAAK,UAAU;AACxB,oBAAY,KAAK,KAAK,KAAK;AAAA,MAC7B;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SACE,oCAAC,iBAAc,WAAU,SAAQ,cAAa,UAAS,cAAY,QACjE,oCAAC,uBACC,oCAAC,cAAW,QAAgB,MAAY,WAAW,GAAG,yCAAY,OAAO,GAAG,GAC5E,oCAAC,gBAAa,WAAW,GAAG,yCAAY,KAAK,KAC3C;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,yCAAY;AAAA,MACd;AAAA;AAAA,IAEA,oCAAC,SAAI,WAAU,kCACb,oCAAC,kBAAe,WAAU,SAAQ,GAClC,oCAAC,aAAU,aAAY,YAAW,WAAU,IAAG,GAC/C,oCAAC,gBAAa,OAAO,aAAa,CACpC;AAAA,EACF,GACA,oCAAC,UAAK,WAAW,GAAG,2BAA2B,yCAAY,IAAI,KAAI,QAAS,CAC9E,CACF,CACF;AAEJ;AAMO,IAAM,cAAc,MAAmB;AAAA,EAC5C,SAAS;AACX,CAAC;AAEM,IAAM,kBAAkB,CAAC,SAA0B;AACxD,MAAI,SAAS,QAAQ,OAAO,SAAS,UAAU;AAG7C,gBAAY,UAAU,IAAI,IAAc;AAAA,EAC1C,OAAO;AACL,gBAAY,UAAU;AAAA,EACxB;AACF;AAEA,SAAS,aAAa,EAAE,MAAM,GAAwB;AACpD,QAAM,OAAO,YAAY,WAAW;AACpC,MAAI,KAAK,SAAS;AAChB,WAAO,0DAAG,KAAK,OAAQ;AAAA,EACzB;AAEA,SACE,oCAAC,kBACC,oCAAC,kBAAe,WAAU,eACvB,MAAM,IAAI,CAAC,OAAO,UAAU;AAC3B,WACE,oCAAO,gBAAN,EAAe,KAAK,SAClB,QAAQ,KAAK,oCAAC,yBAAoB,GACnC,oCAAC,sBACC,oCAAC,kBAAe,WAAU,MAAI,KAAM,CACtC,CACF;AAAA,EAEJ,CAAC,CACH,CACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../layouts/sidebar1/index.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { proxy, ref, useSnapshot } from 'valtio';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../../components/ui/breadcrumb';\nimport { Separator } from '../../components/ui/separator';\nimport { SidebarInset, SidebarProvider, SidebarTrigger } from '../../components/ui/sidebar';\nimport { AppSidebar, ISidebarData } from './app-sidebar';\nimport { INavUser } from './nav-user';\nimport { cn } from '../../utils/ui';\nimport { ThemeProvider } from 'next-themes';\nexport type { ISidebarData };\nexport type { INavUser };\n\n/**\n * Collapsible sidebar layout built on `@egose/shadcn-theme/components/ui/sidebar`.\n * Wraps content with `SidebarProvider`, renders an `AppSidebar` from `data`,\n * and shows a breadcrumb of active items in the header. Pass `aslink` (your\n * router's `Link`) so internal links work; the header also accepts custom\n * content via {@link setLayoutHeader}.\n *\n * @example\n * <SidebarLayout aslink={Link} data={sidebarData}>\n * {children}\n * </SidebarLayout>\n */\nexport default function SidebarLayout({\n children,\n aslink,\n data,\n classNames,\n}: Readonly<{\n children: React.ReactNode;\n aslink: React.ElementType;\n data: ISidebarData;\n classNames?: {\n sidebar?: string;\n inset?: string;\n header?: string;\n main?: string;\n };\n}>) {\n const activeItems: string[] = [];\n\n data.menus.forEach((menu) => {\n menu.items.forEach((item) => {\n if (item.subItems) {\n item.subItems.forEach((subItem) => {\n if (subItem.isActive) {\n activeItems.push(item.title, subItem.title);\n }\n });\n } else if (item.isActive) {\n activeItems.push(item.title);\n }\n });\n });\n\n return (\n <ThemeProvider attribute=\"class\" defaultTheme=\"system\" enableSystem>\n <SidebarProvider>\n <AppSidebar aslink={aslink} data={data} className={cn(classNames?.sidebar)} />\n <SidebarInset className={cn(classNames?.inset)}>\n <header\n className={cn(\n 'flex h-14 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12',\n classNames?.header,\n )}\n >\n <div className=\"flex items-center gap-2 px-4\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator orientation=\"vertical\" className=\"\" />\n <LayoutHeader items={activeItems} />\n </div>\n </header>\n <main className={cn('px-4 pb-2 overflow-auto', classNames?.main)}>{children}</main>\n </SidebarInset>\n </SidebarProvider>\n </ThemeProvider>\n );\n}\n\ninterface HeaderState {\n content: React.ReactNode | ReturnType<typeof ref<object>>;\n}\n\n/**\n * Internal Valtio proxy holding the header slot content. Read via\n * `useSnapshot(headerStore)`; prefer the {@link setLayoutHeader} helper\n * over mutating this directly so React nodes are wrapped with `valtio/ref`.\n */\nexport const headerStore = proxy<HeaderState>({\n content: null,\n});\n\n/**\n * Replace the sidebar layout header slot. Pass a React node (it is wrapped\n * with `valtio/ref` so it stays referentially stable inside the proxy) or\n * `null` to reset back to the breadcrumb-driven default.\n */\nexport const setLayoutHeader = (node: React.ReactNode) => {\n if (node !== null && typeof node === 'object') {\n // We cast to any here to satisfy the internal Valtio ref assignment\n // or use a utility type\n headerStore.content = ref(node as object);\n } else {\n headerStore.content = node;\n }\n};\n\nfunction LayoutHeader({ items }: { items: string[] }) {\n const snap = useSnapshot(headerStore);\n if (snap.content) {\n return <>{snap.content}</>;\n }\n\n return (\n <Breadcrumb>\n <BreadcrumbList className=\"text-dark\">\n {items.map((bread, index) => {\n return (\n <React.Fragment key={bread}>\n {index > 0 && <BreadcrumbSeparator />}\n <BreadcrumbItem>\n <BreadcrumbPage className=\"\">{bread}</BreadcrumbPage>\n </BreadcrumbItem>\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AACvB,SAAS,OAAO,KAAK,mBAAmB;AAcxC,SAAS,qBAAqB;AAgBf,SAAR,cAA+B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAUI;AACF,QAAM,cAAwB,CAAC;AAE/B,OAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,SAAK,MAAM,QAAQ,CAAC,SAAS;AAC3B,UAAI,KAAK,UAAU;AACjB,aAAK,SAAS,QAAQ,CAAC,YAAY;AACjC,cAAI,QAAQ,UAAU;AACpB,wBAAY,KAAK,KAAK,OAAO,QAAQ,KAAK;AAAA,UAC5C;AAAA,QACF,CAAC;AAAA,MACH,WAAW,KAAK,UAAU;AACxB,oBAAY,KAAK,KAAK,KAAK;AAAA,MAC7B;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SACE,oCAAC,iBAAc,WAAU,SAAQ,cAAa,UAAS,cAAY,QACjE,oCAAC,uBACC,oCAAC,cAAW,QAAgB,MAAY,WAAW,GAAG,yCAAY,OAAO,GAAG,GAC5E,oCAAC,gBAAa,WAAW,GAAG,yCAAY,KAAK,KAC3C;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,yCAAY;AAAA,MACd;AAAA;AAAA,IAEA,oCAAC,SAAI,WAAU,kCACb,oCAAC,kBAAe,WAAU,SAAQ,GAClC,oCAAC,aAAU,aAAY,YAAW,WAAU,IAAG,GAC/C,oCAAC,gBAAa,OAAO,aAAa,CACpC;AAAA,EACF,GACA,oCAAC,UAAK,WAAW,GAAG,2BAA2B,yCAAY,IAAI,KAAI,QAAS,CAC9E,CACF,CACF;AAEJ;AAWO,IAAM,cAAc,MAAmB;AAAA,EAC5C,SAAS;AACX,CAAC;AAOM,IAAM,kBAAkB,CAAC,SAA0B;AACxD,MAAI,SAAS,QAAQ,OAAO,SAAS,UAAU;AAG7C,gBAAY,UAAU,IAAI,IAAc;AAAA,EAC1C,OAAO;AACL,gBAAY,UAAU;AAAA,EACxB;AACF;AAEA,SAAS,aAAa,EAAE,MAAM,GAAwB;AACpD,QAAM,OAAO,YAAY,WAAW;AACpC,MAAI,KAAK,SAAS;AAChB,WAAO,0DAAG,KAAK,OAAQ;AAAA,EACzB;AAEA,SACE,oCAAC,kBACC,oCAAC,kBAAe,WAAU,eACvB,MAAM,IAAI,CAAC,OAAO,UAAU;AAC3B,WACE,oCAAO,gBAAN,EAAe,KAAK,SAClB,QAAQ,KAAK,oCAAC,yBAAoB,GACnC,oCAAC,sBACC,oCAAC,kBAAe,WAAU,MAAI,KAAM,CACtC,CACF;AAAA,EAEJ,CAAC,CACH,CACF;AAEJ;","names":[]}
@@ -2,20 +2,20 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkAQIBLBXWjs = require('../../chunk-AQIBLBXW.js');
6
- require('../../chunk-P4EDRIBH.js');
7
- require('../../chunk-WKQDHQAS.js');
8
- require('../../chunk-BMAIJZN6.js');
5
+ var _chunkI4ICCNHGjs = require('../../chunk-I4ICCNHG.js');
6
+ require('../../chunk-5LDEF3T6.js');
7
+ require('../../chunk-RV4AOZUL.js');
8
+ require('../../chunk-ZE53QYI6.js');
9
9
  require('../../chunk-SC6IX6NJ.js');
10
- require('../../chunk-YJR5JBXS.js');
11
- require('../../chunk-K4JVHEI2.js');
12
- require('../../chunk-UFRPUC7K.js');
13
- require('../../chunk-N7JSYNXM.js');
14
- require('../../chunk-KB6BX6LA.js');
15
- require('../../chunk-GV62APQ6.js');
16
- require('../../chunk-PSPAJNNB.js');
10
+ require('../../chunk-36GT5EGU.js');
11
+ require('../../chunk-CZZWPS2I.js');
12
+ require('../../chunk-CRBQL2FG.js');
13
+ require('../../chunk-FUFUQWRV.js');
14
+ require('../../chunk-IEPLSUBR.js');
15
+ require('../../chunk-5CUM73VT.js');
16
+ require('../../chunk-NBQEF4JD.js');
17
17
  require('../../chunk-2NMEKWO5.js');
18
18
 
19
19
 
20
- exports.NavMenus = _chunkAQIBLBXWjs.NavMenus;
20
+ exports.NavMenus = _chunkI4ICCNHGjs.NavMenus;
21
21
  //# sourceMappingURL=nav-menus.js.map
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import {
3
3
  NavMenus
4
- } from "../../chunk-5CBMRDT7.mjs";
5
- import "../../chunk-4IDPSNL3.mjs";
6
- import "../../chunk-ICOZ5BK7.mjs";
7
- import "../../chunk-O6PHWGJH.mjs";
4
+ } from "../../chunk-PW4ITUWI.mjs";
5
+ import "../../chunk-KS7PUPPU.mjs";
6
+ import "../../chunk-PBCJ476S.mjs";
7
+ import "../../chunk-MP7OH5ZP.mjs";
8
8
  import "../../chunk-M6UKU56L.mjs";
9
- import "../../chunk-XMRJIUYX.mjs";
10
- import "../../chunk-F2QWMBUB.mjs";
11
- import "../../chunk-QF6PFV6M.mjs";
12
- import "../../chunk-77MASFCZ.mjs";
13
- import "../../chunk-7BYWDRRI.mjs";
14
- import "../../chunk-3GHC4JQU.mjs";
15
- import "../../chunk-KGUUDFJE.mjs";
9
+ import "../../chunk-7DB2YNKV.mjs";
10
+ import "../../chunk-Q23ZKF2E.mjs";
11
+ import "../../chunk-OXUVPYJE.mjs";
12
+ import "../../chunk-MLXTZKBJ.mjs";
13
+ import "../../chunk-S2LLOGBR.mjs";
14
+ import "../../chunk-ZJRJN2UJ.mjs";
15
+ import "../../chunk-KKCJ2GMO.mjs";
16
16
  import "../../chunk-YOSPWY5K.mjs";
17
17
  export {
18
18
  NavMenus
@@ -1,10 +1,19 @@
1
1
  import * as React from 'react';
2
2
 
3
+ /**
4
+ * Display profile for the user section at the bottom of the sidebar. `avatar`
5
+ * is rendered as the `Avatar` image source (falls back to `name` initials).
6
+ */
3
7
  interface INavUser {
4
8
  name: string;
5
9
  email: string;
6
10
  avatar: string;
7
11
  }
12
+ /**
13
+ * Single entry inside the user dropdown menu. `url` is used for navigation
14
+ * (rendered with the `aslink` component passed to the layout); alternatively
15
+ * `onClick` fires when the item is selected.
16
+ */
8
17
  interface INavUserMenuItem {
9
18
  title: string;
10
19
  url?: string;
@@ -1,10 +1,19 @@
1
1
  import * as React from 'react';
2
2
 
3
+ /**
4
+ * Display profile for the user section at the bottom of the sidebar. `avatar`
5
+ * is rendered as the `Avatar` image source (falls back to `name` initials).
6
+ */
3
7
  interface INavUser {
4
8
  name: string;
5
9
  email: string;
6
10
  avatar: string;
7
11
  }
12
+ /**
13
+ * Single entry inside the user dropdown menu. `url` is used for navigation
14
+ * (rendered with the `aslink` component passed to the layout); alternatively
15
+ * `onClick` fires when the item is selected.
16
+ */
8
17
  interface INavUserMenuItem {
9
18
  title: string;
10
19
  url?: string;
@@ -2,22 +2,22 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
3
3
 
4
4
 
5
- var _chunkFOEQYO2Qjs = require('../../chunk-FOEQYO2Q.js');
5
+ var _chunkJXITZDN4js = require('../../chunk-JXITZDN4.js');
6
6
  require('../../chunk-5TXFHYQ5.js');
7
- require('../../chunk-P4EDRIBH.js');
8
- require('../../chunk-WKQDHQAS.js');
9
- require('../../chunk-BMAIJZN6.js');
10
- require('../../chunk-UKPBHVOT.js');
11
- require('../../chunk-YJR5JBXS.js');
12
- require('../../chunk-4ETXRZKO.js');
13
- require('../../chunk-K4JVHEI2.js');
14
- require('../../chunk-UFRPUC7K.js');
15
- require('../../chunk-N7JSYNXM.js');
16
- require('../../chunk-KB6BX6LA.js');
17
- require('../../chunk-GV62APQ6.js');
18
- require('../../chunk-PSPAJNNB.js');
7
+ require('../../chunk-5LDEF3T6.js');
8
+ require('../../chunk-RV4AOZUL.js');
9
+ require('../../chunk-ZE53QYI6.js');
10
+ require('../../chunk-XWASPFJ7.js');
11
+ require('../../chunk-36GT5EGU.js');
12
+ require('../../chunk-MMD72AEX.js');
13
+ require('../../chunk-CZZWPS2I.js');
14
+ require('../../chunk-CRBQL2FG.js');
15
+ require('../../chunk-FUFUQWRV.js');
16
+ require('../../chunk-IEPLSUBR.js');
17
+ require('../../chunk-5CUM73VT.js');
18
+ require('../../chunk-NBQEF4JD.js');
19
19
  require('../../chunk-2NMEKWO5.js');
20
20
 
21
21
 
22
- exports.NavUser = _chunkFOEQYO2Qjs.NavUser;
22
+ exports.NavUser = _chunkJXITZDN4js.NavUser;
23
23
  //# sourceMappingURL=nav-user.js.map
@@ -1,20 +1,20 @@
1
1
  "use client";
2
2
  import {
3
3
  NavUser
4
- } from "../../chunk-P4DW3EEW.mjs";
4
+ } from "../../chunk-NPEOZHKQ.mjs";
5
5
  import "../../chunk-LVXIGNFJ.mjs";
6
- import "../../chunk-4IDPSNL3.mjs";
7
- import "../../chunk-ICOZ5BK7.mjs";
8
- import "../../chunk-O6PHWGJH.mjs";
9
- import "../../chunk-RPF753T2.mjs";
10
- import "../../chunk-XMRJIUYX.mjs";
11
- import "../../chunk-7PX7GVOR.mjs";
12
- import "../../chunk-F2QWMBUB.mjs";
13
- import "../../chunk-QF6PFV6M.mjs";
14
- import "../../chunk-77MASFCZ.mjs";
15
- import "../../chunk-7BYWDRRI.mjs";
16
- import "../../chunk-3GHC4JQU.mjs";
17
- import "../../chunk-KGUUDFJE.mjs";
6
+ import "../../chunk-KS7PUPPU.mjs";
7
+ import "../../chunk-PBCJ476S.mjs";
8
+ import "../../chunk-MP7OH5ZP.mjs";
9
+ import "../../chunk-7S5XDE3W.mjs";
10
+ import "../../chunk-7DB2YNKV.mjs";
11
+ import "../../chunk-2EXZ4JQX.mjs";
12
+ import "../../chunk-Q23ZKF2E.mjs";
13
+ import "../../chunk-OXUVPYJE.mjs";
14
+ import "../../chunk-MLXTZKBJ.mjs";
15
+ import "../../chunk-S2LLOGBR.mjs";
16
+ import "../../chunk-ZJRJN2UJ.mjs";
17
+ import "../../chunk-KKCJ2GMO.mjs";
18
18
  import "../../chunk-YOSPWY5K.mjs";
19
19
  export {
20
20
  NavUser
@@ -1,6 +1,15 @@
1
1
  import React__default from 'react';
2
2
  import { UserMenuSection, MenuItem } from './types.mjs';
3
3
 
4
+ /**
5
+ * Props for {@link SimpleLayout}. The layout renders a fixed header with
6
+ * optional left/right nav menus, an optional user dropdown, an optional
7
+ * mobile menu, an optional footer, and a main content slot for `children`.
8
+ *
9
+ * `aslink` is required: pass your router's `Link` component so internal
10
+ * navigation works without re-implementing it. The same component is
11
+ * rendered for both `to=` (React Router) and `href=` (Next.js) prop styles.
12
+ */
4
13
  interface LayoutProps {
5
14
  logo?: {
6
15
  src?: string;
@@ -51,6 +60,20 @@ interface LayoutProps {
51
60
  children?: React__default.ReactNode;
52
61
  aslink: React__default.ElementType;
53
62
  }
63
+ /**
64
+ * Header + main + footer layout for content-light pages. Mobile-aware
65
+ * (collapsible menu under 768px). Compose the inner pieces with the
66
+ * `classNames` slots rather than overriding internal markup.
67
+ *
68
+ * @example
69
+ * <SimpleLayout
70
+ * aslink={Link}
71
+ * left={{ menus: [{ label: 'Home', link: '/' }] }}
72
+ * user={{ menuSections: [...] }}
73
+ * >
74
+ * {children}
75
+ * </SimpleLayout>
76
+ */
54
77
  declare function SimpleLayout(props: LayoutProps): React__default.JSX.Element;
55
78
 
56
79
  export { SimpleLayout as default };
@@ -1,6 +1,15 @@
1
1
  import React__default from 'react';
2
2
  import { UserMenuSection, MenuItem } from './types.js';
3
3
 
4
+ /**
5
+ * Props for {@link SimpleLayout}. The layout renders a fixed header with
6
+ * optional left/right nav menus, an optional user dropdown, an optional
7
+ * mobile menu, an optional footer, and a main content slot for `children`.
8
+ *
9
+ * `aslink` is required: pass your router's `Link` component so internal
10
+ * navigation works without re-implementing it. The same component is
11
+ * rendered for both `to=` (React Router) and `href=` (Next.js) prop styles.
12
+ */
4
13
  interface LayoutProps {
5
14
  logo?: {
6
15
  src?: string;
@@ -51,6 +60,20 @@ interface LayoutProps {
51
60
  children?: React__default.ReactNode;
52
61
  aslink: React__default.ElementType;
53
62
  }
63
+ /**
64
+ * Header + main + footer layout for content-light pages. Mobile-aware
65
+ * (collapsible menu under 768px). Compose the inner pieces with the
66
+ * `classNames` slots rather than overriding internal markup.
67
+ *
68
+ * @example
69
+ * <SimpleLayout
70
+ * aslink={Link}
71
+ * left={{ menus: [{ label: 'Home', link: '/' }] }}
72
+ * user={{ menuSections: [...] }}
73
+ * >
74
+ * {children}
75
+ * </SimpleLayout>
76
+ */
54
77
  declare function SimpleLayout(props: LayoutProps): React__default.JSX.Element;
55
78
 
56
79
  export { SimpleLayout as default };
@@ -2,14 +2,14 @@
2
2
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3
3
 
4
4
 
5
- var _chunkOUVM5NSTjs = require('../../chunk-OUVM5NST.js');
5
+ var _chunkBM53W77Tjs = require('../../chunk-BM53W77T.js');
6
6
 
7
7
 
8
- var _chunkOMQVDSR6js = require('../../chunk-OMQVDSR6.js');
9
- require('../../chunk-UKPBHVOT.js');
8
+ var _chunkA4VKE26Sjs = require('../../chunk-A4VKE26S.js');
9
+ require('../../chunk-XWASPFJ7.js');
10
10
 
11
11
 
12
- var _chunkPSPAJNNBjs = require('../../chunk-PSPAJNNB.js');
12
+ var _chunkNBQEF4JDjs = require('../../chunk-NBQEF4JD.js');
13
13
  require('../../chunk-2NMEKWO5.js');
14
14
 
15
15
  // layouts/simple/index.tsx
@@ -38,7 +38,7 @@ function SimpleLayout(props) {
38
38
  return /* @__PURE__ */ _react2.default.createElement("div", { className: "flex flex-col min-h-screen" }, /* @__PURE__ */ _react2.default.createElement(
39
39
  "header",
40
40
  {
41
- className: _chunkPSPAJNNBjs.cn.call(void 0,
41
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
42
42
  "px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300",
43
43
  (_e = classNames == null ? void 0 : classNames.header) == null ? void 0 : _e.wrapper
44
44
  )
@@ -50,7 +50,7 @@ function SimpleLayout(props) {
50
50
  onClick: () => {
51
51
  }
52
52
  }
53
- ), logo && /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkPSPAJNNBjs.cn.call(void 0, "_logo") }, /* @__PURE__ */ _react2.default.createElement(LinkComponent, { to: (_f = logo.link) != null ? _f : "/", href: (_g = logo.link) != null ? _g : "/" }, /* @__PURE__ */ _react2.default.createElement("img", { src: logo.src, alt: "Logo", className: _chunkPSPAJNNBjs.cn.call(void 0, "h-10", (_h = classNames == null ? void 0 : classNames.header) == null ? void 0 : _h.logo) }))), /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunkPSPAJNNBjs.cn.call(void 0, "flex space-x-4 items-center", (_j = (_i = classNames == null ? void 0 : classNames.header) == null ? void 0 : _i.left) == null ? void 0 : _j.nav) }, leftMenus.map(
53
+ ), logo && /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkNBQEF4JDjs.cn.call(void 0, "_logo") }, /* @__PURE__ */ _react2.default.createElement(LinkComponent, { to: (_f = logo.link) != null ? _f : "/", href: (_g = logo.link) != null ? _g : "/" }, /* @__PURE__ */ _react2.default.createElement("img", { src: logo.src, alt: "Logo", className: _chunkNBQEF4JDjs.cn.call(void 0, "h-10", (_h = classNames == null ? void 0 : classNames.header) == null ? void 0 : _h.logo) }))), /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunkNBQEF4JDjs.cn.call(void 0, "flex space-x-4 items-center", (_j = (_i = classNames == null ? void 0 : classNames.header) == null ? void 0 : _i.left) == null ? void 0 : _j.nav) }, leftMenus.map(
54
54
  (item) => {
55
55
  var _a2, _b2, _c2, _d2;
56
56
  return item.link ? /* @__PURE__ */ _react2.default.createElement(
@@ -59,7 +59,7 @@ function SimpleLayout(props) {
59
59
  key: item.label,
60
60
  to: item.link,
61
61
  href: item.link,
62
- className: _chunkPSPAJNNBjs.cn.call(void 0,
62
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
63
63
  "text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
64
64
  (_b2 = (_a2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _a2.left) == null ? void 0 : _b2.link,
65
65
  item.className,
@@ -72,7 +72,7 @@ function SimpleLayout(props) {
72
72
  {
73
73
  key: item.label,
74
74
  onClick: item.action,
75
- className: _chunkPSPAJNNBjs.cn.call(void 0,
75
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
76
76
  "text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
77
77
  (_d2 = (_c2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _c2.left) == null ? void 0 : _d2.link,
78
78
  item.className,
@@ -83,7 +83,7 @@ function SimpleLayout(props) {
83
83
  );
84
84
  }
85
85
  ))),
86
- /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunkPSPAJNNBjs.cn.call(void 0, "hidden md:flex space-x-4 items-center", (_l = (_k = classNames == null ? void 0 : classNames.header) == null ? void 0 : _k.right) == null ? void 0 : _l.nav) }, rightMenus.map(
86
+ /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunkNBQEF4JDjs.cn.call(void 0, "hidden md:flex space-x-4 items-center", (_l = (_k = classNames == null ? void 0 : classNames.header) == null ? void 0 : _k.right) == null ? void 0 : _l.nav) }, rightMenus.map(
87
87
  (item) => {
88
88
  var _a2, _b2, _c2, _d2;
89
89
  return item.link ? /* @__PURE__ */ _react2.default.createElement(
@@ -92,7 +92,7 @@ function SimpleLayout(props) {
92
92
  key: item.label,
93
93
  to: item.link,
94
94
  href: item.link,
95
- className: _chunkPSPAJNNBjs.cn.call(void 0,
95
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
96
96
  "text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
97
97
  (_b2 = (_a2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _a2.right) == null ? void 0 : _b2.link,
98
98
  item.className
@@ -104,7 +104,7 @@ function SimpleLayout(props) {
104
104
  {
105
105
  key: item.label,
106
106
  onClick: item.action,
107
- className: _chunkPSPAJNNBjs.cn.call(void 0,
107
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
108
108
  "text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
109
109
  (_d2 = (_c2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _c2.right) == null ? void 0 : _d2.link,
110
110
  item.className
@@ -113,17 +113,17 @@ function SimpleLayout(props) {
113
113
  item.label
114
114
  );
115
115
  }
116
- ), userMenuSections.length > 0 && /* @__PURE__ */ _react2.default.createElement(_chunkOUVM5NSTjs.UserMenus, { sections: userMenuSections, trigger: user == null ? void 0 : user.trigger, aslink })),
116
+ ), userMenuSections.length > 0 && /* @__PURE__ */ _react2.default.createElement(_chunkBM53W77Tjs.UserMenus, { sections: userMenuSections, trigger: user == null ? void 0 : user.trigger, aslink })),
117
117
  /* @__PURE__ */ _react2.default.createElement("button", { onClick: toggleMobileMenu, className: "md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer" }, /* @__PURE__ */ _react2.default.createElement(_lucidereact.Menu, { className: "" }))
118
- ), isMobile && mobileMenuOpen && /* @__PURE__ */ _react2.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ _react2.default.createElement(_chunkOMQVDSR6js.MobileMenu, { sections: userMenuSections, aslink, onClick: toggleMobileMenu })), /* @__PURE__ */ _react2.default.createElement("main", { className: _chunkPSPAJNNBjs.cn.call(void 0, "p-4 flex flex-col flex-1", classNames == null ? void 0 : classNames.content) }, !loading && /* @__PURE__ */ _react2.default.createElement("div", { className: "flex items-center justify-center h-full" }, children), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkPSPAJNNBjs.cn.call(void 0, "flex-1", (_m = classNames == null ? void 0 : classNames.content) == null ? void 0 : _m.bottom) })), footer && /* @__PURE__ */ _react2.default.createElement(
118
+ ), isMobile && mobileMenuOpen && /* @__PURE__ */ _react2.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ _react2.default.createElement(_chunkA4VKE26Sjs.MobileMenu, { sections: userMenuSections, aslink, onClick: toggleMobileMenu })), /* @__PURE__ */ _react2.default.createElement("main", { className: _chunkNBQEF4JDjs.cn.call(void 0, "p-4 flex flex-col flex-1", classNames == null ? void 0 : classNames.content) }, !loading && /* @__PURE__ */ _react2.default.createElement("div", { className: "flex items-center justify-center h-full" }, children), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkNBQEF4JDjs.cn.call(void 0, "flex-1", (_m = classNames == null ? void 0 : classNames.content) == null ? void 0 : _m.bottom) })), footer && /* @__PURE__ */ _react2.default.createElement(
119
119
  "footer",
120
120
  {
121
- className: _chunkPSPAJNNBjs.cn.call(void 0,
121
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
122
122
  "px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600",
123
123
  (_n = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _n.wrapper
124
124
  )
125
125
  },
126
- /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunkPSPAJNNBjs.cn.call(void 0, "flex flex-wrap justify-center space-x-4", (_o = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _o.nav) }, footerMenus.map(
126
+ /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunkNBQEF4JDjs.cn.call(void 0, "flex flex-wrap justify-center space-x-4", (_o = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _o.nav) }, footerMenus.map(
127
127
  (item) => {
128
128
  var _a2, _b2;
129
129
  return item.link ? /* @__PURE__ */ _react2.default.createElement(
@@ -132,7 +132,7 @@ function SimpleLayout(props) {
132
132
  key: item.label,
133
133
  to: item.link,
134
134
  href: item.link,
135
- className: _chunkPSPAJNNBjs.cn.call(void 0,
135
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
136
136
  "text-secondary hover:text-primary cursor-pointer no-underline",
137
137
  (_a2 = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _a2.link,
138
138
  item.className
@@ -144,7 +144,7 @@ function SimpleLayout(props) {
144
144
  {
145
145
  key: item.label,
146
146
  onClick: item.action,
147
- className: _chunkPSPAJNNBjs.cn.call(void 0,
147
+ className: _chunkNBQEF4JDjs.cn.call(void 0,
148
148
  "text-secondary hover:text-primary cursor-pointer no-underline",
149
149
  (_b2 = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _b2.link,
150
150
  item.className
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","../../../layouts/simple/index.tsx"],"names":["_a","_b","_c","_d"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","sourcesContent":[null,"\"use client\";\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { Menu } from 'lucide-react';\nimport { cn } from '../../utils/ui';\nimport { UserMenus } from './user-menu';\nimport { MobileMenu } from './mobile-menu';\nimport type { MenuItem, UserMenuSection } from './types';\n\ninterface LayoutProps {\n logo?: {\n src?: string;\n link?: string;\n };\n user?: {\n menuSections: UserMenuSection[];\n trigger?: React.ReactNode;\n };\n left?: {\n menus: MenuItem[];\n };\n right?: {\n menus: MenuItem[];\n };\n sidebar?: {\n title: string;\n content: React.ReactNode;\n };\n footer?: {\n menus: MenuItem[];\n content?: string;\n };\n classNames?: {\n header?: {\n wrapper: string;\n logo?: string;\n left?: {\n nav?: string;\n link?: string;\n };\n right?: {\n nav?: string;\n link?: string;\n };\n };\n content?: {\n wrapper?: string;\n bottom?: string;\n };\n footer?: {\n wrapper?: string;\n nav?: string;\n link?: string;\n };\n };\n loading?: boolean;\n children?: React.ReactNode;\n aslink: React.ElementType;\n}\n\nexport default function SimpleLayout(props: LayoutProps) {\n const { logo, user, left, right, sidebar, footer, classNames, loading, children, aslink } = props;\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n\n const LinkComponent = aslink ?? 'button';\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const toggleMobileMenu = () => setMobileMenuOpen(!mobileMenuOpen);\n\n const leftMenus = left?.menus ?? [];\n const rightMenus = right?.menus ?? [];\n const topMenus = [...leftMenus, ...rightMenus];\n const userMenuSections = user?.menuSections ?? [];\n const footerMenus = footer?.menus ?? [];\n\n return (\n <div className=\"flex flex-col min-h-screen\">\n {/* Header */}\n <header\n className={cn(\n 'px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300',\n classNames?.header?.wrapper,\n )}\n >\n <div className=\"flex items-center space-x-4\">\n {sidebar && (\n <button\n className=\"bg-transparent border-gray-400 hover:border-gray-500\"\n onClick={() => {\n /* open sidebar */\n }}\n >\n {/* icon */}\n </button>\n )}\n {logo && (\n <div className={cn('_logo')}>\n <LinkComponent to={logo.link ?? '/'} href={logo.link ?? '/'}>\n <img src={logo.src} alt=\"Logo\" className={cn('h-10', classNames?.header?.logo)} />\n </LinkComponent>\n </div>\n )}\n\n {/* Left Menus */}\n <nav className={cn('flex space-x-4 items-center', classNames?.header?.left?.nav)}>\n {leftMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n </div>\n\n {/* Right menus */}\n <nav className={cn('hidden md:flex space-x-4 items-center', classNames?.header?.right?.nav)}>\n {rightMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n {userMenuSections.length > 0 && (\n <UserMenus sections={userMenuSections} trigger={user?.trigger} aslink={aslink} />\n )}\n </nav>\n\n {/* Mobile menu button */}\n <button onClick={toggleMobileMenu} className=\"md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer\">\n <Menu className=\"\" />\n </button>\n </header>\n\n {/* Mobile menu */}\n {isMobile && mobileMenuOpen && (\n <div className=\"w-full\">\n <MobileMenu sections={userMenuSections} aslink={aslink} onClick={toggleMobileMenu} />\n </div>\n )}\n\n {/* Main content */}\n <main className={cn('p-4 flex flex-col flex-1', classNames?.content)}>\n {!loading && <div className=\"flex items-center justify-center h-full\">{children}</div>}\n <div className={cn('flex-1', classNames?.content?.bottom)}></div>\n </main>\n\n {/* Footer */}\n {footer && (\n <footer\n className={cn(\n 'px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600',\n classNames?.footer?.wrapper,\n )}\n >\n <nav className={cn('flex flex-wrap justify-center space-x-4', classNames?.footer?.nav)}>\n {footerMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n <div className=\"mt-2 text-center\">{footer?.content}</div>\n </footer>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","../../../layouts/simple/index.tsx"],"names":["_a","_b","_c","_d"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","sourcesContent":[null,"\"use client\";\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { Menu } from 'lucide-react';\nimport { cn } from '../../utils/ui';\nimport { UserMenus } from './user-menu';\nimport { MobileMenu } from './mobile-menu';\nimport type { MenuItem, UserMenuSection } from './types';\n\n/**\n * Props for {@link SimpleLayout}. The layout renders a fixed header with\n * optional left/right nav menus, an optional user dropdown, an optional\n * mobile menu, an optional footer, and a main content slot for `children`.\n *\n * `aslink` is required: pass your router's `Link` component so internal\n * navigation works without re-implementing it. The same component is\n * rendered for both `to=` (React Router) and `href=` (Next.js) prop styles.\n */\ninterface LayoutProps {\n logo?: {\n src?: string;\n link?: string;\n };\n user?: {\n menuSections: UserMenuSection[];\n trigger?: React.ReactNode;\n };\n left?: {\n menus: MenuItem[];\n };\n right?: {\n menus: MenuItem[];\n };\n sidebar?: {\n title: string;\n content: React.ReactNode;\n };\n footer?: {\n menus: MenuItem[];\n content?: string;\n };\n classNames?: {\n header?: {\n wrapper: string;\n logo?: string;\n left?: {\n nav?: string;\n link?: string;\n };\n right?: {\n nav?: string;\n link?: string;\n };\n };\n content?: {\n wrapper?: string;\n bottom?: string;\n };\n footer?: {\n wrapper?: string;\n nav?: string;\n link?: string;\n };\n };\n loading?: boolean;\n children?: React.ReactNode;\n aslink: React.ElementType;\n}\n\n/**\n * Header + main + footer layout for content-light pages. Mobile-aware\n * (collapsible menu under 768px). Compose the inner pieces with the\n * `classNames` slots rather than overriding internal markup.\n *\n * @example\n * <SimpleLayout\n * aslink={Link}\n * left={{ menus: [{ label: 'Home', link: '/' }] }}\n * user={{ menuSections: [...] }}\n * >\n * {children}\n * </SimpleLayout>\n */\nexport default function SimpleLayout(props: LayoutProps) {\n const { logo, user, left, right, sidebar, footer, classNames, loading, children, aslink } = props;\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n\n const LinkComponent = aslink ?? 'button';\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const toggleMobileMenu = () => setMobileMenuOpen(!mobileMenuOpen);\n\n const leftMenus = left?.menus ?? [];\n const rightMenus = right?.menus ?? [];\n const topMenus = [...leftMenus, ...rightMenus];\n const userMenuSections = user?.menuSections ?? [];\n const footerMenus = footer?.menus ?? [];\n\n return (\n <div className=\"flex flex-col min-h-screen\">\n {/* Header */}\n <header\n className={cn(\n 'px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300',\n classNames?.header?.wrapper,\n )}\n >\n <div className=\"flex items-center space-x-4\">\n {sidebar && (\n <button\n className=\"bg-transparent border-gray-400 hover:border-gray-500\"\n onClick={() => {\n /* open sidebar */\n }}\n >\n {/* icon */}\n </button>\n )}\n {logo && (\n <div className={cn('_logo')}>\n <LinkComponent to={logo.link ?? '/'} href={logo.link ?? '/'}>\n <img src={logo.src} alt=\"Logo\" className={cn('h-10', classNames?.header?.logo)} />\n </LinkComponent>\n </div>\n )}\n\n {/* Left Menus */}\n <nav className={cn('flex space-x-4 items-center', classNames?.header?.left?.nav)}>\n {leftMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n </div>\n\n {/* Right menus */}\n <nav className={cn('hidden md:flex space-x-4 items-center', classNames?.header?.right?.nav)}>\n {rightMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n {userMenuSections.length > 0 && (\n <UserMenus sections={userMenuSections} trigger={user?.trigger} aslink={aslink} />\n )}\n </nav>\n\n {/* Mobile menu button */}\n <button onClick={toggleMobileMenu} className=\"md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer\">\n <Menu className=\"\" />\n </button>\n </header>\n\n {/* Mobile menu */}\n {isMobile && mobileMenuOpen && (\n <div className=\"w-full\">\n <MobileMenu sections={userMenuSections} aslink={aslink} onClick={toggleMobileMenu} />\n </div>\n )}\n\n {/* Main content */}\n <main className={cn('p-4 flex flex-col flex-1', classNames?.content)}>\n {!loading && <div className=\"flex items-center justify-center h-full\">{children}</div>}\n <div className={cn('flex-1', classNames?.content?.bottom)}></div>\n </main>\n\n {/* Footer */}\n {footer && (\n <footer\n className={cn(\n 'px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600',\n classNames?.footer?.wrapper,\n )}\n >\n <nav className={cn('flex flex-wrap justify-center space-x-4', classNames?.footer?.nav)}>\n {footerMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n <div className=\"mt-2 text-center\">{footer?.content}</div>\n </footer>\n )}\n </div>\n );\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  import {
3
3
  UserMenus
4
- } from "../../chunk-RIBB6GXJ.mjs";
4
+ } from "../../chunk-MBDPHX4P.mjs";
5
5
  import {
6
6
  MobileMenu
7
- } from "../../chunk-OVHPXYDN.mjs";
8
- import "../../chunk-RPF753T2.mjs";
7
+ } from "../../chunk-B6SBEOMV.mjs";
8
+ import "../../chunk-7S5XDE3W.mjs";
9
9
  import {
10
10
  cn
11
- } from "../../chunk-KGUUDFJE.mjs";
11
+ } from "../../chunk-KKCJ2GMO.mjs";
12
12
  import "../../chunk-YOSPWY5K.mjs";
13
13
 
14
14
  // layouts/simple/index.tsx