@k3-universe/react-kit 0.0.28 → 0.0.29

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 (831) 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.js +2786 -1410
  5. package/dist/kit/builder/auth/AuthProvider.d.ts +36 -0
  6. package/dist/kit/builder/auth/AuthProvider.d.ts.map +1 -0
  7. package/dist/kit/builder/auth/adapter.d.ts +14 -0
  8. package/dist/kit/builder/auth/adapter.d.ts.map +1 -0
  9. package/dist/kit/builder/auth/client-adapters.d.ts +149 -0
  10. package/dist/kit/builder/auth/client-adapters.d.ts.map +1 -0
  11. package/dist/kit/builder/auth/components.d.ts +119 -0
  12. package/dist/kit/builder/auth/components.d.ts.map +1 -0
  13. package/dist/kit/builder/auth/hooks.d.ts +158 -0
  14. package/dist/kit/builder/auth/hooks.d.ts.map +1 -0
  15. package/dist/kit/builder/auth/index.d.ts +11 -0
  16. package/dist/kit/builder/auth/index.d.ts.map +1 -0
  17. package/dist/kit/builder/auth/permission-checker.d.ts +31 -0
  18. package/dist/kit/builder/auth/permission-checker.d.ts.map +1 -0
  19. package/dist/kit/builder/auth/storage.d.ts +17 -0
  20. package/dist/kit/builder/auth/storage.d.ts.map +1 -0
  21. package/dist/kit/builder/auth/token-manager.d.ts +9 -0
  22. package/dist/kit/builder/auth/token-manager.d.ts.map +1 -0
  23. package/dist/kit/builder/auth/types.d.ts +183 -0
  24. package/dist/kit/builder/auth/types.d.ts.map +1 -0
  25. package/dist/kit/builder/data-table/components/DataTable.d.ts.map +1 -1
  26. package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts +2 -2
  27. package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts.map +1 -1
  28. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts +1 -1
  29. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -1
  30. package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts +1 -1
  31. package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts.map +1 -1
  32. package/dist/kit/builder/data-table/types.d.ts.map +1 -1
  33. package/dist/kit/builder/dialog/index.d.ts +1 -1
  34. package/dist/kit/builder/dialog/index.d.ts.map +1 -1
  35. package/dist/kit/builder/dialog/provider.d.ts +0 -1
  36. package/dist/kit/builder/dialog/provider.d.ts.map +1 -1
  37. package/dist/kit/builder/form/components/FormBuilder.d.ts.map +1 -1
  38. package/dist/kit/builder/form/components/FormBuilderActions.d.ts.map +1 -1
  39. package/dist/kit/builder/form/components/FormBuilderContext.d.ts.map +1 -1
  40. package/dist/kit/builder/form/components/FormBuilderField.d.ts +1 -1
  41. package/dist/kit/builder/form/components/FormBuilderField.d.ts.map +1 -1
  42. package/dist/kit/builder/form/components/fields/ArrayField.d.ts +1 -1
  43. package/dist/kit/builder/form/components/fields/ArrayField.d.ts.map +1 -1
  44. package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts +1 -1
  45. package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts.map +1 -1
  46. package/dist/kit/builder/form/components/fields/CheckboxField.d.ts +1 -1
  47. package/dist/kit/builder/form/components/fields/CheckboxField.d.ts.map +1 -1
  48. package/dist/kit/builder/form/components/fields/DateField.d.ts +1 -1
  49. package/dist/kit/builder/form/components/fields/DateField.d.ts.map +1 -1
  50. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts +1 -1
  51. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts.map +1 -1
  52. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts +1 -1
  53. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts.map +1 -1
  54. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts +1 -1
  55. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts.map +1 -1
  56. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts +1 -1
  57. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts.map +1 -1
  58. package/dist/kit/builder/form/components/fields/FileField.d.ts +1 -1
  59. package/dist/kit/builder/form/components/fields/FileField.d.ts.map +1 -1
  60. package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts +1 -1
  61. package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts.map +1 -1
  62. package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts +1 -1
  63. package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts.map +1 -1
  64. package/dist/kit/builder/form/components/fields/NumberField.d.ts +1 -1
  65. package/dist/kit/builder/form/components/fields/NumberField.d.ts.map +1 -1
  66. package/dist/kit/builder/form/components/fields/ObjectField.d.ts.map +1 -1
  67. package/dist/kit/builder/form/components/fields/RadioField.d.ts +1 -1
  68. package/dist/kit/builder/form/components/fields/RadioField.d.ts.map +1 -1
  69. package/dist/kit/builder/form/components/fields/SelectField.d.ts +1 -1
  70. package/dist/kit/builder/form/components/fields/SelectField.d.ts.map +1 -1
  71. package/dist/kit/builder/form/components/fields/SwitchField.d.ts +1 -1
  72. package/dist/kit/builder/form/components/fields/SwitchField.d.ts.map +1 -1
  73. package/dist/kit/builder/form/components/fields/TextField.d.ts +1 -1
  74. package/dist/kit/builder/form/components/fields/TextField.d.ts.map +1 -1
  75. package/dist/kit/builder/form/components/fields/TextareaField.d.ts +1 -1
  76. package/dist/kit/builder/form/components/fields/TextareaField.d.ts.map +1 -1
  77. package/dist/kit/builder/form/components/fields/TimePickerField.d.ts +1 -1
  78. package/dist/kit/builder/form/components/fields/TimePickerField.d.ts.map +1 -1
  79. package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts +1 -1
  80. package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts.map +1 -1
  81. package/dist/kit/builder/form/components/fields/index.d.ts.map +1 -1
  82. package/dist/kit/builder/form/components/fields/types.d.ts.map +1 -1
  83. package/dist/kit/builder/form/components/sectionNodes.d.ts.map +1 -1
  84. package/dist/kit/builder/form/hooks/useFormBuilder.d.ts.map +1 -1
  85. package/dist/kit/builder/form/types.d.ts.map +1 -1
  86. package/dist/kit/builder/form/utils/section-factories.d.ts.map +1 -1
  87. package/dist/kit/builder/page/Page.d.ts.map +1 -1
  88. package/dist/kit/builder/page/index.d.ts.map +1 -1
  89. package/dist/kit/builder/section/SectionBuilder.d.ts +1 -1
  90. package/dist/kit/builder/section/SectionBuilder.d.ts.map +1 -1
  91. package/dist/kit/builder/section/SectionContainer.d.ts +14 -0
  92. package/dist/kit/builder/section/SectionContainer.d.ts.map +1 -0
  93. package/dist/kit/builder/stack-dialog/context.d.ts.map +1 -1
  94. package/dist/kit/builder/stack-dialog/hooks.d.ts.map +1 -1
  95. package/dist/kit/builder/stack-dialog/index.d.ts +3 -3
  96. package/dist/kit/builder/stack-dialog/index.d.ts.map +1 -1
  97. package/dist/kit/builder/stack-dialog/provider.d.ts.map +1 -1
  98. package/dist/kit/builder/stack-dialog/renderer.d.ts.map +1 -1
  99. package/dist/kit/builder/stack-dialog/types.d.ts +1 -1
  100. package/dist/kit/builder/stack-dialog/types.d.ts.map +1 -1
  101. package/dist/kit/components/autocomplete/Autocomplete.d.ts +1 -1
  102. package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
  103. package/dist/kit/components/autocomplete/types.d.ts.map +1 -1
  104. package/dist/kit/components/datepicker/DatePicker.d.ts.map +1 -1
  105. package/dist/kit/components/datepicker/DateRangePicker.d.ts.map +1 -1
  106. package/dist/kit/components/datetimepicker/DateTimePicker.d.ts.map +1 -1
  107. package/dist/kit/components/datetimepicker/DateTimeRangePicker.d.ts.map +1 -1
  108. package/dist/kit/components/datetimepicker/index.d.ts.map +1 -1
  109. package/dist/kit/components/fileuploader/FileUploader.d.ts.map +1 -1
  110. package/dist/kit/components/fileuploader/types.d.ts +2 -2
  111. package/dist/kit/components/forminfo/FormInfoError.d.ts.map +1 -1
  112. package/dist/kit/components/login/Login.d.ts +1 -1
  113. package/dist/kit/components/login/Login.d.ts.map +1 -1
  114. package/dist/kit/components/monthpicker/MonthInput.d.ts.map +1 -1
  115. package/dist/kit/components/monthpicker/MonthPicker.d.ts.map +1 -1
  116. package/dist/kit/components/monthpicker/MonthRangeInput.d.ts.map +1 -1
  117. package/dist/kit/components/monthpicker/MonthRangePicker.d.ts.map +1 -1
  118. package/dist/kit/components/timepicker/TimePicker.d.ts.map +1 -1
  119. package/dist/kit/components/timepicker/TimeRangePicker.d.ts.map +1 -1
  120. package/dist/kit/components/timepicker/index.d.ts.map +1 -1
  121. package/dist/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -1
  122. package/dist/kit/layouts/admin/components/ThemeToggle.d.ts.map +1 -1
  123. package/dist/kit/layouts/admin/hooks/menu.d.ts.map +1 -1
  124. package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts +1 -1
  125. package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts.map +1 -1
  126. package/dist/kit/themes/base.css +1 -1
  127. package/dist/kit/themes/clean-slate.css +5 -5
  128. package/dist/kit/themes/default.css +5 -5
  129. package/dist/kit/themes/minimal-modern.css +5 -5
  130. package/dist/kit/themes/spotify.css +5 -5
  131. package/dist/shadcn/hooks/use-mobile.d.ts.map +1 -1
  132. package/dist/shadcn/ui/accordion.d.ts +2 -2
  133. package/dist/shadcn/ui/accordion.d.ts.map +1 -1
  134. package/dist/shadcn/ui/alert-dialog.d.ts +4 -4
  135. package/dist/shadcn/ui/alert-dialog.d.ts.map +1 -1
  136. package/dist/shadcn/ui/alert.d.ts +4 -4
  137. package/dist/shadcn/ui/alert.d.ts.map +1 -1
  138. package/dist/shadcn/ui/aspect-ratio.d.ts +1 -1
  139. package/dist/shadcn/ui/aspect-ratio.d.ts.map +1 -1
  140. package/dist/shadcn/ui/avatar.d.ts +2 -2
  141. package/dist/shadcn/ui/avatar.d.ts.map +1 -1
  142. package/dist/shadcn/ui/badge.d.ts +2 -2
  143. package/dist/shadcn/ui/badge.d.ts.map +1 -1
  144. package/dist/shadcn/ui/breadcrumb.d.ts +8 -8
  145. package/dist/shadcn/ui/breadcrumb.d.ts.map +1 -1
  146. package/dist/shadcn/ui/button.d.ts +2 -2
  147. package/dist/shadcn/ui/button.d.ts.map +1 -1
  148. package/dist/shadcn/ui/calendar.d.ts +2 -2
  149. package/dist/shadcn/ui/calendar.d.ts.map +1 -1
  150. package/dist/shadcn/ui/card.d.ts +8 -8
  151. package/dist/shadcn/ui/card.d.ts.map +1 -1
  152. package/dist/shadcn/ui/carousel.d.ts +5 -5
  153. package/dist/shadcn/ui/carousel.d.ts.map +1 -1
  154. package/dist/shadcn/ui/chart.d.ts +7 -7
  155. package/dist/shadcn/ui/chart.d.ts.map +1 -1
  156. package/dist/shadcn/ui/checkbox.d.ts +2 -2
  157. package/dist/shadcn/ui/checkbox.d.ts.map +1 -1
  158. package/dist/shadcn/ui/collapsible.d.ts +1 -1
  159. package/dist/shadcn/ui/collapsible.d.ts.map +1 -1
  160. package/dist/shadcn/ui/command.d.ts +2 -2
  161. package/dist/shadcn/ui/command.d.ts.map +1 -1
  162. package/dist/shadcn/ui/context-menu.d.ts +4 -4
  163. package/dist/shadcn/ui/context-menu.d.ts.map +1 -1
  164. package/dist/shadcn/ui/dialog.d.ts +4 -4
  165. package/dist/shadcn/ui/dialog.d.ts.map +1 -1
  166. package/dist/shadcn/ui/drawer.d.ts +3 -3
  167. package/dist/shadcn/ui/drawer.d.ts.map +1 -1
  168. package/dist/shadcn/ui/dropdown-menu.d.ts +4 -4
  169. package/dist/shadcn/ui/dropdown-menu.d.ts.map +1 -1
  170. package/dist/shadcn/ui/form.d.ts +5 -5
  171. package/dist/shadcn/ui/form.d.ts.map +1 -1
  172. package/dist/shadcn/ui/hover-card.d.ts +2 -2
  173. package/dist/shadcn/ui/hover-card.d.ts.map +1 -1
  174. package/dist/shadcn/ui/input-otp.d.ts +4 -4
  175. package/dist/shadcn/ui/input-otp.d.ts.map +1 -1
  176. package/dist/shadcn/ui/input.d.ts +2 -2
  177. package/dist/shadcn/ui/input.d.ts.map +1 -1
  178. package/dist/shadcn/ui/label.d.ts +2 -2
  179. package/dist/shadcn/ui/label.d.ts.map +1 -1
  180. package/dist/shadcn/ui/menubar.d.ts +4 -4
  181. package/dist/shadcn/ui/menubar.d.ts.map +1 -1
  182. package/dist/shadcn/ui/navigation-menu.d.ts +2 -2
  183. package/dist/shadcn/ui/navigation-menu.d.ts.map +1 -1
  184. package/dist/shadcn/ui/pagination.d.ts +6 -6
  185. package/dist/shadcn/ui/pagination.d.ts.map +1 -1
  186. package/dist/shadcn/ui/popover.d.ts +2 -2
  187. package/dist/shadcn/ui/popover.d.ts.map +1 -1
  188. package/dist/shadcn/ui/progress.d.ts +2 -2
  189. package/dist/shadcn/ui/progress.d.ts.map +1 -1
  190. package/dist/shadcn/ui/radio-group.d.ts +2 -2
  191. package/dist/shadcn/ui/radio-group.d.ts.map +1 -1
  192. package/dist/shadcn/ui/resizable.d.ts +2 -2
  193. package/dist/shadcn/ui/resizable.d.ts.map +1 -1
  194. package/dist/shadcn/ui/scroll-area.d.ts +2 -2
  195. package/dist/shadcn/ui/scroll-area.d.ts.map +1 -1
  196. package/dist/shadcn/ui/select.d.ts +3 -3
  197. package/dist/shadcn/ui/select.d.ts.map +1 -1
  198. package/dist/shadcn/ui/separator.d.ts +2 -2
  199. package/dist/shadcn/ui/separator.d.ts.map +1 -1
  200. package/dist/shadcn/ui/sheet.d.ts +5 -5
  201. package/dist/shadcn/ui/sheet.d.ts.map +1 -1
  202. package/dist/shadcn/ui/sidebar.d.ts +26 -26
  203. package/dist/shadcn/ui/sidebar.d.ts.map +1 -1
  204. package/dist/shadcn/ui/skeleton.d.ts +1 -1
  205. package/dist/shadcn/ui/skeleton.d.ts.map +1 -1
  206. package/dist/shadcn/ui/slider.d.ts +2 -2
  207. package/dist/shadcn/ui/slider.d.ts.map +1 -1
  208. package/dist/shadcn/ui/sonner.d.ts.map +1 -1
  209. package/dist/shadcn/ui/switch.d.ts +2 -2
  210. package/dist/shadcn/ui/switch.d.ts.map +1 -1
  211. package/dist/shadcn/ui/table.d.ts +9 -9
  212. package/dist/shadcn/ui/table.d.ts.map +1 -1
  213. package/dist/shadcn/ui/tabs.d.ts +2 -2
  214. package/dist/shadcn/ui/tabs.d.ts.map +1 -1
  215. package/dist/shadcn/ui/textarea.d.ts +2 -2
  216. package/dist/shadcn/ui/textarea.d.ts.map +1 -1
  217. package/dist/shadcn/ui/toggle-group.d.ts +2 -2
  218. package/dist/shadcn/ui/toggle-group.d.ts.map +1 -1
  219. package/dist/shadcn/ui/toggle.d.ts +2 -2
  220. package/dist/shadcn/ui/toggle.d.ts.map +1 -1
  221. package/dist/shadcn/ui/tooltip.d.ts +2 -2
  222. package/dist/shadcn/ui/tooltip.d.ts.map +1 -1
  223. package/package.json +2 -2
  224. package/src/index.ts +1 -1
  225. package/src/kit/builder/auth/AuthProvider.tsx +131 -0
  226. package/src/kit/builder/auth/adapter.ts +436 -0
  227. package/src/kit/builder/auth/client-adapters.ts +398 -0
  228. package/src/kit/builder/auth/components.tsx +221 -0
  229. package/src/kit/builder/auth/hooks.ts +237 -0
  230. package/src/kit/builder/auth/index.ts +134 -0
  231. package/src/kit/builder/auth/permission-checker.ts +150 -0
  232. package/src/kit/builder/auth/storage.ts +366 -0
  233. package/src/kit/builder/auth/token-manager.ts +55 -0
  234. package/src/kit/builder/auth/types.ts +393 -0
  235. package/src/kit/builder/data-table/components/DataTable.tsx +214 -82
  236. package/src/kit/builder/data-table/components/DataTableColumnHeader.tsx +9 -5
  237. package/src/kit/builder/data-table/components/DataTablePagination.tsx +19 -5
  238. package/src/kit/builder/data-table/components/DataTableViewOptions.tsx +13 -4
  239. package/src/kit/builder/data-table/types.ts +18 -3
  240. package/src/kit/builder/dialog/index.ts +5 -1
  241. package/src/kit/builder/dialog/provider.tsx +56 -27
  242. package/src/kit/builder/form/components/FormBuilder.tsx +10 -14
  243. package/src/kit/builder/form/components/FormBuilderActions.tsx +1 -1
  244. package/src/kit/builder/form/components/FormBuilderContext.tsx +13 -6
  245. package/src/kit/builder/form/components/FormBuilderField.tsx +70 -20
  246. package/src/kit/builder/form/components/fields/ArrayField.tsx +148 -62
  247. package/src/kit/builder/form/components/fields/AutocompleteField.tsx +53 -18
  248. package/src/kit/builder/form/components/fields/CheckboxField.tsx +20 -11
  249. package/src/kit/builder/form/components/fields/DateField.tsx +17 -6
  250. package/src/kit/builder/form/components/fields/DatePickerField.tsx +15 -10
  251. package/src/kit/builder/form/components/fields/DateRangePickerField.tsx +20 -15
  252. package/src/kit/builder/form/components/fields/DateTimePickerField.tsx +16 -11
  253. package/src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx +23 -17
  254. package/src/kit/builder/form/components/fields/FileField.tsx +10 -5
  255. package/src/kit/builder/form/components/fields/MonthPickerField.tsx +18 -11
  256. package/src/kit/builder/form/components/fields/MonthRangePickerField.tsx +23 -17
  257. package/src/kit/builder/form/components/fields/NumberField.tsx +9 -4
  258. package/src/kit/builder/form/components/fields/ObjectField.tsx +12 -7
  259. package/src/kit/builder/form/components/fields/RadioField.tsx +32 -14
  260. package/src/kit/builder/form/components/fields/SelectField.tsx +26 -11
  261. package/src/kit/builder/form/components/fields/SwitchField.tsx +20 -11
  262. package/src/kit/builder/form/components/fields/TextField.tsx +11 -5
  263. package/src/kit/builder/form/components/fields/TextareaField.tsx +9 -4
  264. package/src/kit/builder/form/components/fields/TimePickerField.tsx +16 -11
  265. package/src/kit/builder/form/components/fields/TimeRangePickerField.tsx +23 -17
  266. package/src/kit/builder/form/components/fields/index.ts +21 -21
  267. package/src/kit/builder/form/components/fields/types.ts +15 -11
  268. package/src/kit/builder/form/components/sectionNodes.tsx +63 -40
  269. package/src/kit/builder/form/hooks/useFormBuilder.ts +83 -34
  270. package/src/kit/builder/form/types.ts +173 -148
  271. package/src/kit/builder/form/utils/section-factories.ts +4 -1
  272. package/src/kit/builder/form/utils/transformers.ts +4 -4
  273. package/src/kit/builder/form/utils/validations.ts +1 -1
  274. package/src/kit/builder/page/Page.tsx +26 -6
  275. package/src/kit/builder/page/index.ts +1 -1
  276. package/src/kit/builder/section/SectionBuilder.tsx +252 -127
  277. package/src/kit/builder/section/SectionContainer.tsx +85 -0
  278. package/src/kit/builder/stack-dialog/context.ts +10 -4
  279. package/src/kit/builder/stack-dialog/hooks.ts +4 -3
  280. package/src/kit/builder/stack-dialog/index.ts +5 -11
  281. package/src/kit/builder/stack-dialog/provider.tsx +11 -11
  282. package/src/kit/builder/stack-dialog/renderer.tsx +23 -26
  283. package/src/kit/builder/stack-dialog/types.ts +18 -18
  284. package/src/kit/components/autocomplete/Autocomplete.tsx +631 -549
  285. package/src/kit/components/autocomplete/types.ts +17 -17
  286. package/src/kit/components/datepicker/DatePicker.tsx +33 -9
  287. package/src/kit/components/datepicker/DateRangePicker.tsx +159 -87
  288. package/src/kit/components/datetimepicker/DateTimePicker.tsx +136 -30
  289. package/src/kit/components/datetimepicker/DateTimeRangePicker.tsx +257 -67
  290. package/src/kit/components/datetimepicker/index.ts +3 -3
  291. package/src/kit/components/fileuploader/FileUploader.tsx +315 -180
  292. package/src/kit/components/fileuploader/index.ts +3 -3
  293. package/src/kit/components/fileuploader/types.ts +3 -3
  294. package/src/kit/components/forminfo/FormInfoError.tsx +26 -11
  295. package/src/kit/components/login/Login.tsx +13 -4
  296. package/src/kit/components/monthpicker/MonthInput.tsx +13 -4
  297. package/src/kit/components/monthpicker/MonthPicker.tsx +12 -11
  298. package/src/kit/components/monthpicker/MonthRangeInput.tsx +29 -8
  299. package/src/kit/components/monthpicker/MonthRangePicker.tsx +23 -21
  300. package/src/kit/components/timepicker/TimePicker.tsx +19 -11
  301. package/src/kit/components/timepicker/TimeRangePicker.tsx +106 -29
  302. package/src/kit/components/timepicker/index.ts +3 -3
  303. package/src/kit/layouts/admin/components/AdminLayout.tsx +53 -24
  304. package/src/kit/layouts/admin/components/ThemeToggle.tsx +3 -9
  305. package/src/kit/layouts/admin/hooks/menu.ts +11 -5
  306. package/src/kit/layouts/admin/providers/AdminMenuProvider.tsx +59 -39
  307. package/src/kit/layouts/admin/types/index.ts +1 -1
  308. package/src/kit/themes/base.css +1 -1
  309. package/src/kit/themes/clean-slate.css +40 -32
  310. package/src/kit/themes/default.css +34 -24
  311. package/src/kit/themes/minimal-modern.css +37 -29
  312. package/src/kit/themes/spotify.css +56 -39
  313. package/src/shadcn/hooks/use-mobile.ts +13 -11
  314. package/src/shadcn/lib/utils.ts +2 -2
  315. package/src/shadcn/ui/accordion.tsx +14 -14
  316. package/src/shadcn/ui/alert-dialog.tsx +29 -29
  317. package/src/shadcn/ui/alert.tsx +20 -20
  318. package/src/shadcn/ui/aspect-ratio.tsx +4 -4
  319. package/src/shadcn/ui/avatar.tsx +13 -13
  320. package/src/shadcn/ui/badge.tsx +16 -16
  321. package/src/shadcn/ui/breadcrumb.tsx +28 -28
  322. package/src/shadcn/ui/button.tsx +23 -23
  323. package/src/shadcn/ui/calendar.tsx +82 -78
  324. package/src/shadcn/ui/card.tsx +27 -27
  325. package/src/shadcn/ui/carousel.tsx +93 -93
  326. package/src/shadcn/ui/chart.tsx +103 -103
  327. package/src/shadcn/ui/checkbox.tsx +9 -9
  328. package/src/shadcn/ui/collapsible.tsx +6 -6
  329. package/src/shadcn/ui/command.tsx +36 -36
  330. package/src/shadcn/ui/context-menu.tsx +40 -40
  331. package/src/shadcn/ui/dialog.tsx +28 -28
  332. package/src/shadcn/ui/drawer.tsx +30 -30
  333. package/src/shadcn/ui/dropdown-menu.tsx +41 -41
  334. package/src/shadcn/ui/form.tsx +48 -47
  335. package/src/shadcn/ui/hover-card.tsx +11 -11
  336. package/src/shadcn/ui/input-otp.tsx +23 -23
  337. package/src/shadcn/ui/input.tsx +9 -9
  338. package/src/shadcn/ui/label.tsx +8 -8
  339. package/src/shadcn/ui/menubar.tsx +47 -47
  340. package/src/shadcn/ui/navigation-menu.tsx +33 -33
  341. package/src/shadcn/ui/pagination.tsx +28 -28
  342. package/src/shadcn/ui/popover.tsx +12 -12
  343. package/src/shadcn/ui/progress.tsx +8 -8
  344. package/src/shadcn/ui/radio-group.tsx +11 -11
  345. package/src/shadcn/ui/resizable.tsx +14 -14
  346. package/src/shadcn/ui/scroll-area.tsx +15 -15
  347. package/src/shadcn/ui/select.tsx +34 -34
  348. package/src/shadcn/ui/separator.tsx +9 -9
  349. package/src/shadcn/ui/sheet.tsx +36 -36
  350. package/src/shadcn/ui/sidebar.tsx +227 -227
  351. package/src/shadcn/ui/skeleton.tsx +5 -5
  352. package/src/shadcn/ui/slider.tsx +12 -12
  353. package/src/shadcn/ui/sonner.tsx +11 -11
  354. package/src/shadcn/ui/switch.tsx +9 -9
  355. package/src/shadcn/ui/table.tsx +32 -32
  356. package/src/shadcn/ui/tabs.tsx +14 -14
  357. package/src/shadcn/ui/textarea.tsx +7 -7
  358. package/src/shadcn/ui/toggle-group.tsx +17 -17
  359. package/src/shadcn/ui/toggle.tsx +16 -16
  360. package/src/shadcn/ui/tooltip.tsx +11 -11
  361. package/src/stories/FileUploader.stories.tsx +23 -4
  362. package/src/stories/kit/builder/DataTable.Basic.stories.tsx +14 -4
  363. package/src/stories/kit/builder/DataTable.Filters.stories.tsx +36 -14
  364. package/src/stories/kit/builder/DataTable.Pagination.stories.tsx +3 -2
  365. package/src/stories/kit/builder/DataTable.SelectionAndActions.stories.tsx +18 -4
  366. package/src/stories/kit/builder/DataTable.Sorting.stories.tsx +18 -7
  367. package/src/stories/kit/builder/Dialog.stories.tsx +19 -13
  368. package/src/stories/kit/builder/Form.ArrayLayouts.stories.tsx +40 -16
  369. package/src/stories/kit/builder/Form.Autocomplete.stories.tsx +34 -22
  370. package/src/stories/kit/builder/Form.Basic.stories.tsx +38 -6
  371. package/src/stories/kit/builder/Form.Complex.stories.tsx +356 -111
  372. package/src/stories/kit/builder/Form.DateTime.stories.tsx +12 -8
  373. package/src/stories/kit/builder/Form.Dynamic.stories.tsx +695 -132
  374. package/src/stories/kit/builder/Form.Files.stories.tsx +37 -26
  375. package/src/stories/kit/builder/Form.MultipleFormBuilder.stories.tsx +46 -42
  376. package/src/stories/kit/builder/Form.Pickers.stories.tsx +12 -8
  377. package/src/stories/kit/builder/Form.Simple.stories.tsx +15 -6
  378. package/src/stories/kit/builder/Form.Time.stories.tsx +12 -8
  379. package/src/stories/kit/builder/Page.stories.tsx +32 -6
  380. package/src/stories/kit/builder/Section.stories.tsx +58 -11
  381. package/src/stories/kit/components/Autocomplete.stories.tsx +55 -22
  382. package/src/stories/kit/components/DatePicker.stories.tsx +80 -13
  383. package/src/stories/kit/components/DateRangePicker.stories.tsx +52 -11
  384. package/src/stories/kit/components/Login.stories.tsx +8 -2
  385. package/src/stories/kit/components/MonthPicker.stories.tsx +26 -6
  386. package/src/stories/kit/components/MonthRangePicker.stories.tsx +24 -5
  387. package/src/stories/kit/components/TimePicker.stories.tsx +18 -16
  388. package/src/stories/kit/components/TimeRangePicker.stories.tsx +18 -12
  389. package/src/stories/kit/layouts/admin/AdminLayout.Basic.stories.tsx +29 -6
  390. package/src/stories/kit/layouts/admin/AdminLayout.Collapsible.stories.tsx +26 -5
  391. package/src/stories/kit/layouts/admin/AdminLayout.Complex.stories.tsx +101 -18
  392. package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarHeaderComponent.stories.tsx +18 -4
  393. package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarTitleAndIcon.stories.tsx +17 -4
  394. package/src/stories/kit/layouts/admin/AdminLayout.HeaderSlots.stories.tsx +28 -6
  395. package/src/stories/shadcn/ui/Accordion.stories.tsx +33 -10
  396. package/src/stories/shadcn/ui/AlertDialog.stories.tsx +3 -1
  397. package/src/stories/shadcn/ui/Button.stories.tsx +3 -1
  398. package/src/stories/shadcn/ui/Calendar.stories.tsx +6 -1
  399. package/src/stories/shadcn/ui/Card.stories.tsx +11 -2
  400. package/src/stories/shadcn/ui/Checkbox.stories.tsx +11 -3
  401. package/src/stories/shadcn/ui/Collapsible.stories.tsx +12 -5
  402. package/src/stories/shadcn/ui/ContextMenu.stories.tsx +12 -4
  403. package/src/stories/shadcn/ui/Dialog.stories.tsx +15 -3
  404. package/src/stories/shadcn/ui/Drawer.stories.tsx +5 -2
  405. package/src/stories/shadcn/ui/DropdownMenu.stories.tsx +15 -5
  406. package/src/stories/shadcn/ui/Form.stories.tsx +5 -2
  407. package/src/stories/shadcn/ui/HoverCard.stories.tsx +8 -2
  408. package/src/stories/shadcn/ui/Input.stories.tsx +3 -1
  409. package/src/stories/shadcn/ui/InputOtp.stories.tsx +9 -2
  410. package/src/stories/shadcn/ui/Menubar.stories.tsx +21 -7
  411. package/src/stories/shadcn/ui/NavigationMenu.stories.tsx +30 -5
  412. package/src/stories/shadcn/ui/Popover.stories.tsx +8 -2
  413. package/src/stories/shadcn/ui/Resizable.stories.tsx +17 -5
  414. package/src/stories/shadcn/ui/ScrollArea.stories.tsx +54 -2
  415. package/src/stories/shadcn/ui/Select.stories.tsx +7 -1
  416. package/src/stories/shadcn/ui/Sheet.stories.tsx +2 -1
  417. package/src/stories/shadcn/ui/Sidebar.stories.tsx +13 -2
  418. package/src/stories/shadcn/ui/Sonner.stories.tsx +12 -2
  419. package/src/stories/shadcn/ui/Table.stories.tsx +86 -27
  420. package/src/stories/shadcn/ui/Tabs.stories.tsx +9 -2
  421. package/src/stories/shadcn/ui/Textarea.stories.tsx +3 -1
  422. package/src/stories/shadcn/ui/Toggle.stories.tsx +10 -2
  423. package/src/stories/shadcn/ui/Tooltip.stories.tsx +6 -1
  424. package/storybook-static/assets/Accordion.stories-KU4JBR8U.js +52 -0
  425. package/storybook-static/assets/AdminLayout-CPvVCwfY.js +53 -0
  426. package/storybook-static/assets/AdminLayout.Basic.stories-DkP2UVXe.js +4 -0
  427. package/storybook-static/assets/AdminLayout.Collapsible.stories-BuuVjtpW.js +4 -0
  428. package/storybook-static/assets/AdminLayout.Complex.stories-D-k4H0hJ.js +29 -0
  429. package/storybook-static/assets/AdminLayout.CustomSidebarHeaderComponent.stories-B_0IEDd4.js +9 -0
  430. package/storybook-static/assets/AdminLayout.CustomSidebarTitleAndIcon.stories-CvAeXUyA.js +4 -0
  431. package/storybook-static/assets/AdminLayout.HeaderSlots.stories-RBFHoSZK.js +7 -0
  432. package/storybook-static/assets/Alert.stories-DKxKtIc0.js +27 -0
  433. package/storybook-static/assets/AlertDialog.stories-BqTpZ_nG.js +43 -0
  434. package/storybook-static/assets/AspectRatio.stories-DPO9QQ5F.js +22 -0
  435. package/storybook-static/assets/Autocomplete-Cpg4CaJe.js +56 -0
  436. package/storybook-static/assets/Autocomplete.stories-CWj4G5fh.js +56 -0
  437. package/storybook-static/assets/Avatar.stories-DPhov_2g.js +12 -0
  438. package/storybook-static/assets/Badge.stories-DFKrRdXq.js +12 -0
  439. package/storybook-static/assets/Breadcrumb.stories-CTE6CZUC.js +25 -0
  440. package/storybook-static/assets/Button.stories-cbt2InL-.js +26 -0
  441. package/storybook-static/assets/Calendar.stories-DRhTw_43.js +3 -0
  442. package/storybook-static/assets/Card.stories-Isf6n_K3.js +15 -0
  443. package/storybook-static/assets/Carousel.stories-Cmg0I3fR.js +15 -0
  444. package/storybook-static/assets/Chart.stories-aQ-fNijT.js +126 -0
  445. package/storybook-static/assets/Checkbox.stories-B7YMXPDc.js +12 -0
  446. package/storybook-static/assets/Collapsible.stories-BUzl17ZZ.js +18 -0
  447. package/storybook-static/assets/Combination-BdQWAuko.js +41 -0
  448. package/storybook-static/assets/Command.stories-DzBlWQs0.js +30 -0
  449. package/storybook-static/assets/ContextMenu.stories-CJlBQyXc.js +31 -0
  450. package/storybook-static/assets/DataTable.Basic.stories-BWYKFDmK.js +6 -0
  451. package/storybook-static/assets/DataTable.Filters.stories-uZdtJk8t.js +21 -0
  452. package/storybook-static/assets/DataTable.Pagination.stories-C5N1khkp.js +24 -0
  453. package/storybook-static/assets/DataTable.SelectionAndActions.stories-FhCqZKvO.js +26 -0
  454. package/storybook-static/assets/DataTable.Sorting.stories-D-k7EtRj.js +6 -0
  455. package/storybook-static/assets/Dialog.stories-C62AF-Gx.js +54 -0
  456. package/storybook-static/assets/Dialog.stories-lrjRwOus.js +18 -0
  457. package/storybook-static/assets/Drawer.stories-CGjkdJeV.js +24 -0
  458. package/storybook-static/assets/DropdownMenu.stories-DkGClRAA.js +35 -0
  459. package/storybook-static/assets/Form.ArrayLayouts.stories-C5d_062d.js +130 -0
  460. package/storybook-static/assets/Form.Autocomplete.stories-CPZPkk4o.js +142 -0
  461. package/storybook-static/assets/Form.Basic.stories-Bhcu3-3n.js +58 -0
  462. package/storybook-static/assets/Form.Complex.stories-QnXh5a7Q.js +361 -0
  463. package/storybook-static/assets/Form.Dynamic.stories-DFW6wIuT.js +502 -0
  464. package/storybook-static/assets/Form.Simple.stories-BhJcyhbE.js +53 -0
  465. package/storybook-static/assets/Form.stories-PFNsMYxO.js +3 -0
  466. package/storybook-static/assets/FormBuilder-BQBBxo_k.js +5 -0
  467. package/storybook-static/assets/HoverCard.stories-CAlQEVn8.js +21 -0
  468. package/storybook-static/assets/Input.stories-CEhODt0V.js +16 -0
  469. package/storybook-static/assets/InputOtp.stories-DSvNP4dS.js +42 -0
  470. package/storybook-static/assets/Label.stories-B3pa8ZLY.js +14 -0
  471. package/storybook-static/assets/Login.stories-C7KQkmR_.js +37 -0
  472. package/storybook-static/assets/Menubar.stories-CHXhSHxc.js +44 -0
  473. package/storybook-static/assets/MonthPicker.stories-BnrOc4fm.js +99 -0
  474. package/storybook-static/assets/MonthRangePicker.stories-55Gk1t-7.js +134 -0
  475. package/storybook-static/assets/NavigationMenu.stories-CXoS080P.js +30 -0
  476. package/storybook-static/assets/Page.stories-GdSJgZ6-.js +91 -0
  477. package/storybook-static/assets/Pagination.stories-BEBwqH4N.js +29 -0
  478. package/storybook-static/assets/Popover.stories-BICy98Cw.js +15 -0
  479. package/storybook-static/assets/Progress.stories-DECHNOME.js +8 -0
  480. package/storybook-static/assets/RadioGroup.stories-DA7-uKfV.js +16 -0
  481. package/storybook-static/assets/Resizable.stories-B99kWkH7.js +25 -0
  482. package/storybook-static/assets/ScrollArea.stories-BqvUAXqU.js +12 -0
  483. package/storybook-static/assets/Section.stories-lFMlFBQn.js +277 -0
  484. package/storybook-static/assets/SectionBuilder-BQW705x0.js +1 -0
  485. package/storybook-static/assets/Select.stories-BsKyZ6Io.js +17 -0
  486. package/storybook-static/assets/Separator.stories-BTDOaOM2.js +17 -0
  487. package/storybook-static/assets/Sheet.stories-Cam1gR6G.js +24 -0
  488. package/storybook-static/assets/Sidebar.stories-DnOa6G7y.js +106 -0
  489. package/storybook-static/assets/Skeleton.stories-BQNIuIe5.js +9 -0
  490. package/storybook-static/assets/Slider.stories-Bslq7hjq.js +6 -0
  491. package/storybook-static/assets/Sonner.stories-D34pBBtI.js +18 -0
  492. package/storybook-static/assets/Switch.stories-Puyb1-Bx.js +3 -0
  493. package/storybook-static/assets/Table.stories-ClZxAhut.js +35 -0
  494. package/storybook-static/assets/Tabs.stories-CURNTETB.js +10 -0
  495. package/storybook-static/assets/Textarea.stories-Cf1ZBrWw.js +17 -0
  496. package/storybook-static/assets/Toggle.stories-CdMHY_bi.js +3 -0
  497. package/storybook-static/assets/ToggleGroup.stories-BM68m1dX.js +13 -0
  498. package/storybook-static/assets/Tooltip.stories-DiQv64dM.js +10 -0
  499. package/storybook-static/assets/accordion-DVgwQcnw.js +1 -0
  500. package/storybook-static/assets/alert-dialog-DCUEwpqm.js +7 -0
  501. package/storybook-static/assets/avatar-BzwOE-mi.js +1 -0
  502. package/storybook-static/assets/axe-HmUsR1st.js +30 -0
  503. package/storybook-static/assets/badge-BnQWua6u.js +1 -0
  504. package/storybook-static/assets/button-0oMkiryo.js +1 -0
  505. package/storybook-static/assets/card-BJpPOzP8.js +1 -0
  506. package/storybook-static/assets/chart-column-DZGb4ZZS.js +6 -0
  507. package/storybook-static/assets/check-B9hBGj6o.js +6 -0
  508. package/storybook-static/assets/checkbox-CyIeaWHX.js +1 -0
  509. package/storybook-static/assets/chevron-down-D_37S6il.js +6 -0
  510. package/storybook-static/assets/chevron-left-BBoN0vbI.js +6 -0
  511. package/storybook-static/assets/chevron-right-B5vIMLxK.js +6 -0
  512. package/storybook-static/assets/circle-C5Lzx6Nx.js +6 -0
  513. package/storybook-static/assets/clean-slate-D1HmMFJM.css +1 -0
  514. package/storybook-static/assets/command-Csa9p8_a.js +6 -0
  515. package/storybook-static/assets/createLucideIcon-BrHXro7t.js +21 -0
  516. package/storybook-static/assets/default-CN_Fo1GY.css +1 -0
  517. package/storybook-static/assets/dependencies-ctrV69dx.js +1 -0
  518. package/storybook-static/assets/dialog-CsnqITTn.js +1 -0
  519. package/storybook-static/assets/dropdown-menu-BWxxwPHL.js +1 -0
  520. package/storybook-static/assets/ellipsis-BRS038RR.js +6 -0
  521. package/storybook-static/assets/grip-vertical-BxXG8KNA.js +6 -0
  522. package/storybook-static/assets/iframe-C9bogcIc.css +1 -0
  523. package/storybook-static/assets/iframe-v7iAhKit.js +1555 -0
  524. package/storybook-static/assets/index-0-qMRXou.js +1 -0
  525. package/storybook-static/assets/index-AvwFFKJc.js +1 -0
  526. package/storybook-static/assets/index-BVDb4dFc.js +1 -0
  527. package/storybook-static/assets/index-B_qx7A5T.js +1 -0
  528. package/storybook-static/assets/index-BdQq_4o_.js +1 -0
  529. package/storybook-static/assets/index-BfiCOk42.js +1 -0
  530. package/storybook-static/assets/index-Bv9yk470.js +1 -0
  531. package/storybook-static/assets/index-Bw1A27Kp.js +1 -0
  532. package/storybook-static/assets/index-ByqivBWx.js +1 -0
  533. package/storybook-static/assets/index-C9Ta0ZTH.js +1 -0
  534. package/storybook-static/assets/index-CDY5kTx5.js +1 -0
  535. package/storybook-static/assets/index-CGnyVRgB.js +1 -0
  536. package/storybook-static/assets/index-CGrAONsN.js +1 -0
  537. package/storybook-static/assets/index-CWjrGFAQ.js +1 -0
  538. package/storybook-static/assets/index-CwBdPBFz.js +9 -0
  539. package/storybook-static/assets/index-D8RXF03I.js +1 -0
  540. package/storybook-static/assets/index-DLIxT4Z7.js +1 -0
  541. package/storybook-static/assets/index-DW48STyt.js +1 -0
  542. package/storybook-static/assets/index-DbaA6-o1.js +1 -0
  543. package/storybook-static/assets/index-Dph_5COR.js +1 -0
  544. package/storybook-static/assets/index-DrN5n71E.js +1 -0
  545. package/storybook-static/assets/index-Tp9IdbR8.js +1 -0
  546. package/storybook-static/assets/index-WyF3-wTE.js +9 -0
  547. package/storybook-static/assets/index-XSmPROEP.js +1 -0
  548. package/storybook-static/assets/index-Z6wF44KX.js +5 -0
  549. package/storybook-static/assets/index-_RPqOjlQ.js +1 -0
  550. package/storybook-static/assets/index-jrimW4QO.js +1 -0
  551. package/storybook-static/assets/index-nqc17SX4.js +1 -0
  552. package/storybook-static/assets/input-11YRd9gD.js +1 -0
  553. package/storybook-static/assets/jsx-runtime-D_zvdyIk.js +9 -0
  554. package/storybook-static/assets/label-Do8ODIVk.js +1 -0
  555. package/storybook-static/assets/lodash-DDwpuhPG.js +73 -0
  556. package/storybook-static/assets/matchers-7Z3WT2CE-T3xScrR7.js +14 -0
  557. package/storybook-static/assets/minimal-modern-BlYVzfQU.css +1 -0
  558. package/storybook-static/assets/popover-CcciSWAw.js +1 -0
  559. package/storybook-static/assets/preload-helper-Dp1pzeXC.js +1 -0
  560. package/storybook-static/assets/radio-group-DiJ0Y_KQ.js +1 -0
  561. package/storybook-static/assets/react-18-Cr9fq_Ip.js +25 -0
  562. package/storybook-static/assets/react-icons.esm-B_ULMmNU.js +1 -0
  563. package/storybook-static/assets/refresh-cw-BmRDhIV_.js +6 -0
  564. package/storybook-static/assets/schemas-CGNYCiJ6.js +18 -0
  565. package/storybook-static/assets/section-factories-DCCY9R35.js +1 -0
  566. package/storybook-static/assets/select-DDrkxaOg.js +6 -0
  567. package/storybook-static/assets/separator-o5SAUnaJ.js +1 -0
  568. package/storybook-static/assets/settings-2-xWGvvbG6.js +6 -0
  569. package/storybook-static/assets/sheet-C7jhU3XE.js +1 -0
  570. package/storybook-static/assets/shopping-cart-BFlrufvo.js +11 -0
  571. package/storybook-static/assets/sidebar-C8hU1Mxy.js +6 -0
  572. package/storybook-static/assets/skeleton-CjDnQs43.js +1 -0
  573. package/storybook-static/assets/spotify-CUDj7g8m.css +1 -0
  574. package/storybook-static/assets/switch-CKGRuk3u.js +1 -0
  575. package/storybook-static/assets/table-CP3vMqFn.js +1 -0
  576. package/storybook-static/assets/tabs-CopK2m3j.js +1 -0
  577. package/storybook-static/assets/textarea-Dw2vruMl.js +1 -0
  578. package/storybook-static/assets/toggle-DmHbWetf.js +16 -0
  579. package/storybook-static/assets/tooltip-_LqYEYFw.js +1 -0
  580. package/storybook-static/assets/trash-2-xdbApPby.js +11 -0
  581. package/storybook-static/assets/utils-D-KgF5mV.js +1 -0
  582. package/storybook-static/assets/x-B1a4fyWM.js +6 -0
  583. package/storybook-static/favicon-wrapper.svg +46 -0
  584. package/storybook-static/favicon.svg +1 -0
  585. package/storybook-static/iframe.html +687 -0
  586. package/storybook-static/index.d.ts +64 -0
  587. package/storybook-static/index.d.ts.map +1 -0
  588. package/storybook-static/index.html +166 -0
  589. package/storybook-static/index.json +1 -0
  590. package/storybook-static/kit/builder/data-table/components/DataTable.d.ts +37 -0
  591. package/storybook-static/kit/builder/data-table/components/DataTable.d.ts.map +1 -0
  592. package/storybook-static/kit/builder/data-table/components/DataTableColumnHeader.d.ts +8 -0
  593. package/storybook-static/kit/builder/data-table/components/DataTableColumnHeader.d.ts.map +1 -0
  594. package/storybook-static/kit/builder/data-table/components/DataTablePagination.d.ts +6 -0
  595. package/storybook-static/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -0
  596. package/storybook-static/kit/builder/data-table/components/DataTableViewOptions.d.ts +5 -0
  597. package/storybook-static/kit/builder/data-table/components/DataTableViewOptions.d.ts.map +1 -0
  598. package/storybook-static/kit/builder/data-table/index.d.ts +7 -0
  599. package/storybook-static/kit/builder/data-table/index.d.ts.map +1 -0
  600. package/storybook-static/kit/builder/data-table/types.d.ts +27 -0
  601. package/storybook-static/kit/builder/data-table/types.d.ts.map +1 -0
  602. package/storybook-static/kit/builder/data-table/utils/dotAccessor.d.ts +2 -0
  603. package/storybook-static/kit/builder/data-table/utils/dotAccessor.d.ts.map +1 -0
  604. package/storybook-static/kit/builder/dialog/index.d.ts +3 -0
  605. package/storybook-static/kit/builder/dialog/index.d.ts.map +1 -0
  606. package/storybook-static/kit/builder/dialog/provider.d.ts +26 -0
  607. package/storybook-static/kit/builder/dialog/provider.d.ts.map +1 -0
  608. package/storybook-static/kit/builder/form/components/FormBuilder.d.ts +137 -0
  609. package/storybook-static/kit/builder/form/components/FormBuilder.d.ts.map +1 -0
  610. package/storybook-static/kit/builder/form/components/FormBuilderActions.d.ts +20 -0
  611. package/storybook-static/kit/builder/form/components/FormBuilderActions.d.ts.map +1 -0
  612. package/storybook-static/kit/builder/form/components/FormBuilderField.d.ts +12 -0
  613. package/storybook-static/kit/builder/form/components/FormBuilderField.d.ts.map +1 -0
  614. package/storybook-static/kit/builder/form/components/fields/ArrayField.d.ts +3 -0
  615. package/storybook-static/kit/builder/form/components/fields/ArrayField.d.ts.map +1 -0
  616. package/storybook-static/kit/builder/form/components/fields/AutocompleteField.d.ts +3 -0
  617. package/storybook-static/kit/builder/form/components/fields/AutocompleteField.d.ts.map +1 -0
  618. package/storybook-static/kit/builder/form/components/fields/CheckboxField.d.ts +3 -0
  619. package/storybook-static/kit/builder/form/components/fields/CheckboxField.d.ts.map +1 -0
  620. package/storybook-static/kit/builder/form/components/fields/DateField.d.ts +3 -0
  621. package/storybook-static/kit/builder/form/components/fields/DateField.d.ts.map +1 -0
  622. package/storybook-static/kit/builder/form/components/fields/FileField.d.ts +3 -0
  623. package/storybook-static/kit/builder/form/components/fields/FileField.d.ts.map +1 -0
  624. package/storybook-static/kit/builder/form/components/fields/NumberField.d.ts +3 -0
  625. package/storybook-static/kit/builder/form/components/fields/NumberField.d.ts.map +1 -0
  626. package/storybook-static/kit/builder/form/components/fields/ObjectField.d.ts +3 -0
  627. package/storybook-static/kit/builder/form/components/fields/ObjectField.d.ts.map +1 -0
  628. package/storybook-static/kit/builder/form/components/fields/RadioField.d.ts +3 -0
  629. package/storybook-static/kit/builder/form/components/fields/RadioField.d.ts.map +1 -0
  630. package/storybook-static/kit/builder/form/components/fields/SelectField.d.ts +3 -0
  631. package/storybook-static/kit/builder/form/components/fields/SelectField.d.ts.map +1 -0
  632. package/storybook-static/kit/builder/form/components/fields/SwitchField.d.ts +3 -0
  633. package/storybook-static/kit/builder/form/components/fields/SwitchField.d.ts.map +1 -0
  634. package/storybook-static/kit/builder/form/components/fields/TextField.d.ts +3 -0
  635. package/storybook-static/kit/builder/form/components/fields/TextField.d.ts.map +1 -0
  636. package/storybook-static/kit/builder/form/components/fields/TextareaField.d.ts +3 -0
  637. package/storybook-static/kit/builder/form/components/fields/TextareaField.d.ts.map +1 -0
  638. package/storybook-static/kit/builder/form/components/fields/index.d.ts +14 -0
  639. package/storybook-static/kit/builder/form/components/fields/index.d.ts.map +1 -0
  640. package/storybook-static/kit/builder/form/components/fields/types.d.ts +14 -0
  641. package/storybook-static/kit/builder/form/components/fields/types.d.ts.map +1 -0
  642. package/storybook-static/kit/builder/form/components/index.d.ts +4 -0
  643. package/storybook-static/kit/builder/form/components/index.d.ts.map +1 -0
  644. package/storybook-static/kit/builder/form/index.d.ts +3 -0
  645. package/storybook-static/kit/builder/form/index.d.ts.map +1 -0
  646. package/storybook-static/kit/builder/form/utils/common-forms.d.ts +7 -0
  647. package/storybook-static/kit/builder/form/utils/common-forms.d.ts.map +1 -0
  648. package/storybook-static/kit/builder/form/utils/dependencies.d.ts +41 -0
  649. package/storybook-static/kit/builder/form/utils/dependencies.d.ts.map +1 -0
  650. package/storybook-static/kit/builder/form/utils/field-factories.d.ts +23 -0
  651. package/storybook-static/kit/builder/form/utils/field-factories.d.ts.map +1 -0
  652. package/storybook-static/kit/builder/form/utils/index.d.ts +15 -0
  653. package/storybook-static/kit/builder/form/utils/index.d.ts.map +1 -0
  654. package/storybook-static/kit/builder/form/utils/section-factories.d.ts +7 -0
  655. package/storybook-static/kit/builder/form/utils/section-factories.d.ts.map +1 -0
  656. package/storybook-static/kit/builder/form/utils/transformers.d.ts +6 -0
  657. package/storybook-static/kit/builder/form/utils/transformers.d.ts.map +1 -0
  658. package/storybook-static/kit/builder/form/utils/validations.d.ts +13 -0
  659. package/storybook-static/kit/builder/form/utils/validations.d.ts.map +1 -0
  660. package/storybook-static/kit/builder/form/utils/validators.d.ts +8 -0
  661. package/storybook-static/kit/builder/form/utils/validators.d.ts.map +1 -0
  662. package/storybook-static/kit/builder/page/Page.d.ts +48 -0
  663. package/storybook-static/kit/builder/page/Page.d.ts.map +1 -0
  664. package/storybook-static/kit/builder/page/index.d.ts +2 -0
  665. package/storybook-static/kit/builder/page/index.d.ts.map +1 -0
  666. package/storybook-static/kit/builder/section/SectionBuilder.d.ts +3 -0
  667. package/storybook-static/kit/builder/section/SectionBuilder.d.ts.map +1 -0
  668. package/storybook-static/kit/builder/section/index.d.ts +3 -0
  669. package/storybook-static/kit/builder/section/index.d.ts.map +1 -0
  670. package/storybook-static/kit/builder/section/types.d.ts +70 -0
  671. package/storybook-static/kit/builder/section/types.d.ts.map +1 -0
  672. package/storybook-static/kit/builder/stack-dialog/context.d.ts +3 -0
  673. package/storybook-static/kit/builder/stack-dialog/context.d.ts.map +1 -0
  674. package/storybook-static/kit/builder/stack-dialog/hooks.d.ts +6 -0
  675. package/storybook-static/kit/builder/stack-dialog/hooks.d.ts.map +1 -0
  676. package/storybook-static/kit/builder/stack-dialog/index.d.ts +5 -0
  677. package/storybook-static/kit/builder/stack-dialog/index.d.ts.map +1 -0
  678. package/storybook-static/kit/builder/stack-dialog/provider.d.ts +3 -0
  679. package/storybook-static/kit/builder/stack-dialog/provider.d.ts.map +1 -0
  680. package/storybook-static/kit/builder/stack-dialog/renderer.d.ts +6 -0
  681. package/storybook-static/kit/builder/stack-dialog/renderer.d.ts.map +1 -0
  682. package/storybook-static/kit/builder/stack-dialog/types.d.ts +20 -0
  683. package/storybook-static/kit/builder/stack-dialog/types.d.ts.map +1 -0
  684. package/storybook-static/kit/components/autocomplete/Autocomplete.d.ts +53 -0
  685. package/storybook-static/kit/components/autocomplete/Autocomplete.d.ts.map +1 -0
  686. package/storybook-static/kit/components/autocomplete/index.d.ts +4 -0
  687. package/storybook-static/kit/components/autocomplete/index.d.ts.map +1 -0
  688. package/storybook-static/kit/components/autocomplete/types.d.ts +19 -0
  689. package/storybook-static/kit/components/autocomplete/types.d.ts.map +1 -0
  690. package/storybook-static/kit/components/login/Login.d.ts +29 -0
  691. package/storybook-static/kit/components/login/Login.d.ts.map +1 -0
  692. package/storybook-static/kit/components/login/index.d.ts +2 -0
  693. package/storybook-static/kit/components/login/index.d.ts.map +1 -0
  694. package/storybook-static/kit/components/monthpicker/MonthPicker.d.ts +32 -0
  695. package/storybook-static/kit/components/monthpicker/MonthPicker.d.ts.map +1 -0
  696. package/storybook-static/kit/components/monthpicker/MonthRangePicker.d.ts +48 -0
  697. package/storybook-static/kit/components/monthpicker/MonthRangePicker.d.ts.map +1 -0
  698. package/storybook-static/kit/layouts/admin/components/AdminLayout.d.ts +17 -0
  699. package/storybook-static/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -0
  700. package/storybook-static/kit/layouts/admin/components/ThemeToggle.d.ts +5 -0
  701. package/storybook-static/kit/layouts/admin/components/ThemeToggle.d.ts.map +1 -0
  702. package/storybook-static/kit/layouts/admin/hooks/menu.d.ts +13 -0
  703. package/storybook-static/kit/layouts/admin/hooks/menu.d.ts.map +1 -0
  704. package/storybook-static/kit/layouts/admin/providers/AdminMenuProvider.d.ts +7 -0
  705. package/storybook-static/kit/layouts/admin/providers/AdminMenuProvider.d.ts.map +1 -0
  706. package/storybook-static/kit/layouts/admin/types/index.d.ts +27 -0
  707. package/storybook-static/kit/layouts/admin/types/index.d.ts.map +1 -0
  708. package/storybook-static/kit/providers/ThemeProvider.d.ts +14 -0
  709. package/storybook-static/kit/providers/ThemeProvider.d.ts.map +1 -0
  710. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  711. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  712. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  713. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  714. package/storybook-static/project.json +1 -0
  715. package/storybook-static/sb-addons/a11y-5/manager-bundle.js +5 -0
  716. package/storybook-static/sb-addons/essentials-backgrounds-1/manager-bundle.js +3 -0
  717. package/storybook-static/sb-addons/essentials-measure-2/manager-bundle.js +3 -0
  718. package/storybook-static/sb-addons/essentials-outline-3/manager-bundle.js +3 -0
  719. package/storybook-static/sb-addons/interactions-4/manager-bundle.js +57 -0
  720. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +971 -0
  721. package/storybook-static/sb-addons/storysource-6/manager-bundle.js +3 -0
  722. package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
  723. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  724. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  725. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  726. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  727. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  728. package/storybook-static/sb-manager/globals-module-info.js +797 -0
  729. package/storybook-static/sb-manager/globals-runtime.js +69653 -0
  730. package/storybook-static/sb-manager/globals.js +34 -0
  731. package/storybook-static/sb-manager/runtime.js +13181 -0
  732. package/storybook-static/shadcn/hooks/use-mobile.d.ts +2 -0
  733. package/storybook-static/shadcn/hooks/use-mobile.d.ts.map +1 -0
  734. package/storybook-static/shadcn/lib/utils.d.ts +3 -0
  735. package/storybook-static/shadcn/lib/utils.d.ts.map +1 -0
  736. package/storybook-static/shadcn/ui/accordion.d.ts +8 -0
  737. package/storybook-static/shadcn/ui/accordion.d.ts.map +1 -0
  738. package/storybook-static/shadcn/ui/alert-dialog.d.ts +15 -0
  739. package/storybook-static/shadcn/ui/alert-dialog.d.ts.map +1 -0
  740. package/storybook-static/shadcn/ui/alert.d.ts +10 -0
  741. package/storybook-static/shadcn/ui/alert.d.ts.map +1 -0
  742. package/storybook-static/shadcn/ui/aspect-ratio.d.ts +4 -0
  743. package/storybook-static/shadcn/ui/aspect-ratio.d.ts.map +1 -0
  744. package/storybook-static/shadcn/ui/avatar.d.ts +7 -0
  745. package/storybook-static/shadcn/ui/avatar.d.ts.map +1 -0
  746. package/storybook-static/shadcn/ui/badge.d.ts +10 -0
  747. package/storybook-static/shadcn/ui/badge.d.ts.map +1 -0
  748. package/storybook-static/shadcn/ui/breadcrumb.d.ts +12 -0
  749. package/storybook-static/shadcn/ui/breadcrumb.d.ts.map +1 -0
  750. package/storybook-static/shadcn/ui/button.d.ts +11 -0
  751. package/storybook-static/shadcn/ui/button.d.ts.map +1 -0
  752. package/storybook-static/shadcn/ui/calendar.d.ts +9 -0
  753. package/storybook-static/shadcn/ui/calendar.d.ts.map +1 -0
  754. package/storybook-static/shadcn/ui/card.d.ts +10 -0
  755. package/storybook-static/shadcn/ui/card.d.ts.map +1 -0
  756. package/storybook-static/shadcn/ui/carousel.d.ts +20 -0
  757. package/storybook-static/shadcn/ui/carousel.d.ts.map +1 -0
  758. package/storybook-static/shadcn/ui/chart.d.ts +41 -0
  759. package/storybook-static/shadcn/ui/chart.d.ts.map +1 -0
  760. package/storybook-static/shadcn/ui/checkbox.d.ts +5 -0
  761. package/storybook-static/shadcn/ui/checkbox.d.ts.map +1 -0
  762. package/storybook-static/shadcn/ui/collapsible.d.ts +6 -0
  763. package/storybook-static/shadcn/ui/collapsible.d.ts.map +1 -0
  764. package/storybook-static/shadcn/ui/command.d.ts +19 -0
  765. package/storybook-static/shadcn/ui/command.d.ts.map +1 -0
  766. package/storybook-static/shadcn/ui/context-menu.d.ts +26 -0
  767. package/storybook-static/shadcn/ui/context-menu.d.ts.map +1 -0
  768. package/storybook-static/shadcn/ui/dialog.d.ts +16 -0
  769. package/storybook-static/shadcn/ui/dialog.d.ts.map +1 -0
  770. package/storybook-static/shadcn/ui/drawer.d.ts +14 -0
  771. package/storybook-static/shadcn/ui/drawer.d.ts.map +1 -0
  772. package/storybook-static/shadcn/ui/dropdown-menu.d.ts +26 -0
  773. package/storybook-static/shadcn/ui/dropdown-menu.d.ts.map +1 -0
  774. package/storybook-static/shadcn/ui/form.d.ts +25 -0
  775. package/storybook-static/shadcn/ui/form.d.ts.map +1 -0
  776. package/storybook-static/shadcn/ui/hover-card.d.ts +7 -0
  777. package/storybook-static/shadcn/ui/hover-card.d.ts.map +1 -0
  778. package/storybook-static/shadcn/ui/input-otp.d.ts +12 -0
  779. package/storybook-static/shadcn/ui/input-otp.d.ts.map +1 -0
  780. package/storybook-static/shadcn/ui/input.d.ts +4 -0
  781. package/storybook-static/shadcn/ui/input.d.ts.map +1 -0
  782. package/storybook-static/shadcn/ui/label.d.ts +5 -0
  783. package/storybook-static/shadcn/ui/label.d.ts.map +1 -0
  784. package/storybook-static/shadcn/ui/menubar.d.ts +27 -0
  785. package/storybook-static/shadcn/ui/menubar.d.ts.map +1 -0
  786. package/storybook-static/shadcn/ui/navigation-menu.d.ts +15 -0
  787. package/storybook-static/shadcn/ui/navigation-menu.d.ts.map +1 -0
  788. package/storybook-static/shadcn/ui/pagination.d.ts +14 -0
  789. package/storybook-static/shadcn/ui/pagination.d.ts.map +1 -0
  790. package/storybook-static/shadcn/ui/popover.d.ts +8 -0
  791. package/storybook-static/shadcn/ui/popover.d.ts.map +1 -0
  792. package/storybook-static/shadcn/ui/progress.d.ts +5 -0
  793. package/storybook-static/shadcn/ui/progress.d.ts.map +1 -0
  794. package/storybook-static/shadcn/ui/radio-group.d.ts +6 -0
  795. package/storybook-static/shadcn/ui/radio-group.d.ts.map +1 -0
  796. package/storybook-static/shadcn/ui/resizable.d.ts +9 -0
  797. package/storybook-static/shadcn/ui/resizable.d.ts.map +1 -0
  798. package/storybook-static/shadcn/ui/scroll-area.d.ts +6 -0
  799. package/storybook-static/shadcn/ui/scroll-area.d.ts.map +1 -0
  800. package/storybook-static/shadcn/ui/select.d.ts +16 -0
  801. package/storybook-static/shadcn/ui/select.d.ts.map +1 -0
  802. package/storybook-static/shadcn/ui/separator.d.ts +5 -0
  803. package/storybook-static/shadcn/ui/separator.d.ts.map +1 -0
  804. package/storybook-static/shadcn/ui/sheet.d.ts +14 -0
  805. package/storybook-static/shadcn/ui/sheet.d.ts.map +1 -0
  806. package/storybook-static/shadcn/ui/sidebar.d.ts +70 -0
  807. package/storybook-static/shadcn/ui/sidebar.d.ts.map +1 -0
  808. package/storybook-static/shadcn/ui/skeleton.d.ts +3 -0
  809. package/storybook-static/shadcn/ui/skeleton.d.ts.map +1 -0
  810. package/storybook-static/shadcn/ui/slider.d.ts +5 -0
  811. package/storybook-static/shadcn/ui/slider.d.ts.map +1 -0
  812. package/storybook-static/shadcn/ui/sonner.d.ts +4 -0
  813. package/storybook-static/shadcn/ui/sonner.d.ts.map +1 -0
  814. package/storybook-static/shadcn/ui/switch.d.ts +5 -0
  815. package/storybook-static/shadcn/ui/switch.d.ts.map +1 -0
  816. package/storybook-static/shadcn/ui/table.d.ts +11 -0
  817. package/storybook-static/shadcn/ui/table.d.ts.map +1 -0
  818. package/storybook-static/shadcn/ui/tabs.d.ts +8 -0
  819. package/storybook-static/shadcn/ui/tabs.d.ts.map +1 -0
  820. package/storybook-static/shadcn/ui/textarea.d.ts +4 -0
  821. package/storybook-static/shadcn/ui/textarea.d.ts.map +1 -0
  822. package/storybook-static/shadcn/ui/toggle-group.d.ts +8 -0
  823. package/storybook-static/shadcn/ui/toggle-group.d.ts.map +1 -0
  824. package/storybook-static/shadcn/ui/toggle.d.ts +10 -0
  825. package/storybook-static/shadcn/ui/toggle.d.ts.map +1 -0
  826. package/storybook-static/shadcn/ui/tooltip.d.ts +8 -0
  827. package/storybook-static/shadcn/ui/tooltip.d.ts.map +1 -0
  828. package/storybook-static/vite-inject-mocker-entry.js +18 -0
  829. package/tsconfig.json +1 -5
  830. package/tsconfig.tsbuildinfo +1 -0
  831. package/eslint.config.mjs +0 -19
