@viglet/viglet-design-system 2026.2.52 → 2026.2.54

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 (317) hide show
  1. package/dist/assets/products/index.d.ts.map +1 -0
  2. package/dist/breadcrumb.context-C20vyfmC.js +1501 -0
  3. package/dist/breadcrumb.context-sGIkawm9.cjs +7 -0
  4. package/dist/chunk-Bmb41Sf3.cjs +1 -0
  5. package/dist/components/app-footer.d.ts.map +1 -0
  6. package/dist/components/app-switcher.d.ts.map +1 -0
  7. package/dist/components/backend-status.d.ts.map +1 -0
  8. package/dist/components/badge-colorful.d.ts.map +1 -0
  9. package/dist/components/badge-locale.d.ts.map +1 -0
  10. package/dist/components/error-boundary.d.ts.map +1 -0
  11. package/dist/components/index.d.ts.map +1 -0
  12. package/dist/{src/components → components}/language-select.d.ts +1 -1
  13. package/dist/components/language-select.d.ts.map +1 -0
  14. package/dist/components/language-switcher.d.ts.map +1 -0
  15. package/dist/components/login/index.d.ts.map +1 -0
  16. package/dist/components/login/login.d.ts.map +1 -0
  17. package/dist/components/mode-toggle.d.ts.map +1 -0
  18. package/dist/{src/components → components}/nav-secondary.d.ts +1 -1
  19. package/dist/components/nav-secondary.d.ts.map +1 -0
  20. package/dist/components/router/blank-slate.d.ts.map +1 -0
  21. package/dist/components/router/dialog.delete.d.ts.map +1 -0
  22. package/dist/components/router/gradient-button-link.d.ts.map +1 -0
  23. package/dist/{src/components → components}/router/grid.list.d.ts +1 -1
  24. package/dist/components/router/grid.list.d.ts.map +1 -0
  25. package/dist/components/router/index.d.ts.map +1 -0
  26. package/dist/components/router/internal.sidebar.d.ts.map +1 -0
  27. package/dist/components/router/loading-provider.d.ts.map +1 -0
  28. package/dist/components/router/nav-main.d.ts.map +1 -0
  29. package/dist/{src/components → components}/router/nav-user.d.ts +1 -1
  30. package/dist/components/router/nav-user.d.ts.map +1 -0
  31. package/dist/components/router/page-content.d.ts.map +1 -0
  32. package/dist/components/router/page-header.d.ts.map +1 -0
  33. package/dist/components/router/page.d.ts.map +1 -0
  34. package/dist/components/router/sticky.page.header.d.ts.map +1 -0
  35. package/dist/components/router/sub.page.d.ts.map +1 -0
  36. package/dist/components/router/sub.page.header.d.ts.map +1 -0
  37. package/dist/components/startup-first/index.d.ts.map +1 -0
  38. package/dist/components/startup-first/startup-first.d.ts.map +1 -0
  39. package/dist/components/theme-provider.d.ts.map +1 -0
  40. package/dist/components/ui/accordion.d.ts.map +1 -0
  41. package/dist/components/ui/avatar.d.ts.map +1 -0
  42. package/dist/components/ui/badge.d.ts.map +1 -0
  43. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  44. package/dist/components/ui/button.d.ts.map +1 -0
  45. package/dist/components/ui/card.d.ts.map +1 -0
  46. package/dist/components/ui/checkbox.d.ts.map +1 -0
  47. package/dist/components/ui/dialog.d.ts.map +1 -0
  48. package/dist/components/ui/drawer.d.ts.map +1 -0
  49. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  50. package/dist/{src/components → components}/ui/floating-formulas-bg.d.ts +8 -1
  51. package/dist/components/ui/floating-formulas-bg.d.ts.map +1 -0
  52. package/dist/components/ui/form-actions.d.ts.map +1 -0
  53. package/dist/components/ui/form-item-two-columns.d.ts.map +1 -0
  54. package/dist/components/ui/form.d.ts.map +1 -0
  55. package/dist/components/ui/glass-card.d.ts.map +1 -0
  56. package/dist/components/ui/gradient-button.d.ts.map +1 -0
  57. package/dist/components/ui/gradient-switch.d.ts.map +1 -0
  58. package/dist/components/ui/hover-card.d.ts.map +1 -0
  59. package/dist/components/ui/index.d.ts.map +1 -0
  60. package/dist/components/ui/input.d.ts.map +1 -0
  61. package/dist/components/ui/label.d.ts.map +1 -0
  62. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  63. package/dist/components/ui/pagination.d.ts.map +1 -0
  64. package/dist/components/ui/popover.d.ts.map +1 -0
  65. package/dist/components/ui/progress.d.ts.map +1 -0
  66. package/dist/components/ui/pulse-ring.d.ts.map +1 -0
  67. package/dist/components/ui/resizable.d.ts.map +1 -0
  68. package/dist/components/ui/section-card.d.ts.map +1 -0
  69. package/dist/components/ui/select.d.ts.map +1 -0
  70. package/dist/components/ui/separator.d.ts.map +1 -0
  71. package/dist/components/ui/sheet.d.ts.map +1 -0
  72. package/dist/{src/components → components}/ui/sidebar.d.ts +3 -3
  73. package/dist/components/ui/sidebar.d.ts.map +1 -0
  74. package/dist/components/ui/skeleton.d.ts.map +1 -0
  75. package/dist/components/ui/slider.d.ts.map +1 -0
  76. package/dist/components/ui/sonner.d.ts.map +1 -0
  77. package/dist/components/ui/stepper.d.ts.map +1 -0
  78. package/dist/components/ui/sticky-save-bar.d.ts.map +1 -0
  79. package/dist/components/ui/switch.d.ts.map +1 -0
  80. package/dist/components/ui/table.d.ts.map +1 -0
  81. package/dist/components/ui/tabs.d.ts.map +1 -0
  82. package/dist/components/ui/textarea.d.ts.map +1 -0
  83. package/dist/{src/components → components}/ui/toggle-group.d.ts +1 -1
  84. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  85. package/dist/components/ui/toggle.d.ts.map +1 -0
  86. package/dist/components/ui/tooltip.d.ts.map +1 -0
  87. package/dist/components/ui/user-avatar.d.ts.map +1 -0
  88. package/dist/components/ui/user-menu.d.ts.map +1 -0
  89. package/dist/components/viglet-app-switcher.d.ts.map +1 -0
  90. package/dist/contexts/breadcrumb.context.d.ts.map +1 -0
  91. package/dist/contexts/index.d.ts.map +1 -0
  92. package/dist/{src/contexts → contexts}/user.context.d.ts +1 -1
  93. package/dist/contexts/user.context.d.ts.map +1 -0
  94. package/dist/floating-formulas-bg.cjs.js +1 -1
  95. package/dist/floating-formulas-bg.css +11 -0
  96. package/dist/floating-formulas-bg.es.js +14 -14
  97. package/dist/hooks/index.d.ts.map +1 -0
  98. package/dist/hooks/use-date-locale.d.ts.map +1 -0
  99. package/dist/{src/hooks → hooks}/use-grid-adapter.d.ts +1 -1
  100. package/dist/hooks/use-grid-adapter.d.ts.map +1 -0
  101. package/dist/hooks/use-mobile.d.ts.map +1 -0
  102. package/dist/{src/hooks → hooks}/use-sub-page-breadcrumb.d.ts +1 -1
  103. package/dist/hooks/use-sub-page-breadcrumb.d.ts.map +1 -0
  104. package/dist/i18n/index.d.ts.map +1 -0
  105. package/dist/{i18n-BVqIoqtS.cjs → i18n-DHez5YdJ.cjs} +1 -1
  106. package/dist/i18n.cjs.js +1 -1
  107. package/dist/index.cjs.js +1 -110
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.es.js +1519 -20944
  110. package/dist/lib/axios.d.ts.map +1 -0
  111. package/dist/lib/export-xlsx.d.ts.map +1 -0
  112. package/dist/lib/index.d.ts.map +1 -0
  113. package/dist/lib/utils.d.ts.map +1 -0
  114. package/dist/models/grid-item.d.ts.map +1 -0
  115. package/dist/models/index.d.ts.map +1 -0
  116. package/dist/models/locale.d.ts.map +1 -0
  117. package/dist/models/user.d.ts.map +1 -0
  118. package/dist/router.cjs.js +1 -4
  119. package/dist/router.d.ts.map +1 -0
  120. package/dist/router.es.js +379 -2963
  121. package/dist/viglet-design-system.css +1 -1
  122. package/dist/vite/boot-loader.d.ts.map +1 -0
  123. package/dist/vite/index.d.ts.map +1 -0
  124. package/package.json +2 -2
  125. package/dist/breadcrumb.context-ClxdzHen.js +0 -8461
  126. package/dist/breadcrumb.context-CpjMnEsE.cjs +0 -51
  127. package/dist/chunk-D-qHiVGv.cjs +0 -1
  128. package/dist/src/assets/products/index.d.ts.map +0 -1
  129. package/dist/src/components/app-footer.d.ts.map +0 -1
  130. package/dist/src/components/app-switcher.d.ts.map +0 -1
  131. package/dist/src/components/backend-status.d.ts.map +0 -1
  132. package/dist/src/components/badge-colorful.d.ts.map +0 -1
  133. package/dist/src/components/badge-locale.d.ts.map +0 -1
  134. package/dist/src/components/error-boundary.d.ts.map +0 -1
  135. package/dist/src/components/index.d.ts.map +0 -1
  136. package/dist/src/components/language-select.d.ts.map +0 -1
  137. package/dist/src/components/language-switcher.d.ts.map +0 -1
  138. package/dist/src/components/login/index.d.ts.map +0 -1
  139. package/dist/src/components/login/login.d.ts.map +0 -1
  140. package/dist/src/components/mode-toggle.d.ts.map +0 -1
  141. package/dist/src/components/nav-secondary.d.ts.map +0 -1
  142. package/dist/src/components/router/blank-slate.d.ts.map +0 -1
  143. package/dist/src/components/router/dialog.delete.d.ts.map +0 -1
  144. package/dist/src/components/router/gradient-button-link.d.ts.map +0 -1
  145. package/dist/src/components/router/grid.list.d.ts.map +0 -1
  146. package/dist/src/components/router/index.d.ts.map +0 -1
  147. package/dist/src/components/router/internal.sidebar.d.ts.map +0 -1
  148. package/dist/src/components/router/loading-provider.d.ts.map +0 -1
  149. package/dist/src/components/router/nav-main.d.ts.map +0 -1
  150. package/dist/src/components/router/nav-user.d.ts.map +0 -1
  151. package/dist/src/components/router/page-content.d.ts.map +0 -1
  152. package/dist/src/components/router/page-header.d.ts.map +0 -1
  153. package/dist/src/components/router/page.d.ts.map +0 -1
  154. package/dist/src/components/router/sticky.page.header.d.ts.map +0 -1
  155. package/dist/src/components/router/sub.page.d.ts.map +0 -1
  156. package/dist/src/components/router/sub.page.header.d.ts.map +0 -1
  157. package/dist/src/components/startup-first/index.d.ts.map +0 -1
  158. package/dist/src/components/startup-first/startup-first.d.ts.map +0 -1
  159. package/dist/src/components/theme-provider.d.ts.map +0 -1
  160. package/dist/src/components/ui/accordion.d.ts.map +0 -1
  161. package/dist/src/components/ui/avatar.d.ts.map +0 -1
  162. package/dist/src/components/ui/badge.d.ts.map +0 -1
  163. package/dist/src/components/ui/breadcrumb.d.ts.map +0 -1
  164. package/dist/src/components/ui/button.d.ts.map +0 -1
  165. package/dist/src/components/ui/card.d.ts.map +0 -1
  166. package/dist/src/components/ui/checkbox.d.ts.map +0 -1
  167. package/dist/src/components/ui/dialog.d.ts.map +0 -1
  168. package/dist/src/components/ui/drawer.d.ts.map +0 -1
  169. package/dist/src/components/ui/dropdown-menu.d.ts.map +0 -1
  170. package/dist/src/components/ui/floating-formulas-bg.d.ts.map +0 -1
  171. package/dist/src/components/ui/form-actions.d.ts.map +0 -1
  172. package/dist/src/components/ui/form-item-two-columns.d.ts.map +0 -1
  173. package/dist/src/components/ui/form.d.ts.map +0 -1
  174. package/dist/src/components/ui/glass-card.d.ts.map +0 -1
  175. package/dist/src/components/ui/gradient-button.d.ts.map +0 -1
  176. package/dist/src/components/ui/gradient-switch.d.ts.map +0 -1
  177. package/dist/src/components/ui/hover-card.d.ts.map +0 -1
  178. package/dist/src/components/ui/index.d.ts.map +0 -1
  179. package/dist/src/components/ui/input.d.ts.map +0 -1
  180. package/dist/src/components/ui/label.d.ts.map +0 -1
  181. package/dist/src/components/ui/navigation-menu.d.ts.map +0 -1
  182. package/dist/src/components/ui/pagination.d.ts.map +0 -1
  183. package/dist/src/components/ui/popover.d.ts.map +0 -1
  184. package/dist/src/components/ui/progress.d.ts.map +0 -1
  185. package/dist/src/components/ui/pulse-ring.d.ts.map +0 -1
  186. package/dist/src/components/ui/resizable.d.ts.map +0 -1
  187. package/dist/src/components/ui/section-card.d.ts.map +0 -1
  188. package/dist/src/components/ui/select.d.ts.map +0 -1
  189. package/dist/src/components/ui/separator.d.ts.map +0 -1
  190. package/dist/src/components/ui/sheet.d.ts.map +0 -1
  191. package/dist/src/components/ui/sidebar.d.ts.map +0 -1
  192. package/dist/src/components/ui/skeleton.d.ts.map +0 -1
  193. package/dist/src/components/ui/slider.d.ts.map +0 -1
  194. package/dist/src/components/ui/sonner.d.ts.map +0 -1
  195. package/dist/src/components/ui/stepper.d.ts.map +0 -1
  196. package/dist/src/components/ui/sticky-save-bar.d.ts.map +0 -1
  197. package/dist/src/components/ui/switch.d.ts.map +0 -1
  198. package/dist/src/components/ui/table.d.ts.map +0 -1
  199. package/dist/src/components/ui/tabs.d.ts.map +0 -1
  200. package/dist/src/components/ui/textarea.d.ts.map +0 -1
  201. package/dist/src/components/ui/toggle-group.d.ts.map +0 -1
  202. package/dist/src/components/ui/toggle.d.ts.map +0 -1
  203. package/dist/src/components/ui/tooltip.d.ts.map +0 -1
  204. package/dist/src/components/ui/user-avatar.d.ts.map +0 -1
  205. package/dist/src/components/ui/user-menu.d.ts.map +0 -1
  206. package/dist/src/components/viglet-app-switcher.d.ts.map +0 -1
  207. package/dist/src/contexts/breadcrumb.context.d.ts.map +0 -1
  208. package/dist/src/contexts/index.d.ts.map +0 -1
  209. package/dist/src/contexts/user.context.d.ts.map +0 -1
  210. package/dist/src/hooks/index.d.ts.map +0 -1
  211. package/dist/src/hooks/use-date-locale.d.ts.map +0 -1
  212. package/dist/src/hooks/use-grid-adapter.d.ts.map +0 -1
  213. package/dist/src/hooks/use-mobile.d.ts.map +0 -1
  214. package/dist/src/hooks/use-sub-page-breadcrumb.d.ts.map +0 -1
  215. package/dist/src/i18n/index.d.ts.map +0 -1
  216. package/dist/src/index.d.ts.map +0 -1
  217. package/dist/src/lib/axios.d.ts.map +0 -1
  218. package/dist/src/lib/export-xlsx.d.ts.map +0 -1
  219. package/dist/src/lib/index.d.ts.map +0 -1
  220. package/dist/src/lib/utils.d.ts.map +0 -1
  221. package/dist/src/models/grid-item.d.ts.map +0 -1
  222. package/dist/src/models/index.d.ts.map +0 -1
  223. package/dist/src/models/locale.d.ts.map +0 -1
  224. package/dist/src/models/user.d.ts.map +0 -1
  225. package/dist/src/router.d.ts.map +0 -1
  226. package/dist/src/vite/boot-loader.d.ts.map +0 -1
  227. package/dist/src/vite/index.d.ts.map +0 -1
  228. /package/dist/{src/assets → assets}/products/index.d.ts +0 -0
  229. /package/dist/{src/components → components}/app-footer.d.ts +0 -0
  230. /package/dist/{src/components → components}/app-switcher.d.ts +0 -0
  231. /package/dist/{src/components → components}/backend-status.d.ts +0 -0
  232. /package/dist/{src/components → components}/badge-colorful.d.ts +0 -0
  233. /package/dist/{src/components → components}/badge-locale.d.ts +0 -0
  234. /package/dist/{src/components → components}/error-boundary.d.ts +0 -0
  235. /package/dist/{src/components → components}/index.d.ts +0 -0
  236. /package/dist/{src/components → components}/language-switcher.d.ts +0 -0
  237. /package/dist/{src/components → components}/login/index.d.ts +0 -0
  238. /package/dist/{src/components → components}/login/login.d.ts +0 -0
  239. /package/dist/{src/components → components}/mode-toggle.d.ts +0 -0
  240. /package/dist/{src/components → components}/router/blank-slate.d.ts +0 -0
  241. /package/dist/{src/components → components}/router/dialog.delete.d.ts +0 -0
  242. /package/dist/{src/components → components}/router/gradient-button-link.d.ts +0 -0
  243. /package/dist/{src/components → components}/router/index.d.ts +0 -0
  244. /package/dist/{src/components → components}/router/internal.sidebar.d.ts +0 -0
  245. /package/dist/{src/components → components}/router/loading-provider.d.ts +0 -0
  246. /package/dist/{src/components → components}/router/nav-main.d.ts +0 -0
  247. /package/dist/{src/components → components}/router/page-content.d.ts +0 -0
  248. /package/dist/{src/components → components}/router/page-header.d.ts +0 -0
  249. /package/dist/{src/components → components}/router/page.d.ts +0 -0
  250. /package/dist/{src/components → components}/router/sticky.page.header.d.ts +0 -0
  251. /package/dist/{src/components → components}/router/sub.page.d.ts +0 -0
  252. /package/dist/{src/components → components}/router/sub.page.header.d.ts +0 -0
  253. /package/dist/{src/components → components}/startup-first/index.d.ts +0 -0
  254. /package/dist/{src/components → components}/startup-first/startup-first.d.ts +0 -0
  255. /package/dist/{src/components → components}/theme-provider.d.ts +0 -0
  256. /package/dist/{src/components → components}/ui/accordion.d.ts +0 -0
  257. /package/dist/{src/components → components}/ui/avatar.d.ts +0 -0
  258. /package/dist/{src/components → components}/ui/badge.d.ts +0 -0
  259. /package/dist/{src/components → components}/ui/breadcrumb.d.ts +0 -0
  260. /package/dist/{src/components → components}/ui/button.d.ts +0 -0
  261. /package/dist/{src/components → components}/ui/card.d.ts +0 -0
  262. /package/dist/{src/components → components}/ui/checkbox.d.ts +0 -0
  263. /package/dist/{src/components → components}/ui/dialog.d.ts +0 -0
  264. /package/dist/{src/components → components}/ui/drawer.d.ts +0 -0
  265. /package/dist/{src/components → components}/ui/dropdown-menu.d.ts +0 -0
  266. /package/dist/{src/components → components}/ui/form-actions.d.ts +0 -0
  267. /package/dist/{src/components → components}/ui/form-item-two-columns.d.ts +0 -0
  268. /package/dist/{src/components → components}/ui/form.d.ts +0 -0
  269. /package/dist/{src/components → components}/ui/glass-card.d.ts +0 -0
  270. /package/dist/{src/components → components}/ui/gradient-button.d.ts +0 -0
  271. /package/dist/{src/components → components}/ui/gradient-switch.d.ts +0 -0
  272. /package/dist/{src/components → components}/ui/hover-card.d.ts +0 -0
  273. /package/dist/{src/components → components}/ui/index.d.ts +0 -0
  274. /package/dist/{src/components → components}/ui/input.d.ts +0 -0
  275. /package/dist/{src/components → components}/ui/label.d.ts +0 -0
  276. /package/dist/{src/components → components}/ui/navigation-menu.d.ts +0 -0
  277. /package/dist/{src/components → components}/ui/pagination.d.ts +0 -0
  278. /package/dist/{src/components → components}/ui/popover.d.ts +0 -0
  279. /package/dist/{src/components → components}/ui/progress.d.ts +0 -0
  280. /package/dist/{src/components → components}/ui/pulse-ring.d.ts +0 -0
  281. /package/dist/{src/components → components}/ui/resizable.d.ts +0 -0
  282. /package/dist/{src/components → components}/ui/section-card.d.ts +0 -0
  283. /package/dist/{src/components → components}/ui/select.d.ts +0 -0
  284. /package/dist/{src/components → components}/ui/separator.d.ts +0 -0
  285. /package/dist/{src/components → components}/ui/sheet.d.ts +0 -0
  286. /package/dist/{src/components → components}/ui/skeleton.d.ts +0 -0
  287. /package/dist/{src/components → components}/ui/slider.d.ts +0 -0
  288. /package/dist/{src/components → components}/ui/sonner.d.ts +0 -0
  289. /package/dist/{src/components → components}/ui/stepper.d.ts +0 -0
  290. /package/dist/{src/components → components}/ui/sticky-save-bar.d.ts +0 -0
  291. /package/dist/{src/components → components}/ui/switch.d.ts +0 -0
  292. /package/dist/{src/components → components}/ui/table.d.ts +0 -0
  293. /package/dist/{src/components → components}/ui/tabs.d.ts +0 -0
  294. /package/dist/{src/components → components}/ui/textarea.d.ts +0 -0
  295. /package/dist/{src/components → components}/ui/toggle.d.ts +0 -0
  296. /package/dist/{src/components → components}/ui/tooltip.d.ts +0 -0
  297. /package/dist/{src/components → components}/ui/user-avatar.d.ts +0 -0
  298. /package/dist/{src/components → components}/ui/user-menu.d.ts +0 -0
  299. /package/dist/{src/components → components}/viglet-app-switcher.d.ts +0 -0
  300. /package/dist/{src/contexts → contexts}/breadcrumb.context.d.ts +0 -0
  301. /package/dist/{src/contexts → contexts}/index.d.ts +0 -0
  302. /package/dist/{src/hooks → hooks}/index.d.ts +0 -0
  303. /package/dist/{src/hooks → hooks}/use-date-locale.d.ts +0 -0
  304. /package/dist/{src/hooks → hooks}/use-mobile.d.ts +0 -0
  305. /package/dist/{src/i18n → i18n}/index.d.ts +0 -0
  306. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  307. /package/dist/{src/lib → lib}/axios.d.ts +0 -0
  308. /package/dist/{src/lib → lib}/export-xlsx.d.ts +0 -0
  309. /package/dist/{src/lib → lib}/index.d.ts +0 -0
  310. /package/dist/{src/lib → lib}/utils.d.ts +0 -0
  311. /package/dist/{src/models → models}/grid-item.d.ts +0 -0
  312. /package/dist/{src/models → models}/index.d.ts +0 -0
  313. /package/dist/{src/models → models}/locale.d.ts +0 -0
  314. /package/dist/{src/models → models}/user.d.ts +0 -0
  315. /package/dist/{src/router.d.ts → router.d.ts} +0 -0
  316. /package/dist/{src/vite → vite}/boot-loader.d.ts +0 -0
  317. /package/dist/{src/vite → vite}/index.d.ts +0 -0
