@bloomneo/uikit 1.5.0

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 (678) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/LICENSE +21 -0
  3. package/README.md +513 -0
  4. package/bin/commands/build.js +232 -0
  5. package/bin/commands/bundle.js +587 -0
  6. package/bin/commands/create.js +768 -0
  7. package/bin/commands/deploy.js +533 -0
  8. package/bin/commands/generate.js +673 -0
  9. package/bin/commands/optimize.js +198 -0
  10. package/bin/commands/prerender.js +306 -0
  11. package/bin/commands/serve.js +216 -0
  12. package/bin/templates/fbca/README.md.template +130 -0
  13. package/bin/templates/fbca/docs/QUICKSTART_FBCA.md +368 -0
  14. package/bin/templates/fbca/docs/UIKIT_CLI_GUIDE.md +574 -0
  15. package/bin/templates/fbca/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  16. package/bin/templates/fbca/docs/UIKIT_LLM_GUIDE.md +2055 -0
  17. package/bin/templates/fbca/docs/UIKIT_THEME_GUIDE.md +359 -0
  18. package/bin/templates/fbca/package.json.template +41 -0
  19. package/bin/templates/fbca/public/favicon.svg +10 -0
  20. package/bin/templates/fbca/public/hero_fbca.svg +1 -0
  21. package/bin/templates/fbca/src/utils/asset.ts +6 -0
  22. package/bin/templates/fbca/src/web/App.tsx.template +20 -0
  23. package/bin/templates/fbca/src/web/features/auth/pages/index.tsx.template +157 -0
  24. package/bin/templates/fbca/src/web/features/docs/pages/[...slug].tsx.template +83 -0
  25. package/bin/templates/fbca/src/web/features/gallery/hooks/useGallery.ts.template +74 -0
  26. package/bin/templates/fbca/src/web/features/gallery/pages/index.tsx.template +136 -0
  27. package/bin/templates/fbca/src/web/features/main/components/CTASection.tsx.template +43 -0
  28. package/bin/templates/fbca/src/web/features/main/pages/About.tsx.template +374 -0
  29. package/bin/templates/fbca/src/web/features/main/pages/index.tsx.template +214 -0
  30. package/bin/templates/fbca/src/web/index.html.template +15 -0
  31. package/bin/templates/fbca/src/web/lib/page-router.tsx.template +134 -0
  32. package/bin/templates/fbca/src/web/main.tsx.template +14 -0
  33. package/bin/templates/fbca/src/web/shared/components/Footer.tsx.template +57 -0
  34. package/bin/templates/fbca/src/web/shared/components/Header.tsx.template +91 -0
  35. package/bin/templates/fbca/src/web/shared/components/SEO.tsx.template +24 -0
  36. package/bin/templates/fbca/src/web/shared/components/index.ts.template +3 -0
  37. package/bin/templates/fbca/src/web/shared/hooks/useSEO.ts.template +85 -0
  38. package/bin/templates/fbca/src/web/shared/utils/asset.ts +6 -0
  39. package/bin/templates/fbca/src/web/styles/index.css.template +8 -0
  40. package/bin/templates/fbca/src/web/utils/asset.ts +6 -0
  41. package/bin/templates/fbca/tsconfig.json.template +32 -0
  42. package/bin/templates/fbca/tsconfig.node.json.template +10 -0
  43. package/bin/templates/fbca/vite.config.ts.template +38 -0
  44. package/bin/templates/generate/component/component.tsx.template +79 -0
  45. package/bin/templates/generate/component/index.ts.template +2 -0
  46. package/bin/templates/generate/component/types.ts.template +58 -0
  47. package/bin/templates/generate/feature/index.ts.template +14 -0
  48. package/bin/templates/generate/feature/list-page.tsx.template +34 -0
  49. package/bin/templates/generate/feature/main-component.tsx.template +37 -0
  50. package/bin/templates/generate/feature/main-page.tsx.template +30 -0
  51. package/bin/templates/generate/feature/types.ts.template +34 -0
  52. package/bin/templates/generate/hook/hook.ts.template +35 -0
  53. package/bin/templates/generate/index.css.template +10 -0
  54. package/bin/templates/generate/main.tsx.template +10 -0
  55. package/bin/templates/generate/page/index.ts.template +2 -0
  56. package/bin/templates/generate/page/page.tsx.template +86 -0
  57. package/bin/templates/generate/theme/README.md +31 -0
  58. package/bin/templates/generate/theme/theme.js.template +155 -0
  59. package/bin/templates/multi/README.md.template +120 -0
  60. package/bin/templates/multi/docs/QUICKSTART_MULTI.md +334 -0
  61. package/bin/templates/multi/docs/UIKIT_CLI_GUIDE.md +574 -0
  62. package/bin/templates/multi/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  63. package/bin/templates/multi/docs/UIKIT_LLM_GUIDE.md +2055 -0
  64. package/bin/templates/multi/docs/UIKIT_THEME_GUIDE.md +359 -0
  65. package/bin/templates/multi/index.html.template +58 -0
  66. package/bin/templates/multi/package.json.template +35 -0
  67. package/bin/templates/multi/public/favicon.svg +10 -0
  68. package/bin/templates/multi/public/hero_multi.svg +1 -0
  69. package/bin/templates/multi/src/App.tsx.template +92 -0
  70. package/bin/templates/multi/src/components/Footer.tsx.template +58 -0
  71. package/bin/templates/multi/src/components/Header.tsx.template +103 -0
  72. package/bin/templates/multi/src/components/SEO.tsx.template +19 -0
  73. package/bin/templates/multi/src/components/index.ts.template +3 -0
  74. package/bin/templates/multi/src/hooks/useSEO.ts.template +38 -0
  75. package/bin/templates/multi/src/index.css.template +7 -0
  76. package/bin/templates/multi/src/main.tsx.template +14 -0
  77. package/bin/templates/multi/src/pages/About.tsx.template +276 -0
  78. package/bin/templates/multi/src/pages/Components.tsx.template +288 -0
  79. package/bin/templates/multi/src/pages/Contact.tsx.template +348 -0
  80. package/bin/templates/multi/src/pages/Dashboard.tsx.template +306 -0
  81. package/bin/templates/multi/src/pages/ErrorPage.tsx.template +37 -0
  82. package/bin/templates/multi/src/pages/Home.tsx.template +201 -0
  83. package/bin/templates/multi/src/pages/Login.tsx.template +148 -0
  84. package/bin/templates/multi/src/pages/Themes.tsx.template +207 -0
  85. package/bin/templates/multi/src/router.tsx.template +34 -0
  86. package/bin/templates/multi/src/utils/asset.ts +6 -0
  87. package/bin/templates/multi/tsconfig.json.template +30 -0
  88. package/bin/templates/multi/tsconfig.node.json +22 -0
  89. package/bin/templates/multi/vite.config.ts.template +36 -0
  90. package/bin/templates/single/README.md.template +131 -0
  91. package/bin/templates/single/docs/QUICKSTART_SINGLE.md +259 -0
  92. package/bin/templates/single/docs/UIKIT_CLI_GUIDE.md +574 -0
  93. package/bin/templates/single/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  94. package/bin/templates/single/docs/UIKIT_LLM_GUIDE.md +2055 -0
  95. package/bin/templates/single/docs/UIKIT_THEME_GUIDE.md +359 -0
  96. package/bin/templates/single/index.html.template +37 -0
  97. package/bin/templates/single/package.json.template +34 -0
  98. package/bin/templates/single/public/favicon.svg +10 -0
  99. package/bin/templates/single/public/hero.svg +1 -0
  100. package/bin/templates/single/src/App.tsx.template +233 -0
  101. package/bin/templates/single/src/index.css.template +7 -0
  102. package/bin/templates/single/src/main.tsx.template +14 -0
  103. package/bin/templates/single/src/styles/fonts.css +99 -0
  104. package/bin/templates/single/src/utils/asset.ts +6 -0
  105. package/bin/templates/single/tsconfig.json +31 -0
  106. package/bin/templates/single/tsconfig.node.json +22 -0
  107. package/bin/templates/single/vite.config.ts.template +36 -0
  108. package/bin/templates/spa/README.md.template +105 -0
  109. package/bin/templates/spa/components/SEO.tsx.template +19 -0
  110. package/bin/templates/spa/docs/QUICKSTART_SPA.md +300 -0
  111. package/bin/templates/spa/docs/UIKIT_CLI_GUIDE.md +574 -0
  112. package/bin/templates/spa/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  113. package/bin/templates/spa/docs/UIKIT_LLM_GUIDE.md +2055 -0
  114. package/bin/templates/spa/docs/UIKIT_THEME_GUIDE.md +359 -0
  115. package/bin/templates/spa/hooks/useSEO.ts.template +38 -0
  116. package/bin/templates/spa/index.html.template +58 -0
  117. package/bin/templates/spa/package.json.template +35 -0
  118. package/bin/templates/spa/public/favicon.svg +15 -0
  119. package/bin/templates/spa/public/hero_spa.svg +1 -0
  120. package/bin/templates/spa/src/App.tsx.template +659 -0
  121. package/bin/templates/spa/src/index.css.template +7 -0
  122. package/bin/templates/spa/src/main.tsx.template +14 -0
  123. package/bin/templates/spa/src/utils/asset.ts +6 -0
  124. package/bin/templates/spa/tsconfig.json.template +30 -0
  125. package/bin/templates/spa/tsconfig.node.json +22 -0
  126. package/bin/templates/spa/vite.config.ts.template +36 -0
  127. package/bin/uikit.js +133 -0
  128. package/cookbook/README.md +20 -0
  129. package/cookbook/crud-page.tsx +99 -0
  130. package/cookbook/dashboard.tsx +89 -0
  131. package/cookbook/delete-flow.tsx +59 -0
  132. package/cookbook/login.tsx +85 -0
  133. package/cookbook/settings.tsx +113 -0
  134. package/dist/Combination-C0DFrmJW.js +674 -0
  135. package/dist/Combination-C0DFrmJW.js.map +1 -0
  136. package/dist/accordion.js +284 -0
  137. package/dist/accordion.js.map +1 -0
  138. package/dist/admin.js +429 -0
  139. package/dist/admin.js.map +1 -0
  140. package/dist/alert.js +67 -0
  141. package/dist/alert.js.map +1 -0
  142. package/dist/auth.js +178 -0
  143. package/dist/auth.js.map +1 -0
  144. package/dist/avatar.js +249 -0
  145. package/dist/avatar.js.map +1 -0
  146. package/dist/badge.js +40 -0
  147. package/dist/badge.js.map +1 -0
  148. package/dist/blank.js +80 -0
  149. package/dist/blank.js.map +1 -0
  150. package/dist/breadcrumb.js +104 -0
  151. package/dist/breadcrumb.js.map +1 -0
  152. package/dist/button.js +50 -0
  153. package/dist/button.js.map +1 -0
  154. package/dist/calendar.js +2785 -0
  155. package/dist/calendar.js.map +1 -0
  156. package/dist/card.js +91 -0
  157. package/dist/card.js.map +1 -0
  158. package/dist/check-DXouwtzp.js +12 -0
  159. package/dist/check-DXouwtzp.js.map +1 -0
  160. package/dist/checkbox.js +268 -0
  161. package/dist/checkbox.js.map +1 -0
  162. package/dist/chevron-down-BORJtX8F.js +14 -0
  163. package/dist/chevron-down-BORJtX8F.js.map +1 -0
  164. package/dist/chevron-left-C1pkx4AF.js +14 -0
  165. package/dist/chevron-left-C1pkx4AF.js.map +1 -0
  166. package/dist/chevron-right-pz9eCjj-.js +14 -0
  167. package/dist/chevron-right-pz9eCjj-.js.map +1 -0
  168. package/dist/circle-DHOdTDQh.js +14 -0
  169. package/dist/circle-DHOdTDQh.js.map +1 -0
  170. package/dist/collapsible.js +35 -0
  171. package/dist/collapsible.js.map +1 -0
  172. package/dist/command.js +481 -0
  173. package/dist/command.js.map +1 -0
  174. package/dist/confirm-dialog.js +129 -0
  175. package/dist/confirm-dialog.js.map +1 -0
  176. package/dist/container.js +334 -0
  177. package/dist/container.js.map +1 -0
  178. package/dist/createLucideIcon-B45kRl5r.js +80 -0
  179. package/dist/createLucideIcon-B45kRl5r.js.map +1 -0
  180. package/dist/data-table.js +574 -0
  181. package/dist/data-table.js.map +1 -0
  182. package/dist/detail-page.js +454 -0
  183. package/dist/detail-page.js.map +1 -0
  184. package/dist/dialog.js +137 -0
  185. package/dist/dialog.js.map +1 -0
  186. package/dist/dropdown-menu.js +424 -0
  187. package/dist/dropdown-menu.js.map +1 -0
  188. package/dist/ellipsis-BhAoKPVk.js +16 -0
  189. package/dist/ellipsis-BhAoKPVk.js.map +1 -0
  190. package/dist/empty-state.js +54 -0
  191. package/dist/empty-state.js.map +1 -0
  192. package/dist/errors.js +36 -0
  193. package/dist/errors.js.map +1 -0
  194. package/dist/eye-DDKoW0KS.js +46 -0
  195. package/dist/eye-DDKoW0KS.js.map +1 -0
  196. package/dist/fonts/caveat-cyrillic-400-normal.woff +0 -0
  197. package/dist/fonts/caveat-cyrillic-400-normal.woff2 +0 -0
  198. package/dist/fonts/caveat-cyrillic-700-normal.woff +0 -0
  199. package/dist/fonts/caveat-cyrillic-700-normal.woff2 +0 -0
  200. package/dist/fonts/caveat-cyrillic-ext-400-normal.woff +0 -0
  201. package/dist/fonts/caveat-cyrillic-ext-400-normal.woff2 +0 -0
  202. package/dist/fonts/caveat-cyrillic-ext-700-normal.woff +0 -0
  203. package/dist/fonts/caveat-cyrillic-ext-700-normal.woff2 +0 -0
  204. package/dist/fonts/caveat-latin-400-normal.woff +0 -0
  205. package/dist/fonts/caveat-latin-400-normal.woff2 +0 -0
  206. package/dist/fonts/caveat-latin-700-normal.woff +0 -0
  207. package/dist/fonts/caveat-latin-700-normal.woff2 +0 -0
  208. package/dist/fonts/caveat-latin-ext-400-normal.woff +0 -0
  209. package/dist/fonts/caveat-latin-ext-400-normal.woff2 +0 -0
  210. package/dist/fonts/caveat-latin-ext-700-normal.woff +0 -0
  211. package/dist/fonts/caveat-latin-ext-700-normal.woff2 +0 -0
  212. package/dist/fonts/crimson-text-latin-400-normal.woff +0 -0
  213. package/dist/fonts/crimson-text-latin-400-normal.woff2 +0 -0
  214. package/dist/fonts/crimson-text-latin-600-normal.woff +0 -0
  215. package/dist/fonts/crimson-text-latin-600-normal.woff2 +0 -0
  216. package/dist/fonts/crimson-text-latin-700-normal.woff +0 -0
  217. package/dist/fonts/crimson-text-latin-700-normal.woff2 +0 -0
  218. package/dist/fonts/crimson-text-latin-ext-400-normal.woff +0 -0
  219. package/dist/fonts/crimson-text-latin-ext-400-normal.woff2 +0 -0
  220. package/dist/fonts/crimson-text-latin-ext-600-normal.woff +0 -0
  221. package/dist/fonts/crimson-text-latin-ext-600-normal.woff2 +0 -0
  222. package/dist/fonts/crimson-text-latin-ext-700-normal.woff +0 -0
  223. package/dist/fonts/crimson-text-latin-ext-700-normal.woff2 +0 -0
  224. package/dist/fonts/crimson-text-vietnamese-400-normal.woff +0 -0
  225. package/dist/fonts/crimson-text-vietnamese-400-normal.woff2 +0 -0
  226. package/dist/fonts/crimson-text-vietnamese-600-normal.woff +0 -0
  227. package/dist/fonts/crimson-text-vietnamese-600-normal.woff2 +0 -0
  228. package/dist/fonts/crimson-text-vietnamese-700-normal.woff +0 -0
  229. package/dist/fonts/crimson-text-vietnamese-700-normal.woff2 +0 -0
  230. package/dist/fonts/dm-serif-display-latin-400-normal.woff +0 -0
  231. package/dist/fonts/dm-serif-display-latin-400-normal.woff2 +0 -0
  232. package/dist/fonts/dm-serif-display-latin-ext-400-normal.woff +0 -0
  233. package/dist/fonts/dm-serif-display-latin-ext-400-normal.woff2 +0 -0
  234. package/dist/fonts/libre-baskerville-latin-400-normal.woff +0 -0
  235. package/dist/fonts/libre-baskerville-latin-400-normal.woff2 +0 -0
  236. package/dist/fonts/libre-baskerville-latin-700-normal.woff +0 -0
  237. package/dist/fonts/libre-baskerville-latin-700-normal.woff2 +0 -0
  238. package/dist/fonts/libre-baskerville-latin-ext-400-normal.woff +0 -0
  239. package/dist/fonts/libre-baskerville-latin-ext-400-normal.woff2 +0 -0
  240. package/dist/fonts/libre-baskerville-latin-ext-700-normal.woff +0 -0
  241. package/dist/fonts/libre-baskerville-latin-ext-700-normal.woff2 +0 -0
  242. package/dist/fonts/montserrat-cyrillic-400-normal.woff +0 -0
  243. package/dist/fonts/montserrat-cyrillic-400-normal.woff2 +0 -0
  244. package/dist/fonts/montserrat-cyrillic-500-normal.woff +0 -0
  245. package/dist/fonts/montserrat-cyrillic-500-normal.woff2 +0 -0
  246. package/dist/fonts/montserrat-cyrillic-600-normal.woff +0 -0
  247. package/dist/fonts/montserrat-cyrillic-600-normal.woff2 +0 -0
  248. package/dist/fonts/montserrat-cyrillic-ext-400-normal.woff +0 -0
  249. package/dist/fonts/montserrat-cyrillic-ext-400-normal.woff2 +0 -0
  250. package/dist/fonts/montserrat-cyrillic-ext-500-normal.woff +0 -0
  251. package/dist/fonts/montserrat-cyrillic-ext-500-normal.woff2 +0 -0
  252. package/dist/fonts/montserrat-cyrillic-ext-600-normal.woff +0 -0
  253. package/dist/fonts/montserrat-cyrillic-ext-600-normal.woff2 +0 -0
  254. package/dist/fonts/montserrat-latin-400-normal.woff +0 -0
  255. package/dist/fonts/montserrat-latin-400-normal.woff2 +0 -0
  256. package/dist/fonts/montserrat-latin-500-normal.woff +0 -0
  257. package/dist/fonts/montserrat-latin-500-normal.woff2 +0 -0
  258. package/dist/fonts/montserrat-latin-600-normal.woff +0 -0
  259. package/dist/fonts/montserrat-latin-600-normal.woff2 +0 -0
  260. package/dist/fonts/montserrat-latin-ext-400-normal.woff +0 -0
  261. package/dist/fonts/montserrat-latin-ext-400-normal.woff2 +0 -0
  262. package/dist/fonts/montserrat-latin-ext-500-normal.woff +0 -0
  263. package/dist/fonts/montserrat-latin-ext-500-normal.woff2 +0 -0
  264. package/dist/fonts/montserrat-latin-ext-600-normal.woff +0 -0
  265. package/dist/fonts/montserrat-latin-ext-600-normal.woff2 +0 -0
  266. package/dist/fonts/montserrat-vietnamese-400-normal.woff +0 -0
  267. package/dist/fonts/montserrat-vietnamese-400-normal.woff2 +0 -0
  268. package/dist/fonts/montserrat-vietnamese-500-normal.woff +0 -0
  269. package/dist/fonts/montserrat-vietnamese-500-normal.woff2 +0 -0
  270. package/dist/fonts/montserrat-vietnamese-600-normal.woff +0 -0
  271. package/dist/fonts/montserrat-vietnamese-600-normal.woff2 +0 -0
  272. package/dist/fonts/playfair-display-cyrillic-400-normal.woff +0 -0
  273. package/dist/fonts/playfair-display-cyrillic-400-normal.woff2 +0 -0
  274. package/dist/fonts/playfair-display-cyrillic-500-normal.woff +0 -0
  275. package/dist/fonts/playfair-display-cyrillic-500-normal.woff2 +0 -0
  276. package/dist/fonts/playfair-display-latin-400-normal.woff +0 -0
  277. package/dist/fonts/playfair-display-latin-400-normal.woff2 +0 -0
  278. package/dist/fonts/playfair-display-latin-500-normal.woff +0 -0
  279. package/dist/fonts/playfair-display-latin-500-normal.woff2 +0 -0
  280. package/dist/fonts/playfair-display-latin-ext-400-normal.woff +0 -0
  281. package/dist/fonts/playfair-display-latin-ext-400-normal.woff2 +0 -0
  282. package/dist/fonts/playfair-display-latin-ext-500-normal.woff +0 -0
  283. package/dist/fonts/playfair-display-latin-ext-500-normal.woff2 +0 -0
  284. package/dist/fonts/playfair-display-vietnamese-400-normal.woff +0 -0
  285. package/dist/fonts/playfair-display-vietnamese-400-normal.woff2 +0 -0
  286. package/dist/fonts/playfair-display-vietnamese-500-normal.woff +0 -0
  287. package/dist/fonts/playfair-display-vietnamese-500-normal.woff2 +0 -0
  288. package/dist/fonts/poppins-devanagari-400-normal.woff +0 -0
  289. package/dist/fonts/poppins-devanagari-400-normal.woff2 +0 -0
  290. package/dist/fonts/poppins-devanagari-500-normal.woff +0 -0
  291. package/dist/fonts/poppins-devanagari-500-normal.woff2 +0 -0
  292. package/dist/fonts/poppins-devanagari-600-normal.woff +0 -0
  293. package/dist/fonts/poppins-devanagari-600-normal.woff2 +0 -0
  294. package/dist/fonts/poppins-latin-400-normal.woff +0 -0
  295. package/dist/fonts/poppins-latin-400-normal.woff2 +0 -0
  296. package/dist/fonts/poppins-latin-500-normal.woff +0 -0
  297. package/dist/fonts/poppins-latin-500-normal.woff2 +0 -0
  298. package/dist/fonts/poppins-latin-600-normal.woff +0 -0
  299. package/dist/fonts/poppins-latin-600-normal.woff2 +0 -0
  300. package/dist/fonts/poppins-latin-ext-400-normal.woff +0 -0
  301. package/dist/fonts/poppins-latin-ext-400-normal.woff2 +0 -0
  302. package/dist/fonts/poppins-latin-ext-500-normal.woff +0 -0
  303. package/dist/fonts/poppins-latin-ext-500-normal.woff2 +0 -0
  304. package/dist/fonts/poppins-latin-ext-600-normal.woff +0 -0
  305. package/dist/fonts/poppins-latin-ext-600-normal.woff2 +0 -0
  306. package/dist/fonts/rubik-arabic-400-normal.woff +0 -0
  307. package/dist/fonts/rubik-arabic-400-normal.woff2 +0 -0
  308. package/dist/fonts/rubik-arabic-500-normal.woff +0 -0
  309. package/dist/fonts/rubik-arabic-500-normal.woff2 +0 -0
  310. package/dist/fonts/rubik-cyrillic-400-normal.woff +0 -0
  311. package/dist/fonts/rubik-cyrillic-400-normal.woff2 +0 -0
  312. package/dist/fonts/rubik-cyrillic-500-normal.woff +0 -0
  313. package/dist/fonts/rubik-cyrillic-500-normal.woff2 +0 -0
  314. package/dist/fonts/rubik-cyrillic-ext-400-normal.woff +0 -0
  315. package/dist/fonts/rubik-cyrillic-ext-400-normal.woff2 +0 -0
  316. package/dist/fonts/rubik-cyrillic-ext-500-normal.woff +0 -0
  317. package/dist/fonts/rubik-cyrillic-ext-500-normal.woff2 +0 -0
  318. package/dist/fonts/rubik-hebrew-400-normal.woff +0 -0
  319. package/dist/fonts/rubik-hebrew-400-normal.woff2 +0 -0
  320. package/dist/fonts/rubik-hebrew-500-normal.woff +0 -0
  321. package/dist/fonts/rubik-hebrew-500-normal.woff2 +0 -0
  322. package/dist/fonts/rubik-latin-400-normal.woff +0 -0
  323. package/dist/fonts/rubik-latin-400-normal.woff2 +0 -0
  324. package/dist/fonts/rubik-latin-500-normal.woff +0 -0
  325. package/dist/fonts/rubik-latin-500-normal.woff2 +0 -0
  326. package/dist/fonts/rubik-latin-ext-400-normal.woff +0 -0
  327. package/dist/fonts/rubik-latin-ext-400-normal.woff2 +0 -0
  328. package/dist/fonts/rubik-latin-ext-500-normal.woff +0 -0
  329. package/dist/fonts/rubik-latin-ext-500-normal.woff2 +0 -0
  330. package/dist/fonts/source-serif-pro-cyrillic-400-normal.woff +0 -0
  331. package/dist/fonts/source-serif-pro-cyrillic-400-normal.woff2 +0 -0
  332. package/dist/fonts/source-serif-pro-cyrillic-ext-400-normal.woff +0 -0
  333. package/dist/fonts/source-serif-pro-cyrillic-ext-400-normal.woff2 +0 -0
  334. package/dist/fonts/source-serif-pro-greek-400-normal.woff +0 -0
  335. package/dist/fonts/source-serif-pro-greek-400-normal.woff2 +0 -0
  336. package/dist/fonts/source-serif-pro-latin-400-normal.woff +0 -0
  337. package/dist/fonts/source-serif-pro-latin-400-normal.woff2 +0 -0
  338. package/dist/fonts/source-serif-pro-latin-ext-400-normal.woff +0 -0
  339. package/dist/fonts/source-serif-pro-latin-ext-400-normal.woff2 +0 -0
  340. package/dist/fonts/source-serif-pro-vietnamese-400-normal.woff +0 -0
  341. package/dist/fonts/source-serif-pro-vietnamese-400-normal.woff2 +0 -0
  342. package/dist/fonts/space-grotesk-latin-400-normal.woff +0 -0
  343. package/dist/fonts/space-grotesk-latin-400-normal.woff2 +0 -0
  344. package/dist/fonts/space-grotesk-latin-600-normal.woff +0 -0
  345. package/dist/fonts/space-grotesk-latin-600-normal.woff2 +0 -0
  346. package/dist/fonts/space-grotesk-latin-700-normal.woff +0 -0
  347. package/dist/fonts/space-grotesk-latin-700-normal.woff2 +0 -0
  348. package/dist/fonts/space-grotesk-latin-ext-400-normal.woff +0 -0
  349. package/dist/fonts/space-grotesk-latin-ext-400-normal.woff2 +0 -0
  350. package/dist/fonts/space-grotesk-latin-ext-600-normal.woff +0 -0
  351. package/dist/fonts/space-grotesk-latin-ext-600-normal.woff2 +0 -0
  352. package/dist/fonts/space-grotesk-latin-ext-700-normal.woff +0 -0
  353. package/dist/fonts/space-grotesk-latin-ext-700-normal.woff2 +0 -0
  354. package/dist/fonts/space-grotesk-vietnamese-400-normal.woff +0 -0
  355. package/dist/fonts/space-grotesk-vietnamese-400-normal.woff2 +0 -0
  356. package/dist/fonts/space-grotesk-vietnamese-600-normal.woff +0 -0
  357. package/dist/fonts/space-grotesk-vietnamese-600-normal.woff2 +0 -0
  358. package/dist/fonts/space-grotesk-vietnamese-700-normal.woff +0 -0
  359. package/dist/fonts/space-grotesk-vietnamese-700-normal.woff2 +0 -0
  360. package/dist/fonts/work-sans-latin-400-normal.woff +0 -0
  361. package/dist/fonts/work-sans-latin-400-normal.woff2 +0 -0
  362. package/dist/fonts/work-sans-latin-500-normal.woff +0 -0
  363. package/dist/fonts/work-sans-latin-500-normal.woff2 +0 -0
  364. package/dist/fonts/work-sans-latin-ext-400-normal.woff +0 -0
  365. package/dist/fonts/work-sans-latin-ext-400-normal.woff2 +0 -0
  366. package/dist/fonts/work-sans-latin-ext-500-normal.woff +0 -0
  367. package/dist/fonts/work-sans-latin-ext-500-normal.woff2 +0 -0
  368. package/dist/fonts/work-sans-vietnamese-400-normal.woff +0 -0
  369. package/dist/fonts/work-sans-vietnamese-400-normal.woff2 +0 -0
  370. package/dist/fonts/work-sans-vietnamese-500-normal.woff +0 -0
  371. package/dist/fonts/work-sans-vietnamese-500-normal.woff2 +0 -0
  372. package/dist/footer.js +308 -0
  373. package/dist/footer.js.map +1 -0
  374. package/dist/form-field.js +69 -0
  375. package/dist/form-field.js.map +1 -0
  376. package/dist/form.js +732 -0
  377. package/dist/form.js.map +1 -0
  378. package/dist/format.js +112 -0
  379. package/dist/format.js.map +1 -0
  380. package/dist/fouc.js +28 -0
  381. package/dist/fouc.js.map +1 -0
  382. package/dist/header.js +289 -0
  383. package/dist/header.js.map +1 -0
  384. package/dist/hooks.js +13 -0
  385. package/dist/hooks.js.map +1 -0
  386. package/dist/hover-card.js +210 -0
  387. package/dist/hover-card.js.map +1 -0
  388. package/dist/index-0ioNhtNM.js +11 -0
  389. package/dist/index-0ioNhtNM.js.map +1 -0
  390. package/dist/index-1QHKgw6D.js +55 -0
  391. package/dist/index-1QHKgw6D.js.map +1 -0
  392. package/dist/index-B6sSWi7l.js +747 -0
  393. package/dist/index-B6sSWi7l.js.map +1 -0
  394. package/dist/index-BCjJQGh8.js +71 -0
  395. package/dist/index-BCjJQGh8.js.map +1 -0
  396. package/dist/index-BGQepRFJ.js +28 -0
  397. package/dist/index-BGQepRFJ.js.map +1 -0
  398. package/dist/index-BVRIAMfe.js +37 -0
  399. package/dist/index-BVRIAMfe.js.map +1 -0
  400. package/dist/index-BY7PeRJA.js +145 -0
  401. package/dist/index-BY7PeRJA.js.map +1 -0
  402. package/dist/index-BZPx6jYI.js +9 -0
  403. package/dist/index-BZPx6jYI.js.map +1 -0
  404. package/dist/index-Ba4eHUBD.js +243 -0
  405. package/dist/index-Ba4eHUBD.js.map +1 -0
  406. package/dist/index-Bke1qZdk.js +35 -0
  407. package/dist/index-Bke1qZdk.js.map +1 -0
  408. package/dist/index-C0UREtMP.js +60 -0
  409. package/dist/index-C0UREtMP.js.map +1 -0
  410. package/dist/index-CCKe-Mpx.js +7 -0
  411. package/dist/index-CCKe-Mpx.js.map +1 -0
  412. package/dist/index-DFZozV_h.js +69 -0
  413. package/dist/index-DFZozV_h.js.map +1 -0
  414. package/dist/index-DFi6WydO.js +180 -0
  415. package/dist/index-DFi6WydO.js.map +1 -0
  416. package/dist/index-DQH6odE9.js +83 -0
  417. package/dist/index-DQH6odE9.js.map +1 -0
  418. package/dist/index-EO5flKM3.js +119 -0
  419. package/dist/index-EO5flKM3.js.map +1 -0
  420. package/dist/index-Lf7yDOXW.js +615 -0
  421. package/dist/index-Lf7yDOXW.js.map +1 -0
  422. package/dist/index-dhIqEbxW.js +1541 -0
  423. package/dist/index-dhIqEbxW.js.map +1 -0
  424. package/dist/index-pWhlqjff.js +32 -0
  425. package/dist/index-pWhlqjff.js.map +1 -0
  426. package/dist/index-rKs9bXHr.js +7 -0
  427. package/dist/index-rKs9bXHr.js.map +1 -0
  428. package/dist/index-xqkGMOJ8.js +14 -0
  429. package/dist/index-xqkGMOJ8.js.map +1 -0
  430. package/dist/index.js +247 -0
  431. package/dist/index.js.map +1 -0
  432. package/dist/input.js +22 -0
  433. package/dist/input.js.map +1 -0
  434. package/dist/label.js +36 -0
  435. package/dist/label.js.map +1 -0
  436. package/dist/layout-wrapper.js +208 -0
  437. package/dist/layout-wrapper.js.map +1 -0
  438. package/dist/llms.txt +1140 -0
  439. package/dist/menu-DBhEanGo.js +16 -0
  440. package/dist/menu-DBhEanGo.js.map +1 -0
  441. package/dist/menubar.js +565 -0
  442. package/dist/menubar.js.map +1 -0
  443. package/dist/mobile.js +183 -0
  444. package/dist/mobile.js.map +1 -0
  445. package/dist/motion.js +119 -0
  446. package/dist/motion.js.map +1 -0
  447. package/dist/page-header.js +47 -0
  448. package/dist/page-header.js.map +1 -0
  449. package/dist/page.js +214 -0
  450. package/dist/page.js.map +1 -0
  451. package/dist/pagination.js +121 -0
  452. package/dist/pagination.js.map +1 -0
  453. package/dist/platform.js +194 -0
  454. package/dist/platform.js.map +1 -0
  455. package/dist/popover.js +263 -0
  456. package/dist/popover.js.map +1 -0
  457. package/dist/popup.js +335 -0
  458. package/dist/popup.js.map +1 -0
  459. package/dist/progress.js +108 -0
  460. package/dist/progress.js.map +1 -0
  461. package/dist/radio-group.js +272 -0
  462. package/dist/radio-group.js.map +1 -0
  463. package/dist/safe-area.js +42 -0
  464. package/dist/safe-area.js.map +1 -0
  465. package/dist/search-CpUwRnG-.js +15 -0
  466. package/dist/search-CpUwRnG-.js.map +1 -0
  467. package/dist/select.js +985 -0
  468. package/dist/select.js.map +1 -0
  469. package/dist/separator.js +45 -0
  470. package/dist/separator.js.map +1 -0
  471. package/dist/sheet.js +127 -0
  472. package/dist/sheet.js.map +1 -0
  473. package/dist/skeleton.js +16 -0
  474. package/dist/skeleton.js.map +1 -0
  475. package/dist/slider.js +485 -0
  476. package/dist/slider.js.map +1 -0
  477. package/dist/sonner.js +52 -0
  478. package/dist/sonner.js.map +1 -0
  479. package/dist/styles/fonts.css +253 -0
  480. package/dist/styles.css +2 -0
  481. package/dist/switch.js +155 -0
  482. package/dist/switch.js.map +1 -0
  483. package/dist/tab-bar.js +110 -0
  484. package/dist/tab-bar.js.map +1 -0
  485. package/dist/table.js +115 -0
  486. package/dist/table.js.map +1 -0
  487. package/dist/tabs.js +218 -0
  488. package/dist/tabs.js.map +1 -0
  489. package/dist/textarea.js +19 -0
  490. package/dist/textarea.js.map +1 -0
  491. package/dist/theme-provider.js +154 -0
  492. package/dist/theme-provider.js.map +1 -0
  493. package/dist/themes.js +873 -0
  494. package/dist/themes.js.map +1 -0
  495. package/dist/toast.js +63 -0
  496. package/dist/toast.js.map +1 -0
  497. package/dist/toggle.js +70 -0
  498. package/dist/toggle.js.map +1 -0
  499. package/dist/tooltip.js +375 -0
  500. package/dist/tooltip.js.map +1 -0
  501. package/dist/types/App.d.ts +3 -0
  502. package/dist/types/App.d.ts.map +1 -0
  503. package/dist/types/components/layouts/admin.d.ts +117 -0
  504. package/dist/types/components/layouts/admin.d.ts.map +1 -0
  505. package/dist/types/components/layouts/auth.d.ts +17 -0
  506. package/dist/types/components/layouts/auth.d.ts.map +1 -0
  507. package/dist/types/components/layouts/blank.d.ts +63 -0
  508. package/dist/types/components/layouts/blank.d.ts.map +1 -0
  509. package/dist/types/components/layouts/layout-wrapper.d.ts +130 -0
  510. package/dist/types/components/layouts/layout-wrapper.d.ts.map +1 -0
  511. package/dist/types/components/layouts/mobile.d.ts +91 -0
  512. package/dist/types/components/layouts/mobile.d.ts.map +1 -0
  513. package/dist/types/components/layouts/page.d.ts +181 -0
  514. package/dist/types/components/layouts/page.d.ts.map +1 -0
  515. package/dist/types/components/layouts/popup.d.ts +100 -0
  516. package/dist/types/components/layouts/popup.d.ts.map +1 -0
  517. package/dist/types/components/sections/container.d.ts +79 -0
  518. package/dist/types/components/sections/container.d.ts.map +1 -0
  519. package/dist/types/components/sections/footer.d.ts +128 -0
  520. package/dist/types/components/sections/footer.d.ts.map +1 -0
  521. package/dist/types/components/sections/header.d.ts +72 -0
  522. package/dist/types/components/sections/header.d.ts.map +1 -0
  523. package/dist/types/components/sections/safe-area.d.ts +46 -0
  524. package/dist/types/components/sections/safe-area.d.ts.map +1 -0
  525. package/dist/types/components/sections/tab-bar.d.ts +61 -0
  526. package/dist/types/components/sections/tab-bar.d.ts.map +1 -0
  527. package/dist/types/components/ui/accordion.d.ts +8 -0
  528. package/dist/types/components/ui/accordion.d.ts.map +1 -0
  529. package/dist/types/components/ui/alert.d.ts +10 -0
  530. package/dist/types/components/ui/alert.d.ts.map +1 -0
  531. package/dist/types/components/ui/avatar.d.ts +7 -0
  532. package/dist/types/components/ui/avatar.d.ts.map +1 -0
  533. package/dist/types/components/ui/badge.d.ts +10 -0
  534. package/dist/types/components/ui/badge.d.ts.map +1 -0
  535. package/dist/types/components/ui/breadcrumb.d.ts +12 -0
  536. package/dist/types/components/ui/breadcrumb.d.ts.map +1 -0
  537. package/dist/types/components/ui/button.d.ts +11 -0
  538. package/dist/types/components/ui/button.d.ts.map +1 -0
  539. package/dist/types/components/ui/calendar.d.ts +9 -0
  540. package/dist/types/components/ui/calendar.d.ts.map +1 -0
  541. package/dist/types/components/ui/card.d.ts +10 -0
  542. package/dist/types/components/ui/card.d.ts.map +1 -0
  543. package/dist/types/components/ui/checkbox.d.ts +5 -0
  544. package/dist/types/components/ui/checkbox.d.ts.map +1 -0
  545. package/dist/types/components/ui/collapsible.d.ts +6 -0
  546. package/dist/types/components/ui/collapsible.d.ts.map +1 -0
  547. package/dist/types/components/ui/command.d.ts +19 -0
  548. package/dist/types/components/ui/command.d.ts.map +1 -0
  549. package/dist/types/components/ui/confirm-dialog.d.ts +72 -0
  550. package/dist/types/components/ui/confirm-dialog.d.ts.map +1 -0
  551. package/dist/types/components/ui/data-table.d.ts +211 -0
  552. package/dist/types/components/ui/data-table.d.ts.map +1 -0
  553. package/dist/types/components/ui/detail-page.d.ts +119 -0
  554. package/dist/types/components/ui/detail-page.d.ts.map +1 -0
  555. package/dist/types/components/ui/dialog.d.ts +16 -0
  556. package/dist/types/components/ui/dialog.d.ts.map +1 -0
  557. package/dist/types/components/ui/dropdown-menu.d.ts +26 -0
  558. package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -0
  559. package/dist/types/components/ui/empty-state.d.ts +30 -0
  560. package/dist/types/components/ui/empty-state.d.ts.map +1 -0
  561. package/dist/types/components/ui/form-field.d.ts +57 -0
  562. package/dist/types/components/ui/form-field.d.ts.map +1 -0
  563. package/dist/types/components/ui/form.d.ts +185 -0
  564. package/dist/types/components/ui/form.d.ts.map +1 -0
  565. package/dist/types/components/ui/hover-card.d.ts +7 -0
  566. package/dist/types/components/ui/hover-card.d.ts.map +1 -0
  567. package/dist/types/components/ui/input.d.ts +4 -0
  568. package/dist/types/components/ui/input.d.ts.map +1 -0
  569. package/dist/types/components/ui/label.d.ts +5 -0
  570. package/dist/types/components/ui/label.d.ts.map +1 -0
  571. package/dist/types/components/ui/menubar.d.ts +27 -0
  572. package/dist/types/components/ui/menubar.d.ts.map +1 -0
  573. package/dist/types/components/ui/motion.d.ts +130 -0
  574. package/dist/types/components/ui/motion.d.ts.map +1 -0
  575. package/dist/types/components/ui/page-header.d.ts +45 -0
  576. package/dist/types/components/ui/page-header.d.ts.map +1 -0
  577. package/dist/types/components/ui/pagination.d.ts +14 -0
  578. package/dist/types/components/ui/pagination.d.ts.map +1 -0
  579. package/dist/types/components/ui/popover.d.ts +8 -0
  580. package/dist/types/components/ui/popover.d.ts.map +1 -0
  581. package/dist/types/components/ui/progress.d.ts +5 -0
  582. package/dist/types/components/ui/progress.d.ts.map +1 -0
  583. package/dist/types/components/ui/radio-group.d.ts +6 -0
  584. package/dist/types/components/ui/radio-group.d.ts.map +1 -0
  585. package/dist/types/components/ui/select.d.ts +16 -0
  586. package/dist/types/components/ui/select.d.ts.map +1 -0
  587. package/dist/types/components/ui/separator.d.ts +5 -0
  588. package/dist/types/components/ui/separator.d.ts.map +1 -0
  589. package/dist/types/components/ui/sheet.d.ts +14 -0
  590. package/dist/types/components/ui/sheet.d.ts.map +1 -0
  591. package/dist/types/components/ui/skeleton.d.ts +3 -0
  592. package/dist/types/components/ui/skeleton.d.ts.map +1 -0
  593. package/dist/types/components/ui/slider.d.ts +5 -0
  594. package/dist/types/components/ui/slider.d.ts.map +1 -0
  595. package/dist/types/components/ui/sonner.d.ts +4 -0
  596. package/dist/types/components/ui/sonner.d.ts.map +1 -0
  597. package/dist/types/components/ui/switch.d.ts +5 -0
  598. package/dist/types/components/ui/switch.d.ts.map +1 -0
  599. package/dist/types/components/ui/table.d.ts +11 -0
  600. package/dist/types/components/ui/table.d.ts.map +1 -0
  601. package/dist/types/components/ui/tabs.d.ts +8 -0
  602. package/dist/types/components/ui/tabs.d.ts.map +1 -0
  603. package/dist/types/components/ui/textarea.d.ts +4 -0
  604. package/dist/types/components/ui/textarea.d.ts.map +1 -0
  605. package/dist/types/components/ui/toast.d.ts +70 -0
  606. package/dist/types/components/ui/toast.d.ts.map +1 -0
  607. package/dist/types/components/ui/toggle.d.ts +10 -0
  608. package/dist/types/components/ui/toggle.d.ts.map +1 -0
  609. package/dist/types/components/ui/tooltip.d.ts +8 -0
  610. package/dist/types/components/ui/tooltip.d.ts.map +1 -0
  611. package/dist/types/hooks/index.d.ts +14 -0
  612. package/dist/types/hooks/index.d.ts.map +1 -0
  613. package/dist/types/hooks/useApi.d.ts +38 -0
  614. package/dist/types/hooks/useApi.d.ts.map +1 -0
  615. package/dist/types/hooks/useBreakpoint.d.ts +35 -0
  616. package/dist/types/hooks/useBreakpoint.d.ts.map +1 -0
  617. package/dist/types/hooks/useDataTable.d.ts +59 -0
  618. package/dist/types/hooks/useDataTable.d.ts.map +1 -0
  619. package/dist/types/hooks/useMediaQuery.d.ts +12 -0
  620. package/dist/types/hooks/useMediaQuery.d.ts.map +1 -0
  621. package/dist/types/hooks/useStorage.d.ts +35 -0
  622. package/dist/types/hooks/useStorage.d.ts.map +1 -0
  623. package/dist/types/index.d.ts +75 -0
  624. package/dist/types/index.d.ts.map +1 -0
  625. package/dist/types/lib/errors.d.ts +37 -0
  626. package/dist/types/lib/errors.d.ts.map +1 -0
  627. package/dist/types/lib/format.d.ts +80 -0
  628. package/dist/types/lib/format.d.ts.map +1 -0
  629. package/dist/types/lib/fouc.d.ts +64 -0
  630. package/dist/types/lib/fouc.d.ts.map +1 -0
  631. package/dist/types/lib/platform.d.ts +156 -0
  632. package/dist/types/lib/platform.d.ts.map +1 -0
  633. package/dist/types/lib/utils.d.ts +14 -0
  634. package/dist/types/lib/utils.d.ts.map +1 -0
  635. package/dist/types/main.d.ts +2 -0
  636. package/dist/types/main.d.ts.map +1 -0
  637. package/dist/types/themes/index.d.ts +499 -0
  638. package/dist/types/themes/index.d.ts.map +1 -0
  639. package/dist/types/themes/presets/base.d.ts +108 -0
  640. package/dist/types/themes/presets/base.d.ts.map +1 -0
  641. package/dist/types/themes/presets/elegant.d.ts +108 -0
  642. package/dist/types/themes/presets/elegant.d.ts.map +1 -0
  643. package/dist/types/themes/presets/metro.d.ts +114 -0
  644. package/dist/types/themes/presets/metro.d.ts.map +1 -0
  645. package/dist/types/themes/presets/studio.d.ts +115 -0
  646. package/dist/types/themes/presets/studio.d.ts.map +1 -0
  647. package/dist/types/themes/presets/vivid.d.ts +115 -0
  648. package/dist/types/themes/presets/vivid.d.ts.map +1 -0
  649. package/dist/types/themes/theme-provider.d.ts +122 -0
  650. package/dist/types/themes/theme-provider.d.ts.map +1 -0
  651. package/dist/types/types/index.d.ts +813 -0
  652. package/dist/types/types/index.d.ts.map +1 -0
  653. package/dist/uikit.css +1 -0
  654. package/dist/useDataTable-CPiBpEg-.js +254 -0
  655. package/dist/useDataTable-CPiBpEg-.js.map +1 -0
  656. package/dist/utils-CwJPJKOE.js +2278 -0
  657. package/dist/utils-CwJPJKOE.js.map +1 -0
  658. package/dist/utils.js +5 -0
  659. package/dist/utils.js.map +1 -0
  660. package/dist/wrapper.js +13 -0
  661. package/dist/wrapper.js.map +1 -0
  662. package/dist/x-BxwubQiM.js +15 -0
  663. package/dist/x-BxwubQiM.js.map +1 -0
  664. package/examples/README.md +18 -0
  665. package/examples/button.tsx +16 -0
  666. package/examples/confirm-dialog.tsx +44 -0
  667. package/examples/data-table.tsx +35 -0
  668. package/examples/dialog.tsx +34 -0
  669. package/examples/empty-state.tsx +13 -0
  670. package/examples/form-field.tsx +22 -0
  671. package/examples/format.tsx +19 -0
  672. package/examples/page-header.tsx +17 -0
  673. package/examples/skeleton.tsx +12 -0
  674. package/examples/theme-provider.tsx +33 -0
  675. package/examples/toast.tsx +32 -0
  676. package/examples/use-breakpoint.tsx +17 -0
  677. package/llms.txt +1140 -0
  678. package/package.json +430 -0
