@k3-universe/react-kit 0.0.28 → 0.0.30

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 (927) hide show
  1. package/.storybook/main.ts +1 -1
  2. package/.storybook/preview.ts +18 -10
  3. package/biome.json +10 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +3794 -1426
  7. package/dist/kit/builder/auth/components/Can.d.ts +13 -0
  8. package/dist/kit/builder/auth/components/Can.d.ts.map +1 -0
  9. package/dist/kit/builder/auth/components/RequireAuth.d.ts +45 -0
  10. package/dist/kit/builder/auth/components/RequireAuth.d.ts.map +1 -0
  11. package/dist/kit/builder/auth/components/ShowWhenAuthenticated.d.ts +8 -0
  12. package/dist/kit/builder/auth/components/ShowWhenAuthenticated.d.ts.map +1 -0
  13. package/dist/kit/builder/auth/components/ShowWhenError.d.ts +8 -0
  14. package/dist/kit/builder/auth/components/ShowWhenError.d.ts.map +1 -0
  15. package/dist/kit/builder/auth/components/ShowWhenLoading.d.ts +8 -0
  16. package/dist/kit/builder/auth/components/ShowWhenLoading.d.ts.map +1 -0
  17. package/dist/kit/builder/auth/components/ShowWhenUnauthenticated.d.ts +8 -0
  18. package/dist/kit/builder/auth/components/ShowWhenUnauthenticated.d.ts.map +1 -0
  19. package/dist/kit/builder/auth/components/withPermission.d.ts +7 -0
  20. package/dist/kit/builder/auth/components/withPermission.d.ts.map +1 -0
  21. package/dist/kit/builder/auth/hooks/action-hooks.d.ts +18 -0
  22. package/dist/kit/builder/auth/hooks/action-hooks.d.ts.map +1 -0
  23. package/dist/kit/builder/auth/hooks/core-hooks.d.ts +56 -0
  24. package/dist/kit/builder/auth/hooks/core-hooks.d.ts.map +1 -0
  25. package/dist/kit/builder/auth/hooks/index.d.ts +5 -0
  26. package/dist/kit/builder/auth/hooks/index.d.ts.map +1 -0
  27. package/dist/kit/builder/auth/hooks/permission-hooks.d.ts +18 -0
  28. package/dist/kit/builder/auth/hooks/permission-hooks.d.ts.map +1 -0
  29. package/dist/kit/builder/auth/hooks/token-hooks.d.ts +13 -0
  30. package/dist/kit/builder/auth/hooks/token-hooks.d.ts.map +1 -0
  31. package/dist/kit/builder/auth/index.d.ts +17 -0
  32. package/dist/kit/builder/auth/index.d.ts.map +1 -0
  33. package/dist/kit/builder/auth/providers/AuthProvider.d.ts +36 -0
  34. package/dist/kit/builder/auth/providers/AuthProvider.d.ts.map +1 -0
  35. package/dist/kit/builder/auth/types/adapter-config.d.ts +31 -0
  36. package/dist/kit/builder/auth/types/adapter-config.d.ts.map +1 -0
  37. package/dist/kit/builder/auth/types/adapter.d.ts +80 -0
  38. package/dist/kit/builder/auth/types/adapter.d.ts.map +1 -0
  39. package/dist/kit/builder/auth/types/core.d.ts +16 -0
  40. package/dist/kit/builder/auth/types/core.d.ts.map +1 -0
  41. package/dist/kit/builder/auth/types/index.d.ts +10 -0
  42. package/dist/kit/builder/auth/types/index.d.ts.map +1 -0
  43. package/dist/kit/builder/auth/types/middleware.d.ts +11 -0
  44. package/dist/kit/builder/auth/types/middleware.d.ts.map +1 -0
  45. package/dist/kit/builder/auth/types/permissions.d.ts +17 -0
  46. package/dist/kit/builder/auth/types/permissions.d.ts.map +1 -0
  47. package/dist/kit/builder/auth/types/state.d.ts +13 -0
  48. package/dist/kit/builder/auth/types/state.d.ts.map +1 -0
  49. package/dist/kit/builder/auth/types/storage.d.ts +20 -0
  50. package/dist/kit/builder/auth/types/storage.d.ts.map +1 -0
  51. package/dist/kit/builder/auth/types/token-manager.d.ts +7 -0
  52. package/dist/kit/builder/auth/types/token-manager.d.ts.map +1 -0
  53. package/dist/kit/builder/auth/types/utils.d.ts +7 -0
  54. package/dist/kit/builder/auth/types/utils.d.ts.map +1 -0
  55. package/dist/kit/builder/auth/utils/auth-adapter.d.ts +14 -0
  56. package/dist/kit/builder/auth/utils/auth-adapter.d.ts.map +1 -0
  57. package/dist/kit/builder/auth/utils/client-adapters/apollo-link.d.ts +4 -0
  58. package/dist/kit/builder/auth/utils/client-adapters/apollo-link.d.ts.map +1 -0
  59. package/dist/kit/builder/auth/utils/client-adapters/axios.d.ts +6 -0
  60. package/dist/kit/builder/auth/utils/client-adapters/axios.d.ts.map +1 -0
  61. package/dist/kit/builder/auth/utils/client-adapters/fetch.d.ts +6 -0
  62. package/dist/kit/builder/auth/utils/client-adapters/fetch.d.ts.map +1 -0
  63. package/dist/kit/builder/auth/utils/client-adapters/graphql.d.ts +9 -0
  64. package/dist/kit/builder/auth/utils/client-adapters/graphql.d.ts.map +1 -0
  65. package/dist/kit/builder/auth/utils/client-adapters/index.d.ts +7 -0
  66. package/dist/kit/builder/auth/utils/client-adapters/index.d.ts.map +1 -0
  67. package/dist/kit/builder/auth/utils/client-adapters/rest.d.ts +9 -0
  68. package/dist/kit/builder/auth/utils/client-adapters/rest.d.ts.map +1 -0
  69. package/dist/kit/builder/auth/utils/client-adapters/urql-exchange.d.ts +14 -0
  70. package/dist/kit/builder/auth/utils/client-adapters/urql-exchange.d.ts.map +1 -0
  71. package/dist/kit/builder/auth/utils/permission-checker.d.ts +31 -0
  72. package/dist/kit/builder/auth/utils/permission-checker.d.ts.map +1 -0
  73. package/dist/kit/builder/auth/utils/storage/browser.d.ts +11 -0
  74. package/dist/kit/builder/auth/utils/storage/browser.d.ts.map +1 -0
  75. package/dist/kit/builder/auth/utils/storage/cookie.d.ts +3 -0
  76. package/dist/kit/builder/auth/utils/storage/cookie.d.ts.map +1 -0
  77. package/dist/kit/builder/auth/utils/storage/encryption.d.ts +7 -0
  78. package/dist/kit/builder/auth/utils/storage/encryption.d.ts.map +1 -0
  79. package/dist/kit/builder/auth/utils/storage/env.d.ts +2 -0
  80. package/dist/kit/builder/auth/utils/storage/env.d.ts.map +1 -0
  81. package/dist/kit/builder/auth/utils/storage/factory.d.ts +6 -0
  82. package/dist/kit/builder/auth/utils/storage/factory.d.ts.map +1 -0
  83. package/dist/kit/builder/auth/utils/storage/index.d.ts +7 -0
  84. package/dist/kit/builder/auth/utils/storage/index.d.ts.map +1 -0
  85. package/dist/kit/builder/auth/utils/storage/memory.d.ts +3 -0
  86. package/dist/kit/builder/auth/utils/storage/memory.d.ts.map +1 -0
  87. package/dist/kit/builder/auth/utils/token-manager.d.ts +9 -0
  88. package/dist/kit/builder/auth/utils/token-manager.d.ts.map +1 -0
  89. package/dist/kit/builder/data-table/components/DataTable.d.ts.map +1 -1
  90. package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts +2 -2
  91. package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts.map +1 -1
  92. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts +1 -1
  93. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -1
  94. package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts +1 -1
  95. package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts.map +1 -1
  96. package/dist/kit/builder/data-table/types.d.ts.map +1 -1
  97. package/dist/kit/builder/dialog/index.d.ts +1 -1
  98. package/dist/kit/builder/dialog/index.d.ts.map +1 -1
  99. package/dist/kit/builder/dialog/provider.d.ts +0 -1
  100. package/dist/kit/builder/dialog/provider.d.ts.map +1 -1
  101. package/dist/kit/builder/form/components/FormBuilder.d.ts.map +1 -1
  102. package/dist/kit/builder/form/components/FormBuilderActions.d.ts.map +1 -1
  103. package/dist/kit/builder/form/components/FormBuilderContext.d.ts.map +1 -1
  104. package/dist/kit/builder/form/components/FormBuilderField.d.ts +1 -1
  105. package/dist/kit/builder/form/components/FormBuilderField.d.ts.map +1 -1
  106. package/dist/kit/builder/form/components/fields/ArrayField.d.ts +1 -1
  107. package/dist/kit/builder/form/components/fields/ArrayField.d.ts.map +1 -1
  108. package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts +1 -1
  109. package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts.map +1 -1
  110. package/dist/kit/builder/form/components/fields/CheckboxField.d.ts +1 -1
  111. package/dist/kit/builder/form/components/fields/CheckboxField.d.ts.map +1 -1
  112. package/dist/kit/builder/form/components/fields/DateField.d.ts +1 -1
  113. package/dist/kit/builder/form/components/fields/DateField.d.ts.map +1 -1
  114. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts +1 -1
  115. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts.map +1 -1
  116. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts +1 -1
  117. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts.map +1 -1
  118. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts +1 -1
  119. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts.map +1 -1
  120. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts +1 -1
  121. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts.map +1 -1
  122. package/dist/kit/builder/form/components/fields/FileField.d.ts +1 -1
  123. package/dist/kit/builder/form/components/fields/FileField.d.ts.map +1 -1
  124. package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts +1 -1
  125. package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts.map +1 -1
  126. package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts +1 -1
  127. package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts.map +1 -1
  128. package/dist/kit/builder/form/components/fields/NumberField.d.ts +1 -1
  129. package/dist/kit/builder/form/components/fields/NumberField.d.ts.map +1 -1
  130. package/dist/kit/builder/form/components/fields/ObjectField.d.ts.map +1 -1
  131. package/dist/kit/builder/form/components/fields/RadioField.d.ts +1 -1
  132. package/dist/kit/builder/form/components/fields/RadioField.d.ts.map +1 -1
  133. package/dist/kit/builder/form/components/fields/SelectField.d.ts +1 -1
  134. package/dist/kit/builder/form/components/fields/SelectField.d.ts.map +1 -1
  135. package/dist/kit/builder/form/components/fields/SwitchField.d.ts +1 -1
  136. package/dist/kit/builder/form/components/fields/SwitchField.d.ts.map +1 -1
  137. package/dist/kit/builder/form/components/fields/TextField.d.ts +1 -1
  138. package/dist/kit/builder/form/components/fields/TextField.d.ts.map +1 -1
  139. package/dist/kit/builder/form/components/fields/TextareaField.d.ts +1 -1
  140. package/dist/kit/builder/form/components/fields/TextareaField.d.ts.map +1 -1
  141. package/dist/kit/builder/form/components/fields/TimePickerField.d.ts +1 -1
  142. package/dist/kit/builder/form/components/fields/TimePickerField.d.ts.map +1 -1
  143. package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts +1 -1
  144. package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts.map +1 -1
  145. package/dist/kit/builder/form/components/fields/index.d.ts.map +1 -1
  146. package/dist/kit/builder/form/components/fields/types.d.ts.map +1 -1
  147. package/dist/kit/builder/form/components/sectionNodes.d.ts.map +1 -1
  148. package/dist/kit/builder/form/hooks/useFormBuilder.d.ts.map +1 -1
  149. package/dist/kit/builder/form/types.d.ts.map +1 -1
  150. package/dist/kit/builder/form/utils/section-factories.d.ts.map +1 -1
  151. package/dist/kit/builder/page/Page.d.ts.map +1 -1
  152. package/dist/kit/builder/page/index.d.ts.map +1 -1
  153. package/dist/kit/builder/section/SectionBuilder.d.ts +1 -1
  154. package/dist/kit/builder/section/SectionBuilder.d.ts.map +1 -1
  155. package/dist/kit/builder/section/SectionContainer.d.ts +14 -0
  156. package/dist/kit/builder/section/SectionContainer.d.ts.map +1 -0
  157. package/dist/kit/builder/stack-dialog/context.d.ts.map +1 -1
  158. package/dist/kit/builder/stack-dialog/hooks.d.ts.map +1 -1
  159. package/dist/kit/builder/stack-dialog/index.d.ts +3 -3
  160. package/dist/kit/builder/stack-dialog/index.d.ts.map +1 -1
  161. package/dist/kit/builder/stack-dialog/provider.d.ts.map +1 -1
  162. package/dist/kit/builder/stack-dialog/renderer.d.ts.map +1 -1
  163. package/dist/kit/builder/stack-dialog/types.d.ts +1 -1
  164. package/dist/kit/builder/stack-dialog/types.d.ts.map +1 -1
  165. package/dist/kit/components/autocomplete/Autocomplete.d.ts +1 -1
  166. package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
  167. package/dist/kit/components/autocomplete/types.d.ts.map +1 -1
  168. package/dist/kit/components/datepicker/DatePicker.d.ts.map +1 -1
  169. package/dist/kit/components/datepicker/DateRangePicker.d.ts.map +1 -1
  170. package/dist/kit/components/datetimepicker/DateTimePicker.d.ts.map +1 -1
  171. package/dist/kit/components/datetimepicker/DateTimeRangePicker.d.ts.map +1 -1
  172. package/dist/kit/components/datetimepicker/index.d.ts.map +1 -1
  173. package/dist/kit/components/fileuploader/FileUploader.d.ts.map +1 -1
  174. package/dist/kit/components/fileuploader/types.d.ts +2 -2
  175. package/dist/kit/components/forminfo/FormInfoError.d.ts.map +1 -1
  176. package/dist/kit/components/login/Login.d.ts +1 -1
  177. package/dist/kit/components/login/Login.d.ts.map +1 -1
  178. package/dist/kit/components/monthpicker/MonthInput.d.ts.map +1 -1
  179. package/dist/kit/components/monthpicker/MonthPicker.d.ts.map +1 -1
  180. package/dist/kit/components/monthpicker/MonthRangeInput.d.ts.map +1 -1
  181. package/dist/kit/components/monthpicker/MonthRangePicker.d.ts.map +1 -1
  182. package/dist/kit/components/timepicker/TimePicker.d.ts.map +1 -1
  183. package/dist/kit/components/timepicker/TimeRangePicker.d.ts.map +1 -1
  184. package/dist/kit/components/timepicker/index.d.ts.map +1 -1
  185. package/dist/kit/layouts/admin/components/AdminLayout.d.ts +2 -1
  186. package/dist/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -1
  187. package/dist/kit/layouts/admin/components/ThemeToggle.d.ts.map +1 -1
  188. package/dist/kit/layouts/admin/hooks/menu.d.ts.map +1 -1
  189. package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts +1 -1
  190. package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts.map +1 -1
  191. package/dist/kit/themes/base.css +1 -1
  192. package/dist/kit/themes/clean-slate.css +5 -5
  193. package/dist/kit/themes/default.css +5 -5
  194. package/dist/kit/themes/minimal-modern.css +5 -5
  195. package/dist/kit/themes/spotify.css +5 -5
  196. package/dist/shadcn/hooks/use-mobile.d.ts.map +1 -1
  197. package/dist/shadcn/ui/accordion.d.ts +2 -2
  198. package/dist/shadcn/ui/accordion.d.ts.map +1 -1
  199. package/dist/shadcn/ui/alert-dialog.d.ts +4 -4
  200. package/dist/shadcn/ui/alert-dialog.d.ts.map +1 -1
  201. package/dist/shadcn/ui/alert.d.ts +4 -4
  202. package/dist/shadcn/ui/alert.d.ts.map +1 -1
  203. package/dist/shadcn/ui/aspect-ratio.d.ts +1 -1
  204. package/dist/shadcn/ui/aspect-ratio.d.ts.map +1 -1
  205. package/dist/shadcn/ui/avatar.d.ts +2 -2
  206. package/dist/shadcn/ui/avatar.d.ts.map +1 -1
  207. package/dist/shadcn/ui/badge.d.ts +2 -2
  208. package/dist/shadcn/ui/badge.d.ts.map +1 -1
  209. package/dist/shadcn/ui/breadcrumb.d.ts +8 -8
  210. package/dist/shadcn/ui/breadcrumb.d.ts.map +1 -1
  211. package/dist/shadcn/ui/button.d.ts +2 -2
  212. package/dist/shadcn/ui/button.d.ts.map +1 -1
  213. package/dist/shadcn/ui/calendar.d.ts +2 -2
  214. package/dist/shadcn/ui/calendar.d.ts.map +1 -1
  215. package/dist/shadcn/ui/card.d.ts +8 -8
  216. package/dist/shadcn/ui/card.d.ts.map +1 -1
  217. package/dist/shadcn/ui/carousel.d.ts +5 -5
  218. package/dist/shadcn/ui/carousel.d.ts.map +1 -1
  219. package/dist/shadcn/ui/chart.d.ts +7 -7
  220. package/dist/shadcn/ui/chart.d.ts.map +1 -1
  221. package/dist/shadcn/ui/checkbox.d.ts +2 -2
  222. package/dist/shadcn/ui/checkbox.d.ts.map +1 -1
  223. package/dist/shadcn/ui/collapsible.d.ts +1 -1
  224. package/dist/shadcn/ui/collapsible.d.ts.map +1 -1
  225. package/dist/shadcn/ui/command.d.ts +2 -2
  226. package/dist/shadcn/ui/command.d.ts.map +1 -1
  227. package/dist/shadcn/ui/context-menu.d.ts +4 -4
  228. package/dist/shadcn/ui/context-menu.d.ts.map +1 -1
  229. package/dist/shadcn/ui/dialog.d.ts +4 -4
  230. package/dist/shadcn/ui/dialog.d.ts.map +1 -1
  231. package/dist/shadcn/ui/drawer.d.ts +3 -3
  232. package/dist/shadcn/ui/drawer.d.ts.map +1 -1
  233. package/dist/shadcn/ui/dropdown-menu.d.ts +4 -4
  234. package/dist/shadcn/ui/dropdown-menu.d.ts.map +1 -1
  235. package/dist/shadcn/ui/form.d.ts +5 -5
  236. package/dist/shadcn/ui/form.d.ts.map +1 -1
  237. package/dist/shadcn/ui/hover-card.d.ts +2 -2
  238. package/dist/shadcn/ui/hover-card.d.ts.map +1 -1
  239. package/dist/shadcn/ui/input-otp.d.ts +4 -4
  240. package/dist/shadcn/ui/input-otp.d.ts.map +1 -1
  241. package/dist/shadcn/ui/input.d.ts +2 -2
  242. package/dist/shadcn/ui/input.d.ts.map +1 -1
  243. package/dist/shadcn/ui/label.d.ts +2 -2
  244. package/dist/shadcn/ui/label.d.ts.map +1 -1
  245. package/dist/shadcn/ui/menubar.d.ts +4 -4
  246. package/dist/shadcn/ui/menubar.d.ts.map +1 -1
  247. package/dist/shadcn/ui/navigation-menu.d.ts +2 -2
  248. package/dist/shadcn/ui/navigation-menu.d.ts.map +1 -1
  249. package/dist/shadcn/ui/pagination.d.ts +6 -6
  250. package/dist/shadcn/ui/pagination.d.ts.map +1 -1
  251. package/dist/shadcn/ui/popover.d.ts +2 -2
  252. package/dist/shadcn/ui/popover.d.ts.map +1 -1
  253. package/dist/shadcn/ui/progress.d.ts +2 -2
  254. package/dist/shadcn/ui/progress.d.ts.map +1 -1
  255. package/dist/shadcn/ui/radio-group.d.ts +2 -2
  256. package/dist/shadcn/ui/radio-group.d.ts.map +1 -1
  257. package/dist/shadcn/ui/resizable.d.ts +2 -2
  258. package/dist/shadcn/ui/resizable.d.ts.map +1 -1
  259. package/dist/shadcn/ui/scroll-area.d.ts +2 -2
  260. package/dist/shadcn/ui/scroll-area.d.ts.map +1 -1
  261. package/dist/shadcn/ui/select.d.ts +3 -3
  262. package/dist/shadcn/ui/select.d.ts.map +1 -1
  263. package/dist/shadcn/ui/separator.d.ts +2 -2
  264. package/dist/shadcn/ui/separator.d.ts.map +1 -1
  265. package/dist/shadcn/ui/sheet.d.ts +5 -5
  266. package/dist/shadcn/ui/sheet.d.ts.map +1 -1
  267. package/dist/shadcn/ui/sidebar.d.ts +26 -26
  268. package/dist/shadcn/ui/sidebar.d.ts.map +1 -1
  269. package/dist/shadcn/ui/skeleton.d.ts +1 -1
  270. package/dist/shadcn/ui/skeleton.d.ts.map +1 -1
  271. package/dist/shadcn/ui/slider.d.ts +2 -2
  272. package/dist/shadcn/ui/slider.d.ts.map +1 -1
  273. package/dist/shadcn/ui/sonner.d.ts.map +1 -1
  274. package/dist/shadcn/ui/switch.d.ts +2 -2
  275. package/dist/shadcn/ui/switch.d.ts.map +1 -1
  276. package/dist/shadcn/ui/table.d.ts +9 -9
  277. package/dist/shadcn/ui/table.d.ts.map +1 -1
  278. package/dist/shadcn/ui/tabs.d.ts +2 -2
  279. package/dist/shadcn/ui/tabs.d.ts.map +1 -1
  280. package/dist/shadcn/ui/textarea.d.ts +2 -2
  281. package/dist/shadcn/ui/textarea.d.ts.map +1 -1
  282. package/dist/shadcn/ui/toggle-group.d.ts +2 -2
  283. package/dist/shadcn/ui/toggle-group.d.ts.map +1 -1
  284. package/dist/shadcn/ui/toggle.d.ts +2 -2
  285. package/dist/shadcn/ui/toggle.d.ts.map +1 -1
  286. package/dist/shadcn/ui/tooltip.d.ts +2 -2
  287. package/dist/shadcn/ui/tooltip.d.ts.map +1 -1
  288. package/package.json +2 -2
  289. package/src/index.ts +2 -1
  290. package/src/kit/builder/auth/components/Can.tsx +27 -0
  291. package/src/kit/builder/auth/components/RequireAuth.tsx +78 -0
  292. package/src/kit/builder/auth/components/ShowWhenAuthenticated.tsx +10 -0
  293. package/src/kit/builder/auth/components/ShowWhenError.tsx +10 -0
  294. package/src/kit/builder/auth/components/ShowWhenLoading.tsx +10 -0
  295. package/src/kit/builder/auth/components/ShowWhenUnauthenticated.tsx +10 -0
  296. package/src/kit/builder/auth/components/withPermission.tsx +23 -0
  297. package/src/kit/builder/auth/hooks/action-hooks.ts +34 -0
  298. package/src/kit/builder/auth/hooks/core-hooks.ts +65 -0
  299. package/src/kit/builder/auth/hooks/index.ts +4 -0
  300. package/src/kit/builder/auth/hooks/permission-hooks.ts +43 -0
  301. package/src/kit/builder/auth/hooks/token-hooks.ts +25 -0
  302. package/src/kit/builder/auth/index.ts +132 -0
  303. package/src/kit/builder/auth/providers/AuthProvider.tsx +131 -0
  304. package/src/kit/builder/auth/types/adapter-config.ts +44 -0
  305. package/src/kit/builder/auth/types/adapter.ts +132 -0
  306. package/src/kit/builder/auth/types/core.ts +27 -0
  307. package/src/kit/builder/auth/types/index.ts +9 -0
  308. package/src/kit/builder/auth/types/middleware.ts +20 -0
  309. package/src/kit/builder/auth/types/permissions.ts +23 -0
  310. package/src/kit/builder/auth/types/state.ts +16 -0
  311. package/src/kit/builder/auth/types/storage.ts +21 -0
  312. package/src/kit/builder/auth/types/token-manager.ts +9 -0
  313. package/src/kit/builder/auth/types/utils.ts +55 -0
  314. package/src/kit/builder/auth/utils/auth-adapter.ts +437 -0
  315. package/src/kit/builder/auth/utils/client-adapters/apollo-link.ts +30 -0
  316. package/src/kit/builder/auth/utils/client-adapters/axios.ts +61 -0
  317. package/src/kit/builder/auth/utils/client-adapters/fetch.ts +48 -0
  318. package/src/kit/builder/auth/utils/client-adapters/graphql.ts +60 -0
  319. package/src/kit/builder/auth/utils/client-adapters/index.ts +6 -0
  320. package/src/kit/builder/auth/utils/client-adapters/rest.ts +60 -0
  321. package/src/kit/builder/auth/utils/client-adapters/urql-exchange.ts +76 -0
  322. package/src/kit/builder/auth/utils/permission-checker.ts +150 -0
  323. package/src/kit/builder/auth/utils/storage/browser.ts +99 -0
  324. package/src/kit/builder/auth/utils/storage/cookie.ts +116 -0
  325. package/src/kit/builder/auth/utils/storage/encryption.ts +80 -0
  326. package/src/kit/builder/auth/utils/storage/env.ts +2 -0
  327. package/src/kit/builder/auth/utils/storage/factory.ts +37 -0
  328. package/src/kit/builder/auth/utils/storage/index.ts +6 -0
  329. package/src/kit/builder/auth/utils/storage/memory.ts +15 -0
  330. package/src/kit/builder/auth/utils/token-manager.ts +55 -0
  331. package/src/kit/builder/data-table/components/DataTable.tsx +214 -82
  332. package/src/kit/builder/data-table/components/DataTableColumnHeader.tsx +9 -5
  333. package/src/kit/builder/data-table/components/DataTablePagination.tsx +19 -5
  334. package/src/kit/builder/data-table/components/DataTableViewOptions.tsx +13 -4
  335. package/src/kit/builder/data-table/types.ts +18 -3
  336. package/src/kit/builder/dialog/index.ts +5 -1
  337. package/src/kit/builder/dialog/provider.tsx +56 -27
  338. package/src/kit/builder/form/components/FormBuilder.tsx +10 -14
  339. package/src/kit/builder/form/components/FormBuilderActions.tsx +1 -1
  340. package/src/kit/builder/form/components/FormBuilderContext.tsx +13 -6
  341. package/src/kit/builder/form/components/FormBuilderField.tsx +70 -20
  342. package/src/kit/builder/form/components/fields/ArrayField.tsx +148 -62
  343. package/src/kit/builder/form/components/fields/AutocompleteField.tsx +53 -18
  344. package/src/kit/builder/form/components/fields/CheckboxField.tsx +20 -11
  345. package/src/kit/builder/form/components/fields/DateField.tsx +17 -6
  346. package/src/kit/builder/form/components/fields/DatePickerField.tsx +15 -10
  347. package/src/kit/builder/form/components/fields/DateRangePickerField.tsx +20 -15
  348. package/src/kit/builder/form/components/fields/DateTimePickerField.tsx +16 -11
  349. package/src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx +23 -17
  350. package/src/kit/builder/form/components/fields/FileField.tsx +10 -5
  351. package/src/kit/builder/form/components/fields/MonthPickerField.tsx +18 -11
  352. package/src/kit/builder/form/components/fields/MonthRangePickerField.tsx +23 -17
  353. package/src/kit/builder/form/components/fields/NumberField.tsx +9 -4
  354. package/src/kit/builder/form/components/fields/ObjectField.tsx +12 -7
  355. package/src/kit/builder/form/components/fields/RadioField.tsx +32 -14
  356. package/src/kit/builder/form/components/fields/SelectField.tsx +26 -11
  357. package/src/kit/builder/form/components/fields/SwitchField.tsx +20 -11
  358. package/src/kit/builder/form/components/fields/TextField.tsx +11 -5
  359. package/src/kit/builder/form/components/fields/TextareaField.tsx +9 -4
  360. package/src/kit/builder/form/components/fields/TimePickerField.tsx +16 -11
  361. package/src/kit/builder/form/components/fields/TimeRangePickerField.tsx +23 -17
  362. package/src/kit/builder/form/components/fields/index.ts +21 -21
  363. package/src/kit/builder/form/components/fields/types.ts +15 -11
  364. package/src/kit/builder/form/components/sectionNodes.tsx +63 -40
  365. package/src/kit/builder/form/hooks/useFormBuilder.ts +83 -34
  366. package/src/kit/builder/form/types.ts +173 -148
  367. package/src/kit/builder/form/utils/section-factories.ts +4 -1
  368. package/src/kit/builder/form/utils/transformers.ts +4 -4
  369. package/src/kit/builder/form/utils/validations.ts +1 -1
  370. package/src/kit/builder/page/Page.tsx +26 -6
  371. package/src/kit/builder/page/index.ts +1 -1
  372. package/src/kit/builder/section/SectionBuilder.tsx +252 -127
  373. package/src/kit/builder/section/SectionContainer.tsx +85 -0
  374. package/src/kit/builder/stack-dialog/context.ts +10 -4
  375. package/src/kit/builder/stack-dialog/hooks.ts +4 -3
  376. package/src/kit/builder/stack-dialog/index.ts +5 -11
  377. package/src/kit/builder/stack-dialog/provider.tsx +11 -11
  378. package/src/kit/builder/stack-dialog/renderer.tsx +23 -26
  379. package/src/kit/builder/stack-dialog/types.ts +18 -18
  380. package/src/kit/components/autocomplete/Autocomplete.tsx +631 -549
  381. package/src/kit/components/autocomplete/types.ts +17 -17
  382. package/src/kit/components/datepicker/DatePicker.tsx +33 -9
  383. package/src/kit/components/datepicker/DateRangePicker.tsx +159 -87
  384. package/src/kit/components/datetimepicker/DateTimePicker.tsx +136 -30
  385. package/src/kit/components/datetimepicker/DateTimeRangePicker.tsx +257 -67
  386. package/src/kit/components/datetimepicker/index.ts +3 -3
  387. package/src/kit/components/fileuploader/FileUploader.tsx +315 -180
  388. package/src/kit/components/fileuploader/index.ts +3 -3
  389. package/src/kit/components/fileuploader/types.ts +3 -3
  390. package/src/kit/components/forminfo/FormInfoError.tsx +26 -11
  391. package/src/kit/components/login/Login.tsx +22 -11
  392. package/src/kit/components/monthpicker/MonthInput.tsx +13 -4
  393. package/src/kit/components/monthpicker/MonthPicker.tsx +12 -11
  394. package/src/kit/components/monthpicker/MonthRangeInput.tsx +29 -8
  395. package/src/kit/components/monthpicker/MonthRangePicker.tsx +23 -21
  396. package/src/kit/components/timepicker/TimePicker.tsx +19 -11
  397. package/src/kit/components/timepicker/TimeRangePicker.tsx +106 -29
  398. package/src/kit/components/timepicker/index.ts +3 -3
  399. package/src/kit/layouts/admin/components/AdminLayout.tsx +74 -38
  400. package/src/kit/layouts/admin/components/ThemeToggle.tsx +3 -9
  401. package/src/kit/layouts/admin/hooks/menu.ts +11 -5
  402. package/src/kit/layouts/admin/providers/AdminMenuProvider.tsx +59 -39
  403. package/src/kit/layouts/admin/types/index.ts +1 -1
  404. package/src/kit/themes/base.css +1 -1
  405. package/src/kit/themes/clean-slate.css +40 -32
  406. package/src/kit/themes/default.css +34 -24
  407. package/src/kit/themes/minimal-modern.css +37 -29
  408. package/src/kit/themes/spotify.css +56 -39
  409. package/src/shadcn/hooks/use-mobile.ts +13 -11
  410. package/src/shadcn/lib/utils.ts +2 -2
  411. package/src/shadcn/ui/accordion.tsx +14 -14
  412. package/src/shadcn/ui/alert-dialog.tsx +29 -29
  413. package/src/shadcn/ui/alert.tsx +20 -20
  414. package/src/shadcn/ui/aspect-ratio.tsx +4 -4
  415. package/src/shadcn/ui/avatar.tsx +13 -13
  416. package/src/shadcn/ui/badge.tsx +16 -16
  417. package/src/shadcn/ui/breadcrumb.tsx +28 -28
  418. package/src/shadcn/ui/button.tsx +23 -23
  419. package/src/shadcn/ui/calendar.tsx +82 -78
  420. package/src/shadcn/ui/card.tsx +27 -27
  421. package/src/shadcn/ui/carousel.tsx +93 -93
  422. package/src/shadcn/ui/chart.tsx +103 -103
  423. package/src/shadcn/ui/checkbox.tsx +9 -9
  424. package/src/shadcn/ui/collapsible.tsx +6 -6
  425. package/src/shadcn/ui/command.tsx +36 -36
  426. package/src/shadcn/ui/context-menu.tsx +40 -40
  427. package/src/shadcn/ui/dialog.tsx +28 -28
  428. package/src/shadcn/ui/drawer.tsx +30 -30
  429. package/src/shadcn/ui/dropdown-menu.tsx +41 -41
  430. package/src/shadcn/ui/form.tsx +48 -47
  431. package/src/shadcn/ui/hover-card.tsx +11 -11
  432. package/src/shadcn/ui/input-otp.tsx +23 -23
  433. package/src/shadcn/ui/input.tsx +9 -9
  434. package/src/shadcn/ui/label.tsx +8 -8
  435. package/src/shadcn/ui/menubar.tsx +47 -47
  436. package/src/shadcn/ui/navigation-menu.tsx +33 -33
  437. package/src/shadcn/ui/pagination.tsx +28 -28
  438. package/src/shadcn/ui/popover.tsx +12 -12
  439. package/src/shadcn/ui/progress.tsx +8 -8
  440. package/src/shadcn/ui/radio-group.tsx +11 -11
  441. package/src/shadcn/ui/resizable.tsx +14 -14
  442. package/src/shadcn/ui/scroll-area.tsx +15 -15
  443. package/src/shadcn/ui/select.tsx +34 -34
  444. package/src/shadcn/ui/separator.tsx +9 -9
  445. package/src/shadcn/ui/sheet.tsx +36 -36
  446. package/src/shadcn/ui/sidebar.tsx +227 -227
  447. package/src/shadcn/ui/skeleton.tsx +5 -5
  448. package/src/shadcn/ui/slider.tsx +12 -12
  449. package/src/shadcn/ui/sonner.tsx +11 -11
  450. package/src/shadcn/ui/switch.tsx +9 -9
  451. package/src/shadcn/ui/table.tsx +32 -32
  452. package/src/shadcn/ui/tabs.tsx +14 -14
  453. package/src/shadcn/ui/textarea.tsx +7 -7
  454. package/src/shadcn/ui/toggle-group.tsx +17 -17
  455. package/src/shadcn/ui/toggle.tsx +16 -16
  456. package/src/shadcn/ui/tooltip.tsx +11 -11
  457. package/src/stories/FileUploader.stories.tsx +23 -4
  458. package/src/stories/kit/builder/DataTable.Basic.stories.tsx +14 -4
  459. package/src/stories/kit/builder/DataTable.Filters.stories.tsx +36 -14
  460. package/src/stories/kit/builder/DataTable.Pagination.stories.tsx +3 -2
  461. package/src/stories/kit/builder/DataTable.SelectionAndActions.stories.tsx +18 -4
  462. package/src/stories/kit/builder/DataTable.Sorting.stories.tsx +18 -7
  463. package/src/stories/kit/builder/Dialog.stories.tsx +19 -13
  464. package/src/stories/kit/builder/Form.ArrayLayouts.stories.tsx +40 -16
  465. package/src/stories/kit/builder/Form.Autocomplete.stories.tsx +34 -22
  466. package/src/stories/kit/builder/Form.Basic.stories.tsx +38 -6
  467. package/src/stories/kit/builder/Form.Complex.stories.tsx +356 -111
  468. package/src/stories/kit/builder/Form.DateTime.stories.tsx +12 -8
  469. package/src/stories/kit/builder/Form.Dynamic.stories.tsx +695 -132
  470. package/src/stories/kit/builder/Form.Files.stories.tsx +37 -26
  471. package/src/stories/kit/builder/Form.MultipleFormBuilder.stories.tsx +46 -42
  472. package/src/stories/kit/builder/Form.Pickers.stories.tsx +12 -8
  473. package/src/stories/kit/builder/Form.Simple.stories.tsx +15 -6
  474. package/src/stories/kit/builder/Form.Time.stories.tsx +12 -8
  475. package/src/stories/kit/builder/Page.stories.tsx +32 -6
  476. package/src/stories/kit/builder/Section.stories.tsx +58 -11
  477. package/src/stories/kit/components/Autocomplete.stories.tsx +55 -22
  478. package/src/stories/kit/components/DatePicker.stories.tsx +80 -13
  479. package/src/stories/kit/components/DateRangePicker.stories.tsx +52 -11
  480. package/src/stories/kit/components/Login.stories.tsx +8 -2
  481. package/src/stories/kit/components/MonthPicker.stories.tsx +26 -6
  482. package/src/stories/kit/components/MonthRangePicker.stories.tsx +24 -5
  483. package/src/stories/kit/components/TimePicker.stories.tsx +18 -16
  484. package/src/stories/kit/components/TimeRangePicker.stories.tsx +18 -12
  485. package/src/stories/kit/layouts/admin/AdminLayout.Basic.stories.tsx +29 -6
  486. package/src/stories/kit/layouts/admin/AdminLayout.Collapsible.stories.tsx +26 -5
  487. package/src/stories/kit/layouts/admin/AdminLayout.Complex.stories.tsx +101 -18
  488. package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarHeaderComponent.stories.tsx +18 -4
  489. package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarTitleAndIcon.stories.tsx +17 -4
  490. package/src/stories/kit/layouts/admin/AdminLayout.HeaderSlots.stories.tsx +28 -6
  491. package/src/stories/shadcn/ui/Accordion.stories.tsx +33 -10
  492. package/src/stories/shadcn/ui/AlertDialog.stories.tsx +3 -1
  493. package/src/stories/shadcn/ui/Button.stories.tsx +3 -1
  494. package/src/stories/shadcn/ui/Calendar.stories.tsx +6 -1
  495. package/src/stories/shadcn/ui/Card.stories.tsx +11 -2
  496. package/src/stories/shadcn/ui/Checkbox.stories.tsx +11 -3
  497. package/src/stories/shadcn/ui/Collapsible.stories.tsx +12 -5
  498. package/src/stories/shadcn/ui/ContextMenu.stories.tsx +12 -4
  499. package/src/stories/shadcn/ui/Dialog.stories.tsx +15 -3
  500. package/src/stories/shadcn/ui/Drawer.stories.tsx +5 -2
  501. package/src/stories/shadcn/ui/DropdownMenu.stories.tsx +15 -5
  502. package/src/stories/shadcn/ui/Form.stories.tsx +5 -2
  503. package/src/stories/shadcn/ui/HoverCard.stories.tsx +8 -2
  504. package/src/stories/shadcn/ui/Input.stories.tsx +3 -1
  505. package/src/stories/shadcn/ui/InputOtp.stories.tsx +9 -2
  506. package/src/stories/shadcn/ui/Menubar.stories.tsx +21 -7
  507. package/src/stories/shadcn/ui/NavigationMenu.stories.tsx +30 -5
  508. package/src/stories/shadcn/ui/Popover.stories.tsx +8 -2
  509. package/src/stories/shadcn/ui/Resizable.stories.tsx +17 -5
  510. package/src/stories/shadcn/ui/ScrollArea.stories.tsx +54 -2
  511. package/src/stories/shadcn/ui/Select.stories.tsx +7 -1
  512. package/src/stories/shadcn/ui/Sheet.stories.tsx +2 -1
  513. package/src/stories/shadcn/ui/Sidebar.stories.tsx +13 -2
  514. package/src/stories/shadcn/ui/Sonner.stories.tsx +12 -2
  515. package/src/stories/shadcn/ui/Table.stories.tsx +86 -27
  516. package/src/stories/shadcn/ui/Tabs.stories.tsx +9 -2
  517. package/src/stories/shadcn/ui/Textarea.stories.tsx +3 -1
  518. package/src/stories/shadcn/ui/Toggle.stories.tsx +10 -2
  519. package/src/stories/shadcn/ui/Tooltip.stories.tsx +6 -1
  520. package/storybook-static/assets/Accordion.stories-KU4JBR8U.js +52 -0
  521. package/storybook-static/assets/AdminLayout-CPvVCwfY.js +53 -0
  522. package/storybook-static/assets/AdminLayout.Basic.stories-DkP2UVXe.js +4 -0
  523. package/storybook-static/assets/AdminLayout.Collapsible.stories-BuuVjtpW.js +4 -0
  524. package/storybook-static/assets/AdminLayout.Complex.stories-D-k4H0hJ.js +29 -0
  525. package/storybook-static/assets/AdminLayout.CustomSidebarHeaderComponent.stories-B_0IEDd4.js +9 -0
  526. package/storybook-static/assets/AdminLayout.CustomSidebarTitleAndIcon.stories-CvAeXUyA.js +4 -0
  527. package/storybook-static/assets/AdminLayout.HeaderSlots.stories-RBFHoSZK.js +7 -0
  528. package/storybook-static/assets/Alert.stories-DKxKtIc0.js +27 -0
  529. package/storybook-static/assets/AlertDialog.stories-BqTpZ_nG.js +43 -0
  530. package/storybook-static/assets/AspectRatio.stories-DPO9QQ5F.js +22 -0
  531. package/storybook-static/assets/Autocomplete-Cpg4CaJe.js +56 -0
  532. package/storybook-static/assets/Autocomplete.stories-CWj4G5fh.js +56 -0
  533. package/storybook-static/assets/Avatar.stories-DPhov_2g.js +12 -0
  534. package/storybook-static/assets/Badge.stories-DFKrRdXq.js +12 -0
  535. package/storybook-static/assets/Breadcrumb.stories-CTE6CZUC.js +25 -0
  536. package/storybook-static/assets/Button.stories-cbt2InL-.js +26 -0
  537. package/storybook-static/assets/Calendar.stories-DRhTw_43.js +3 -0
  538. package/storybook-static/assets/Card.stories-Isf6n_K3.js +15 -0
  539. package/storybook-static/assets/Carousel.stories-Cmg0I3fR.js +15 -0
  540. package/storybook-static/assets/Chart.stories-aQ-fNijT.js +126 -0
  541. package/storybook-static/assets/Checkbox.stories-B7YMXPDc.js +12 -0
  542. package/storybook-static/assets/Collapsible.stories-BUzl17ZZ.js +18 -0
  543. package/storybook-static/assets/Combination-BdQWAuko.js +41 -0
  544. package/storybook-static/assets/Command.stories-DzBlWQs0.js +30 -0
  545. package/storybook-static/assets/ContextMenu.stories-CJlBQyXc.js +31 -0
  546. package/storybook-static/assets/DataTable.Basic.stories-BWYKFDmK.js +6 -0
  547. package/storybook-static/assets/DataTable.Filters.stories-uZdtJk8t.js +21 -0
  548. package/storybook-static/assets/DataTable.Pagination.stories-C5N1khkp.js +24 -0
  549. package/storybook-static/assets/DataTable.SelectionAndActions.stories-FhCqZKvO.js +26 -0
  550. package/storybook-static/assets/DataTable.Sorting.stories-D-k7EtRj.js +6 -0
  551. package/storybook-static/assets/Dialog.stories-C62AF-Gx.js +54 -0
  552. package/storybook-static/assets/Dialog.stories-lrjRwOus.js +18 -0
  553. package/storybook-static/assets/Drawer.stories-CGjkdJeV.js +24 -0
  554. package/storybook-static/assets/DropdownMenu.stories-DkGClRAA.js +35 -0
  555. package/storybook-static/assets/Form.ArrayLayouts.stories-C5d_062d.js +130 -0
  556. package/storybook-static/assets/Form.Autocomplete.stories-CPZPkk4o.js +142 -0
  557. package/storybook-static/assets/Form.Basic.stories-Bhcu3-3n.js +58 -0
  558. package/storybook-static/assets/Form.Complex.stories-QnXh5a7Q.js +361 -0
  559. package/storybook-static/assets/Form.Dynamic.stories-DFW6wIuT.js +502 -0
  560. package/storybook-static/assets/Form.Simple.stories-BhJcyhbE.js +53 -0
  561. package/storybook-static/assets/Form.stories-PFNsMYxO.js +3 -0
  562. package/storybook-static/assets/FormBuilder-BQBBxo_k.js +5 -0
  563. package/storybook-static/assets/HoverCard.stories-CAlQEVn8.js +21 -0
  564. package/storybook-static/assets/Input.stories-CEhODt0V.js +16 -0
  565. package/storybook-static/assets/InputOtp.stories-DSvNP4dS.js +42 -0
  566. package/storybook-static/assets/Label.stories-B3pa8ZLY.js +14 -0
  567. package/storybook-static/assets/Login.stories-C7KQkmR_.js +37 -0
  568. package/storybook-static/assets/Menubar.stories-CHXhSHxc.js +44 -0
  569. package/storybook-static/assets/MonthPicker.stories-BnrOc4fm.js +99 -0
  570. package/storybook-static/assets/MonthRangePicker.stories-55Gk1t-7.js +134 -0
  571. package/storybook-static/assets/NavigationMenu.stories-CXoS080P.js +30 -0
  572. package/storybook-static/assets/Page.stories-GdSJgZ6-.js +91 -0
  573. package/storybook-static/assets/Pagination.stories-BEBwqH4N.js +29 -0
  574. package/storybook-static/assets/Popover.stories-BICy98Cw.js +15 -0
  575. package/storybook-static/assets/Progress.stories-DECHNOME.js +8 -0
  576. package/storybook-static/assets/RadioGroup.stories-DA7-uKfV.js +16 -0
  577. package/storybook-static/assets/Resizable.stories-B99kWkH7.js +25 -0
  578. package/storybook-static/assets/ScrollArea.stories-BqvUAXqU.js +12 -0
  579. package/storybook-static/assets/Section.stories-lFMlFBQn.js +277 -0
  580. package/storybook-static/assets/SectionBuilder-BQW705x0.js +1 -0
  581. package/storybook-static/assets/Select.stories-BsKyZ6Io.js +17 -0
  582. package/storybook-static/assets/Separator.stories-BTDOaOM2.js +17 -0
  583. package/storybook-static/assets/Sheet.stories-Cam1gR6G.js +24 -0
  584. package/storybook-static/assets/Sidebar.stories-DnOa6G7y.js +106 -0
  585. package/storybook-static/assets/Skeleton.stories-BQNIuIe5.js +9 -0
  586. package/storybook-static/assets/Slider.stories-Bslq7hjq.js +6 -0
  587. package/storybook-static/assets/Sonner.stories-D34pBBtI.js +18 -0
  588. package/storybook-static/assets/Switch.stories-Puyb1-Bx.js +3 -0
  589. package/storybook-static/assets/Table.stories-ClZxAhut.js +35 -0
  590. package/storybook-static/assets/Tabs.stories-CURNTETB.js +10 -0
  591. package/storybook-static/assets/Textarea.stories-Cf1ZBrWw.js +17 -0
  592. package/storybook-static/assets/Toggle.stories-CdMHY_bi.js +3 -0
  593. package/storybook-static/assets/ToggleGroup.stories-BM68m1dX.js +13 -0
  594. package/storybook-static/assets/Tooltip.stories-DiQv64dM.js +10 -0
  595. package/storybook-static/assets/accordion-DVgwQcnw.js +1 -0
  596. package/storybook-static/assets/alert-dialog-DCUEwpqm.js +7 -0
  597. package/storybook-static/assets/avatar-BzwOE-mi.js +1 -0
  598. package/storybook-static/assets/axe-HmUsR1st.js +30 -0
  599. package/storybook-static/assets/badge-BnQWua6u.js +1 -0
  600. package/storybook-static/assets/button-0oMkiryo.js +1 -0
  601. package/storybook-static/assets/card-BJpPOzP8.js +1 -0
  602. package/storybook-static/assets/chart-column-DZGb4ZZS.js +6 -0
  603. package/storybook-static/assets/check-B9hBGj6o.js +6 -0
  604. package/storybook-static/assets/checkbox-CyIeaWHX.js +1 -0
  605. package/storybook-static/assets/chevron-down-D_37S6il.js +6 -0
  606. package/storybook-static/assets/chevron-left-BBoN0vbI.js +6 -0
  607. package/storybook-static/assets/chevron-right-B5vIMLxK.js +6 -0
  608. package/storybook-static/assets/circle-C5Lzx6Nx.js +6 -0
  609. package/storybook-static/assets/clean-slate-D1HmMFJM.css +1 -0
  610. package/storybook-static/assets/command-Csa9p8_a.js +6 -0
  611. package/storybook-static/assets/createLucideIcon-BrHXro7t.js +21 -0
  612. package/storybook-static/assets/default-CN_Fo1GY.css +1 -0
  613. package/storybook-static/assets/dependencies-ctrV69dx.js +1 -0
  614. package/storybook-static/assets/dialog-CsnqITTn.js +1 -0
  615. package/storybook-static/assets/dropdown-menu-BWxxwPHL.js +1 -0
  616. package/storybook-static/assets/ellipsis-BRS038RR.js +6 -0
  617. package/storybook-static/assets/grip-vertical-BxXG8KNA.js +6 -0
  618. package/storybook-static/assets/iframe-C9bogcIc.css +1 -0
  619. package/storybook-static/assets/iframe-v7iAhKit.js +1555 -0
  620. package/storybook-static/assets/index-0-qMRXou.js +1 -0
  621. package/storybook-static/assets/index-AvwFFKJc.js +1 -0
  622. package/storybook-static/assets/index-BVDb4dFc.js +1 -0
  623. package/storybook-static/assets/index-B_qx7A5T.js +1 -0
  624. package/storybook-static/assets/index-BdQq_4o_.js +1 -0
  625. package/storybook-static/assets/index-BfiCOk42.js +1 -0
  626. package/storybook-static/assets/index-Bv9yk470.js +1 -0
  627. package/storybook-static/assets/index-Bw1A27Kp.js +1 -0
  628. package/storybook-static/assets/index-ByqivBWx.js +1 -0
  629. package/storybook-static/assets/index-C9Ta0ZTH.js +1 -0
  630. package/storybook-static/assets/index-CDY5kTx5.js +1 -0
  631. package/storybook-static/assets/index-CGnyVRgB.js +1 -0
  632. package/storybook-static/assets/index-CGrAONsN.js +1 -0
  633. package/storybook-static/assets/index-CWjrGFAQ.js +1 -0
  634. package/storybook-static/assets/index-CwBdPBFz.js +9 -0
  635. package/storybook-static/assets/index-D8RXF03I.js +1 -0
  636. package/storybook-static/assets/index-DLIxT4Z7.js +1 -0
  637. package/storybook-static/assets/index-DW48STyt.js +1 -0
  638. package/storybook-static/assets/index-DbaA6-o1.js +1 -0
  639. package/storybook-static/assets/index-Dph_5COR.js +1 -0
  640. package/storybook-static/assets/index-DrN5n71E.js +1 -0
  641. package/storybook-static/assets/index-Tp9IdbR8.js +1 -0
  642. package/storybook-static/assets/index-WyF3-wTE.js +9 -0
  643. package/storybook-static/assets/index-XSmPROEP.js +1 -0
  644. package/storybook-static/assets/index-Z6wF44KX.js +5 -0
  645. package/storybook-static/assets/index-_RPqOjlQ.js +1 -0
  646. package/storybook-static/assets/index-jrimW4QO.js +1 -0
  647. package/storybook-static/assets/index-nqc17SX4.js +1 -0
  648. package/storybook-static/assets/input-11YRd9gD.js +1 -0
  649. package/storybook-static/assets/jsx-runtime-D_zvdyIk.js +9 -0
  650. package/storybook-static/assets/label-Do8ODIVk.js +1 -0
  651. package/storybook-static/assets/lodash-DDwpuhPG.js +73 -0
  652. package/storybook-static/assets/matchers-7Z3WT2CE-T3xScrR7.js +14 -0
  653. package/storybook-static/assets/minimal-modern-BlYVzfQU.css +1 -0
  654. package/storybook-static/assets/popover-CcciSWAw.js +1 -0
  655. package/storybook-static/assets/preload-helper-Dp1pzeXC.js +1 -0
  656. package/storybook-static/assets/radio-group-DiJ0Y_KQ.js +1 -0
  657. package/storybook-static/assets/react-18-Cr9fq_Ip.js +25 -0
  658. package/storybook-static/assets/react-icons.esm-B_ULMmNU.js +1 -0
  659. package/storybook-static/assets/refresh-cw-BmRDhIV_.js +6 -0
  660. package/storybook-static/assets/schemas-CGNYCiJ6.js +18 -0
  661. package/storybook-static/assets/section-factories-DCCY9R35.js +1 -0
  662. package/storybook-static/assets/select-DDrkxaOg.js +6 -0
  663. package/storybook-static/assets/separator-o5SAUnaJ.js +1 -0
  664. package/storybook-static/assets/settings-2-xWGvvbG6.js +6 -0
  665. package/storybook-static/assets/sheet-C7jhU3XE.js +1 -0
  666. package/storybook-static/assets/shopping-cart-BFlrufvo.js +11 -0
  667. package/storybook-static/assets/sidebar-C8hU1Mxy.js +6 -0
  668. package/storybook-static/assets/skeleton-CjDnQs43.js +1 -0
  669. package/storybook-static/assets/spotify-CUDj7g8m.css +1 -0
  670. package/storybook-static/assets/switch-CKGRuk3u.js +1 -0
  671. package/storybook-static/assets/table-CP3vMqFn.js +1 -0
  672. package/storybook-static/assets/tabs-CopK2m3j.js +1 -0
  673. package/storybook-static/assets/textarea-Dw2vruMl.js +1 -0
  674. package/storybook-static/assets/toggle-DmHbWetf.js +16 -0
  675. package/storybook-static/assets/tooltip-_LqYEYFw.js +1 -0
  676. package/storybook-static/assets/trash-2-xdbApPby.js +11 -0
  677. package/storybook-static/assets/utils-D-KgF5mV.js +1 -0
  678. package/storybook-static/assets/x-B1a4fyWM.js +6 -0
  679. package/storybook-static/favicon-wrapper.svg +46 -0
  680. package/storybook-static/favicon.svg +1 -0
  681. package/storybook-static/iframe.html +687 -0
  682. package/storybook-static/index.d.ts +64 -0
  683. package/storybook-static/index.d.ts.map +1 -0
  684. package/storybook-static/index.html +166 -0
  685. package/storybook-static/index.json +1 -0
  686. package/storybook-static/kit/builder/data-table/components/DataTable.d.ts +37 -0
  687. package/storybook-static/kit/builder/data-table/components/DataTable.d.ts.map +1 -0
  688. package/storybook-static/kit/builder/data-table/components/DataTableColumnHeader.d.ts +8 -0
  689. package/storybook-static/kit/builder/data-table/components/DataTableColumnHeader.d.ts.map +1 -0
  690. package/storybook-static/kit/builder/data-table/components/DataTablePagination.d.ts +6 -0
  691. package/storybook-static/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -0
  692. package/storybook-static/kit/builder/data-table/components/DataTableViewOptions.d.ts +5 -0
  693. package/storybook-static/kit/builder/data-table/components/DataTableViewOptions.d.ts.map +1 -0
  694. package/storybook-static/kit/builder/data-table/index.d.ts +7 -0
  695. package/storybook-static/kit/builder/data-table/index.d.ts.map +1 -0
  696. package/storybook-static/kit/builder/data-table/types.d.ts +27 -0
  697. package/storybook-static/kit/builder/data-table/types.d.ts.map +1 -0
  698. package/storybook-static/kit/builder/data-table/utils/dotAccessor.d.ts +2 -0
  699. package/storybook-static/kit/builder/data-table/utils/dotAccessor.d.ts.map +1 -0
  700. package/storybook-static/kit/builder/dialog/index.d.ts +3 -0
  701. package/storybook-static/kit/builder/dialog/index.d.ts.map +1 -0
  702. package/storybook-static/kit/builder/dialog/provider.d.ts +26 -0
  703. package/storybook-static/kit/builder/dialog/provider.d.ts.map +1 -0
  704. package/storybook-static/kit/builder/form/components/FormBuilder.d.ts +137 -0
  705. package/storybook-static/kit/builder/form/components/FormBuilder.d.ts.map +1 -0
  706. package/storybook-static/kit/builder/form/components/FormBuilderActions.d.ts +20 -0
  707. package/storybook-static/kit/builder/form/components/FormBuilderActions.d.ts.map +1 -0
  708. package/storybook-static/kit/builder/form/components/FormBuilderField.d.ts +12 -0
  709. package/storybook-static/kit/builder/form/components/FormBuilderField.d.ts.map +1 -0
  710. package/storybook-static/kit/builder/form/components/fields/ArrayField.d.ts +3 -0
  711. package/storybook-static/kit/builder/form/components/fields/ArrayField.d.ts.map +1 -0
  712. package/storybook-static/kit/builder/form/components/fields/AutocompleteField.d.ts +3 -0
  713. package/storybook-static/kit/builder/form/components/fields/AutocompleteField.d.ts.map +1 -0
  714. package/storybook-static/kit/builder/form/components/fields/CheckboxField.d.ts +3 -0
  715. package/storybook-static/kit/builder/form/components/fields/CheckboxField.d.ts.map +1 -0
  716. package/storybook-static/kit/builder/form/components/fields/DateField.d.ts +3 -0
  717. package/storybook-static/kit/builder/form/components/fields/DateField.d.ts.map +1 -0
  718. package/storybook-static/kit/builder/form/components/fields/FileField.d.ts +3 -0
  719. package/storybook-static/kit/builder/form/components/fields/FileField.d.ts.map +1 -0
  720. package/storybook-static/kit/builder/form/components/fields/NumberField.d.ts +3 -0
  721. package/storybook-static/kit/builder/form/components/fields/NumberField.d.ts.map +1 -0
  722. package/storybook-static/kit/builder/form/components/fields/ObjectField.d.ts +3 -0
  723. package/storybook-static/kit/builder/form/components/fields/ObjectField.d.ts.map +1 -0
  724. package/storybook-static/kit/builder/form/components/fields/RadioField.d.ts +3 -0
  725. package/storybook-static/kit/builder/form/components/fields/RadioField.d.ts.map +1 -0
  726. package/storybook-static/kit/builder/form/components/fields/SelectField.d.ts +3 -0
  727. package/storybook-static/kit/builder/form/components/fields/SelectField.d.ts.map +1 -0
  728. package/storybook-static/kit/builder/form/components/fields/SwitchField.d.ts +3 -0
  729. package/storybook-static/kit/builder/form/components/fields/SwitchField.d.ts.map +1 -0
  730. package/storybook-static/kit/builder/form/components/fields/TextField.d.ts +3 -0
  731. package/storybook-static/kit/builder/form/components/fields/TextField.d.ts.map +1 -0
  732. package/storybook-static/kit/builder/form/components/fields/TextareaField.d.ts +3 -0
  733. package/storybook-static/kit/builder/form/components/fields/TextareaField.d.ts.map +1 -0
  734. package/storybook-static/kit/builder/form/components/fields/index.d.ts +14 -0
  735. package/storybook-static/kit/builder/form/components/fields/index.d.ts.map +1 -0
  736. package/storybook-static/kit/builder/form/components/fields/types.d.ts +14 -0
  737. package/storybook-static/kit/builder/form/components/fields/types.d.ts.map +1 -0
  738. package/storybook-static/kit/builder/form/components/index.d.ts +4 -0
  739. package/storybook-static/kit/builder/form/components/index.d.ts.map +1 -0
  740. package/storybook-static/kit/builder/form/index.d.ts +3 -0
  741. package/storybook-static/kit/builder/form/index.d.ts.map +1 -0
  742. package/storybook-static/kit/builder/form/utils/common-forms.d.ts +7 -0
  743. package/storybook-static/kit/builder/form/utils/common-forms.d.ts.map +1 -0
  744. package/storybook-static/kit/builder/form/utils/dependencies.d.ts +41 -0
  745. package/storybook-static/kit/builder/form/utils/dependencies.d.ts.map +1 -0
  746. package/storybook-static/kit/builder/form/utils/field-factories.d.ts +23 -0
  747. package/storybook-static/kit/builder/form/utils/field-factories.d.ts.map +1 -0
  748. package/storybook-static/kit/builder/form/utils/index.d.ts +15 -0
  749. package/storybook-static/kit/builder/form/utils/index.d.ts.map +1 -0
  750. package/storybook-static/kit/builder/form/utils/section-factories.d.ts +7 -0
  751. package/storybook-static/kit/builder/form/utils/section-factories.d.ts.map +1 -0
  752. package/storybook-static/kit/builder/form/utils/transformers.d.ts +6 -0
  753. package/storybook-static/kit/builder/form/utils/transformers.d.ts.map +1 -0
  754. package/storybook-static/kit/builder/form/utils/validations.d.ts +13 -0
  755. package/storybook-static/kit/builder/form/utils/validations.d.ts.map +1 -0
  756. package/storybook-static/kit/builder/form/utils/validators.d.ts +8 -0
  757. package/storybook-static/kit/builder/form/utils/validators.d.ts.map +1 -0
  758. package/storybook-static/kit/builder/page/Page.d.ts +48 -0
  759. package/storybook-static/kit/builder/page/Page.d.ts.map +1 -0
  760. package/storybook-static/kit/builder/page/index.d.ts +2 -0
  761. package/storybook-static/kit/builder/page/index.d.ts.map +1 -0
  762. package/storybook-static/kit/builder/section/SectionBuilder.d.ts +3 -0
  763. package/storybook-static/kit/builder/section/SectionBuilder.d.ts.map +1 -0
  764. package/storybook-static/kit/builder/section/index.d.ts +3 -0
  765. package/storybook-static/kit/builder/section/index.d.ts.map +1 -0
  766. package/storybook-static/kit/builder/section/types.d.ts +70 -0
  767. package/storybook-static/kit/builder/section/types.d.ts.map +1 -0
  768. package/storybook-static/kit/builder/stack-dialog/context.d.ts +3 -0
  769. package/storybook-static/kit/builder/stack-dialog/context.d.ts.map +1 -0
  770. package/storybook-static/kit/builder/stack-dialog/hooks.d.ts +6 -0
  771. package/storybook-static/kit/builder/stack-dialog/hooks.d.ts.map +1 -0
  772. package/storybook-static/kit/builder/stack-dialog/index.d.ts +5 -0
  773. package/storybook-static/kit/builder/stack-dialog/index.d.ts.map +1 -0
  774. package/storybook-static/kit/builder/stack-dialog/provider.d.ts +3 -0
  775. package/storybook-static/kit/builder/stack-dialog/provider.d.ts.map +1 -0
  776. package/storybook-static/kit/builder/stack-dialog/renderer.d.ts +6 -0
  777. package/storybook-static/kit/builder/stack-dialog/renderer.d.ts.map +1 -0
  778. package/storybook-static/kit/builder/stack-dialog/types.d.ts +20 -0
  779. package/storybook-static/kit/builder/stack-dialog/types.d.ts.map +1 -0
  780. package/storybook-static/kit/components/autocomplete/Autocomplete.d.ts +53 -0
  781. package/storybook-static/kit/components/autocomplete/Autocomplete.d.ts.map +1 -0
  782. package/storybook-static/kit/components/autocomplete/index.d.ts +4 -0
  783. package/storybook-static/kit/components/autocomplete/index.d.ts.map +1 -0
  784. package/storybook-static/kit/components/autocomplete/types.d.ts +19 -0
  785. package/storybook-static/kit/components/autocomplete/types.d.ts.map +1 -0
  786. package/storybook-static/kit/components/login/Login.d.ts +29 -0
  787. package/storybook-static/kit/components/login/Login.d.ts.map +1 -0
  788. package/storybook-static/kit/components/login/index.d.ts +2 -0
  789. package/storybook-static/kit/components/login/index.d.ts.map +1 -0
  790. package/storybook-static/kit/components/monthpicker/MonthPicker.d.ts +32 -0
  791. package/storybook-static/kit/components/monthpicker/MonthPicker.d.ts.map +1 -0
  792. package/storybook-static/kit/components/monthpicker/MonthRangePicker.d.ts +48 -0
  793. package/storybook-static/kit/components/monthpicker/MonthRangePicker.d.ts.map +1 -0
  794. package/storybook-static/kit/layouts/admin/components/AdminLayout.d.ts +17 -0
  795. package/storybook-static/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -0
  796. package/storybook-static/kit/layouts/admin/components/ThemeToggle.d.ts +5 -0
  797. package/storybook-static/kit/layouts/admin/components/ThemeToggle.d.ts.map +1 -0
  798. package/storybook-static/kit/layouts/admin/hooks/menu.d.ts +13 -0
  799. package/storybook-static/kit/layouts/admin/hooks/menu.d.ts.map +1 -0
  800. package/storybook-static/kit/layouts/admin/providers/AdminMenuProvider.d.ts +7 -0
  801. package/storybook-static/kit/layouts/admin/providers/AdminMenuProvider.d.ts.map +1 -0
  802. package/storybook-static/kit/layouts/admin/types/index.d.ts +27 -0
  803. package/storybook-static/kit/layouts/admin/types/index.d.ts.map +1 -0
  804. package/storybook-static/kit/providers/ThemeProvider.d.ts +14 -0
  805. package/storybook-static/kit/providers/ThemeProvider.d.ts.map +1 -0
  806. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  807. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  808. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  809. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  810. package/storybook-static/project.json +1 -0
  811. package/storybook-static/sb-addons/a11y-5/manager-bundle.js +5 -0
  812. package/storybook-static/sb-addons/essentials-backgrounds-1/manager-bundle.js +3 -0
  813. package/storybook-static/sb-addons/essentials-measure-2/manager-bundle.js +3 -0
  814. package/storybook-static/sb-addons/essentials-outline-3/manager-bundle.js +3 -0
  815. package/storybook-static/sb-addons/interactions-4/manager-bundle.js +57 -0
  816. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +971 -0
  817. package/storybook-static/sb-addons/storysource-6/manager-bundle.js +3 -0
  818. package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
  819. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  820. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  821. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  822. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  823. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  824. package/storybook-static/sb-manager/globals-module-info.js +797 -0
  825. package/storybook-static/sb-manager/globals-runtime.js +69653 -0
  826. package/storybook-static/sb-manager/globals.js +34 -0
  827. package/storybook-static/sb-manager/runtime.js +13181 -0
  828. package/storybook-static/shadcn/hooks/use-mobile.d.ts +2 -0
  829. package/storybook-static/shadcn/hooks/use-mobile.d.ts.map +1 -0
  830. package/storybook-static/shadcn/lib/utils.d.ts +3 -0
  831. package/storybook-static/shadcn/lib/utils.d.ts.map +1 -0
  832. package/storybook-static/shadcn/ui/accordion.d.ts +8 -0
  833. package/storybook-static/shadcn/ui/accordion.d.ts.map +1 -0
  834. package/storybook-static/shadcn/ui/alert-dialog.d.ts +15 -0
  835. package/storybook-static/shadcn/ui/alert-dialog.d.ts.map +1 -0
  836. package/storybook-static/shadcn/ui/alert.d.ts +10 -0
  837. package/storybook-static/shadcn/ui/alert.d.ts.map +1 -0
  838. package/storybook-static/shadcn/ui/aspect-ratio.d.ts +4 -0
  839. package/storybook-static/shadcn/ui/aspect-ratio.d.ts.map +1 -0
  840. package/storybook-static/shadcn/ui/avatar.d.ts +7 -0
  841. package/storybook-static/shadcn/ui/avatar.d.ts.map +1 -0
  842. package/storybook-static/shadcn/ui/badge.d.ts +10 -0
  843. package/storybook-static/shadcn/ui/badge.d.ts.map +1 -0
  844. package/storybook-static/shadcn/ui/breadcrumb.d.ts +12 -0
  845. package/storybook-static/shadcn/ui/breadcrumb.d.ts.map +1 -0
  846. package/storybook-static/shadcn/ui/button.d.ts +11 -0
  847. package/storybook-static/shadcn/ui/button.d.ts.map +1 -0
  848. package/storybook-static/shadcn/ui/calendar.d.ts +9 -0
  849. package/storybook-static/shadcn/ui/calendar.d.ts.map +1 -0
  850. package/storybook-static/shadcn/ui/card.d.ts +10 -0
  851. package/storybook-static/shadcn/ui/card.d.ts.map +1 -0
  852. package/storybook-static/shadcn/ui/carousel.d.ts +20 -0
  853. package/storybook-static/shadcn/ui/carousel.d.ts.map +1 -0
  854. package/storybook-static/shadcn/ui/chart.d.ts +41 -0
  855. package/storybook-static/shadcn/ui/chart.d.ts.map +1 -0
  856. package/storybook-static/shadcn/ui/checkbox.d.ts +5 -0
  857. package/storybook-static/shadcn/ui/checkbox.d.ts.map +1 -0
  858. package/storybook-static/shadcn/ui/collapsible.d.ts +6 -0
  859. package/storybook-static/shadcn/ui/collapsible.d.ts.map +1 -0
  860. package/storybook-static/shadcn/ui/command.d.ts +19 -0
  861. package/storybook-static/shadcn/ui/command.d.ts.map +1 -0
  862. package/storybook-static/shadcn/ui/context-menu.d.ts +26 -0
  863. package/storybook-static/shadcn/ui/context-menu.d.ts.map +1 -0
  864. package/storybook-static/shadcn/ui/dialog.d.ts +16 -0
  865. package/storybook-static/shadcn/ui/dialog.d.ts.map +1 -0
  866. package/storybook-static/shadcn/ui/drawer.d.ts +14 -0
  867. package/storybook-static/shadcn/ui/drawer.d.ts.map +1 -0
  868. package/storybook-static/shadcn/ui/dropdown-menu.d.ts +26 -0
  869. package/storybook-static/shadcn/ui/dropdown-menu.d.ts.map +1 -0
  870. package/storybook-static/shadcn/ui/form.d.ts +25 -0
  871. package/storybook-static/shadcn/ui/form.d.ts.map +1 -0
  872. package/storybook-static/shadcn/ui/hover-card.d.ts +7 -0
  873. package/storybook-static/shadcn/ui/hover-card.d.ts.map +1 -0
  874. package/storybook-static/shadcn/ui/input-otp.d.ts +12 -0
  875. package/storybook-static/shadcn/ui/input-otp.d.ts.map +1 -0
  876. package/storybook-static/shadcn/ui/input.d.ts +4 -0
  877. package/storybook-static/shadcn/ui/input.d.ts.map +1 -0
  878. package/storybook-static/shadcn/ui/label.d.ts +5 -0
  879. package/storybook-static/shadcn/ui/label.d.ts.map +1 -0
  880. package/storybook-static/shadcn/ui/menubar.d.ts +27 -0
  881. package/storybook-static/shadcn/ui/menubar.d.ts.map +1 -0
  882. package/storybook-static/shadcn/ui/navigation-menu.d.ts +15 -0
  883. package/storybook-static/shadcn/ui/navigation-menu.d.ts.map +1 -0
  884. package/storybook-static/shadcn/ui/pagination.d.ts +14 -0
  885. package/storybook-static/shadcn/ui/pagination.d.ts.map +1 -0
  886. package/storybook-static/shadcn/ui/popover.d.ts +8 -0
  887. package/storybook-static/shadcn/ui/popover.d.ts.map +1 -0
  888. package/storybook-static/shadcn/ui/progress.d.ts +5 -0
  889. package/storybook-static/shadcn/ui/progress.d.ts.map +1 -0
  890. package/storybook-static/shadcn/ui/radio-group.d.ts +6 -0
  891. package/storybook-static/shadcn/ui/radio-group.d.ts.map +1 -0
  892. package/storybook-static/shadcn/ui/resizable.d.ts +9 -0
  893. package/storybook-static/shadcn/ui/resizable.d.ts.map +1 -0
  894. package/storybook-static/shadcn/ui/scroll-area.d.ts +6 -0
  895. package/storybook-static/shadcn/ui/scroll-area.d.ts.map +1 -0
  896. package/storybook-static/shadcn/ui/select.d.ts +16 -0
  897. package/storybook-static/shadcn/ui/select.d.ts.map +1 -0
  898. package/storybook-static/shadcn/ui/separator.d.ts +5 -0
  899. package/storybook-static/shadcn/ui/separator.d.ts.map +1 -0
  900. package/storybook-static/shadcn/ui/sheet.d.ts +14 -0
  901. package/storybook-static/shadcn/ui/sheet.d.ts.map +1 -0
  902. package/storybook-static/shadcn/ui/sidebar.d.ts +70 -0
  903. package/storybook-static/shadcn/ui/sidebar.d.ts.map +1 -0
  904. package/storybook-static/shadcn/ui/skeleton.d.ts +3 -0
  905. package/storybook-static/shadcn/ui/skeleton.d.ts.map +1 -0
  906. package/storybook-static/shadcn/ui/slider.d.ts +5 -0
  907. package/storybook-static/shadcn/ui/slider.d.ts.map +1 -0
  908. package/storybook-static/shadcn/ui/sonner.d.ts +4 -0
  909. package/storybook-static/shadcn/ui/sonner.d.ts.map +1 -0
  910. package/storybook-static/shadcn/ui/switch.d.ts +5 -0
  911. package/storybook-static/shadcn/ui/switch.d.ts.map +1 -0
  912. package/storybook-static/shadcn/ui/table.d.ts +11 -0
  913. package/storybook-static/shadcn/ui/table.d.ts.map +1 -0
  914. package/storybook-static/shadcn/ui/tabs.d.ts +8 -0
  915. package/storybook-static/shadcn/ui/tabs.d.ts.map +1 -0
  916. package/storybook-static/shadcn/ui/textarea.d.ts +4 -0
  917. package/storybook-static/shadcn/ui/textarea.d.ts.map +1 -0
  918. package/storybook-static/shadcn/ui/toggle-group.d.ts +8 -0
  919. package/storybook-static/shadcn/ui/toggle-group.d.ts.map +1 -0
  920. package/storybook-static/shadcn/ui/toggle.d.ts +10 -0
  921. package/storybook-static/shadcn/ui/toggle.d.ts.map +1 -0
  922. package/storybook-static/shadcn/ui/tooltip.d.ts +8 -0
  923. package/storybook-static/shadcn/ui/tooltip.d.ts.map +1 -0
  924. package/storybook-static/vite-inject-mocker-entry.js +18 -0
  925. package/tsconfig.json +1 -5
  926. package/tsconfig.tsbuildinfo +1 -0
  927. package/eslint.config.mjs +0 -19