@@ -0,0 +1,1501 @@
1
+ import { clsx as e } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ import * as n from "react";
4
+ import { createContext as r, createElement as i, forwardRef as a, useCallback as o, useContext as s, useEffect as c, useMemo as l, useState as u } from "react";
5
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
6
+ import * as m from "@radix-ui/react-avatar";
7
+ import { Slot as h } from "@radix-ui/react-slot";
8
+ import { cva as g } from "class-variance-authority";
9
+ import * as _ from "@radix-ui/react-dialog";
10
+ import * as v from "@radix-ui/react-dropdown-menu";
11
+ import { useTranslation as y } from "react-i18next";
12
+ import * as b from "@radix-ui/react-select";
13
+ import * as ee from "@radix-ui/react-separator";
14
+ import * as x from "@radix-ui/react-tooltip";
15
+ //#region src/lib/utils.ts
16
+ function S(...n) {
17
+ return t(e(n));
18
+ }
19
+ var te = (e, t = 10) => {
20
+ if (!e || e.length <= t) return e ?? "";
21
+ let n = t - 3, r = Math.ceil(n / 2), i = Math.floor(n / 2);
22
+ return e.substring(0, r) + "..." + e.substring(e.length - i);
23
+ }, ne = (e) => {
24
+ let t = e.split("_")[1]?.toUpperCase();
25
+ return !t?.length || t.length !== 2 ? "🌐" : t.split("").map((e) => String.fromCodePoint((e.codePointAt(0) ?? 0) + 127397)).join("");
26
+ }, re = (e) => {
27
+ let t = 0;
28
+ for (let n = 0; n < e.length; n++) t = (e.codePointAt(n) ?? 0) + ((t << 5) - t);
29
+ let n = Math.abs(t) % 360;
30
+ return {
31
+ h: n,
32
+ light: {
33
+ bg: `hsl(${n}, 70%, 95%)`,
34
+ text: `hsl(${n}, 70%, 20%)`,
35
+ border: `hsl(${n}, 70%, 90%)`
36
+ },
37
+ dark: {
38
+ bg: `hsl(${n}, 50%, 15%)`,
39
+ text: `hsl(${n}, 80%, 80%)`,
40
+ border: `hsl(${n}, 50%, 25%)`
41
+ }
42
+ };
43
+ }, C = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), ie = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ae = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), w = (e) => {
44
+ let t = ae(e);
45
+ return t.charAt(0).toUpperCase() + t.slice(1);
46
+ }, T = {
47
+ xmlns: "http://www.w3.org/2000/svg",
48
+ width: 24,
49
+ height: 24,
50
+ viewBox: "0 0 24 24",
51
+ fill: "none",
52
+ stroke: "currentColor",
53
+ strokeWidth: 2,
54
+ strokeLinecap: "round",
55
+ strokeLinejoin: "round"
56
+ }, oe = (e) => {
57
+ for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
58
+ return !1;
59
+ }, se = r({}), ce = () => s(se), le = a(({ color: e, size: t, strokeWidth: n, absoluteStrokeWidth: r, className: a = "", children: o, iconNode: s, ...c }, l) => {
60
+ let { size: u = 24, strokeWidth: d = 2, absoluteStrokeWidth: f = !1, color: p = "currentColor", className: m = "" } = ce() ?? {}, h = r ?? f ? Number(n ?? d) * 24 / Number(t ?? u) : n ?? d;
61
+ return i("svg", {
62
+ ref: l,
63
+ ...T,
64
+ width: t ?? u ?? T.width,
65
+ height: t ?? u ?? T.height,
66
+ stroke: e ?? p,
67
+ strokeWidth: h,
68
+ className: C("lucide", m, a),
69
+ ...!o && !oe(c) && { "aria-hidden": "true" },
70
+ ...c
71
+ }, [...s.map(([e, t]) => i(e, t)), ...Array.isArray(o) ? o : [o]]);
72
+ }), E = (e, t) => {
73
+ let n = a(({ className: n, ...r }, a) => i(le, {
74
+ ref: a,
75
+ iconNode: t,
76
+ className: C(`lucide-${ie(w(e))}`, `lucide-${e}`, n),
77
+ ...r
78
+ }));
79
+ return n.displayName = w(e), n;
80
+ }, D = E("check", [["path", {
81
+ d: "M20 6 9 17l-5-5",
82
+ key: "1gmf2c"
83
+ }]]), O = E("chevron-down", [["path", {
84
+ d: "m6 9 6 6 6-6",
85
+ key: "qrunsl"
86
+ }]]), k = E("chevron-right", [["path", {
87
+ d: "m9 18 6-6-6-6",
88
+ key: "mthhwq"
89
+ }]]), ue = E("chevron-up", [["path", {
90
+ d: "m18 15-6-6-6 6",
91
+ key: "153udz"
92
+ }]]), de = E("circle", [["circle", {
93
+ cx: "12",
94
+ cy: "12",
95
+ r: "10",
96
+ key: "1mglay"
97
+ }]]), fe = E("ellipsis", [
98
+ ["circle", {
99
+ cx: "12",
100
+ cy: "12",
101
+ r: "1",
102
+ key: "41hilf"
103
+ }],
104
+ ["circle", {
105
+ cx: "19",
106
+ cy: "12",
107
+ r: "1",
108
+ key: "1wjl8i"
109
+ }],
110
+ ["circle", {
111
+ cx: "5",
112
+ cy: "12",
113
+ r: "1",
114
+ key: "1pcz8c"
115
+ }]
116
+ ]), pe = E("globe", [
117
+ ["circle", {
118
+ cx: "12",
119
+ cy: "12",
120
+ r: "10",
121
+ key: "1mglay"
122
+ }],
123
+ ["path", {
124
+ d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",
125
+ key: "13o1zl"
126
+ }],
127
+ ["path", {
128
+ d: "M2 12h20",
129
+ key: "9i4pu4"
130
+ }]
131
+ ]), me = E("menu", [
132
+ ["path", {
133
+ d: "M4 5h16",
134
+ key: "1tepv9"
135
+ }],
136
+ ["path", {
137
+ d: "M4 12h16",
138
+ key: "1lakjw"
139
+ }],
140
+ ["path", {
141
+ d: "M4 19h16",
142
+ key: "1djgab"
143
+ }]
144
+ ]), he = E("monitor", [
145
+ ["rect", {
146
+ width: "20",
147
+ height: "14",
148
+ x: "2",
149
+ y: "3",
150
+ rx: "2",
151
+ key: "48i651"
152
+ }],
153
+ ["line", {
154
+ x1: "8",
155
+ x2: "16",
156
+ y1: "21",
157
+ y2: "21",
158
+ key: "1svkeh"
159
+ }],
160
+ ["line", {
161
+ x1: "12",
162
+ x2: "12",
163
+ y1: "17",
164
+ y2: "21",
165
+ key: "vw1qmm"
166
+ }]
167
+ ]), ge = E("moon", [["path", {
168
+ d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
169
+ key: "kfwtm"
170
+ }]]), _e = E("panel-left", [["rect", {
171
+ width: "18",
172
+ height: "18",
173
+ x: "3",
174
+ y: "3",
175
+ rx: "2",
176
+ key: "afitv7"
177
+ }], ["path", {
178
+ d: "M9 3v18",
179
+ key: "fh3hqa"
180
+ }]]), ve = E("sun", [
181
+ ["circle", {
182
+ cx: "12",
183
+ cy: "12",
184
+ r: "4",
185
+ key: "4exip2"
186
+ }],
187
+ ["path", {
188
+ d: "M12 2v2",
189
+ key: "tus03m"
190
+ }],
191
+ ["path", {
192
+ d: "M12 20v2",
193
+ key: "1lh1kg"
194
+ }],
195
+ ["path", {
196
+ d: "m4.93 4.93 1.41 1.41",
197
+ key: "149t6j"
198
+ }],
199
+ ["path", {
200
+ d: "m17.66 17.66 1.41 1.41",
201
+ key: "ptbguv"
202
+ }],
203
+ ["path", {
204
+ d: "M2 12h2",
205
+ key: "1t8f8n"
206
+ }],
207
+ ["path", {
208
+ d: "M20 12h2",
209
+ key: "1q8mjw"
210
+ }],
211
+ ["path", {
212
+ d: "m6.34 17.66-1.41 1.41",
213
+ key: "1m8zz5"
214
+ }],
215
+ ["path", {
216
+ d: "m19.07 4.93-1.41 1.41",
217
+ key: "1shlcs"
218
+ }]
219
+ ]), ye = E("x", [["path", {
220
+ d: "M18 6 6 18",
221
+ key: "1bl5f8"
222
+ }], ["path", {
223
+ d: "m6 6 12 12",
224
+ key: "d8bk6v"
225
+ }]]);
226
+ //#endregion
227
+ //#region src/components/ui/avatar.tsx
228
+ function be({ className: e, ...t }) {
229
+ return /* @__PURE__ */ f(m.Root, {
230
+ "data-slot": "avatar",
231
+ className: S("relative flex size-8 shrink-0 overflow-hidden rounded-full", e),
232
+ ...t
233
+ });
234
+ }
235
+ function xe({ className: e, ...t }) {
236
+ return /* @__PURE__ */ f(m.Image, {
237
+ "data-slot": "avatar-image",
238
+ className: S("aspect-square size-full", e),
239
+ ...t
240
+ });
241
+ }
242
+ function Se({ className: e, ...t }) {
243
+ return /* @__PURE__ */ f(m.Fallback, {
244
+ "data-slot": "avatar-fallback",
245
+ className: S("bg-muted flex size-full items-center justify-center rounded-full", e),
246
+ ...t
247
+ });
248
+ }
249
+ //#endregion
250
+ //#region src/components/ui/badge.tsx
251
+ var Ce = g("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
252
+ variants: { variant: {
253
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
254
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
255
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
256
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
257
+ } },
258
+ defaultVariants: { variant: "default" }
259
+ });
260
+ function A({ className: e, variant: t, asChild: n = !1, ...r }) {
261
+ return /* @__PURE__ */ f(n ? h : "span", {
262
+ "data-slot": "badge",
263
+ className: S(Ce({ variant: t }), e),
264
+ ...r
265
+ });
266
+ }
267
+ //#endregion
268
+ //#region src/components/ui/breadcrumb.tsx
269
+ function we({ ...e }) {
270
+ return /* @__PURE__ */ f("nav", {
271
+ "aria-label": "breadcrumb",
272
+ "data-slot": "breadcrumb",
273
+ ...e
274
+ });
275
+ }
276
+ function Te({ className: e, ...t }) {
277
+ return /* @__PURE__ */ f("ol", {
278
+ "data-slot": "breadcrumb-list",
279
+ className: S("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", e),
280
+ ...t
281
+ });
282
+ }
283
+ function Ee({ className: e, ...t }) {
284
+ return /* @__PURE__ */ f("li", {
285
+ "data-slot": "breadcrumb-item",
286
+ className: S("inline-flex items-center gap-1.5", e),
287
+ ...t
288
+ });
289
+ }
290
+ function De({ asChild: e, className: t, ...n }) {
291
+ return /* @__PURE__ */ f(e ? h : "a", {
292
+ "data-slot": "breadcrumb-link",
293
+ className: S("hover:text-foreground transition-colors", t),
294
+ ...n
295
+ });
296
+ }
297
+ function Oe({ className: e, ...t }) {
298
+ return /* @__PURE__ */ f("span", {
299
+ "data-slot": "breadcrumb-page",
300
+ role: "link",
301
+ "aria-disabled": "true",
302
+ "aria-current": "page",
303
+ className: S("text-foreground font-normal", e),
304
+ ...t
305
+ });
306
+ }
307
+ function ke({ children: e, className: t, ...n }) {
308
+ return /* @__PURE__ */ f("li", {
309
+ "data-slot": "breadcrumb-separator",
310
+ role: "presentation",
311
+ "aria-hidden": "true",
312
+ className: S("[&>svg]:size-3.5", t),
313
+ ...n,
314
+ children: e ?? /* @__PURE__ */ f(k, {})
315
+ });
316
+ }
317
+ function Ae({ className: e, ...t }) {
318
+ return /* @__PURE__ */ p("span", {
319
+ "data-slot": "breadcrumb-ellipsis",
320
+ role: "presentation",
321
+ "aria-hidden": "true",
322
+ className: S("flex size-9 items-center justify-center", e),
323
+ ...t,
324
+ children: [/* @__PURE__ */ f(fe, { className: "size-4" }), /* @__PURE__ */ f("span", {
325
+ className: "sr-only",
326
+ children: "More"
327
+ })]
328
+ });
329
+ }
330
+ //#endregion
331
+ //#region src/components/ui/card.tsx
332
+ function je({ className: e, ...t }) {
333
+ return /* @__PURE__ */ f("div", {
334
+ "data-slot": "card",
335
+ className: S("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", e),
336
+ ...t
337
+ });
338
+ }
339
+ function Me({ className: e, ...t }) {
340
+ return /* @__PURE__ */ f("div", {
341
+ "data-slot": "card-header",
342
+ className: S("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", e),
343
+ ...t
344
+ });
345
+ }
346
+ function Ne({ className: e, ...t }) {
347
+ return /* @__PURE__ */ f("div", {
348
+ "data-slot": "card-title",
349
+ className: S("leading-none font-semibold", e),
350
+ ...t
351
+ });
352
+ }
353
+ function Pe({ className: e, ...t }) {
354
+ return /* @__PURE__ */ f("div", {
355
+ "data-slot": "card-description",
356
+ className: S("text-muted-foreground text-sm", e),
357
+ ...t
358
+ });
359
+ }
360
+ function Fe({ className: e, ...t }) {
361
+ return /* @__PURE__ */ f("div", {
362
+ "data-slot": "card-action",
363
+ className: S("col-start-2 row-span-2 row-start-1 self-start justify-self-end", e),
364
+ ...t
365
+ });
366
+ }
367
+ function Ie({ className: e, ...t }) {
368
+ return /* @__PURE__ */ f("div", {
369
+ "data-slot": "card-content",
370
+ className: S("px-6", e),
371
+ ...t
372
+ });
373
+ }
374
+ function Le({ className: e, ...t }) {
375
+ return /* @__PURE__ */ f("div", {
376
+ "data-slot": "card-footer",
377
+ className: S("flex items-center px-6 [.border-t]:pt-6", e),
378
+ ...t
379
+ });
380
+ }
381
+ //#endregion
382
+ //#region src/components/ui/dialog.tsx
383
+ function Re({ ...e }) {
384
+ return /* @__PURE__ */ f(_.Root, {
385
+ "data-slot": "dialog",
386
+ ...e
387
+ });
388
+ }
389
+ function ze({ ...e }) {
390
+ return /* @__PURE__ */ f(_.Trigger, {
391
+ "data-slot": "dialog-trigger",
392
+ ...e
393
+ });
394
+ }
395
+ function Be({ ...e }) {
396
+ return /* @__PURE__ */ f(_.Portal, {
397
+ "data-slot": "dialog-portal",
398
+ ...e
399
+ });
400
+ }
401
+ function Ve({ ...e }) {
402
+ return /* @__PURE__ */ f(_.Close, {
403
+ "data-slot": "dialog-close",
404
+ ...e
405
+ });
406
+ }
407
+ function He({ className: e, ...t }) {
408
+ return /* @__PURE__ */ f(_.Overlay, {
409
+ "data-slot": "dialog-overlay",
410
+ className: S("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", e),
411
+ ...t
412
+ });
413
+ }
414
+ function Ue({ className: e, children: t, showCloseButton: n = !0, ...r }) {
415
+ return /* @__PURE__ */ p(Be, {
416
+ "data-slot": "dialog-portal",
417
+ children: [/* @__PURE__ */ f(He, {}), /* @__PURE__ */ p(_.Content, {
418
+ "data-slot": "dialog-content",
419
+ className: S("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", e),
420
+ ...r,
421
+ children: [t, n && /* @__PURE__ */ p(_.Close, {
422
+ "data-slot": "dialog-close",
423
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
424
+ children: [/* @__PURE__ */ f(ye, {}), /* @__PURE__ */ f("span", {
425
+ className: "sr-only",
426
+ children: "Close"
427
+ })]
428
+ })]
429
+ })]
430
+ });
431
+ }
432
+ function We({ className: e, ...t }) {
433
+ return /* @__PURE__ */ f("div", {
434
+ "data-slot": "dialog-header",
435
+ className: S("flex flex-col gap-2 text-center sm:text-left", e),
436
+ ...t
437
+ });
438
+ }
439
+ function Ge({ className: e, ...t }) {
440
+ return /* @__PURE__ */ f("div", {
441
+ "data-slot": "dialog-footer",
442
+ className: S("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", e),
443
+ ...t
444
+ });
445
+ }
446
+ function Ke({ className: e, ...t }) {
447
+ return /* @__PURE__ */ f(_.Title, {
448
+ "data-slot": "dialog-title",
449
+ className: S("text-lg leading-none font-semibold", e),
450
+ ...t
451
+ });
452
+ }
453
+ function qe({ className: e, ...t }) {
454
+ return /* @__PURE__ */ f(_.Description, {
455
+ "data-slot": "dialog-description",
456
+ className: S("text-muted-foreground text-sm", e),
457
+ ...t
458
+ });
459
+ }
460
+ //#endregion
461
+ //#region src/components/ui/dropdown-menu.tsx
462
+ function Je({ ...e }) {
463
+ return /* @__PURE__ */ f(v.Root, {
464
+ "data-slot": "dropdown-menu",
465
+ ...e
466
+ });
467
+ }
468
+ function Ye({ ...e }) {
469
+ return /* @__PURE__ */ f(v.Portal, {
470
+ "data-slot": "dropdown-menu-portal",
471
+ ...e
472
+ });
473
+ }
474
+ function j({ ...e }) {
475
+ return /* @__PURE__ */ f(v.Trigger, {
476
+ "data-slot": "dropdown-menu-trigger",
477
+ ...e
478
+ });
479
+ }
480
+ function M({ className: e, sideOffset: t = 4, ...n }) {
481
+ return /* @__PURE__ */ f(v.Portal, { children: /* @__PURE__ */ f(v.Content, {
482
+ "data-slot": "dropdown-menu-content",
483
+ sideOffset: t,
484
+ className: S("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", e),
485
+ ...n
486
+ }) });
487
+ }
488
+ function Xe({ ...e }) {
489
+ return /* @__PURE__ */ f(v.Group, {
490
+ "data-slot": "dropdown-menu-group",
491
+ ...e
492
+ });
493
+ }
494
+ function N({ className: e, inset: t, variant: n = "default", ...r }) {
495
+ return /* @__PURE__ */ f(v.Item, {
496
+ "data-slot": "dropdown-menu-item",
497
+ "data-inset": t,
498
+ "data-variant": n,
499
+ className: S("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
500
+ ...r
501
+ });
502
+ }
503
+ function Ze({ className: e, children: t, checked: n, ...r }) {
504
+ return /* @__PURE__ */ p(v.CheckboxItem, {
505
+ "data-slot": "dropdown-menu-checkbox-item",
506
+ className: S("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
507
+ checked: n,
508
+ ...r,
509
+ children: [/* @__PURE__ */ f("span", {
510
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
511
+ children: /* @__PURE__ */ f(v.ItemIndicator, { children: /* @__PURE__ */ f(D, { className: "size-4" }) })
512
+ }), t]
513
+ });
514
+ }
515
+ function Qe({ ...e }) {
516
+ return /* @__PURE__ */ f(v.RadioGroup, {
517
+ "data-slot": "dropdown-menu-radio-group",
518
+ ...e
519
+ });
520
+ }
521
+ function $e({ className: e, children: t, ...n }) {
522
+ return /* @__PURE__ */ p(v.RadioItem, {
523
+ "data-slot": "dropdown-menu-radio-item",
524
+ className: S("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
525
+ ...n,
526
+ children: [/* @__PURE__ */ f("span", {
527
+ className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
528
+ children: /* @__PURE__ */ f(v.ItemIndicator, { children: /* @__PURE__ */ f(de, { className: "size-2 fill-current" }) })
529
+ }), t]
530
+ });
531
+ }
532
+ function et({ className: e, inset: t, ...n }) {
533
+ return /* @__PURE__ */ f(v.Label, {
534
+ "data-slot": "dropdown-menu-label",
535
+ "data-inset": t,
536
+ className: S("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", e),
537
+ ...n
538
+ });
539
+ }
540
+ function tt({ className: e, ...t }) {
541
+ return /* @__PURE__ */ f(v.Separator, {
542
+ "data-slot": "dropdown-menu-separator",
543
+ className: S("bg-border -mx-1 my-1 h-px", e),
544
+ ...t
545
+ });
546
+ }
547
+ function nt({ className: e, ...t }) {
548
+ return /* @__PURE__ */ f("span", {
549
+ "data-slot": "dropdown-menu-shortcut",
550
+ className: S("text-muted-foreground ml-auto text-xs tracking-widest", e),
551
+ ...t
552
+ });
553
+ }
554
+ function rt({ ...e }) {
555
+ return /* @__PURE__ */ f(v.Sub, {
556
+ "data-slot": "dropdown-menu-sub",
557
+ ...e
558
+ });
559
+ }
560
+ function it({ className: e, inset: t, children: n, ...r }) {
561
+ return /* @__PURE__ */ p(v.SubTrigger, {
562
+ "data-slot": "dropdown-menu-sub-trigger",
563
+ "data-inset": t,
564
+ className: S("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
565
+ ...r,
566
+ children: [n, /* @__PURE__ */ f(k, { className: "ml-auto size-4" })]
567
+ });
568
+ }
569
+ function at({ className: e, ...t }) {
570
+ return /* @__PURE__ */ f(v.SubContent, {
571
+ "data-slot": "dropdown-menu-sub-content",
572
+ className: S("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", e),
573
+ ...t
574
+ });
575
+ }
576
+ //#endregion
577
+ //#region src/components/ui/gradient-button.tsx
578
+ var P = g("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 cursor-pointer disabled:cursor-not-allowed disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-[3px]", {
579
+ variants: {
580
+ variant: {
581
+ default: [
582
+ "bg-gradient-to-r from-blue-600 to-indigo-600 text-white",
583
+ "shadow-md shadow-blue-500/25",
584
+ "hover:from-blue-700 hover:to-indigo-700",
585
+ "hover:shadow-lg hover:shadow-blue-500/30",
586
+ "focus-visible:ring-blue-500/50",
587
+ "dark:from-blue-500 dark:to-indigo-500",
588
+ "dark:shadow-blue-500/20",
589
+ "dark:hover:from-blue-600 dark:hover:to-indigo-600",
590
+ "dark:hover:shadow-blue-500/25",
591
+ "dark:focus-visible:ring-blue-400/50"
592
+ ].join(" "),
593
+ secondary: [
594
+ "bg-gradient-to-r from-slate-600 to-slate-700 text-white",
595
+ "shadow-md shadow-slate-500/25",
596
+ "hover:from-slate-700 hover:to-slate-800",
597
+ "hover:shadow-lg hover:shadow-slate-500/30",
598
+ "focus-visible:ring-slate-500/50",
599
+ "dark:from-slate-500 dark:to-slate-600",
600
+ "dark:shadow-slate-500/20",
601
+ "dark:hover:from-slate-600 dark:hover:to-slate-700",
602
+ "dark:hover:shadow-slate-500/25",
603
+ "dark:focus-visible:ring-slate-400/50"
604
+ ].join(" "),
605
+ destructive: [
606
+ "bg-gradient-to-r from-red-600 to-rose-600 text-white",
607
+ "shadow-md shadow-red-500/25",
608
+ "hover:from-red-700 hover:to-rose-700",
609
+ "hover:shadow-lg hover:shadow-red-500/30",
610
+ "focus-visible:ring-red-500/50",
611
+ "dark:from-red-500 dark:to-rose-500",
612
+ "dark:shadow-red-500/20",
613
+ "dark:hover:from-red-600 dark:hover:to-rose-600",
614
+ "dark:hover:shadow-red-500/25",
615
+ "dark:focus-visible:ring-red-400/50"
616
+ ].join(" "),
617
+ success: [
618
+ "bg-gradient-to-r from-emerald-600 to-teal-600 text-white",
619
+ "shadow-md shadow-emerald-500/25",
620
+ "hover:from-emerald-700 hover:to-teal-700",
621
+ "hover:shadow-lg hover:shadow-emerald-500/30",
622
+ "focus-visible:ring-emerald-500/50",
623
+ "dark:from-emerald-500 dark:to-teal-500",
624
+ "dark:shadow-emerald-500/20",
625
+ "dark:hover:from-emerald-600 dark:hover:to-teal-600",
626
+ "dark:hover:shadow-emerald-500/25",
627
+ "dark:focus-visible:ring-emerald-400/50"
628
+ ].join(" "),
629
+ outline: [
630
+ "border-2 border-blue-600 text-blue-600 bg-transparent",
631
+ "hover:bg-blue-600 hover:text-white",
632
+ "shadow-sm hover:shadow-md hover:shadow-blue-500/25",
633
+ "focus-visible:ring-blue-500/50",
634
+ "dark:border-blue-400 dark:text-blue-400",
635
+ "dark:hover:bg-blue-500 dark:hover:text-white",
636
+ "dark:hover:shadow-blue-500/20",
637
+ "dark:focus-visible:ring-blue-400/50"
638
+ ].join(" "),
639
+ ghost: [
640
+ "bg-transparent text-blue-600",
641
+ "hover:bg-blue-500/10 hover:text-blue-700",
642
+ "focus-visible:ring-blue-500/50",
643
+ "dark:text-blue-400",
644
+ "dark:hover:bg-blue-400/10 dark:hover:text-blue-300",
645
+ "dark:focus-visible:ring-blue-400/50"
646
+ ].join(" ")
647
+ },
648
+ size: {
649
+ default: "h-11 px-5 py-2 has-[>svg]:px-4",
650
+ sm: "h-9 rounded-md gap-1.5 px-4 has-[>svg]:px-3 text-xs",
651
+ lg: "h-12 rounded-md px-8 has-[>svg]:px-6 text-base",
652
+ icon: "size-11",
653
+ "icon-sm": "size-9",
654
+ "icon-lg": "size-12"
655
+ }
656
+ },
657
+ defaultVariants: {
658
+ variant: "default",
659
+ size: "default"
660
+ }
661
+ });
662
+ function F({ className: e, variant: t, size: n, asChild: r = !1, loading: i = !1, ...a }) {
663
+ let o = S(P({
664
+ variant: t,
665
+ size: n,
666
+ className: e
667
+ }));
668
+ return /* @__PURE__ */ f(r ? h : "button", {
669
+ "data-slot": "gradient-button",
670
+ className: o,
671
+ disabled: i || a.disabled,
672
+ ...a,
673
+ children: i ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p("svg", {
674
+ className: "size-4 animate-spin",
675
+ xmlns: "http://www.w3.org/2000/svg",
676
+ fill: "none",
677
+ viewBox: "0 0 24 24",
678
+ children: [/* @__PURE__ */ f("circle", {
679
+ className: "opacity-25",
680
+ cx: "12",
681
+ cy: "12",
682
+ r: "10",
683
+ stroke: "currentColor",
684
+ strokeWidth: "4"
685
+ }), /* @__PURE__ */ f("path", {
686
+ className: "opacity-75",
687
+ fill: "currentColor",
688
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
689
+ })]
690
+ }), a.children] }) : a.children
691
+ });
692
+ }
693
+ //#endregion
694
+ //#region src/components/ui/input.tsx
695
+ function I({ className: e, type: t, ...n }) {
696
+ return /* @__PURE__ */ f("input", {
697
+ type: t,
698
+ "data-slot": "input",
699
+ className: S("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent pl-3 pr-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", e),
700
+ ...n
701
+ });
702
+ }
703
+ //#endregion
704
+ //#region src/components/ui/select.tsx
705
+ function ot({ ...e }) {
706
+ return /* @__PURE__ */ f(b.Root, {
707
+ "data-slot": "select",
708
+ ...e
709
+ });
710
+ }
711
+ function st({ ...e }) {
712
+ return /* @__PURE__ */ f(b.Group, {
713
+ "data-slot": "select-group",
714
+ ...e
715
+ });
716
+ }
717
+ function ct({ ...e }) {
718
+ return /* @__PURE__ */ f(b.Value, {
719
+ "data-slot": "select-value",
720
+ ...e
721
+ });
722
+ }
723
+ function lt({ className: e, size: t = "default", children: n, ...r }) {
724
+ return /* @__PURE__ */ p(b.Trigger, {
725
+ "data-slot": "select-trigger",
726
+ "data-size": t,
727
+ className: S("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", e),
728
+ ...r,
729
+ children: [n, /* @__PURE__ */ f(b.Icon, {
730
+ asChild: !0,
731
+ children: /* @__PURE__ */ f(O, { className: "size-4 opacity-50" })
732
+ })]
733
+ });
734
+ }
735
+ function ut({ className: e, children: t, position: n = "popper", align: r = "center", ...i }) {
736
+ return /* @__PURE__ */ f(b.Portal, { children: /* @__PURE__ */ p(b.Content, {
737
+ "data-slot": "select-content",
738
+ className: S("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md", n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", e),
739
+ position: n,
740
+ align: r,
741
+ ...i,
742
+ children: [
743
+ /* @__PURE__ */ f(L, {}),
744
+ /* @__PURE__ */ f(b.Viewport, {
745
+ className: S("p-1", n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),
746
+ children: t
747
+ }),
748
+ /* @__PURE__ */ f(R, {})
749
+ ]
750
+ }) });
751
+ }
752
+ function dt({ className: e, ...t }) {
753
+ return /* @__PURE__ */ f(b.Label, {
754
+ "data-slot": "select-label",
755
+ className: S("text-muted-foreground px-2 py-1.5 text-xs", e),
756
+ ...t
757
+ });
758
+ }
759
+ function ft({ className: e, children: t, ...n }) {
760
+ return /* @__PURE__ */ p(b.Item, {
761
+ "data-slot": "select-item",
762
+ className: S("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", e),
763
+ ...n,
764
+ children: [/* @__PURE__ */ f("span", {
765
+ className: "absolute right-2 flex size-3.5 items-center justify-center",
766
+ children: /* @__PURE__ */ f(b.ItemIndicator, { children: /* @__PURE__ */ f(D, { className: "size-4" }) })
767
+ }), /* @__PURE__ */ f(b.ItemText, { children: t })]
768
+ });
769
+ }
770
+ function pt({ className: e, ...t }) {
771
+ return /* @__PURE__ */ f(b.Separator, {
772
+ "data-slot": "select-separator",
773
+ className: S("bg-border pointer-events-none -mx-1 my-1 h-px", e),
774
+ ...t
775
+ });
776
+ }
777
+ function L({ className: e, ...t }) {
778
+ return /* @__PURE__ */ f(b.ScrollUpButton, {
779
+ "data-slot": "select-scroll-up-button",
780
+ className: S("flex cursor-default items-center justify-center py-1", e),
781
+ ...t,
782
+ children: /* @__PURE__ */ f(ue, { className: "size-4" })
783
+ });
784
+ }
785
+ function R({ className: e, ...t }) {
786
+ return /* @__PURE__ */ f(b.ScrollDownButton, {
787
+ "data-slot": "select-scroll-down-button",
788
+ className: S("flex cursor-default items-center justify-center py-1", e),
789
+ ...t,
790
+ children: /* @__PURE__ */ f(O, { className: "size-4" })
791
+ });
792
+ }
793
+ //#endregion
794
+ //#region src/components/ui/separator.tsx
795
+ function z({ className: e, orientation: t = "horizontal", decorative: n = !0, ...r }) {
796
+ return /* @__PURE__ */ f(ee.Root, {
797
+ "data-slot": "separator",
798
+ decorative: n,
799
+ orientation: t,
800
+ className: S("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px", e),
801
+ ...r
802
+ });
803
+ }
804
+ //#endregion
805
+ //#region src/components/ui/sheet.tsx
806
+ function B({ ...e }) {
807
+ return /* @__PURE__ */ f(_.Root, {
808
+ "data-slot": "sheet",
809
+ ...e
810
+ });
811
+ }
812
+ function mt({ ...e }) {
813
+ return /* @__PURE__ */ f(_.Trigger, {
814
+ "data-slot": "sheet-trigger",
815
+ ...e
816
+ });
817
+ }
818
+ function ht({ ...e }) {
819
+ return /* @__PURE__ */ f(_.Close, {
820
+ "data-slot": "sheet-close",
821
+ ...e
822
+ });
823
+ }
824
+ function gt({ ...e }) {
825
+ return /* @__PURE__ */ f(_.Portal, {
826
+ "data-slot": "sheet-portal",
827
+ ...e
828
+ });
829
+ }
830
+ function _t({ className: e, ...t }) {
831
+ return /* @__PURE__ */ f(_.Overlay, {
832
+ "data-slot": "sheet-overlay",
833
+ className: S("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", e),
834
+ ...t
835
+ });
836
+ }
837
+ function V({ className: e, children: t, side: n = "right", ...r }) {
838
+ return /* @__PURE__ */ p(gt, { children: [/* @__PURE__ */ f(_t, {}), /* @__PURE__ */ p(_.Content, {
839
+ "data-slot": "sheet-content",
840
+ className: S("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", n === "right" && "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", n === "left" && "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", n === "top" && "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b", n === "bottom" && "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t", e),
841
+ ...r,
842
+ children: [t, /* @__PURE__ */ p(_.Close, {
843
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",
844
+ children: [/* @__PURE__ */ f(ye, { className: "size-4" }), /* @__PURE__ */ f("span", {
845
+ className: "sr-only",
846
+ children: "Close"
847
+ })]
848
+ })]
849
+ })] });
850
+ }
851
+ function H({ className: e, ...t }) {
852
+ return /* @__PURE__ */ f("div", {
853
+ "data-slot": "sheet-header",
854
+ className: S("flex flex-col gap-1.5 p-4", e),
855
+ ...t
856
+ });
857
+ }
858
+ function vt({ className: e, ...t }) {
859
+ return /* @__PURE__ */ f("div", {
860
+ "data-slot": "sheet-footer",
861
+ className: S("mt-auto flex flex-col gap-2 p-4", e),
862
+ ...t
863
+ });
864
+ }
865
+ function U({ className: e, ...t }) {
866
+ return /* @__PURE__ */ f(_.Title, {
867
+ "data-slot": "sheet-title",
868
+ className: S("text-foreground font-semibold", e),
869
+ ...t
870
+ });
871
+ }
872
+ function W({ className: e, ...t }) {
873
+ return /* @__PURE__ */ f(_.Description, {
874
+ "data-slot": "sheet-description",
875
+ className: S("text-muted-foreground text-sm", e),
876
+ ...t
877
+ });
878
+ }
879
+ //#endregion
880
+ //#region src/components/ui/skeleton.tsx
881
+ function G({ className: e, ...t }) {
882
+ return /* @__PURE__ */ f("div", {
883
+ "data-slot": "skeleton",
884
+ className: S("bg-accent animate-pulse rounded-md", e),
885
+ ...t
886
+ });
887
+ }
888
+ //#endregion
889
+ //#region src/components/ui/tooltip.tsx
890
+ function K({ delayDuration: e = 0, ...t }) {
891
+ return /* @__PURE__ */ f(x.Provider, {
892
+ "data-slot": "tooltip-provider",
893
+ delayDuration: e,
894
+ ...t
895
+ });
896
+ }
897
+ function yt({ ...e }) {
898
+ return /* @__PURE__ */ f(K, { children: /* @__PURE__ */ f(x.Root, {
899
+ "data-slot": "tooltip",
900
+ ...e
901
+ }) });
902
+ }
903
+ function bt({ ...e }) {
904
+ return /* @__PURE__ */ f(x.Trigger, {
905
+ "data-slot": "tooltip-trigger",
906
+ ...e
907
+ });
908
+ }
909
+ function xt({ className: e, sideOffset: t = 0, children: n, ...r }) {
910
+ return /* @__PURE__ */ f(x.Portal, { children: /* @__PURE__ */ p(x.Content, {
911
+ "data-slot": "tooltip-content",
912
+ sideOffset: t,
913
+ className: S("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", e),
914
+ ...r,
915
+ children: [n, /* @__PURE__ */ f(x.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
916
+ }) });
917
+ }
918
+ //#endregion
919
+ //#region src/hooks/use-mobile.ts
920
+ var q = 768;
921
+ function St() {
922
+ let [e, t] = n.useState(void 0);
923
+ return n.useEffect(() => {
924
+ let e = window.matchMedia(`(max-width: ${q - 1}px)`), n = () => {
925
+ t(window.innerWidth < q);
926
+ };
927
+ return e.addEventListener("change", n), t(window.innerWidth < q), () => e.removeEventListener("change", n);
928
+ }, []), !!e;
929
+ }
930
+ //#endregion
931
+ //#region src/components/ui/sidebar.tsx
932
+ var Ct = "sidebar_state", wt = 3600 * 24 * 7, Tt = "16rem", Et = "18rem", Dt = "3rem", Ot = "b", J = n.createContext(null);
933
+ function Y() {
934
+ let e = n.useContext(J);
935
+ if (!e) throw Error("useSidebar must be used within a SidebarProvider.");
936
+ return e;
937
+ }
938
+ function kt() {
939
+ return n.useContext(J);
940
+ }
941
+ function At({ defaultOpen: e = !0, open: t, onOpenChange: r, className: i, style: a, children: o, ...s }) {
942
+ let c = St(), [l, u] = n.useState(!1), [d, p] = n.useState(e), m = t ?? d, h = n.useCallback((e) => {
943
+ let t = typeof e == "function" ? e(m) : e;
944
+ r ? r(t) : p(t), document.cookie = `${Ct}=${t}; path=/; max-age=${wt}`;
945
+ }, [r, m]), g = n.useCallback(() => c ? u((e) => !e) : h((e) => !e), [
946
+ c,
947
+ h,
948
+ u
949
+ ]);
950
+ n.useEffect(() => {
951
+ let e = (e) => {
952
+ e.key === Ot && (e.metaKey || e.ctrlKey) && (e.preventDefault(), g());
953
+ };
954
+ return globalThis.addEventListener("keydown", e), () => globalThis.removeEventListener("keydown", e);
955
+ }, [g]);
956
+ let _ = m ? "expanded" : "collapsed", v = n.useMemo(() => ({
957
+ state: _,
958
+ open: m,
959
+ setOpen: h,
960
+ isMobile: c,
961
+ openMobile: l,
962
+ setOpenMobile: u,
963
+ toggleSidebar: g
964
+ }), [
965
+ _,
966
+ m,
967
+ h,
968
+ c,
969
+ l,
970
+ u,
971
+ g
972
+ ]);
973
+ return /* @__PURE__ */ f(J.Provider, {
974
+ value: v,
975
+ children: /* @__PURE__ */ f(K, {
976
+ delayDuration: 0,
977
+ children: /* @__PURE__ */ f("div", {
978
+ "data-slot": "sidebar-wrapper",
979
+ style: {
980
+ "--sidebar-width": Tt,
981
+ "--sidebar-width-icon": Dt,
982
+ ...a
983
+ },
984
+ className: S("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", i),
985
+ ...s,
986
+ children: o
987
+ })
988
+ })
989
+ });
990
+ }
991
+ function jt({ side: e = "left", variant: t = "sidebar", collapsible: n = "offcanvas", position: r = "fixed", className: i, children: a, ...o }) {
992
+ let { isMobile: s, state: c, openMobile: l, setOpenMobile: u } = Y();
993
+ return n === "none" ? /* @__PURE__ */ f("div", {
994
+ "data-slot": "sidebar",
995
+ className: S("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", i),
996
+ ...o,
997
+ children: a
998
+ }) : s ? /* @__PURE__ */ f(B, {
999
+ open: l,
1000
+ onOpenChange: u,
1001
+ ...o,
1002
+ children: /* @__PURE__ */ p(V, {
1003
+ "data-sidebar": "sidebar",
1004
+ "data-slot": "sidebar",
1005
+ "data-mobile": "true",
1006
+ className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
1007
+ style: { "--sidebar-width": Et },
1008
+ side: e,
1009
+ children: [/* @__PURE__ */ p(H, {
1010
+ className: "sr-only",
1011
+ children: [/* @__PURE__ */ f(U, { children: "Sidebar" }), /* @__PURE__ */ f(W, { children: "Displays the mobile sidebar." })]
1012
+ }), /* @__PURE__ */ f("div", {
1013
+ className: "flex h-full w-full flex-col",
1014
+ children: a
1015
+ })]
1016
+ })
1017
+ }) : /* @__PURE__ */ p("div", {
1018
+ className: S("group peer text-sidebar-foreground hidden md:block", r === "absolute" && "relative"),
1019
+ "data-state": c,
1020
+ "data-collapsible": c === "collapsed" ? n : "",
1021
+ "data-variant": t,
1022
+ "data-side": e,
1023
+ "data-slot": "sidebar",
1024
+ children: [/* @__PURE__ */ f("div", {
1025
+ "data-slot": "sidebar-gap",
1026
+ className: S("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", t === "floating" || t === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
1027
+ }), /* @__PURE__ */ f("div", {
1028
+ "data-slot": "sidebar-container",
1029
+ className: S("inset-y-0 z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", r === "absolute" ? "h-full" : "h-svh", r === "absolute" ? "absolute" : "fixed", e === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", t === "floating" || t === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", i),
1030
+ ...o,
1031
+ children: /* @__PURE__ */ f("div", {
1032
+ "data-sidebar": "sidebar",
1033
+ "data-slot": "sidebar-inner",
1034
+ className: "bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",
1035
+ children: a
1036
+ })
1037
+ })]
1038
+ });
1039
+ }
1040
+ function Mt({ className: e, onClick: t, ...n }) {
1041
+ let r = kt();
1042
+ if (!r) return null;
1043
+ let { toggleSidebar: i, isMobile: a } = r;
1044
+ return /* @__PURE__ */ p(F, {
1045
+ "data-sidebar": "trigger",
1046
+ "data-slot": "sidebar-trigger",
1047
+ variant: "ghost",
1048
+ size: "icon",
1049
+ className: S("size-7", e),
1050
+ onClick: (e) => {
1051
+ t?.(e), i();
1052
+ },
1053
+ ...n,
1054
+ children: [f(a ? me : _e, {}), /* @__PURE__ */ f("span", {
1055
+ className: "sr-only",
1056
+ children: "Toggle Sidebar"
1057
+ })]
1058
+ });
1059
+ }
1060
+ function Nt({ className: e, ...t }) {
1061
+ let { toggleSidebar: n } = Y();
1062
+ return /* @__PURE__ */ f("button", {
1063
+ "data-sidebar": "rail",
1064
+ "data-slot": "sidebar-rail",
1065
+ "aria-label": "Toggle Sidebar",
1066
+ tabIndex: -1,
1067
+ onClick: n,
1068
+ title: "Toggle Sidebar",
1069
+ className: S("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", e),
1070
+ ...t
1071
+ });
1072
+ }
1073
+ function Pt({ className: e, ...t }) {
1074
+ return /* @__PURE__ */ f("main", {
1075
+ "data-slot": "sidebar-inset",
1076
+ className: S("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", e),
1077
+ ...t
1078
+ });
1079
+ }
1080
+ function Ft({ className: e, ...t }) {
1081
+ return /* @__PURE__ */ f(I, {
1082
+ "data-slot": "sidebar-input",
1083
+ "data-sidebar": "input",
1084
+ className: S("bg-background h-8 w-full shadow-none", e),
1085
+ ...t
1086
+ });
1087
+ }
1088
+ function It({ className: e, ...t }) {
1089
+ return /* @__PURE__ */ f("div", {
1090
+ "data-slot": "sidebar-header",
1091
+ "data-sidebar": "header",
1092
+ className: S("flex flex-col gap-2 p-2", e),
1093
+ ...t
1094
+ });
1095
+ }
1096
+ function Lt({ className: e, ...t }) {
1097
+ return /* @__PURE__ */ f("div", {
1098
+ "data-slot": "sidebar-footer",
1099
+ "data-sidebar": "footer",
1100
+ className: S("flex flex-col gap-2 p-2", e),
1101
+ ...t
1102
+ });
1103
+ }
1104
+ function Rt({ className: e, ...t }) {
1105
+ return /* @__PURE__ */ f(z, {
1106
+ "data-slot": "sidebar-separator",
1107
+ "data-sidebar": "separator",
1108
+ className: S("bg-sidebar-border mx-2 w-auto", e),
1109
+ ...t
1110
+ });
1111
+ }
1112
+ function zt({ className: e, ...t }) {
1113
+ return /* @__PURE__ */ f("div", {
1114
+ "data-slot": "sidebar-content",
1115
+ "data-sidebar": "content",
1116
+ className: S("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", e),
1117
+ ...t
1118
+ });
1119
+ }
1120
+ function Bt({ className: e, ...t }) {
1121
+ return /* @__PURE__ */ f("div", {
1122
+ "data-slot": "sidebar-group",
1123
+ "data-sidebar": "group",
1124
+ className: S("relative flex w-full min-w-0 flex-col p-2", e),
1125
+ ...t
1126
+ });
1127
+ }
1128
+ function Vt({ className: e, asChild: t = !1, ...n }) {
1129
+ return /* @__PURE__ */ f(t ? h : "div", {
1130
+ "data-slot": "sidebar-group-label",
1131
+ "data-sidebar": "group-label",
1132
+ className: S("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", e),
1133
+ ...n
1134
+ });
1135
+ }
1136
+ function Ht({ className: e, asChild: t = !1, ...n }) {
1137
+ return /* @__PURE__ */ f(t ? h : "button", {
1138
+ "data-slot": "sidebar-group-action",
1139
+ "data-sidebar": "group-action",
1140
+ className: S("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", e),
1141
+ ...n
1142
+ });
1143
+ }
1144
+ function Ut({ className: e, ...t }) {
1145
+ return /* @__PURE__ */ f("div", {
1146
+ "data-slot": "sidebar-group-content",
1147
+ "data-sidebar": "group-content",
1148
+ className: S("w-full text-sm", e),
1149
+ ...t
1150
+ });
1151
+ }
1152
+ function Wt({ className: e, ...t }) {
1153
+ return /* @__PURE__ */ f("ul", {
1154
+ "data-slot": "sidebar-menu",
1155
+ "data-sidebar": "menu",
1156
+ className: S("flex w-full min-w-0 flex-col gap-1", e),
1157
+ ...t
1158
+ });
1159
+ }
1160
+ function Gt({ className: e, ...t }) {
1161
+ return /* @__PURE__ */ f("li", {
1162
+ "data-slot": "sidebar-menu-item",
1163
+ "data-sidebar": "menu-item",
1164
+ className: S("group/menu-item relative", e),
1165
+ ...t
1166
+ });
1167
+ }
1168
+ var Kt = g("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
1169
+ variants: {
1170
+ variant: {
1171
+ default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
1172
+ outline: "bg-background shadow-[0_0_0_1px_var(--vg-sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--vg-sidebar-accent)]"
1173
+ },
1174
+ size: {
1175
+ default: "h-8 text-sm",
1176
+ sm: "h-7 text-xs",
1177
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
1178
+ }
1179
+ },
1180
+ defaultVariants: {
1181
+ variant: "default",
1182
+ size: "default"
1183
+ }
1184
+ });
1185
+ function qt({ asChild: e = !1, isActive: t = !1, variant: n = "default", size: r = "default", tooltip: i, className: a, ...o }) {
1186
+ let s = e ? h : "button", { isMobile: c, state: l } = Y(), u = /* @__PURE__ */ f(s, {
1187
+ "data-slot": "sidebar-menu-button",
1188
+ "data-sidebar": "menu-button",
1189
+ "data-size": r,
1190
+ "data-active": t,
1191
+ className: S(Kt({
1192
+ variant: n,
1193
+ size: r
1194
+ }), a),
1195
+ ...o
1196
+ });
1197
+ return i ? (typeof i == "string" && (i = { children: i }), /* @__PURE__ */ p(yt, { children: [/* @__PURE__ */ f(bt, {
1198
+ asChild: !0,
1199
+ children: u
1200
+ }), /* @__PURE__ */ f(xt, {
1201
+ side: "right",
1202
+ align: "center",
1203
+ hidden: l !== "collapsed" || c,
1204
+ ...i
1205
+ })] })) : u;
1206
+ }
1207
+ function Jt({ className: e, asChild: t = !1, showOnHover: n = !1, ...r }) {
1208
+ return /* @__PURE__ */ f(t ? h : "button", {
1209
+ "data-slot": "sidebar-menu-action",
1210
+ "data-sidebar": "menu-action",
1211
+ className: S("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", n && "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0", e),
1212
+ ...r
1213
+ });
1214
+ }
1215
+ function Yt({ className: e, ...t }) {
1216
+ return /* @__PURE__ */ f("div", {
1217
+ "data-slot": "sidebar-menu-badge",
1218
+ "data-sidebar": "menu-badge",
1219
+ className: S("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", e),
1220
+ ...t
1221
+ });
1222
+ }
1223
+ function Xt({ className: e, showIcon: t = !1, ...r }) {
1224
+ let i = n.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
1225
+ return /* @__PURE__ */ p("div", {
1226
+ "data-slot": "sidebar-menu-skeleton",
1227
+ "data-sidebar": "menu-skeleton",
1228
+ className: S("flex h-8 items-center gap-2 rounded-md px-2", e),
1229
+ ...r,
1230
+ children: [t && /* @__PURE__ */ f(G, {
1231
+ className: "size-4 rounded-md",
1232
+ "data-sidebar": "menu-skeleton-icon"
1233
+ }), /* @__PURE__ */ f(G, {
1234
+ className: "h-4 max-w-(--skeleton-width) flex-1",
1235
+ "data-sidebar": "menu-skeleton-text",
1236
+ style: { "--skeleton-width": i }
1237
+ })]
1238
+ });
1239
+ }
1240
+ function Zt({ className: e, ...t }) {
1241
+ return /* @__PURE__ */ f("ul", {
1242
+ "data-slot": "sidebar-menu-sub",
1243
+ "data-sidebar": "menu-sub",
1244
+ className: S("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5", "group-data-[collapsible=icon]:hidden", e),
1245
+ ...t
1246
+ });
1247
+ }
1248
+ function Qt({ className: e, ...t }) {
1249
+ return /* @__PURE__ */ f("li", {
1250
+ "data-slot": "sidebar-menu-sub-item",
1251
+ "data-sidebar": "menu-sub-item",
1252
+ className: S("group/menu-sub-item relative", e),
1253
+ ...t
1254
+ });
1255
+ }
1256
+ function $t({ asChild: e = !1, size: t = "md", isActive: n = !1, className: r, ...i }) {
1257
+ return /* @__PURE__ */ f(e ? h : "a", {
1258
+ "data-slot": "sidebar-menu-sub-button",
1259
+ "data-sidebar": "menu-sub-button",
1260
+ "data-size": t,
1261
+ "data-active": n,
1262
+ className: S("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground", t === "sm" && "text-xs", t === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", r),
1263
+ ...i
1264
+ });
1265
+ }
1266
+ //#endregion
1267
+ //#region src/components/badge-colorful.tsx
1268
+ var en = ({ text: e, href: t, onClick: n, className: r, prefix: i }) => {
1269
+ if (!e) return null;
1270
+ let a = re(e);
1271
+ return /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p(A, {
1272
+ variant: "outline",
1273
+ title: e,
1274
+ onClick: () => t && n?.(t),
1275
+ className: `text-xs font-medium px-2 py-0.5 gap-1.5 cursor-pointer transition-all hover:opacity-80 dynamic-badge-${e.length} ${r ?? ""}`,
1276
+ style: {
1277
+ "--badge-bg": a.light.bg,
1278
+ "--badge-text": a.light.text,
1279
+ "--badge-border": a.light.border,
1280
+ "--badge-dark-bg": a.dark.bg,
1281
+ "--badge-dark-text": a.dark.text,
1282
+ "--badge-dark-border": a.dark.border,
1283
+ backgroundColor: "var(--badge-bg)",
1284
+ color: "var(--badge-text)",
1285
+ borderColor: "var(--badge-border)"
1286
+ },
1287
+ children: [i, /* @__PURE__ */ f("span", { dangerouslySetInnerHTML: { __html: e } })]
1288
+ }), /* @__PURE__ */ f("style", {
1289
+ suppressHydrationWarning: !0,
1290
+ children: `
1291
+ .dark [title="${e}"] {
1292
+ background-color: var(--badge-dark-bg) !important;
1293
+ color: var(--badge-dark-text) !important;
1294
+ border-color: var(--badge-dark-border) !important;
1295
+ }
1296
+ `
1297
+ })] });
1298
+ }, tn = {
1299
+ AR: "SA",
1300
+ BN: "BD",
1301
+ CA: "ES",
1302
+ CS: "CZ",
1303
+ DA: "DK",
1304
+ DE: "DE",
1305
+ EL: "GR",
1306
+ EN: "US",
1307
+ EU: "ES",
1308
+ FA: "IR",
1309
+ FI: "FI",
1310
+ FIL: "PH",
1311
+ FR: "FR",
1312
+ GA: "IE",
1313
+ GL: "ES",
1314
+ GU: "IN",
1315
+ HE: "IL",
1316
+ HI: "IN",
1317
+ HU: "HU",
1318
+ ID: "ID",
1319
+ IT: "IT",
1320
+ JA: "JP",
1321
+ KN: "IN",
1322
+ KO: "KR",
1323
+ MR: "IN",
1324
+ MSA: "MY",
1325
+ NL: "NL",
1326
+ NO: "NO",
1327
+ PL: "PL",
1328
+ PT: "BR",
1329
+ RO: "RO",
1330
+ RU: "RU",
1331
+ ES: "ES",
1332
+ SV: "SE",
1333
+ TA: "IN",
1334
+ TH: "TH",
1335
+ TR: "TR",
1336
+ UK: "UA",
1337
+ UR: "PK",
1338
+ VI: "VN",
1339
+ ZH: "CN"
1340
+ }, X = { UK: "GB" };
1341
+ function nn(e) {
1342
+ if (!e) return "";
1343
+ let t = e.trim().replaceAll("-", "_").toUpperCase().split("_");
1344
+ if (t.length > 1 && t[1].length === 2) {
1345
+ let e = t[1];
1346
+ return (X[e] || e).toLowerCase();
1347
+ }
1348
+ let n = t[0], r = tn[n];
1349
+ return r ? r.toLowerCase() : (X[n] || n).toLowerCase();
1350
+ }
1351
+ var rn = ({ locale: e, className: t }) => {
1352
+ let [n, r] = u(!1), i = nn(e);
1353
+ return c(() => {
1354
+ r(!1);
1355
+ }, [i]), /* @__PURE__ */ p(A, {
1356
+ variant: "secondary",
1357
+ className: `font-mono gap-2 py-1 pl-1 pr-2 w-fit ${t}`,
1358
+ children: [!n && i ? /* @__PURE__ */ f("img", {
1359
+ src: `https://flagcdn.com/w40/${i}.png`,
1360
+ alt: i,
1361
+ onError: () => r(!0),
1362
+ className: "w-5 h-3.5 object-cover rounded-sm shadow-sm"
1363
+ }) : /* @__PURE__ */ f(pe, { className: "w-3.5 h-3.5 text-muted-foreground" }), /* @__PURE__ */ f("span", {
1364
+ className: "text-xs font-bold uppercase tracking-tight leading-none",
1365
+ children: e
1366
+ })]
1367
+ });
1368
+ }, an = r({
1369
+ theme: "system",
1370
+ setTheme: () => null
1371
+ });
1372
+ function on({ children: e, defaultTheme: t = "system", storageKey: n = "vite-ui-theme", ...r }) {
1373
+ let [i, a] = u(() => localStorage.getItem(n) || t);
1374
+ c(() => {
1375
+ let e = window.document.documentElement;
1376
+ if (e.classList.remove("light", "dark"), i === "system") {
1377
+ let t = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
1378
+ e.classList.add(t);
1379
+ return;
1380
+ }
1381
+ e.classList.add(i);
1382
+ }, [i]);
1383
+ let o = {
1384
+ theme: i,
1385
+ setTheme: (e) => {
1386
+ localStorage.setItem(n, e), a(e);
1387
+ }
1388
+ };
1389
+ return /* @__PURE__ */ f(an.Provider, {
1390
+ ...r,
1391
+ value: o,
1392
+ children: e
1393
+ });
1394
+ }
1395
+ var Z = () => {
1396
+ let e = s(an);
1397
+ if (e === void 0) throw Error("useTheme must be used within a ThemeProvider");
1398
+ return e;
1399
+ };
1400
+ //#endregion
1401
+ //#region src/components/mode-toggle.tsx
1402
+ function sn() {
1403
+ let { setTheme: e } = Z(), { t } = y();
1404
+ return /* @__PURE__ */ p(Je, { children: [/* @__PURE__ */ f(j, {
1405
+ asChild: !0,
1406
+ children: /* @__PURE__ */ p(F, {
1407
+ variant: "outline",
1408
+ size: "sm",
1409
+ children: [
1410
+ /* @__PURE__ */ f(ve, { className: "h-[1.2rem] w-[1.2rem] scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }),
1411
+ /* @__PURE__ */ f(ge, { className: "absolute h-[1.2rem] w-[1.2rem] scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" }),
1412
+ /* @__PURE__ */ f("span", {
1413
+ className: "sr-only",
1414
+ children: t("theme.toggle")
1415
+ })
1416
+ ]
1417
+ })
1418
+ }), /* @__PURE__ */ p(M, {
1419
+ align: "end",
1420
+ children: [
1421
+ /* @__PURE__ */ f(N, {
1422
+ onClick: () => e("light"),
1423
+ children: t("theme.light")
1424
+ }),
1425
+ /* @__PURE__ */ f(N, {
1426
+ onClick: () => e("dark"),
1427
+ children: t("theme.dark")
1428
+ }),
1429
+ /* @__PURE__ */ f(N, {
1430
+ onClick: () => e("system"),
1431
+ children: t("theme.system")
1432
+ })
1433
+ ]
1434
+ })] });
1435
+ }
1436
+ var Q = [
1437
+ {
1438
+ value: "light",
1439
+ labelKey: "theme.light",
1440
+ icon: ve
1441
+ },
1442
+ {
1443
+ value: "dark",
1444
+ labelKey: "theme.dark",
1445
+ icon: ge
1446
+ },
1447
+ {
1448
+ value: "system",
1449
+ labelKey: "theme.system",
1450
+ icon: he
1451
+ }
1452
+ ];
1453
+ function cn() {
1454
+ let { theme: e, setTheme: t } = Z(), { t: n } = y(), r = Q.find((t) => t.value === e) ?? Q[2];
1455
+ function i() {
1456
+ let n = Q[(Q.findIndex((t) => t.value === e) + 1) % Q.length];
1457
+ t(n.value);
1458
+ }
1459
+ let a = r.icon;
1460
+ return /* @__PURE__ */ p("button", {
1461
+ type: "button",
1462
+ title: n("theme.toggle"),
1463
+ onClick: i,
1464
+ className: "md:hidden flex items-center gap-3 rounded-lg px-3 py-2 text-sm text-sidebar-foreground hover:bg-sidebar-accent transition-colors w-full",
1465
+ children: [/* @__PURE__ */ f(a, { className: "size-4 shrink-0" }), /* @__PURE__ */ f("span", { children: n("theme.modeLabel", { mode: n(r.labelKey) }) })]
1466
+ });
1467
+ }
1468
+ //#endregion
1469
+ //#region src/contexts/breadcrumb.context.tsx
1470
+ var $ = r(void 0);
1471
+ function ln({ children: e }) {
1472
+ let [t, n] = u([]), r = o((e) => {
1473
+ n((t) => t.length > 0 && t[t.length - 1].label === e.label ? t : [...t, e]);
1474
+ }, []), i = o(() => {
1475
+ n((e) => e.slice(0, -1));
1476
+ }, []), a = o((e = []) => {
1477
+ n(e);
1478
+ }, []), s = l(() => ({
1479
+ items: t,
1480
+ setItems: n,
1481
+ pushItem: r,
1482
+ popItem: i,
1483
+ resetBreadcrumb: a
1484
+ }), [
1485
+ t,
1486
+ r,
1487
+ i,
1488
+ a
1489
+ ]);
1490
+ return /* @__PURE__ */ f($.Provider, {
1491
+ value: s,
1492
+ children: e
1493
+ });
1494
+ }
1495
+ var un = () => {
1496
+ let e = s($);
1497
+ if (!e) throw Error("useBreadcrumb must be used within Provider");
1498
+ return e;
1499
+ }, dn = () => s($);
1500
+ //#endregion
1501
+ export { ft as $, fe as $t, At as A, He as At, G as B, Ne as Bt, Yt as C, j as Ct, Zt as D, qe as Dt, Xt as E, Ue as Et, St as F, Fe as Ft, vt as G, Te as Gt, ht as H, Ae as Ht, yt as I, Ie as It, mt as J, A as Jt, H as K, Oe as Kt, xt as L, Pe as Lt, Rt as M, Ke as Mt, Mt as N, ze as Nt, $t as O, Ge as Ot, Y as P, je as Pt, st as Q, xe as Qt, K as R, Le as Rt, Jt as S, it as St, Gt as T, Ve as Tt, V as U, Ee as Ut, B as V, we as Vt, W, De as Wt, ot as X, be as Xt, z as Y, Ce as Yt, ut as Z, Se as Zt, Vt as _, $e as _t, cn as a, ne as an, ct as at, Pt as b, rt as bt, rn as c, P as ct, jt as d, M as dt, k as en, dt as et, zt as f, Xe as ft, Ut as g, Qe as gt, Ht as h, Ye as ht, sn as i, S as in, lt as it, Nt as j, Be as jt, Qt as k, We as kt, nn as l, Je as lt, Bt as m, et as mt, un as n, D as nn, L as nt, on as o, re as on, I as ot, Lt as p, N as pt, U as q, ke as qt, dn as r, E as rn, pt as rt, Z as s, te as sn, F as st, ln as t, O as tn, R as tt, en as u, Ze as ut, It as v, tt as vt, qt as w, Re as wt, Wt as x, at as xt, Ft as y, nt as yt, bt as z, Me as zt };