@@ -0,0 +1,237 @@
1
+ import type {
2
+ AuthSession,
3
+ PermissionPolicy,
4
+ PermissionRule,
5
+ WithPermissionOptions,
6
+ } from './types';
7
+ import { useAuthContext } from './AuthProvider';
8
+
9
+ // ============================================================================
10
+ // Core Hooks
11
+ // ============================================================================
12
+
13
+ /**
14
+ * Hook to access the entire auth context
15
+ */
16
+ export function useAuth() {
17
+ return useAuthContext();
18
+ }
19
+
20
+ /**
21
+ * Hook to get the current auth status
22
+ */
23
+ export function useAuthStatus() {
24
+ const { status } = useAuthContext();
25
+ return status;
26
+ }
27
+
28
+ /**
29
+ * Hook to check if user is authenticated
30
+ */
31
+ export function useIsAuthenticated() {
32
+ const { status } = useAuthContext();
33
+ return status === 'authenticated';
34
+ }
35
+
36
+ /**
37
+ * Hook to get the current session
38
+ */
39
+ export function useAuthSession<TSession extends AuthSession>() {
40
+ const { session } = useAuthContext();
41
+ return session as TSession | null;
42
+ }
43
+
44
+ /**
45
+ * Hook to get the current user
46
+ */
47
+ export function useAuthUser<TUser>() {
48
+ const { user } = useAuthContext();
49
+ return user as TUser | null;
50
+ }
51
+
52
+ /**
53
+ * Hook to get user roles
54
+ */
55
+ export function useAuthRoles<TRole extends string = string>() {
56
+ const { roles } = useAuthContext();
57
+ return roles as TRole[];
58
+ }
59
+
60
+ /**
61
+ * Hook to get user permissions
62
+ */
63
+ export function useAuthPermissions<TPermission extends string = string>() {
64
+ const { permissions } = useAuthContext();
65
+ return permissions as TPermission[];
66
+ }
67
+
68
+ /**
69
+ * Hook to get authentication error
70
+ */
71
+ export function useAuthError() {
72
+ const { error } = useAuthContext();
73
+ return error;
74
+ }
75
+
76
+ // ============================================================================
77
+ // Permission Hooks
78
+ // ============================================================================
79
+
80
+ /**
81
+ * Hook to check if user has specific permission(s)
82
+ * Supports permission policies with AND/OR operators
83
+ *
84
+ * @example
85
+ * ```tsx
86
+ * // Check single permission
87
+ * const canEdit = usePermission('post:edit');
88
+ *
89
+ * // Check multiple permissions (all required by default)
90
+ * const canManage = usePermission(['post:edit', 'post:delete']);
91
+ *
92
+ * // Check multiple permissions (any one required)
93
+ * const canModify = usePermission(['post:edit', 'post:delete'], { requireAll: false });
94
+ *
95
+ * // Check with policy
96
+ * const canAccess = usePermission({
97
+ * operator: 'OR',
98
+ * permissions: ['admin:access', 'moderator:access']
99
+ * });
100
+ * ```
101
+ */
102
+ export function usePermission<TPermission extends string = string>(
103
+ permission: TPermission | TPermission[] | PermissionPolicy<TPermission>,
104
+ options?: { requireAll?: boolean },
105
+ ) {
106
+ const { hasPermission } = useAuthContext();
107
+ return hasPermission(permission, options);
108
+ }
109
+
110
+ /**
111
+ * Hook to check if user has specific role(s)
112
+ *
113
+ * @example
114
+ * ```tsx
115
+ * // Check single role
116
+ * const isAdmin = useRole('admin');
117
+ *
118
+ * // Check multiple roles (all required by default)
119
+ * const isSuperAdmin = useRole(['admin', 'super']);
120
+ *
121
+ * // Check multiple roles (any one required)
122
+ * const isStaff = useRole(['admin', 'moderator'], { requireAll: false });
123
+ * ```
124
+ */
125
+ export function useRole<TRole extends string = string>(
126
+ roles: TRole | TRole[],
127
+ options?: { requireAll?: boolean },
128
+ ) {
129
+ const { hasRole } = useAuthContext();
130
+ return hasRole(roles, options);
131
+ }
132
+
133
+ /**
134
+ * Hook to check complex permission rules
135
+ * Combines role and permission checks with flexible logic
136
+ *
137
+ * @example
138
+ * ```tsx
139
+ * // Check if user has admin role AND edit permission
140
+ * const canAdminEdit = useCan({
141
+ * roles: 'admin',
142
+ * permissions: 'post:edit',
143
+ * requireAll: true
144
+ * });
145
+ *
146
+ * // Check if user has admin role OR edit permission
147
+ * const canAccess = useCan({
148
+ * roles: 'admin',
149
+ * permissions: 'post:edit',
150
+ * requireAll: false
151
+ * });
152
+ *
153
+ * // Complex policy
154
+ * const canManage = useCan({
155
+ * roles: ['admin', 'moderator'],
156
+ * permissions: {
157
+ * operator: 'OR',
158
+ * permissions: ['post:edit', 'post:delete']
159
+ * }
160
+ * });
161
+ * ```
162
+ */
163
+ export function useCan<
164
+ TRole extends string = string,
165
+ TPermission extends string = string,
166
+ >(
167
+ rule:
168
+ | WithPermissionOptions<TRole, TPermission>
169
+ | PermissionRule<TRole, TPermission>,
170
+ ) {
171
+ const { can } = useAuthContext();
172
+ return can(rule as PermissionRule<TRole, TPermission>);
173
+ }
174
+
175
+ // ============================================================================
176
+ // Token Hooks
177
+ // ============================================================================
178
+
179
+ /**
180
+ * Hook to get the current auth token
181
+ */
182
+ export function useAuthToken() {
183
+ const { getToken } = useAuthContext();
184
+ return getToken();
185
+ }
186
+
187
+ /**
188
+ * Hook to check if token is expired
189
+ */
190
+ export function useIsTokenExpired() {
191
+ const { isTokenExpired } = useAuthContext();
192
+ return isTokenExpired();
193
+ }
194
+
195
+ /**
196
+ * Hook to get time until token expiry in milliseconds
197
+ */
198
+ export function useTimeUntilExpiry() {
199
+ const { getTimeUntilExpiry } = useAuthContext();
200
+ return getTimeUntilExpiry();
201
+ }
202
+
203
+ // ============================================================================
204
+ // Action Hooks
205
+ // ============================================================================
206
+
207
+ /**
208
+ * Hook to get the login function
209
+ */
210
+ export function useLogin<TCredentials = unknown>() {
211
+ const { login } = useAuthContext();
212
+ return login as ((credentials: TCredentials) => Promise<unknown>) | undefined;
213
+ }
214
+
215
+ /**
216
+ * Hook to get the logout function
217
+ */
218
+ export function useLogout() {
219
+ const { logout } = useAuthContext();
220
+ return logout;
221
+ }
222
+
223
+ /**
224
+ * Hook to get the refresh function
225
+ */
226
+ export function useRefresh() {
227
+ const { refresh } = useAuthContext();
228
+ return refresh;
229
+ }
230
+
231
+ /**
232
+ * Hook to get the setSession function
233
+ */
234
+ export function useSetSession<TSession extends AuthSession>() {
235
+ const { setSession } = useAuthContext();
236
+ return setSession as (session: TSession | null) => Promise<unknown>;
237
+ }
@@ -0,0 +1,134 @@
1
+ // ============================================================================
2
+ // Core
3
+ // ============================================================================
4
+
5
+ export { createAuthAdapter } from './adapter';
6
+ export { AuthProvider, useAuthContext } from './AuthProvider';
7
+
8
+ // ============================================================================
9
+ // Storage
10
+ // ============================================================================
11
+
12
+ export {
13
+ createStorage,
14
+ createMemoryStorage,
15
+ createBrowserStorage,
16
+ createCookieStorage,
17
+ } from './storage';
18
+
19
+ // ============================================================================
20
+ // Utilities
21
+ // ============================================================================
22
+
23
+ export { createTokenManager } from './token-manager';
24
+ export {
25
+ expandPermissions,
26
+ expandRoles,
27
+ checkPermissions,
28
+ checkRoles,
29
+ evaluatePermissionRule,
30
+ } from './permission-checker';
31
+
32
+ // ============================================================================
33
+ // Client Adapters
34
+ // ============================================================================
35
+
36
+ export {
37
+ createGraphQLAuthAdapter,
38
+ createRESTAuthAdapter,
39
+ createAxiosAuthInterceptor,
40
+ createAuthFetch,
41
+ createApolloAuthLink,
42
+ } from './client-adapters';
43
+
44
+ export type {
45
+ GraphQLClientAdapterOptions,
46
+ RESTClientAdapterOptions,
47
+ } from './client-adapters';
48
+
49
+ // ============================================================================
50
+ // Hooks
51
+ // ============================================================================
52
+
53
+ export {
54
+ useAuth,
55
+ useAuthStatus,
56
+ useIsAuthenticated,
57
+ useAuthSession,
58
+ useAuthUser,
59
+ useAuthRoles,
60
+ useAuthPermissions,
61
+ useAuthError,
62
+ usePermission,
63
+ useRole,
64
+ useCan,
65
+ useAuthToken,
66
+ useIsTokenExpired,
67
+ useTimeUntilExpiry,
68
+ useLogin,
69
+ useLogout,
70
+ useRefresh,
71
+ useSetSession,
72
+ } from './hooks';
73
+
74
+ // ============================================================================
75
+ // Components
76
+ // ============================================================================
77
+
78
+ export {
79
+ RequireAuth,
80
+ Can,
81
+ withPermission,
82
+ ShowWhenAuthenticated,
83
+ ShowWhenUnauthenticated,
84
+ ShowWhenLoading,
85
+ ShowWhenError,
86
+ } from './components';
87
+
88
+ // ============================================================================
89
+ // Types
90
+ // ============================================================================
91
+
92
+ export type {
93
+ // Core types
94
+ AuthStatus,
95
+ TokenType,
96
+ RefreshStrategy,
97
+ AuthSession,
98
+ // Permission types
99
+ PermissionOperator,
100
+ PermissionPolicy,
101
+ PermissionRule,
102
+ PermissionHierarchy,
103
+ RoleHierarchy,
104
+ // State types
105
+ AuthAdapterState,
106
+ AuthAdapterSubscriber,
107
+ // Storage types
108
+ AuthStorage,
109
+ StorageType,
110
+ StorageOptions,
111
+ // Middleware types
112
+ AuthMiddleware,
113
+ // Token manager types
114
+ TokenManager,
115
+ // Adapter types
116
+ AuthAdapterConfig,
117
+ AuthAdapter,
118
+ // Context types
119
+ AuthContextValue,
120
+ // Component prop types
121
+ RequireAuthProps,
122
+ CanProps,
123
+ WithPermissionOptions,
124
+ // Client adapter types
125
+ GraphQLAuthClient,
126
+ RESTAuthClient,
127
+ ClientAdapter,
128
+ // Utility types
129
+ InferSession,
130
+ InferUser,
131
+ InferRole,
132
+ InferPermission,
133
+ InferCredentials,
134
+ } from './types';
@@ -0,0 +1,150 @@
1
+ import type {
2
+ PermissionHierarchy,
3
+ PermissionPolicy,
4
+ PermissionRule,
5
+ RoleHierarchy,
6
+ } from './types';
7
+
8
+ /**
9
+ * Expands permissions based on hierarchy
10
+ * e.g., if user has 'admin' and hierarchy defines admin: ['read', 'write'],
11
+ * user effectively has ['admin', 'read', 'write']
12
+ */
13
+ export function expandPermissions<T extends string>(
14
+ permissions: T[],
15
+ hierarchy?: PermissionHierarchy<T>,
16
+ ): T[] {
17
+ if (!hierarchy) return permissions;
18
+
19
+ const expanded = new Set<T>(permissions);
20
+ const queue = [...permissions];
21
+
22
+ while (queue.length > 0) {
23
+ const current = queue.shift();
24
+ if (!current) continue;
25
+ const children = hierarchy[current];
26
+
27
+ if (children) {
28
+ for (const child of children) {
29
+ if (!expanded.has(child)) {
30
+ expanded.add(child);
31
+ queue.push(child);
32
+ }
33
+ }
34
+ }
35
+ }
36
+
37
+ return Array.from(expanded);
38
+ }
39
+
40
+ /**
41
+ * Expands roles based on hierarchy
42
+ * e.g., if user has 'admin' and hierarchy defines admin: ['moderator', 'user'],
43
+ * user effectively has ['admin', 'moderator', 'user']
44
+ */
45
+ export function expandRoles<T extends string>(
46
+ roles: T[],
47
+ hierarchy?: RoleHierarchy<T>,
48
+ ): T[] {
49
+ if (!hierarchy) return roles;
50
+
51
+ const expanded = new Set<T>(roles);
52
+ const queue = [...roles];
53
+
54
+ while (queue.length > 0) {
55
+ const current = queue.shift();
56
+ if (!current) continue;
57
+ const children = hierarchy[current];
58
+
59
+ if (children) {
60
+ for (const child of children) {
61
+ if (!expanded.has(child)) {
62
+ expanded.add(child);
63
+ queue.push(child);
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ return Array.from(expanded);
70
+ }
71
+
72
+ /**
73
+ * Checks if target permissions match against user permissions
74
+ * Supports both array of permissions and permission policies (AND/OR operations)
75
+ */
76
+ export function checkPermissions<T extends string>(
77
+ userPermissions: T[],
78
+ target: T | T[] | PermissionPolicy<T>,
79
+ options?: { requireAll?: boolean },
80
+ ): boolean {
81
+ // Handle permission policy (with AND/OR operator)
82
+ if (typeof target === 'object' && 'permissions' in target) {
83
+ const policy = target as PermissionPolicy<T>;
84
+ const operator = policy.operator ?? 'AND';
85
+
86
+ if (operator === 'AND') {
87
+ return policy.permissions.every((p) => userPermissions.includes(p));
88
+ } else {
89
+ return policy.permissions.some((p) => userPermissions.includes(p));
90
+ }
91
+ }
92
+
93
+ // Handle simple string or array
94
+ const targets = Array.isArray(target) ? target : [target];
95
+ const requireAll = options?.requireAll ?? true;
96
+
97
+ if (targets.length === 0) return true;
98
+
99
+ return requireAll
100
+ ? targets.every((p) => userPermissions.includes(p))
101
+ : targets.some((p) => userPermissions.includes(p));
102
+ }
103
+
104
+ /**
105
+ * Checks if target roles match against user roles
106
+ */
107
+ export function checkRoles<T extends string>(
108
+ userRoles: T[],
109
+ target: T | T[],
110
+ options?: { requireAll?: boolean },
111
+ ): boolean {
112
+ const targets = Array.isArray(target) ? target : [target];
113
+ const requireAll = options?.requireAll ?? true;
114
+
115
+ if (targets.length === 0) return true;
116
+
117
+ return requireAll
118
+ ? targets.every((r) => userRoles.includes(r))
119
+ : targets.some((r) => userRoles.includes(r));
120
+ }
121
+
122
+ /**
123
+ * Evaluates a permission rule (combination of roles and permissions)
124
+ */
125
+ export function evaluatePermissionRule<
126
+ TRole extends string = string,
127
+ TPermission extends string = string,
128
+ >(
129
+ userRoles: TRole[],
130
+ userPermissions: TPermission[],
131
+ rule: PermissionRule<TRole, TPermission>,
132
+ ): boolean {
133
+ if (!rule.roles && !rule.permissions) {
134
+ return true;
135
+ }
136
+
137
+ const requireAll = rule.requireAll ?? true;
138
+
139
+ const roleAllowed = rule.roles
140
+ ? checkRoles(userRoles, rule.roles, { requireAll })
141
+ : true;
142
+
143
+ const permissionAllowed = rule.permissions
144
+ ? checkPermissions(userPermissions, rule.permissions, { requireAll })
145
+ : true;
146
+
147
+ return requireAll
148
+ ? roleAllowed && permissionAllowed
149
+ : roleAllowed || permissionAllowed;
150
+ }