@@ -4,7 +4,11 @@ import * as React from 'react';
4
4
  import { Clock } from 'lucide-react';
5
5
  import { cn } from '../../../shadcn/lib/utils';
6
6
  import { Button } from '../../../shadcn/ui/button';
7
- import { Popover, PopoverContent, PopoverTrigger } from '../../../shadcn/ui/popover';
7
+ import {
8
+ Popover,
9
+ PopoverContent,
10
+ PopoverTrigger,
11
+ } from '../../../shadcn/ui/popover';
8
12
  import {
9
13
  Select,
10
14
  SelectContent,
@@ -20,7 +24,8 @@ export interface TimeRangePickerValue {
20
24
  to?: Date | null;
21
25
  }
22
26
 
23
- export interface TimeRangePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
27
+ export interface TimeRangePickerProps
28
+ extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
24
29
  value?: TimeRangePickerValue | null;
25
30
  onChange?: (range: TimeRangePickerValue | null) => void;
26
31
  placeholder?: string;
@@ -60,9 +65,29 @@ function TimeUnitSelector({
60
65
  value: Date | null | undefined;
61
66
  onChange: (next: Date | null) => void;
62
67
  }) {
63
- const hours = React.useMemo(() => (hourCycle === 12 ? Array.from({ length: 12 }, (_, i) => i + 1) : Array.from({ length: 24 }, (_, i) => i)), [hourCycle]);
64
- const minutes = React.useMemo(() => Array.from({ length: Math.ceil(60 / minuteStep) }, (_, i) => i * minuteStep), [minuteStep]);
65
- const seconds = React.useMemo(() => Array.from({ length: Math.ceil(60 / secondStep) }, (_, i) => i * secondStep), [secondStep]);
68
+ const hours = React.useMemo(
69
+ () =>
70
+ hourCycle === 12
71
+ ? Array.from({ length: 12 }, (_, i) => i + 1)
72
+ : Array.from({ length: 24 }, (_, i) => i),
73
+ [hourCycle],
74
+ );
75
+ const minutes = React.useMemo(
76
+ () =>
77
+ Array.from(
78
+ { length: Math.ceil(60 / minuteStep) },
79
+ (_, i) => i * minuteStep,
80
+ ),
81
+ [minuteStep],
82
+ );
83
+ const seconds = React.useMemo(
84
+ () =>
85
+ Array.from(
86
+ { length: Math.ceil(60 / secondStep) },
87
+ (_, i) => i * secondStep,
88
+ ),
89
+ [secondStep],
90
+ );
66
91
  const selectedHour = React.useMemo(() => {
67
92
  if (!value) return hourCycle === 12 ? 12 : 0;
68
93
  const h = value.getHours();
@@ -70,21 +95,33 @@ function TimeUnitSelector({
70
95
  }, [value, hourCycle]);
71
96
  const selectedMinute = value?.getMinutes() ?? 0;
72
97
  const selectedSecond = value?.getSeconds() ?? 0;
73
- const selectedPeriod: 'AM' | 'PM' = value && value.getHours() >= 12 ? 'PM' : 'AM';
98
+ const selectedPeriod: 'AM' | 'PM' =
99
+ value && value.getHours() >= 12 ? 'PM' : 'AM';
74
100
 
75
- const setPart = (part: 'hour' | 'minute' | 'second' | 'period', v: number | 'AM' | 'PM') => {
101
+ const setPart = (
102
+ part: 'hour' | 'minute' | 'second' | 'period',
103
+ v: number | 'AM' | 'PM',
104
+ ) => {
76
105
  const base = value
77
106
  ? new Date(value)
78
107
  : (() => {
79
108
  const n = new Date();
80
- return new Date(n.getFullYear(), n.getMonth(), n.getDate(), 0, 0, 0, 0);
109
+ return new Date(
110
+ n.getFullYear(),
111
+ n.getMonth(),
112
+ n.getDate(),
113
+ 0,
114
+ 0,
115
+ 0,
116
+ 0,
117
+ );
81
118
  })();
82
119
  if (part === 'hour') {
83
120
  let h = Number(v);
84
121
  if (hourCycle === 12) {
85
122
  const isPM = base.getHours() >= 12;
86
123
  h = h % 12;
87
- base.setHours(isPM ? (h === 12 ? 12 : h + 12) : (h === 12 ? 0 : h));
124
+ base.setHours(isPM ? (h === 12 ? 12 : h + 12) : h === 12 ? 0 : h);
88
125
  } else {
89
126
  base.setHours(h);
90
127
  }
@@ -108,13 +145,19 @@ function TimeUnitSelector({
108
145
  <div className="flex items-end gap-2">
109
146
  <div className="w-24">
110
147
  <div className="mb-1 block text-xs text-muted-foreground">Hour</div>
111
- <Select disabled={disabled} value={String(selectedHour)} onValueChange={(v) => setPart('hour', Number(v))}>
148
+ <Select
149
+ disabled={disabled}
150
+ value={String(selectedHour)}
151
+ onValueChange={(v) => setPart('hour', Number(v))}
152
+ >
112
153
  <SelectTrigger aria-label={`${label} hour`}>
113
154
  <SelectValue />
114
155
  </SelectTrigger>
115
156
  <SelectContent>
116
157
  {hours.map((h) => (
117
- <SelectItem key={h} value={String(h)}>{hourCycle === 12 ? h : pad2(h)}</SelectItem>
158
+ <SelectItem key={h} value={String(h)}>
159
+ {hourCycle === 12 ? h : pad2(h)}
160
+ </SelectItem>
118
161
  ))}
119
162
  </SelectContent>
120
163
  </Select>
@@ -122,14 +165,22 @@ function TimeUnitSelector({
122
165
 
123
166
  {(precision === 'minute' || precision === 'second') && (
124
167
  <div className="w-24">
125
- <div className="mb-1 block text-xs text-muted-foreground">Minute</div>
126
- <Select disabled={disabled} value={String(selectedMinute - (selectedMinute % minuteStep))} onValueChange={(v) => setPart('minute', Number(v))}>
168
+ <div className="mb-1 block text-xs text-muted-foreground">
169
+ Minute
170
+ </div>
171
+ <Select
172
+ disabled={disabled}
173
+ value={String(selectedMinute - (selectedMinute % minuteStep))}
174
+ onValueChange={(v) => setPart('minute', Number(v))}
175
+ >
127
176
  <SelectTrigger aria-label={`${label} minute`}>
128
177
  <SelectValue />
129
178
  </SelectTrigger>
130
179
  <SelectContent>
131
180
  {minutes.map((m) => (
132
- <SelectItem key={m} value={String(m)}>{pad2(m)}</SelectItem>
181
+ <SelectItem key={m} value={String(m)}>
182
+ {pad2(m)}
183
+ </SelectItem>
133
184
  ))}
134
185
  </SelectContent>
135
186
  </Select>
@@ -138,14 +189,22 @@ function TimeUnitSelector({
138
189
 
139
190
  {precision === 'second' && (
140
191
  <div className="w-24">
141
- <div className="mb-1 block text-xs text-muted-foreground">Second</div>
142
- <Select disabled={disabled} value={String(selectedSecond - (selectedSecond % secondStep))} onValueChange={(v) => setPart('second', Number(v))}>
192
+ <div className="mb-1 block text-xs text-muted-foreground">
193
+ Second
194
+ </div>
195
+ <Select
196
+ disabled={disabled}
197
+ value={String(selectedSecond - (selectedSecond % secondStep))}
198
+ onValueChange={(v) => setPart('second', Number(v))}
199
+ >
143
200
  <SelectTrigger aria-label={`${label} second`}>
144
201
  <SelectValue />
145
202
  </SelectTrigger>
146
203
  <SelectContent>
147
204
  {seconds.map((s) => (
148
- <SelectItem key={s} value={String(s)}>{pad2(s)}</SelectItem>
205
+ <SelectItem key={s} value={String(s)}>
206
+ {pad2(s)}
207
+ </SelectItem>
149
208
  ))}
150
209
  </SelectContent>
151
210
  </Select>
@@ -154,8 +213,14 @@ function TimeUnitSelector({
154
213
 
155
214
  {hourCycle === 12 && (
156
215
  <div className="w-24">
157
- <div className="mb-1 block text-xs text-muted-foreground">Period</div>
158
- <Select disabled={disabled} value={selectedPeriod} onValueChange={(v) => setPart('period', v as 'AM' | 'PM')}>
216
+ <div className="mb-1 block text-xs text-muted-foreground">
217
+ Period
218
+ </div>
219
+ <Select
220
+ disabled={disabled}
221
+ value={selectedPeriod}
222
+ onValueChange={(v) => setPart('period', v as 'AM' | 'PM')}
223
+ >
159
224
  <SelectTrigger aria-label={`${label} period`}>
160
225
  <SelectValue />
161
226
  </SelectTrigger>
@@ -187,8 +252,11 @@ export function TimeRangePicker({
187
252
  }: TimeRangePickerProps) {
188
253
  const [internalOpen, setInternalOpen] = React.useState(false);
189
254
  const isOpen = typeof props.open === 'boolean' ? props.open : internalOpen;
190
- const setOpen = (o: boolean) => (props.onOpenChange ? props.onOpenChange(o) : setInternalOpen(o));
191
- const [draft, setDraft] = React.useState<TimeRangePickerValue | null>(value ?? null);
255
+ const setOpen = (o: boolean) =>
256
+ props.onOpenChange ? props.onOpenChange(o) : setInternalOpen(o);
257
+ const [draft, setDraft] = React.useState<TimeRangePickerValue | null>(
258
+ value ?? null,
259
+ );
192
260
 
193
261
  React.useEffect(() => {
194
262
  if (isOpen) setDraft(value ?? null);
@@ -198,12 +266,16 @@ export function TimeRangePicker({
198
266
  const f = draft?.from ?? value?.from ?? null;
199
267
  const t = draft?.to ?? value?.to ?? null;
200
268
  if (format) return format(f ?? null, t ?? null);
201
- const fs = f ? (hourCycle === 12
202
- ? `${((f.getHours() % 12) || 12)}:${pad2(f.getMinutes())}${precision === 'second' ? `:${pad2(f.getSeconds())}` : ''} ${f.getHours() >= 12 ? 'PM' : 'AM'}`
203
- : `${pad2(f.getHours())}:${pad2(f.getMinutes())}${precision === 'second' ? `:${pad2(f.getSeconds())}` : ''}`) : null;
204
- const ts = t ? (hourCycle === 12
205
- ? `${((t.getHours() % 12) || 12)}:${pad2(t.getMinutes())}${precision === 'second' ? `:${pad2(t.getSeconds())}` : ''} ${t.getHours() >= 12 ? 'PM' : 'AM'}`
206
- : `${pad2(t.getHours())}:${pad2(t.getMinutes())}${precision === 'second' ? `:${pad2(t.getSeconds())}` : ''}`) : null;
269
+ const fs = f
270
+ ? hourCycle === 12
271
+ ? `${f.getHours() % 12 || 12}:${pad2(f.getMinutes())}${precision === 'second' ? `:${pad2(f.getSeconds())}` : ''} ${f.getHours() >= 12 ? 'PM' : 'AM'}`
272
+ : `${pad2(f.getHours())}:${pad2(f.getMinutes())}${precision === 'second' ? `:${pad2(f.getSeconds())}` : ''}`
273
+ : null;
274
+ const ts = t
275
+ ? hourCycle === 12
276
+ ? `${t.getHours() % 12 || 12}:${pad2(t.getMinutes())}${precision === 'second' ? `:${pad2(t.getSeconds())}` : ''} ${t.getHours() >= 12 ? 'PM' : 'AM'}`
277
+ : `${pad2(t.getHours())}:${pad2(t.getMinutes())}${precision === 'second' ? `:${pad2(t.getSeconds())}` : ''}`
278
+ : null;
207
279
  return fs && ts ? `${fs} – ${ts}` : placeholder;
208
280
  }, [draft, value, format, hourCycle, precision, placeholder]);
209
281
 
@@ -215,7 +287,10 @@ export function TimeRangePicker({
215
287
  type="button"
216
288
  disabled={disabled}
217
289
  variant={buttonVariant}
218
- className={cn('w-[280px] justify-start text-left font-normal', !value && 'text-muted-foreground')}
290
+ className={cn(
291
+ 'w-[280px] justify-start text-left font-normal',
292
+ !value && 'text-muted-foreground',
293
+ )}
219
294
  >
220
295
  <Clock className="mr-2 h-4 w-4" />
221
296
  {label}
@@ -226,7 +301,9 @@ export function TimeRangePicker({
226
301
  <TimeUnitSelector
227
302
  label="From"
228
303
  value={draft?.from ?? null}
229
- onChange={(d) => setDraft((prev) => ({ ...(prev ?? {}), from: d }))}
304
+ onChange={(d) =>
305
+ setDraft((prev) => ({ ...(prev ?? {}), from: d }))
306
+ }
230
307
  hourCycle={hourCycle}
231
308
  precision={precision}
232
309
  minuteStep={minuteStep}
@@ -1,3 +1,3 @@
1
- export { TimePicker } from './TimePicker'
2
- export { TimeRangePicker } from './TimeRangePicker'
3
- export default void 0
1
+ export { TimePicker } from './TimePicker';
2
+ export { TimeRangePicker } from './TimeRangePicker';
3
+ export default void 0;
@@ -41,6 +41,7 @@ type AdminLayoutProps = {
41
41
  // Header bar customization
42
42
  headerAfterTrigger?: React.ReactNode; // renders right after the collapsible icon trigger
43
43
  headerAfterTheme?: React.ReactNode; // renders right after the ThemeToggle on the right
44
+ onLogout?: () => void | Promise<void>;
44
45
  };
45
46
 
46
47
  function AdminLayoutContent({
@@ -52,6 +53,7 @@ function AdminLayoutContent({
52
53
  sidebarHeaderIcon,
53
54
  headerAfterTrigger,
54
55
  headerAfterTheme,
56
+ onLogout,
55
57
  }: AdminLayoutProps) {
56
58
  const { groups: sidebarGroups } = useAdminSidebarMenu();
57
59
  const location = useLocation();
@@ -63,7 +65,10 @@ function AdminLayoutContent({
63
65
  // Function to check if menu item is active
64
66
  const isMenuItemActive = (itemUrl: string | undefined) => {
65
67
  if (!itemUrl) return false;
66
- return location.pathname === itemUrl || location.pathname.startsWith(itemUrl + '/');
68
+ return (
69
+ location.pathname === itemUrl ||
70
+ location.pathname.startsWith(`${itemUrl}/`)
71
+ );
67
72
  };
68
73
 
69
74
  const setOpen = useCallback((id: string, val?: boolean) => {
@@ -72,19 +77,26 @@ function AdminLayoutContent({
72
77
 
73
78
  const hasActiveDescendant = (item: AdminMenuItem): boolean => {
74
79
  if (!item.children || item.children.length === 0) return false;
75
- return item.children.some((c) => isMenuItemActive(c.url) || hasActiveDescendant(c));
80
+ return item.children.some(
81
+ (c) => isMenuItemActive(c.url) || hasActiveDescendant(c),
82
+ );
76
83
  };
77
84
 
78
85
  const renderItem = (item: AdminMenuItem, level = 0) => {
79
- const hasChildren = Array.isArray(item.children) && item.children.length > 0;
86
+ const hasChildren =
87
+ Array.isArray(item.children) && item.children.length > 0;
80
88
  const isActive = isMenuItemActive(item.url);
81
- const isOpen = openMap[item.id] ?? (hasChildren && hasActiveDescendant(item));
89
+ const isOpen =
90
+ openMap[item.id] ?? (hasChildren && hasActiveDescendant(item));
82
91
 
83
- const indentClassMap = ['','pl-6','pl-10','pl-14'] as const;
92
+ const indentClassMap = ['', 'pl-6', 'pl-10', 'pl-14'] as const;
84
93
  const indent = indentClassMap[Math.min(level, 3)];
85
94
 
86
95
  const content = (
87
- <SidebarMenuItem key={item.id} className={`mb-1 ${level > 0 ? 'ml-1' : ''}`}>
96
+ <SidebarMenuItem
97
+ key={item.id}
98
+ className={`mb-1 ${level > 0 ? 'ml-1' : ''}`}
99
+ >
88
100
  <SidebarMenuButton
89
101
  asChild={!!item.url && !hasChildren}
90
102
  isActive={isActive}
@@ -102,7 +114,11 @@ function AdminLayoutContent({
102
114
  className={`h-4 w-4 transition-colors ${isActive ? 'text-primary-foreground' : 'text-sidebar-foreground group-hover:text-sidebar-accent-foreground'}`}
103
115
  />
104
116
  )}
105
- <span className={`font-medium transition-colors ${isActive ? 'text-primary-foreground' : 'text-sidebar-foreground group-hover:text-sidebar-accent-foreground'}`}>{item.title}</span>
117
+ <span
118
+ className={`font-medium transition-colors ${isActive ? 'text-primary-foreground' : 'text-sidebar-foreground group-hover:text-sidebar-accent-foreground'}`}
119
+ >
120
+ {item.title}
121
+ </span>
106
122
  {item.badge && (
107
123
  <span className="ml-auto text-xs bg-primary/10 text-primary px-2 py-0.5 rounded-full">
108
124
  {item.badge}
@@ -111,13 +127,12 @@ function AdminLayoutContent({
111
127
  </Link>
112
128
  ) : (
113
129
  <div className="flex items-center gap-3 px-3 py-2.5 w-full">
114
- {hasChildren && (
115
- isOpen ? (
130
+ {hasChildren &&
131
+ (isOpen ? (
116
132
  <ChevronDown className="h-3.5 w-3.5 text-muted-foreground" />
117
133
  ) : (
118
134
  <ChevronRight className="h-3.5 w-3.5 text-muted-foreground" />
119
- )
120
- )}
135
+ ))}
121
136
  {item.icon ? (
122
137
  <item.icon className="h-4 w-4 text-sidebar-foreground group-hover:text-sidebar-accent-foreground" />
123
138
  ) : (
@@ -125,10 +140,14 @@ function AdminLayoutContent({
125
140
  )}
126
141
  {item.url ? (
127
142
  <Link to={item.url} className="flex-1 text-left">
128
- <span className="font-medium text-sidebar-foreground group-hover:text-sidebar-accent-foreground">{item.title}</span>
143
+ <span className="font-medium text-sidebar-foreground group-hover:text-sidebar-accent-foreground">
144
+ {item.title}
145
+ </span>
129
146
  </Link>
130
147
  ) : (
131
- <span className="font-medium text-sidebar-foreground group-hover:text-sidebar-accent-foreground flex-1">{item.title}</span>
148
+ <span className="font-medium text-sidebar-foreground group-hover:text-sidebar-accent-foreground flex-1">
149
+ {item.title}
150
+ </span>
132
151
  )}
133
152
  {item.badge && (
134
153
  <span className="ml-auto text-xs bg-primary/10 text-primary px-2 py-0.5 rounded-full">
@@ -140,7 +159,9 @@ function AdminLayoutContent({
140
159
  </SidebarMenuButton>
141
160
  {hasChildren && isOpen && (
142
161
  <div className="mt-1 flex flex-col">
143
- {(item.children ?? []).map((child: AdminMenuItem) => renderItem(child, Math.min(level + 1, 3)))}
162
+ {(item.children ?? []).map((child: AdminMenuItem) =>
163
+ renderItem(child, Math.min(level + 1, 3)),
164
+ )}
144
165
  </div>
145
166
  )}
146
167
  </SidebarMenuItem>
@@ -150,8 +171,11 @@ function AdminLayoutContent({
150
171
  };
151
172
 
152
173
  return (
153
- <div className="flex min-h-dvh w-full">
154
- <Sidebar className="bg-sidebar border-r border-sidebar-border" collapsible={sidebarCollapsible ? "icon" : "none"}>
174
+ <div className="flex min-h-dvh w-full">
175
+ <Sidebar
176
+ className="bg-sidebar border-r border-sidebar-border"
177
+ collapsible={sidebarCollapsible ? 'icon' : 'none'}
178
+ >
155
179
  <SidebarHeader className="bg-sidebar border-b border-sidebar-border">
156
180
  {sidebarHeader ? (
157
181
  sidebarHeader
@@ -161,7 +185,9 @@ function AdminLayoutContent({
161
185
  <div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary text-primary-foreground">
162
186
  <SidebarHeaderIcon className="h-4 w-4" />
163
187
  </div>
164
- <span className="font-semibold text-sidebar-foreground">{sidebarTitle}</span>
188
+ <span className="font-semibold text-sidebar-foreground">
189
+ {sidebarTitle}
190
+ </span>
165
191
  </div>
166
192
  </div>
167
193
  )}
@@ -170,7 +196,9 @@ function AdminLayoutContent({
170
196
  {sidebarGroups.map((group, idx) => (
171
197
  <Fragment key={group.id}>
172
198
  <SidebarGroup>
173
- <SidebarGroupLabel className="text-xs font-semibold text-muted-foreground uppercase tracking-wider px-3 mb-2 group-data-[collapsible=icon]:hidden">{group.label}</SidebarGroupLabel>
199
+ <SidebarGroupLabel className="text-xs font-semibold text-muted-foreground uppercase tracking-wider px-3 mb-2 group-data-[collapsible=icon]:hidden">
200
+ {group.label}
201
+ </SidebarGroupLabel>
174
202
  <SidebarGroupContent>
175
203
  <SidebarMenu className="group-data-[collapsible=icon]:items-center">
176
204
  {group.items.map((item) => renderItem(item, 0))}
@@ -178,26 +206,34 @@ function AdminLayoutContent({
178
206
  </SidebarGroupContent>
179
207
  </SidebarGroup>
180
208
  {idx < sidebarGroups.length - 1 && (
181
- <Separator orientation="horizontal" className="bg-sidebar-border group-data-[collapsible=icon]:hidden" />
209
+ <Separator
210
+ orientation="horizontal"
211
+ className="bg-sidebar-border group-data-[collapsible=icon]:hidden"
212
+ />
182
213
  )}
183
214
  </Fragment>
184
215
  ))}
185
216
  </SidebarContent>
186
- <SidebarFooter className="bg-sidebar border-t border-sidebar-border px-2 py-3">
187
- <SidebarMenu>
188
- <SidebarMenuItem className="group-data-[collapsible=icon]:flex group-data-[collapsible=icon]:w-full group-data-[collapsible=icon]:justify-center">
189
- <SidebarMenuButton
190
- tooltip="Logout"
191
- className="group relative overflow-hidden rounded-lg mx-1 transition-all duration-200 hover:bg-sidebar-accent/70 hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:flex group-data-[collapsible=icon]:w-full group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:!justify-center group-data-[collapsible=icon]:!px-0 group-data-[collapsible=icon]:!gap-0"
192
- >
193
- <div className="flex items-center gap-3 px-3 py-2.5 group-data-[collapsible=icon]:w-full group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:!justify-center group-data-[collapsible=icon]:!gap-0 group-data-[collapsible=icon]:!px-0">
194
- <LogOut className="h-4 w-4 text-sidebar-foreground group-hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:mx-auto group-data-[collapsible=icon]:mr-0" />
195
- <span className="font-medium text-sidebar-foreground group-hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:hidden">Logout</span>
196
- </div>
197
- </SidebarMenuButton>
198
- </SidebarMenuItem>
199
- </SidebarMenu>
200
- </SidebarFooter>
217
+ {onLogout && (
218
+ <SidebarFooter className="bg-sidebar border-t border-sidebar-border px-2 py-3">
219
+ <SidebarMenu>
220
+ <SidebarMenuItem className="group-data-[collapsible=icon]:flex group-data-[collapsible=icon]:w-full group-data-[collapsible=icon]:justify-center">
221
+ <SidebarMenuButton
222
+ tooltip="Logout"
223
+ className="cursor-pointer group relative overflow-hidden rounded-lg mx-1 transition-all duration-200 hover:bg-sidebar-accent/70 hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:flex group-data-[collapsible=icon]:w-full group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:!justify-center group-data-[collapsible=icon]:!px-0 group-data-[collapsible=icon]:!gap-0"
224
+ onClick={() => { void onLogout(); }}
225
+ >
226
+ <div className="flex items-center gap-3 px-3 py-2.5 group-data-[collapsible=icon]:w-full group-data-[collapsible=icon]:items-center group-data-[collapsible=icon]:!justify-center group-data-[collapsible=icon]:!gap-0 group-data-[collapsible=icon]:!px-0">
227
+ <LogOut className="h-4 w-4 text-sidebar-foreground group-hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:mx-auto group-data-[collapsible=icon]:mr-0" />
228
+ <span className="font-medium text-sidebar-foreground group-hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:hidden">
229
+ Logout
230
+ </span>
231
+ </div>
232
+ </SidebarMenuButton>
233
+ </SidebarMenuItem>
234
+ </SidebarMenu>
235
+ </SidebarFooter>
236
+ )}
201
237
  </Sidebar>
202
238
  <SidebarInset>
203
239
  <header className="flex h-16 shrink-0 items-center justify-between gap-4 border-b border-border/40 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 px-6">
@@ -212,11 +248,9 @@ function AdminLayoutContent({
212
248
  {headerAfterTheme}
213
249
  </div>
214
250
  </header>
215
- <main className="flex flex-1 flex-col gap-4 p-4">
216
- {children}
217
- </main>
251
+ <main className="flex flex-1 flex-col gap-4 p-4">{children}</main>
218
252
  </SidebarInset>
219
- </div>
253
+ </div>
220
254
  );
221
255
  }
222
256
 
@@ -229,6 +263,7 @@ export default function AdminLayout({
229
263
  sidebarHeaderIcon,
230
264
  headerAfterTrigger,
231
265
  headerAfterTheme,
266
+ onLogout,
232
267
  }: AdminLayoutProps) {
233
268
  return (
234
269
  <AdminMenuProvider>
@@ -241,6 +276,7 @@ export default function AdminLayout({
241
276
  sidebarHeaderIcon={sidebarHeaderIcon}
242
277
  headerAfterTrigger={headerAfterTrigger}
243
278
  headerAfterTheme={headerAfterTheme}
279
+ onLogout={onLogout}
244
280
  >
245
281
  {children}
246
282
  </AdminLayoutContent>
@@ -40,19 +40,13 @@ export default function ThemeToggle({ className }: ThemeToggleProps) {
40
40
  <DropdownMenuLabel>Theme</DropdownMenuLabel>
41
41
  <DropdownMenuSeparator />
42
42
  <DropdownMenuItem onClick={() => setTheme('light')}>
43
- <Sun className="mr-2 h-4 w-4" />
44
- {' '}
45
- Light
43
+ <Sun className="mr-2 h-4 w-4" /> Light
46
44
  </DropdownMenuItem>
47
45
  <DropdownMenuItem onClick={() => setTheme('dark')}>
48
- <Moon className="mr-2 h-4 w-4" />
49
- {' '}
50
- Dark
46
+ <Moon className="mr-2 h-4 w-4" /> Dark
51
47
  </DropdownMenuItem>
52
48
  <DropdownMenuItem onClick={() => setTheme('system')}>
53
- <Laptop className="mr-2 h-4 w-4" />
54
- {' '}
55
- System
49
+ <Laptop className="mr-2 h-4 w-4" /> System
56
50
  </DropdownMenuItem>
57
51
  </DropdownMenuContent>
58
52
  </DropdownMenu>
@@ -1,7 +1,10 @@
1
- import React, { createContext, useContext } from 'react';
2
- import { AdminMenuContextValue, AdminMenuGroup } from '../types';
1
+ import type React from 'react';
2
+ import { createContext, useContext } from 'react';
3
+ import type { AdminMenuContextValue, AdminMenuGroup } from '../types';
3
4
 
4
- export const AdminMenuContext = createContext<AdminMenuContextValue | null>(null);
5
+ export const AdminMenuContext = createContext<AdminMenuContextValue | null>(
6
+ null,
7
+ );
5
8
 
6
9
  export function useAdminSidebarMenu() {
7
10
  const ctx = useContext(AdminMenuContext);
@@ -11,7 +14,9 @@ export function useAdminSidebarMenu() {
11
14
  const noop = () => {};
12
15
  return {
13
16
  groups: [] as AdminMenuGroup[],
14
- setGroups: noop as unknown as React.Dispatch<React.SetStateAction<AdminMenuGroup[]>>,
17
+ setGroups: noop as unknown as React.Dispatch<
18
+ React.SetStateAction<AdminMenuGroup[]>
19
+ >,
15
20
  registerGroup: noop as AdminMenuContextValue['registerGroup'],
16
21
  registerItem: noop as AdminMenuContextValue['registerItem'],
17
22
  clear: noop,
@@ -21,6 +26,7 @@ export function useAdminSidebarMenu() {
21
26
  }
22
27
 
23
28
  export function useAdminSidebarMenuRegistration() {
24
- const { setGroups, registerGroup, registerItem, clear } = useAdminSidebarMenu();
29
+ const { setGroups, registerGroup, registerItem, clear } =
30
+ useAdminSidebarMenu();
25
31
  return { setGroups, registerGroup, registerItem, clear };
26
32
  }
@@ -1,48 +1,61 @@
1
- import { useState, useCallback, useMemo } from "react";
2
- import { AdminMenuGroup, AdminMenuContextValue } from "../types";
3
- import { AdminMenuContext } from "../hooks/menu";
1
+ import { useState, useCallback, useMemo } from 'react';
2
+ import type { AdminMenuGroup, AdminMenuContextValue } from '../types';
3
+ import { AdminMenuContext } from '../hooks/menu';
4
4
 
5
5
  export type AdminMenuProviderProps = {
6
6
  initialGroups?: AdminMenuGroup[];
7
7
  children: React.ReactNode;
8
8
  };
9
9
 
10
- export function AdminMenuProvider({ initialGroups = [], children }: AdminMenuProviderProps) {
10
+ export function AdminMenuProvider({
11
+ initialGroups = [],
12
+ children,
13
+ }: AdminMenuProviderProps) {
11
14
  const [groups, setGroups] = useState<AdminMenuGroup[]>(initialGroups);
12
15
 
13
- const registerGroup = useCallback<AdminMenuContextValue['registerGroup']>((group) => {
14
- setGroups((prev) => {
15
- if (process.env.NODE_ENV !== 'production') {
16
- // eslint-disable-next-line no-console
17
- console.log('[AdminMenuProvider] registerGroup', group);
18
- }
19
- const exists = prev.some((g) => g.id === group.id);
20
- if (exists) return prev;
21
- return [...prev, { id: group.id, label: group.label, items: group.items ?? [] }];
22
- });
23
- }, []);
16
+ const registerGroup = useCallback<AdminMenuContextValue['registerGroup']>(
17
+ (group) => {
18
+ setGroups((prev) => {
19
+ if (process.env.NODE_ENV !== 'production') {
20
+ // eslint-disable-next-line no-console
21
+ console.log('[AdminMenuProvider] registerGroup', group);
22
+ }
23
+ const exists = prev.some((g) => g.id === group.id);
24
+ if (exists) return prev;
25
+ return [
26
+ ...prev,
27
+ { id: group.id, label: group.label, items: group.items ?? [] },
28
+ ];
29
+ });
30
+ },
31
+ [],
32
+ );
24
33
 
25
- const registerItem = useCallback<AdminMenuContextValue['registerItem']>((groupId, item) => {
26
- setGroups((prev) => {
27
- if (process.env.NODE_ENV !== 'production') {
28
- // eslint-disable-next-line no-console
29
- console.log('[AdminMenuProvider] registerItem', groupId, item);
30
- }
31
- // if group exists, append or replace item by id
32
- const idx = prev.findIndex((g) => g.id === groupId);
33
- if (idx >= 0) {
34
- const group = prev[idx];
35
- const items = [...group.items];
36
- const existingIdx = items.findIndex((it) => it.id === item.id);
37
- if (existingIdx >= 0) items[existingIdx] = item; else items.push(item);
38
- const next = [...prev];
39
- next[idx] = { ...group, items };
40
- return next;
41
- }
42
- // create group if missing
43
- return [...prev, { id: groupId, label: groupId, items: [item] }];
44
- });
45
- }, []);
34
+ const registerItem = useCallback<AdminMenuContextValue['registerItem']>(
35
+ (groupId, item) => {
36
+ setGroups((prev) => {
37
+ if (process.env.NODE_ENV !== 'production') {
38
+ // eslint-disable-next-line no-console
39
+ console.log('[AdminMenuProvider] registerItem', groupId, item);
40
+ }
41
+ // if group exists, append or replace item by id
42
+ const idx = prev.findIndex((g) => g.id === groupId);
43
+ if (idx >= 0) {
44
+ const group = prev[idx];
45
+ const items = [...group.items];
46
+ const existingIdx = items.findIndex((it) => it.id === item.id);
47
+ if (existingIdx >= 0) items[existingIdx] = item;
48
+ else items.push(item);
49
+ const next = [...prev];
50
+ next[idx] = { ...group, items };
51
+ return next;
52
+ }
53
+ // create group if missing
54
+ return [...prev, { id: groupId, label: groupId, items: [item] }];
55
+ });
56
+ },
57
+ [],
58
+ );
46
59
 
47
60
  const clear = useCallback(() => {
48
61
  if (process.env.NODE_ENV !== 'production') {
@@ -52,7 +65,14 @@ export function AdminMenuProvider({ initialGroups = [], children }: AdminMenuPro
52
65
  setGroups([]);
53
66
  }, []);
54
67
 
55
- const value = useMemo<AdminMenuContextValue>(() => ({ groups, setGroups, registerGroup, registerItem, clear }), [groups, registerGroup, registerItem, clear]);
68
+ const value = useMemo<AdminMenuContextValue>(
69
+ () => ({ groups, setGroups, registerGroup, registerItem, clear }),
70
+ [groups, registerGroup, registerItem, clear],
71
+ );
56
72
 
57
- return <AdminMenuContext.Provider value={value}>{children}</AdminMenuContext.Provider>;
58
- }
73
+ return (
74
+ <AdminMenuContext.Provider value={value}>
75
+ {children}
76
+ </AdminMenuContext.Provider>
77
+ );
78
+ }