package/dist/admin.js ADDED
@@ -0,0 +1,429 @@
1
+ import { jsx as e, jsxs as i, Fragment as j } from "react/jsx-runtime";
2
+ import * as L from "react";
3
+ import { createContext as Y, forwardRef as V, useState as B, useLayoutEffect as Z, useEffect as O, useContext as K } from "react";
4
+ import { c as ee } from "./index-Bke1qZdk.js";
5
+ import { c as s } from "./utils-CwJPJKOE.js";
6
+ import { Button as W } from "./button.js";
7
+ import { Badge as re } from "./badge.js";
8
+ import { Separator as te } from "./separator.js";
9
+ import { TooltipProvider as ne, Tooltip as ae, TooltipTrigger as oe, TooltipContent as se } from "./tooltip.js";
10
+ import { Breadcrumb as ie, BreadcrumbList as de, BreadcrumbItem as le, BreadcrumbLink as ce, BreadcrumbPage as me, BreadcrumbSeparator as ue } from "./breadcrumb.js";
11
+ import { X as fe } from "./x-BxwubQiM.js";
12
+ import { M as _ } from "./menu-DBhEanGo.js";
13
+ import { C as he } from "./chevron-right-pz9eCjj-.js";
14
+ function $() {
15
+ return typeof window > "u" ? !1 : window.innerWidth < 1024;
16
+ }
17
+ function be(x) {
18
+ return typeof window > "u" ? x : $() ? !1 : x;
19
+ }
20
+ const X = Y({
21
+ scheme: "sidebar",
22
+ tone: "subtle",
23
+ size: "lg",
24
+ sidebarExpanded: !0,
25
+ setSidebarExpanded: () => {
26
+ },
27
+ isMobile: !1
28
+ }), pe = ee(
29
+ "min-h-screen flex bg-background",
30
+ {
31
+ variants: {
32
+ tone: {
33
+ clean: "",
34
+ subtle: "",
35
+ brand: "",
36
+ contrast: ""
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ tone: "subtle"
41
+ }
42
+ }
43
+ ), q = V(({
44
+ scheme: x = "sidebar",
45
+ tone: k = "subtle",
46
+ size: h = "lg",
47
+ position: g = "relative",
48
+ defaultSidebarOpen: m = !0,
49
+ className: v,
50
+ children: N
51
+ }, M) => {
52
+ const [d, n] = B($), [w, t] = B(
53
+ () => be(m)
54
+ );
55
+ Z(() => {
56
+ const l = () => {
57
+ const a = window.innerWidth < 1024, C = d;
58
+ n(a), a && !C && w ? t(!1) : !a && C && t(m);
59
+ };
60
+ return l(), window.addEventListener("resize", l), () => window.removeEventListener("resize", l);
61
+ }, [d, w, m]), O(() => (d && w ? document.body.style.overflow = "hidden" : document.body.style.overflow = "unset", () => {
62
+ document.body.style.overflow = "unset";
63
+ }), [d, w]);
64
+ const u = L.Children.toArray(N), y = u.find(
65
+ (l) => L.isValidElement(l) && l.type === I
66
+ ), b = u.find(
67
+ (l) => L.isValidElement(l) && l.type === R
68
+ ), T = u.find(
69
+ (l) => L.isValidElement(l) && l.type === H
70
+ );
71
+ return /* @__PURE__ */ e(X.Provider, { value: {
72
+ scheme: x,
73
+ tone: k,
74
+ size: h,
75
+ sidebarExpanded: w,
76
+ setSidebarExpanded: t,
77
+ isMobile: d
78
+ }, children: /* @__PURE__ */ i(
79
+ "div",
80
+ {
81
+ ref: M,
82
+ className: s(pe({ tone: k }), v),
83
+ children: [
84
+ /* @__PURE__ */ e("div", { className: s(
85
+ "flex-shrink-0 transition-all duration-200 ease-out overflow-hidden",
86
+ // Desktop: smooth width transition
87
+ !d && w && (h === "sm" ? "w-48" : h === "md" ? "w-56" : h === "lg" ? "w-64" : h === "xl" ? "w-72" : "w-80"),
88
+ !d && !w && "w-0",
89
+ // Mobile: don't affect layout
90
+ d && "w-0",
91
+ g === "sticky" && d && "top-0 max-h-screen",
92
+ g === "sticky" && !d && "sticky top-0 max-h-screen"
93
+ ), children: y }),
94
+ /* @__PURE__ */ i("div", { className: "flex-1 flex flex-col min-w-0 transition-all duration-200 ease-out", children: [
95
+ b,
96
+ T
97
+ ] })
98
+ ]
99
+ }
100
+ ) });
101
+ });
102
+ q.displayName = "AdminLayout";
103
+ const I = V(({
104
+ tone: x,
105
+ navigation: k = [],
106
+ currentPath: h = "",
107
+ onNavigate: g,
108
+ logo: m,
109
+ position: v,
110
+ footer: N,
111
+ className: M
112
+ }, d) => {
113
+ const { scheme: n, tone: w, size: t, sidebarExpanded: u, setSidebarExpanded: y, isMobile: b } = P(), [T, l] = B(/* @__PURE__ */ new Set()), [a, C] = B(!1), o = x || w, E = n === "compact", p = !E || a, G = () => {
114
+ E && C(!a);
115
+ }, J = (r) => {
116
+ const c = new Set(T);
117
+ c.has(r) ? c.delete(r) : c.add(r), l(c);
118
+ }, Q = (r, c = !1) => {
119
+ const z = c ? "w-[92%] flex items-center group text-left font-medium rounded-lg cursor-pointer transition-all duration-300 ease-out transform hover:scale-[1.02]" : "w-full flex items-center group text-left font-medium rounded-lg cursor-pointer transition-all duration-300 ease-out transform hover:scale-[1.02]", S = c ? p ? "ml-4 px-3 py-2" : "px-2 py-2" : p ? "px-3 py-2.5" : "px-2 py-2.5 justify-center";
120
+ let f = "";
121
+ switch (o) {
122
+ case "clean":
123
+ f = r ? "bg-muted text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground hover:bg-muted/50";
124
+ break;
125
+ case "subtle":
126
+ f = r ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground hover:bg-background/60";
127
+ break;
128
+ case "brand":
129
+ f = r ? "bg-primary-foreground/20 text-primary-foreground shadow-sm" : "text-primary-foreground/90 hover:text-primary-foreground hover:bg-primary-foreground/10";
130
+ break;
131
+ case "contrast":
132
+ f = r ? "bg-muted/20 dark:bg-muted/20 text-white shadow-sm" : "text-white hover:bg-muted/20";
133
+ break;
134
+ default:
135
+ f = r ? "bg-muted/10 text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground hover:bg-muted/50";
136
+ }
137
+ return s(z, S, f);
138
+ }, D = ({ item: r, isSubmenu: c = !1 }) => {
139
+ const z = !c && r.items && r.items.length > 0, S = T.has(r.key), f = r.href ? h === r.href : !!r.isActive, F = /* @__PURE__ */ i(
140
+ "button",
141
+ {
142
+ onClick: () => {
143
+ if (E && !a) {
144
+ C(!0);
145
+ return;
146
+ }
147
+ z ? J(r.key) : r.href && g ? (g(r.href, r), b && y(!1)) : r.onClick && (r.onClick(), b && y(!1));
148
+ },
149
+ className: Q(f, c),
150
+ children: [
151
+ !c && r.icon && /* @__PURE__ */ e(r.icon, { className: s(
152
+ "flex-shrink-0",
153
+ p ? "h-4 w-4 mr-3" : "h-5 w-5"
154
+ ) }),
155
+ p && /* @__PURE__ */ i(j, { children: [
156
+ /* @__PURE__ */ e("span", { className: "flex-1 truncate text-left", children: r.label }),
157
+ r.badge && /* @__PURE__ */ e(
158
+ re,
159
+ {
160
+ variant: f ? "secondary" : "outline",
161
+ className: s(
162
+ "text-xs h-4 px-1 ml-1 flex-shrink-0",
163
+ o === "brand" && !f && "bg-primary-foreground/10 text-primary-foreground border-primary-foreground/20",
164
+ o === "brand" && f && "bg-primary-foreground/20 text-primary-foreground border-primary-foreground/30",
165
+ o === "contrast" && !f && "bg-zinc-700 text-zinc-300 border-zinc-600",
166
+ o === "contrast" && f && "bg-zinc-600 text-zinc-100 border-zinc-500"
167
+ ),
168
+ children: r.badge
169
+ }
170
+ ),
171
+ z && /* @__PURE__ */ e(he, { className: s(
172
+ "h-4 w-4 flex-shrink-0 transition-transform duration-200",
173
+ S && "rotate-90"
174
+ ) })
175
+ ] })
176
+ ]
177
+ }
178
+ );
179
+ return E && !a && !c && r.icon ? /* @__PURE__ */ i("div", { className: "w-full", children: [
180
+ /* @__PURE__ */ e(ne, { children: /* @__PURE__ */ i(ae, { delayDuration: 300, children: [
181
+ /* @__PURE__ */ e(oe, { asChild: !0, children: F }),
182
+ /* @__PURE__ */ e(
183
+ se,
184
+ {
185
+ side: "right",
186
+ className: "bg-white text-black border border-gray-200 shadow-md",
187
+ children: /* @__PURE__ */ e("p", { children: r.label })
188
+ }
189
+ )
190
+ ] }) }),
191
+ z && S && p && r.items && /* @__PURE__ */ e("div", { className: "overflow-hidden transition-all duration-300 mt-1", children: /* @__PURE__ */ e("div", { className: "space-y-1 pb-2", children: r.items.map((A) => /* @__PURE__ */ e(D, { item: A, isSubmenu: !0 }, A.key)) }) })
192
+ ] }, r.key) : /* @__PURE__ */ i("div", { className: "w-full", children: [
193
+ F,
194
+ z && S && p && r.items && /* @__PURE__ */ e("div", { className: "overflow-hidden transition-all duration-400 ease-out mt-1", children: /* @__PURE__ */ e("div", { className: "space-y-1 pb-2 animate-in slide-in-from-top-2", children: r.items.map((A, U) => /* @__PURE__ */ e(
195
+ "div",
196
+ {
197
+ className: "transition-all duration-300 ease-out",
198
+ style: { transitionDelay: `${U * 75}ms` },
199
+ children: /* @__PURE__ */ e(D, { item: A, isSubmenu: !0 })
200
+ },
201
+ A.key
202
+ )) }) })
203
+ ] }, r.key);
204
+ };
205
+ return /* @__PURE__ */ i(j, { children: [
206
+ b && u && /* @__PURE__ */ e(
207
+ "div",
208
+ {
209
+ className: "fixed inset-0 z-[60] bg-black/50 backdrop-blur-sm lg:hidden",
210
+ onClick: () => y(!1),
211
+ "aria-hidden": "true"
212
+ }
213
+ ),
214
+ /* @__PURE__ */ e(
215
+ "aside",
216
+ {
217
+ ref: d,
218
+ className: s(
219
+ "border-r flex flex-col bg-background overflow-hidden",
220
+ // ✅ RESTORED: Original smooth transitions
221
+ "transition-all duration-200 ease-out",
222
+ // ✅ FIXED: Proper z-index layering for mobile
223
+ // Mobile: Higher z-index than header (z-[70] > z-[10])
224
+ b ? "fixed left-0 top-0 z-[70] h-full" : "relative h-screen",
225
+ // Mobile: slide animation
226
+ b && (u ? "translate-x-0" : "-translate-x-full"),
227
+ // Desktop: always visible but container controls width
228
+ !b && "translate-x-0",
229
+ // Fixed widths for consistent animation
230
+ n === "sidebar" && t === "sm" && "w-48",
231
+ n === "sidebar" && t === "md" && "w-56",
232
+ n === "sidebar" && t === "lg" && "w-64",
233
+ n === "sidebar" && t === "xl" && "w-72",
234
+ n === "sidebar" && t === "full" && "w-80",
235
+ n === "compact" && !a && t === "sm" && "w-12",
236
+ n === "compact" && !a && t === "md" && "w-14",
237
+ n === "compact" && !a && t === "lg" && "w-16",
238
+ n === "compact" && !a && t === "xl" && "w-18",
239
+ n === "compact" && !a && t === "full" && "w-20",
240
+ n === "compact" && a && t === "sm" && "w-48",
241
+ n === "compact" && a && t === "md" && "w-56",
242
+ n === "compact" && a && t === "lg" && "w-64",
243
+ n === "compact" && a && t === "xl" && "w-72",
244
+ n === "compact" && a && t === "full" && "w-80",
245
+ // Tone colors
246
+ o === "clean" && "bg-background/90 backdrop-blur-sm border-border/40 text-foreground",
247
+ o === "subtle" && "bg-muted/90 backdrop-blur-sm border-border/30 text-foreground",
248
+ o === "brand" && "bg-primary border-primary-foreground/20 text-primary-foreground",
249
+ o === "contrast" && "bg-zinc-900 border-zinc-700/40 text-zinc-100",
250
+ M
251
+ ),
252
+ children: /* @__PURE__ */ i("div", { className: "flex flex-col h-full", children: [
253
+ /* @__PURE__ */ e("div", { className: s(
254
+ "flex items-center shadow-sm flex-shrink-0 border-b transition-all duration-300 ease-out",
255
+ o === "clean" && "border-border/40",
256
+ o === "subtle" && "border-border/30",
257
+ o === "brand" && "border-primary-foreground/20",
258
+ o === "contrast" && "border-zinc-700/40",
259
+ p ? "justify-between h-16 px-4" : "justify-center h-16 px-2"
260
+ ), children: p ? /* @__PURE__ */ i(j, { children: [
261
+ m && /* @__PURE__ */ e("div", { className: s(
262
+ "flex-shrink-0",
263
+ o === "brand" && "[&_*]:text-primary-foreground",
264
+ o === "contrast" && "[&_*]:text-zinc-100"
265
+ ), children: m }),
266
+ (b || E && a) && /* @__PURE__ */ e(
267
+ W,
268
+ {
269
+ variant: "ghost",
270
+ size: "icon",
271
+ onClick: () => {
272
+ b ? y(!1) : E && C(!1);
273
+ },
274
+ className: "flex-shrink-0",
275
+ children: /* @__PURE__ */ e(fe, { className: "h-4 w-4" })
276
+ }
277
+ )
278
+ ] }) : /* @__PURE__ */ e(
279
+ W,
280
+ {
281
+ variant: "ghost",
282
+ size: "icon",
283
+ onClick: G,
284
+ className: "flex-shrink-0",
285
+ children: /* @__PURE__ */ e(_, { className: "h-4 w-4" })
286
+ }
287
+ ) }),
288
+ /* @__PURE__ */ e("div", { className: "flex-1 overflow-y-auto", children: /* @__PURE__ */ e("nav", { className: s(
289
+ "space-y-1 transition-all duration-300 ease-out",
290
+ p ? "p-4" : "p-2"
291
+ ), children: k.map((r, c) => /* @__PURE__ */ e(
292
+ "div",
293
+ {
294
+ className: s(
295
+ "transition-all duration-300 ease-out",
296
+ p ? "opacity-100 translate-x-0" : "opacity-100"
297
+ ),
298
+ style: {
299
+ transitionDelay: p ? `${c * 50}ms` : "0ms"
300
+ },
301
+ children: /* @__PURE__ */ e(D, { item: r })
302
+ },
303
+ r.key
304
+ )) }) }),
305
+ N && p && /* @__PURE__ */ i(j, { children: [
306
+ /* @__PURE__ */ e(te, { className: s(
307
+ o === "clean" && "bg-border/40",
308
+ o === "subtle" && "bg-border/30",
309
+ o === "brand" && "bg-primary-foreground/20",
310
+ o === "contrast" && "bg-zinc-700/40"
311
+ ) }),
312
+ /* @__PURE__ */ e("div", { className: "flex-shrink-0 p-4", children: N })
313
+ ] })
314
+ ] })
315
+ }
316
+ )
317
+ ] });
318
+ });
319
+ I.displayName = "AdminSidebar";
320
+ const R = V(({
321
+ tone: x,
322
+ size: k,
323
+ title: h,
324
+ position: g = "sticky",
325
+ breadcrumbs: m = [],
326
+ onBreadcrumbNavigate: v,
327
+ actions: N,
328
+ className: M
329
+ }, d) => {
330
+ const { sidebarExpanded: n, setSidebarExpanded: w, isMobile: t } = P();
331
+ return /* @__PURE__ */ e(
332
+ "header",
333
+ {
334
+ ref: d,
335
+ className: s(
336
+ "w-full shadow-sm bg-background/95 backdrop-blur-md text-foreground flex-shrink-0 border-b border-border/50",
337
+ "transition-all duration-200 ease-out",
338
+ // ✅ FIXED: Sticky on desktop, lower z-index for mobile sidebar layering
339
+ g === "sticky" && "sticky top-0",
340
+ g === "fixed" && "fixed top-0 left-0 right-0",
341
+ // Always use lower z-index so mobile sidebar appears above
342
+ "z-[10]",
343
+ g === "relative" && "relative",
344
+ M
345
+ ),
346
+ children: /* @__PURE__ */ i("div", { className: "flex items-center justify-between px-4 lg:px-6 h-16", children: [
347
+ /* @__PURE__ */ i("div", { className: "flex items-center gap-4 min-w-0 flex-1", children: [
348
+ /* @__PURE__ */ e(
349
+ "button",
350
+ {
351
+ className: s(
352
+ "p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-all duration-300 ease-out",
353
+ "transform hover:scale-105 active:scale-95",
354
+ // Always show on mobile
355
+ t && "block",
356
+ // Show on desktop for toggle functionality
357
+ !t && "block"
358
+ ),
359
+ onClick: () => w(!n),
360
+ "aria-label": n ? "Close sidebar" : "Open sidebar",
361
+ children: /* @__PURE__ */ e(_, { className: s(
362
+ "h-5 w-5 transition-transform duration-300 ease-out",
363
+ n && !t && "rotate-180"
364
+ ) })
365
+ }
366
+ ),
367
+ /* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: [
368
+ h && !m.length && /* @__PURE__ */ e("h1", { className: "text-lg font-semibold text-foreground truncate", children: h }),
369
+ m.length > 0 && /* @__PURE__ */ e(ie, { children: /* @__PURE__ */ e(de, { children: m.map((u, y) => /* @__PURE__ */ i(L.Fragment, { children: [
370
+ /* @__PURE__ */ e(le, { children: u.href ? /* @__PURE__ */ e(
371
+ ce,
372
+ {
373
+ asChild: !!v,
374
+ ...v ? {
375
+ onClick: (b) => {
376
+ b.preventDefault(), v(u.href);
377
+ }
378
+ } : { href: u.href },
379
+ children: v ? /* @__PURE__ */ e("button", { type: "button", children: u.label }) : u.label
380
+ }
381
+ ) : /* @__PURE__ */ e(me, { children: u.label }) }),
382
+ y < m.length - 1 && /* @__PURE__ */ e(ue, {})
383
+ ] }, y)) }) })
384
+ ] })
385
+ ] }),
386
+ N && /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: N })
387
+ ] })
388
+ }
389
+ );
390
+ });
391
+ R.displayName = "AdminHeader";
392
+ const H = V(({
393
+ tone: x,
394
+ size: k,
395
+ className: h,
396
+ children: g
397
+ }, m) => {
398
+ const { isMobile: v } = P();
399
+ return /* @__PURE__ */ e(
400
+ "main",
401
+ {
402
+ ref: m,
403
+ className: s(
404
+ "flex-1 min-w-0 overflow-auto",
405
+ h
406
+ ),
407
+ children: /* @__PURE__ */ e("div", { className: "", children: /* @__PURE__ */ e("div", { className: "w-full mx-auto", children: g }) })
408
+ }
409
+ );
410
+ });
411
+ H.displayName = "AdminContent";
412
+ const P = () => {
413
+ const x = K(X);
414
+ if (!x)
415
+ throw new Error("useAdmin must be used within an AdminLayout component");
416
+ return x;
417
+ }, Le = Object.assign(q, {
418
+ Sidebar: I,
419
+ Header: R,
420
+ Content: H
421
+ });
422
+ export {
423
+ H as AdminContent,
424
+ R as AdminHeader,
425
+ Le as AdminLayout,
426
+ I as AdminSidebar,
427
+ P as useAdmin
428
+ };
429
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sources":["../src/components/layouts/admin.tsx"],"sourcesContent":["/**\n * Admin Layout - FIXED sidebar flash with minimal FOUC prevention\n * @module @bloomneo/uikit\n * @file src/components/layouts/admin.tsx\n */\n\nimport * as React from 'react';\nimport { forwardRef, createContext, useContext, useState, useEffect, useLayoutEffect } from 'react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '@/lib/utils';\nimport { Button } from '@/components/ui/button';\nimport { Badge } from '@/components/ui/badge';\nimport { Separator } from '@/components/ui/separator';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\nimport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '@/components/ui/breadcrumb';\nimport { Menu, X, ChevronRight } from 'lucide-react';\nimport type { NavigationItem, Size, Tone } from '@/types';\n\n/**\n * AdminLayout schemes - meaningful admin variations\n * sidebar: Full navigation with icons + labels (classic)\n * compact: Icon-only navigation with click-to-expand (mobile-first)\n */\nexport type AdminLayoutScheme = 'sidebar' | 'compact';\n\n/**\n * Detect if we're on mobile - synchronous detection to prevent flash\n */\nfunction getInitialMobileState(): boolean {\n if (typeof window === 'undefined') return false;\n return window.innerWidth < 1024;\n}\n\n/**\n * Get initial sidebar state based on mobile detection\n */\nfunction getInitialSidebarState(defaultOpen: boolean): boolean {\n if (typeof window === 'undefined') return defaultOpen;\n const isMobile = getInitialMobileState();\n return isMobile ? false : defaultOpen;\n}\n\n/**\n * Admin context for sharing configuration across compound components\n */\nconst AdminContext = createContext<{\n scheme: AdminLayoutScheme;\n tone: Tone;\n size: Size;\n sidebarExpanded: boolean;\n setSidebarExpanded: (expanded: boolean) => void;\n isMobile: boolean;\n}>({\n scheme: 'sidebar',\n tone: 'subtle',\n size: 'lg',\n sidebarExpanded: true,\n setSidebarExpanded: () => {},\n isMobile: false,\n});\n\n/**\n * Admin layout container variants - FLEX LAYOUT\n */\nconst adminVariants = cva(\n 'min-h-screen flex bg-background',\n {\n variants: {\n tone: {\n clean: '',\n subtle: '',\n brand: '',\n contrast: ''\n }\n },\n defaultVariants: {\n tone: 'subtle'\n }\n }\n);\n\n/**\n * AdminLayout Root - Container with context\n */\nexport interface AdminLayoutProps {\n /** RECOMMENDED: Layout scheme (default: \"sidebar\") */\n scheme?: AdminLayoutScheme;\n /** RECOMMENDED: Visual styling tone (default: \"subtle\") */\n tone?: Tone;\n /** OPTIONAL: Layout size (default: \"lg\") */\n size?: Size;\n /** OPTIONAL: Sidebar positioning */\n position?: 'relative' | 'sticky' | 'fixed';\n /** OPTIONAL: Default sidebar state (default: true) */\n defaultSidebarOpen?: boolean;\n /** OPTIONAL: Additional CSS classes */\n className?: string;\n /** REQUIRED: Admin structure (Header, Sidebar, Content) */\n children: React.ReactNode;\n}\n\n/**\n * AdminLayout Root Component - BACK TO ORIGINAL WORKING VERSION\n */\nconst AdminLayoutRoot = forwardRef<HTMLDivElement, AdminLayoutProps>(({\n scheme = 'sidebar',\n tone = 'subtle',\n size = 'lg',\n position = 'relative',\n defaultSidebarOpen = true,\n className,\n children,\n}, ref) => {\n // ✅ RESTORED: Original working state management\n const [isMobile, setIsMobile] = useState(getInitialMobileState);\n const [sidebarExpanded, setSidebarExpanded] = useState(() => \n getInitialSidebarState(defaultSidebarOpen)\n );\n\n // ✅ RESTORED: Original mobile detection logic\n useLayoutEffect(() => {\n const checkMobile = () => {\n const mobile = window.innerWidth < 1024;\n const wasMobile = isMobile;\n \n setIsMobile(mobile);\n \n // Only auto-close sidebar when transitioning TO mobile\n if (mobile && !wasMobile && sidebarExpanded) {\n setSidebarExpanded(false);\n }\n // When transitioning FROM mobile to desktop, respect defaultSidebarOpen\n else if (!mobile && wasMobile) {\n setSidebarExpanded(defaultSidebarOpen);\n }\n };\n\n // Check immediately in case window size changed\n checkMobile();\n \n window.addEventListener('resize', checkMobile);\n return () => window.removeEventListener('resize', checkMobile);\n }, [isMobile, sidebarExpanded, defaultSidebarOpen]);\n\n // Prevent body scroll when mobile sidebar is open\n useEffect(() => {\n if (isMobile && sidebarExpanded) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n\n return () => {\n document.body.style.overflow = 'unset';\n };\n }, [isMobile, sidebarExpanded]);\n\n // Auto-wrap Header + Content in main area\n const childrenArray = React.Children.toArray(children);\n const sidebar = childrenArray.find(child => \n React.isValidElement(child) && child.type === AdminSidebar\n );\n const header = childrenArray.find(child => \n React.isValidElement(child) && child.type === AdminHeader\n );\n const content = childrenArray.find(child => \n React.isValidElement(child) && child.type === AdminContent\n );\n\n return (\n <AdminContext.Provider value={{ \n scheme, \n tone, \n size, \n sidebarExpanded, \n setSidebarExpanded,\n isMobile\n }}>\n <div\n ref={ref}\n className={cn(adminVariants({ tone }), className)}\n >\n {/* ✅ RESTORED: Original sidebar container */}\n <div className={cn(\n 'flex-shrink-0 transition-all duration-200 ease-out overflow-hidden',\n // Desktop: smooth width transition\n !isMobile && sidebarExpanded && (\n size === 'sm' ? 'w-48' :\n size === 'md' ? 'w-56' :\n size === 'lg' ? 'w-64' :\n size === 'xl' ? 'w-72' :\n 'w-80'\n ),\n !isMobile && !sidebarExpanded && 'w-0',\n // Mobile: don't affect layout\n isMobile && 'w-0',\n position === 'sticky' && isMobile && 'top-0 max-h-screen',\n position === 'sticky' && !isMobile && 'sticky top-0 max-h-screen'\n )}>\n {sidebar}\n </div>\n \n {/* ✅ RESTORED: Original main area */}\n <div className=\"flex-1 flex flex-col min-w-0 transition-all duration-200 ease-out\">\n {header}\n {content}\n </div>\n </div>\n </AdminContext.Provider>\n );\n});\n\nAdminLayoutRoot.displayName = 'AdminLayout';\n\n/**\n * AdminLayout.Sidebar - Navigation sidebar with FOUC prevention\n */\nexport interface AdminSidebarProps {\n /** OPTIONAL: Sidebar tone (inherits from AdminLayout if not set) */\n tone?: Tone;\n /** OPTIONAL: Navigation items */\n navigation?: NavigationItem[];\n /** OPTIONAL: Current path for active states */\n currentPath?: string;\n /** OPTIONAL: Navigation handler */\n onNavigate?: (href: string, item: NavigationItem) => void;\n /** OPTIONAL: Logo component */\n logo?: React.ReactNode;\n /** OPTIONAL: Sidebar positioning */\n position?: 'relative' | 'sticky' | 'fixed';\n /** OPTIONAL: Sidebar footer content */\n footer?: React.ReactNode;\n /** OPTIONAL: Additional CSS classes */\n className?: string;\n}\n\nconst AdminSidebar = forwardRef<HTMLElement, AdminSidebarProps>(({\n tone,\n navigation = [],\n currentPath = '',\n onNavigate,\n logo,\n position,\n footer,\n className,\n}, ref) => {\n const { scheme, tone: adminTone, size, sidebarExpanded, setSidebarExpanded, isMobile } = useAdmin();\n const [expandedMenus, setExpandedMenus] = useState(new Set<string>());\n const [compactExpanded, setCompactExpanded] = useState(false);\n\n const finalTone = tone || adminTone;\n const isCompact = scheme === 'compact';\n const showLabels = !isCompact || compactExpanded;\n\n // Handle compact mode expansion\n const handleCompactToggle = () => {\n if (isCompact) {\n setCompactExpanded(!compactExpanded);\n }\n };\n\n // Handle menu expansion\n const toggleMenu = (menuKey: string) => {\n const newExpanded = new Set(expandedMenus);\n if (newExpanded.has(menuKey)) {\n newExpanded.delete(menuKey);\n } else {\n newExpanded.add(menuKey);\n }\n setExpandedMenus(newExpanded);\n };\n\n // Get menu item styles\n const getMenuItemStyles = (isActive: boolean, isSubmenu = false) => {\n const baseStyles = isSubmenu \n ? 'w-[92%] flex items-center group text-left font-medium rounded-lg cursor-pointer transition-all duration-300 ease-out transform hover:scale-[1.02]'\n : 'w-full flex items-center group text-left font-medium rounded-lg cursor-pointer transition-all duration-300 ease-out transform hover:scale-[1.02]';\n const padding = isSubmenu \n ? (showLabels ? 'ml-4 px-3 py-2' : 'px-2 py-2') \n : (showLabels ? 'px-3 py-2.5' : 'px-2 py-2.5 justify-center');\n \n let toneStyles = '';\n switch (finalTone) {\n case 'clean':\n toneStyles = isActive \n ? 'bg-muted text-foreground shadow-sm' \n : 'text-muted-foreground hover:text-foreground hover:bg-muted/50';\n break;\n case 'subtle':\n toneStyles = isActive \n ? 'bg-background text-foreground shadow-sm' \n : 'text-muted-foreground hover:text-foreground hover:bg-background/60';\n break;\n case 'brand':\n toneStyles = isActive \n ? 'bg-primary-foreground/20 text-primary-foreground shadow-sm' \n : 'text-primary-foreground/90 hover:text-primary-foreground hover:bg-primary-foreground/10';\n break;\n case 'contrast':\n toneStyles = isActive \n ? 'bg-muted/20 dark:bg-muted/20 text-white shadow-sm' \n : 'text-white hover:bg-muted/20';\n break;\n default:\n toneStyles = isActive \n ? 'bg-muted/10 text-foreground shadow-sm' \n : 'text-muted-foreground hover:text-foreground hover:bg-muted/50';\n }\n \n return cn(baseStyles, padding, toneStyles);\n };\n\n // Menu item component\n const MenuItem = ({ item, isSubmenu = false }: { item: NavigationItem; isSubmenu?: boolean }) => {\n const hasSubmenu = !isSubmenu && item.items && item.items.length > 0;\n const isExpanded = expandedMenus.has(item.key);\n const isActive = item.href ? currentPath === item.href : Boolean(item.isActive);\n\n const handleClick = () => {\n if (isCompact && !compactExpanded) {\n setCompactExpanded(true);\n return;\n }\n\n if (hasSubmenu) {\n toggleMenu(item.key);\n } else if (item.href && onNavigate) {\n onNavigate(item.href, item);\n // Close mobile sidebar after navigation\n if (isMobile) {\n setSidebarExpanded(false);\n }\n } else if (item.onClick) {\n item.onClick();\n // Close mobile sidebar after action\n if (isMobile) {\n setSidebarExpanded(false);\n }\n }\n };\n\n const menuButton = (\n <button\n onClick={handleClick}\n className={getMenuItemStyles(isActive, isSubmenu)}\n >\n {!isSubmenu && item.icon && (\n <item.icon className={cn(\n 'flex-shrink-0',\n showLabels ? 'h-4 w-4 mr-3' : 'h-5 w-5'\n )} />\n )}\n \n {showLabels && (\n <>\n <span className=\"flex-1 truncate text-left\">{item.label}</span>\n \n {item.badge && (\n <Badge \n variant={isActive ? 'secondary' : 'outline'} \n className={cn(\n \"text-xs h-4 px-1 ml-1 flex-shrink-0\",\n finalTone === 'brand' && !isActive && 'bg-primary-foreground/10 text-primary-foreground border-primary-foreground/20',\n finalTone === 'brand' && isActive && 'bg-primary-foreground/20 text-primary-foreground border-primary-foreground/30',\n finalTone === 'contrast' && !isActive && 'bg-zinc-700 text-zinc-300 border-zinc-600',\n finalTone === 'contrast' && isActive && 'bg-zinc-600 text-zinc-100 border-zinc-500'\n )}\n >\n {item.badge}\n </Badge>\n )}\n \n {hasSubmenu && (\n <ChevronRight className={cn(\n 'h-4 w-4 flex-shrink-0 transition-transform duration-200',\n isExpanded && 'rotate-90'\n )} />\n )}\n </>\n )}\n </button>\n );\n\n // In compact mode without labels, wrap in tooltip\n if (isCompact && !compactExpanded && !isSubmenu && item.icon) {\n return (\n <div key={item.key} className=\"w-full\">\n <TooltipProvider>\n <Tooltip delayDuration={300}>\n <TooltipTrigger asChild>\n {menuButton}\n </TooltipTrigger>\n <TooltipContent \n side=\"right\" \n className=\"bg-white text-black border border-gray-200 shadow-md\"\n >\n <p>{item.label}</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n \n {hasSubmenu && isExpanded && showLabels && item.items && (\n <div className=\"overflow-hidden transition-all duration-300 mt-1\">\n <div className=\"space-y-1 pb-2\">\n {item.items.map((subItem) => (\n <MenuItem key={subItem.key} item={subItem} isSubmenu={true} />\n ))}\n </div>\n </div>\n )}\n </div>\n );\n }\n\n return (\n <div key={item.key} className=\"w-full\">\n {menuButton}\n \n {hasSubmenu && isExpanded && showLabels && item.items && (\n <div className=\"overflow-hidden transition-all duration-400 ease-out mt-1\">\n <div className=\"space-y-1 pb-2 animate-in slide-in-from-top-2\">\n {item.items.map((subItem, subIndex) => (\n <div\n key={subItem.key}\n className=\"transition-all duration-300 ease-out\"\n style={{ transitionDelay: `${subIndex * 75}ms` }}\n >\n <MenuItem item={subItem} isSubmenu={true} />\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n };\n\n return (\n <>\n {/* ✅ FIXED: Mobile Overlay with higher z-index */}\n {isMobile && sidebarExpanded && (\n <div \n className=\"fixed inset-0 z-[60] bg-black/50 backdrop-blur-sm lg:hidden\"\n onClick={() => setSidebarExpanded(false)}\n aria-hidden=\"true\"\n />\n )}\n \n {/* ✅ RESTORED: Original sidebar with working mobile behavior */}\n <aside \n ref={ref}\n className={cn(\n 'border-r flex flex-col bg-background overflow-hidden',\n // ✅ RESTORED: Original smooth transitions\n 'transition-all duration-200 ease-out',\n // ✅ FIXED: Proper z-index layering for mobile\n // Mobile: Higher z-index than header (z-[70] > z-[10])\n isMobile ? 'fixed left-0 top-0 z-[70] h-full' : 'relative h-screen',\n // Mobile: slide animation\n isMobile && (sidebarExpanded ? 'translate-x-0' : '-translate-x-full'),\n // Desktop: always visible but container controls width\n !isMobile && 'translate-x-0',\n // Fixed widths for consistent animation\n scheme === 'sidebar' && size === 'sm' && 'w-48',\n scheme === 'sidebar' && size === 'md' && 'w-56', \n scheme === 'sidebar' && size === 'lg' && 'w-64',\n scheme === 'sidebar' && size === 'xl' && 'w-72',\n scheme === 'sidebar' && size === 'full' && 'w-80',\n scheme === 'compact' && !compactExpanded && size === 'sm' && 'w-12',\n scheme === 'compact' && !compactExpanded && size === 'md' && 'w-14',\n scheme === 'compact' && !compactExpanded && size === 'lg' && 'w-16',\n scheme === 'compact' && !compactExpanded && size === 'xl' && 'w-18',\n scheme === 'compact' && !compactExpanded && size === 'full' && 'w-20',\n scheme === 'compact' && compactExpanded && size === 'sm' && 'w-48',\n scheme === 'compact' && compactExpanded && size === 'md' && 'w-56',\n scheme === 'compact' && compactExpanded && size === 'lg' && 'w-64',\n scheme === 'compact' && compactExpanded && size === 'xl' && 'w-72',\n scheme === 'compact' && compactExpanded && size === 'full' && 'w-80',\n // Tone colors\n finalTone === 'clean' && 'bg-background/90 backdrop-blur-sm border-border/40 text-foreground',\n finalTone === 'subtle' && 'bg-muted/90 backdrop-blur-sm border-border/30 text-foreground',\n finalTone === 'brand' && 'bg-primary border-primary-foreground/20 text-primary-foreground',\n finalTone === 'contrast' && 'bg-zinc-900 border-zinc-700/40 text-zinc-100',\n className\n )}\n >\n <div className=\"flex flex-col h-full\">\n {/* Sidebar Header with smooth transitions */}\n <div className={cn(\n 'flex items-center shadow-sm flex-shrink-0 border-b transition-all duration-300 ease-out',\n finalTone === 'clean' && 'border-border/40',\n finalTone === 'subtle' && 'border-border/30', \n finalTone === 'brand' && 'border-primary-foreground/20',\n finalTone === 'contrast' && 'border-zinc-700/40',\n showLabels ? 'justify-between h-16 px-4' : 'justify-center h-16 px-2'\n )}>\n {showLabels ? (\n <>\n {logo && (\n <div className={cn(\n \"flex-shrink-0\",\n finalTone === 'brand' && '[&_*]:text-primary-foreground',\n finalTone === 'contrast' && '[&_*]:text-zinc-100'\n )}>\n {logo}\n </div>\n )}\n {/* Close button for mobile OR compact expanded */}\n {(isMobile || (isCompact && compactExpanded)) && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => {\n if (isMobile) {\n setSidebarExpanded(false);\n } else if (isCompact) {\n setCompactExpanded(false);\n }\n }}\n className=\"flex-shrink-0\"\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n </>\n ) : (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={handleCompactToggle}\n className=\"flex-shrink-0\"\n >\n <Menu className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n\n {/* Navigation with staggered animations */}\n <div className=\"flex-1 overflow-y-auto\">\n <nav className={cn(\n 'space-y-1 transition-all duration-300 ease-out', \n showLabels ? 'p-4' : 'p-2'\n )}>\n {navigation.map((item, index) => (\n <div \n key={item.key}\n className={cn(\n \"transition-all duration-300 ease-out\",\n showLabels ? \"opacity-100 translate-x-0\" : \"opacity-100\"\n )}\n style={{ \n transitionDelay: showLabels ? `${index * 50}ms` : '0ms' \n }}\n >\n <MenuItem item={item} />\n </div>\n ))}\n </nav>\n </div>\n\n {/* Sidebar Footer */}\n {footer && showLabels && (\n <>\n <Separator className={cn(\n finalTone === 'clean' && 'bg-border/40',\n finalTone === 'subtle' && 'bg-border/30', \n finalTone === 'brand' && 'bg-primary-foreground/20',\n finalTone === 'contrast' && 'bg-zinc-700/40'\n )} />\n <div className=\"flex-shrink-0 p-4\">\n {footer}\n </div>\n </>\n )}\n </div>\n </aside>\n </>\n );\n});\n\nAdminSidebar.displayName = 'AdminSidebar';\n\n/**\n * AdminLayout.Header - Top header with proper z-index for mobile\n */\nexport interface AdminHeaderProps {\n /** OPTIONAL: Header tone (inherits from AdminLayout if not set) */\n tone?: Tone;\n /** OPTIONAL: Header size (inherits from AdminLayout if not set) */\n size?: Size;\n /** OPTIONAL: Page title */\n title?: string;\n /** OPTIONAL: Header positioning (default: \"sticky\") */\n position?: 'sticky' | 'fixed' | 'relative';\n /** OPTIONAL: Breadcrumb items */\n breadcrumbs?: { label: string; href?: string }[];\n /** OPTIONAL: Breadcrumb navigation handler */\n onBreadcrumbNavigate?: (href: string) => void;\n /** OPTIONAL: Header actions (buttons, user menu, etc.) */\n actions?: React.ReactNode;\n /** OPTIONAL: Additional CSS classes */\n className?: string;\n}\n\nconst AdminHeader = forwardRef<HTMLElement, AdminHeaderProps>(({\n tone,\n size,\n title,\n position = 'sticky',\n breadcrumbs = [],\n onBreadcrumbNavigate,\n actions,\n className,\n}, ref) => {\n const { sidebarExpanded, setSidebarExpanded, isMobile } = useAdmin();\n\n return (\n <header \n ref={ref}\n className={cn(\n 'w-full shadow-sm bg-background/95 backdrop-blur-md text-foreground flex-shrink-0 border-b border-border/50',\n 'transition-all duration-200 ease-out',\n // ✅ FIXED: Sticky on desktop, lower z-index for mobile sidebar layering\n position === 'sticky' && 'sticky top-0',\n position === 'fixed' && 'fixed top-0 left-0 right-0',\n // Always use lower z-index so mobile sidebar appears above\n 'z-[10]',\n position === 'relative' && 'relative',\n className\n )}\n >\n <div className=\"flex items-center justify-between px-4 lg:px-6 h-16\">\n <div className=\"flex items-center gap-4 min-w-0 flex-1\">\n {/* Toggle button with smooth icon transition */}\n <button\n className={cn(\n \"p-2 rounded-lg text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-all duration-300 ease-out\",\n \"transform hover:scale-105 active:scale-95\",\n // Always show on mobile\n isMobile && \"block\",\n // Show on desktop for toggle functionality \n !isMobile && \"block\"\n )}\n onClick={() => setSidebarExpanded(!sidebarExpanded)}\n aria-label={sidebarExpanded ? 'Close sidebar' : 'Open sidebar'}\n >\n <Menu className={cn(\n \"h-5 w-5 transition-transform duration-300 ease-out\",\n sidebarExpanded && !isMobile && \"rotate-180\"\n )} />\n </button>\n \n {/* Title and Breadcrumbs */}\n <div className=\"min-w-0 flex-1\">\n {/* Title */}\n {title && !breadcrumbs.length && (\n <h1 className=\"text-lg font-semibold text-foreground truncate\">\n {title}\n </h1>\n )}\n \n {/* Breadcrumbs */}\n {breadcrumbs.length > 0 && (\n <Breadcrumb>\n <BreadcrumbList>\n {breadcrumbs.map((crumb, index) => (\n <React.Fragment key={index}>\n <BreadcrumbItem>\n {crumb.href ? (\n <BreadcrumbLink\n asChild={!!onBreadcrumbNavigate}\n {...(onBreadcrumbNavigate \n ? {\n onClick: (e: React.MouseEvent) => {\n e.preventDefault();\n onBreadcrumbNavigate(crumb.href!);\n }\n }\n : { href: crumb.href }\n )}\n >\n {onBreadcrumbNavigate ? (\n <button type=\"button\">\n {crumb.label}\n </button>\n ) : (\n crumb.label\n )}\n </BreadcrumbLink>\n ) : (\n <BreadcrumbPage>{crumb.label}</BreadcrumbPage>\n )}\n </BreadcrumbItem>\n {index < breadcrumbs.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n )}\n </div>\n </div>\n \n {/* Header Actions */}\n {actions && (\n <div className=\"flex-shrink-0\">\n {actions}\n </div>\n )}\n </div>\n </header>\n );\n});\n\nAdminHeader.displayName = 'AdminHeader';\n\n/**\n * AdminLayout.Content - Main content area with PROPER flex layout\n */\nexport interface AdminContentProps {\n /** OPTIONAL: Content tone (inherits from AdminLayout if not set) */\n tone?: Tone;\n /** OPTIONAL: Content size (inherits from AdminLayout if not set) */\n size?: Size;\n /** OPTIONAL: Additional CSS classes */\n className?: string;\n /** REQUIRED: Admin content */\n children: React.ReactNode;\n}\n\nconst AdminContent = forwardRef<HTMLElement, AdminContentProps>(({\n tone,\n size,\n className,\n children,\n}, ref) => {\n const { isMobile } = useAdmin();\n\n return (\n <main \n ref={ref}\n className={cn(\n 'flex-1 min-w-0 overflow-auto',\n className\n )}\n >\n <div className=\"\">\n <div className=\"w-full mx-auto\">\n {children}\n </div>\n </div>\n </main>\n );\n});\n\nAdminContent.displayName = 'AdminContent';\n\n/**\n * Hook to access admin configuration\n */\nconst useAdmin = () => {\n const context = useContext(AdminContext);\n if (!context) {\n throw new Error('useAdmin must be used within an AdminLayout component');\n }\n return context;\n};\n\n/**\n * AdminLayout - COMPOUND-ONLY Component\n */\nconst AdminLayout = Object.assign(AdminLayoutRoot, {\n Sidebar: AdminSidebar,\n Header: AdminHeader,\n Content: AdminContent,\n});\n\n/**\n * Export FIXED AdminLayout\n */\nexport { \n AdminLayout,\n AdminSidebar,\n AdminHeader,\n AdminContent,\n useAdmin\n};"],"names":["getInitialMobileState","getInitialSidebarState","defaultOpen","AdminContext","createContext","adminVariants","cva","AdminLayoutRoot","forwardRef","scheme","tone","size","position","defaultSidebarOpen","className","children","ref","isMobile","setIsMobile","useState","sidebarExpanded","setSidebarExpanded","useLayoutEffect","checkMobile","mobile","wasMobile","useEffect","childrenArray","React","sidebar","child","AdminSidebar","header","AdminHeader","content","AdminContent","jsx","jsxs","cn","navigation","currentPath","onNavigate","logo","footer","adminTone","useAdmin","expandedMenus","setExpandedMenus","compactExpanded","setCompactExpanded","finalTone","isCompact","showLabels","handleCompactToggle","toggleMenu","menuKey","newExpanded","getMenuItemStyles","isActive","isSubmenu","baseStyles","padding","toneStyles","MenuItem","item","hasSubmenu","isExpanded","menuButton","Fragment","Badge","ChevronRight","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","subItem","subIndex","Button","X","Menu","index","Separator","title","breadcrumbs","onBreadcrumbNavigate","actions","Breadcrumb","BreadcrumbList","crumb","BreadcrumbItem","BreadcrumbLink","e","BreadcrumbPage","BreadcrumbSeparator","context","useContext","AdminLayout"],"mappings":"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"}
package/dist/alert.js ADDED
@@ -0,0 +1,67 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { c as i } from "./index-Bke1qZdk.js";
3
+ import { c as e } from "./utils-CwJPJKOE.js";
4
+ const l = i(
5
+ "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-card text-card-foreground",
10
+ destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ variant: "default"
15
+ }
16
+ }
17
+ );
18
+ function o({
19
+ className: t,
20
+ variant: r,
21
+ ...s
22
+ }) {
23
+ return /* @__PURE__ */ a(
24
+ "div",
25
+ {
26
+ "data-slot": "alert",
27
+ role: "alert",
28
+ className: e(l({ variant: r }), t),
29
+ ...s
30
+ }
31
+ );
32
+ }
33
+ function g({ className: t, ...r }) {
34
+ return /* @__PURE__ */ a(
35
+ "div",
36
+ {
37
+ "data-slot": "alert-title",
38
+ className: e(
39
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
40
+ t
41
+ ),
42
+ ...r
43
+ }
44
+ );
45
+ }
46
+ function u({
47
+ className: t,
48
+ ...r
49
+ }) {
50
+ return /* @__PURE__ */ a(
51
+ "div",
52
+ {
53
+ "data-slot": "alert-description",
54
+ className: e(
55
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
56
+ t
57
+ ),
58
+ ...r
59
+ }
60
+ );
61
+ }
62
+ export {
63
+ o as Alert,
64
+ u as AlertDescription,
65
+ g as AlertTitle
66
+ };
67
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sources":["../src/components/ui/alert.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription"],"mappings":";;;AAKA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AACnE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAC9B,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}