@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
@@ -1,3 +1,3 @@
1
- export * from "./types";
2
- export { default as FileUploader } from "./FileUploader";
3
- export { FileUploader as default } from "./FileUploader";
1
+ export * from './types';
2
+ export { default as FileUploader } from './FileUploader';
3
+ export { FileUploader as default } from './FileUploader';
@@ -1,6 +1,6 @@
1
- import type { Accept } from "react-dropzone";
1
+ import type { Accept } from 'react-dropzone';
2
2
 
3
- export type FileUploadStatus = "idle" | "uploading" | "success" | "error";
3
+ export type FileUploadStatus = 'idle' | 'uploading' | 'success' | 'error';
4
4
 
5
5
  export type FileRecord = {
6
6
  id?: string | number;
@@ -22,7 +22,7 @@ export type FileRecord = {
22
22
  meta?: Record<string, unknown>;
23
23
  };
24
24
 
25
- export type FileUploaderLayout = "grid" | "list";
25
+ export type FileUploaderLayout = 'grid' | 'list';
26
26
 
27
27
  export type FileUploaderProps = {
28
28
  /** Controlled value of files */
@@ -22,7 +22,7 @@ const ignoredKeys = new Set(['message', 'type', 'types', 'ref']);
22
22
 
23
23
  function collectMessages(
24
24
  errors: FieldErrors<FieldValues> | undefined,
25
- parentPath: string[] = []
25
+ parentPath: string[] = [],
26
26
  ): ErrorMessage[] {
27
27
  if (!errors) return [];
28
28
 
@@ -35,9 +35,10 @@ function collectMessages(
35
35
  for (const [key, value] of entries) {
36
36
  if (!value) continue;
37
37
 
38
- const currentPath = typeof key === 'string' && key === 'root'
39
- ? parentPath
40
- : [...parentPath, String(key)];
38
+ const currentPath =
39
+ typeof key === 'string' && key === 'root'
40
+ ? parentPath
41
+ : [...parentPath, String(key)];
41
42
 
42
43
  if (typeof value === 'object') {
43
44
  if ('message' in value && value.message) {
@@ -63,12 +64,15 @@ function collectMessages(
63
64
  : Object.entries(value);
64
65
 
65
66
  const nestedEntries = source.filter(
66
- ([nestedKey]) => !ignoredKeys.has(nestedKey)
67
+ ([nestedKey]) => !ignoredKeys.has(nestedKey),
67
68
  );
68
69
 
69
70
  if (nestedEntries.length > 0) {
70
- const nested: Record<string, unknown> = Object.fromEntries(nestedEntries);
71
- messages.push(...collectMessages(nested as FieldErrors<FieldValues>, currentPath));
71
+ const nested: Record<string, unknown> =
72
+ Object.fromEntries(nestedEntries);
73
+ messages.push(
74
+ ...collectMessages(nested as FieldErrors<FieldValues>, currentPath),
75
+ );
72
76
  }
73
77
  }
74
78
  }
@@ -84,12 +88,22 @@ export function FormInfoError<TFieldValues extends FieldValues = FieldValues>({
84
88
  className,
85
89
  showFieldPath = true,
86
90
  }: FormInfoErrorProps<TFieldValues>) {
87
- const messages = collectMessages(errors as FieldErrors<FieldValues> | undefined);
91
+ const messages = collectMessages(
92
+ errors as FieldErrors<FieldValues> | undefined,
93
+ );
88
94
 
89
95
  if (messages.length === 0) {
90
96
  return null;
91
97
  }
92
98
 
99
+ const keyOccurrences = new Map<string, number>();
100
+ const getMessageKey = (path: string, message: string) => {
101
+ const baseKey = [path, message].filter(Boolean).join(':') || message;
102
+ const occurrence = keyOccurrences.get(baseKey) ?? 0;
103
+ keyOccurrences.set(baseKey, occurrence + 1);
104
+ return occurrence === 0 ? baseKey : `${baseKey}:${occurrence}`;
105
+ };
106
+
93
107
  return (
94
108
  <Alert variant="destructive" className={cn('gap-2', className)}>
95
109
  <AlertCircle className="mt-1" />
@@ -99,12 +113,13 @@ export function FormInfoError<TFieldValues extends FieldValues = FieldValues>({
99
113
  {title ?? 'Please review the following issues'}
100
114
  </AlertTitle>
101
115
  <AlertDescription>
102
- {description ?? 'Some fields need your attention before continuing.'}
116
+ {description ??
117
+ 'Some fields need your attention before continuing.'}
103
118
  </AlertDescription>
104
119
  </div>
105
120
  <ul className="grid gap-1 text-sm text-destructive">
106
- {messages.map(({ path, message }, index) => (
107
- <li key={`${path}-${index}`} className="leading-snug">
121
+ {messages.map(({ path, message }) => (
122
+ <li key={getMessageKey(path, message)} className="leading-snug">
108
123
  {showFieldPath && path ? (
109
124
  <span className="font-medium">{path}: </span>
110
125
  ) : null}
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import type * as React from 'react';
2
2
 
3
3
  export type LoginProps = {
4
4
  // Application title shown above the form (e.g., "Acme Inc")
@@ -50,13 +50,19 @@ export function Login({
50
50
  children,
51
51
  }: LoginProps) {
52
52
  return (
53
- <div className={['grid min-h-dvh grid-cols-1 md:grid-cols-2', className].filter(Boolean).join(' ')}>
53
+ <div
54
+ className={['grid min-h-dvh grid-cols-1 md:grid-cols-2', className]
55
+ .filter(Boolean)
56
+ .join(' ')}
57
+ >
54
58
  {/* Left column: form section */}
55
59
  <div className="flex items-center justify-center p-6 md:p-10">
56
60
  <div className="w-full max-w-md">
57
61
  {/* Title */}
58
62
  <div className="mb-6 text-center">
59
- <h1 className="text-2xl font-bold leading-tight tracking-tight">{appTitle}</h1>
63
+ <h1 className="text-2xl font-bold leading-tight tracking-tight">
64
+ {appTitle}
65
+ </h1>
60
66
  {subtitle ? (
61
67
  <p className="text-muted-foreground mt-1 text-sm">{subtitle}</p>
62
68
  ) : null}
@@ -70,7 +76,10 @@ export function Login({
70
76
  {forgotPasswordHref ? (
71
77
  <div className="text-center text-sm">
72
78
  {forgotPasswordLabel}{' '}
73
- <a href={forgotPasswordHref} className="underline underline-offset-4">
79
+ <a
80
+ href={forgotPasswordHref}
81
+ className="underline underline-offset-4"
82
+ >
74
83
  {forgotPasswordLinkLabel}
75
84
  </a>
76
85
  </div>
@@ -4,10 +4,15 @@ import * as React from 'react';
4
4
  import { Calendar as CalendarIcon } 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 { MonthPicker } from './MonthPicker';
9
13
 
10
- export interface MonthInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
14
+ export interface MonthInputProps
15
+ extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
11
16
  value?: Date | null;
12
17
  onChange?: (date: Date | null) => void;
13
18
  placeholder?: string;
@@ -42,7 +47,8 @@ export function MonthInput({
42
47
  }: MonthInputProps) {
43
48
  const [internalOpen, setInternalOpen] = React.useState(false);
44
49
  const isOpen = typeof props.open === 'boolean' ? props.open : internalOpen;
45
- const setOpen = (o: boolean) => (props.onOpenChange ? props.onOpenChange(o) : setInternalOpen(o));
50
+ const setOpen = (o: boolean) =>
51
+ props.onOpenChange ? props.onOpenChange(o) : setInternalOpen(o);
46
52
  const [draft, setDraft] = React.useState<Date | null>(value ?? null);
47
53
 
48
54
  React.useEffect(() => {
@@ -66,7 +72,10 @@ export function MonthInput({
66
72
  type="button"
67
73
  disabled={disabled}
68
74
  variant={buttonVariant}
69
- className={cn('w-[240px] justify-start text-left font-normal', !value && 'text-muted-foreground')}
75
+ className={cn(
76
+ 'w-[240px] justify-start text-left font-normal',
77
+ !value && 'text-muted-foreground',
78
+ )}
70
79
  >
71
80
  <CalendarIcon className="mr-2 h-4 w-4" />
72
81
  {label}
@@ -107,10 +107,10 @@ function MonthCal({
107
107
  onYearForward,
108
108
  }: MonthCalProps) {
109
109
  const [year, setYear] = React.useState<number>(
110
- selectedMonth?.getFullYear() ?? new Date().getFullYear()
110
+ selectedMonth?.getFullYear() ?? new Date().getFullYear(),
111
111
  );
112
112
  const [month, setMonth] = React.useState<number>(
113
- selectedMonth?.getMonth() ?? new Date().getMonth()
113
+ selectedMonth?.getMonth() ?? new Date().getMonth(),
114
114
  );
115
115
  const [menuYear, setMenuYear] = React.useState<number>(year);
116
116
 
@@ -135,7 +135,7 @@ function MonthCal({
135
135
  }}
136
136
  className={cn(
137
137
  buttonVariants({ variant: variant?.chevrons ?? 'outline' }),
138
- 'inline-flex items-center justify-center h-7 w-7 p-0 absolute left-1'
138
+ 'inline-flex items-center justify-center h-7 w-7 p-0 absolute left-1',
139
139
  )}
140
140
  >
141
141
  <ChevronLeft className="opacity-50 h-4 w-4" />
@@ -148,7 +148,7 @@ function MonthCal({
148
148
  }}
149
149
  className={cn(
150
150
  buttonVariants({ variant: variant?.chevrons ?? 'outline' }),
151
- 'inline-flex items-center justify-center h-7 w-7 p-0 absolute right-1'
151
+ 'inline-flex items-center justify-center h-7 w-7 p-0 absolute right-1',
152
152
  )}
153
153
  >
154
154
  <ChevronRight className="opacity-50 h-4 w-4" />
@@ -157,10 +157,10 @@ function MonthCal({
157
157
  </div>
158
158
  <table className="w-full border-collapse space-y-1">
159
159
  <tbody>
160
- {MONTHS.map((monthRow, a) => {
160
+ {MONTHS.map((monthRow) => {
161
+ const rowKey = monthRow.map((month) => month.number).join('-');
161
162
  return (
162
- // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
163
- <tr key={`row-${a}`} className="flex w-full mt-2">
163
+ <tr key={rowKey} className="flex w-full mt-2">
164
164
  {monthRow.map((m) => {
165
165
  return (
166
166
  <td
@@ -188,7 +188,8 @@ function MonthCal({
188
188
  : false) ||
189
189
  (disabledDatesMapped
190
190
  ? disabledDatesMapped?.some(
191
- (d) => d.year === menuYear && d.month === m.number
191
+ (d) =>
192
+ d.year === menuYear && d.month === m.number,
192
193
  )
193
194
  : false)
194
195
  }
@@ -196,10 +197,10 @@ function MonthCal({
196
197
  buttonVariants({
197
198
  variant:
198
199
  month === m.number && menuYear === year
199
- ? variant?.calendar?.selected ?? 'default'
200
- : variant?.calendar?.main ?? 'ghost',
200
+ ? (variant?.calendar?.selected ?? 'default')
201
+ : (variant?.calendar?.main ?? 'ghost'),
201
202
  }),
202
- 'h-full w-full p-0 font-normal aria-selected:opacity-100'
203
+ 'h-full w-full p-0 font-normal aria-selected:opacity-100',
203
204
  )}
204
205
  >
205
206
  {callbacks?.monthLabel
@@ -4,10 +4,15 @@ import * as React from 'react';
4
4
  import { Calendar as CalendarIcon } 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 { MonthRangePicker } from './MonthRangePicker';
9
13
 
10
- export interface MonthRangeInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
14
+ export interface MonthRangeInputProps
15
+ extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
11
16
  value?: { start?: Date | null; end?: Date | null } | null;
12
17
  onChange?: (range: { start?: Date | null; end?: Date | null } | null) => void;
13
18
  placeholder?: string;
@@ -44,8 +49,12 @@ export function MonthRangeInput({
44
49
  }: MonthRangeInputProps) {
45
50
  const [internalOpen, setInternalOpen] = React.useState(false);
46
51
  const isOpen = typeof props.open === 'boolean' ? props.open : internalOpen;
47
- const setOpen = (o: boolean) => (props.onOpenChange ? props.onOpenChange(o) : setInternalOpen(o));
48
- const [draft, setDraft] = React.useState<{ start?: Date | null; end?: Date | null } | null>(value ?? null);
52
+ const setOpen = (o: boolean) =>
53
+ props.onOpenChange ? props.onOpenChange(o) : setInternalOpen(o);
54
+ const [draft, setDraft] = React.useState<{
55
+ start?: Date | null;
56
+ end?: Date | null;
57
+ } | null>(value ?? null);
49
58
 
50
59
  React.useEffect(() => {
51
60
  if (isOpen) {
@@ -58,7 +67,8 @@ export function MonthRangeInput({
58
67
  const e = value?.end ?? null;
59
68
  if (format) return format(s, e);
60
69
  if (s && e) {
61
- const fmt = (d: Date) => d.toLocaleDateString(undefined, { year: 'numeric', month: 'short' });
70
+ const fmt = (d: Date) =>
71
+ d.toLocaleDateString(undefined, { year: 'numeric', month: 'short' });
62
72
  return `${fmt(s)} – ${fmt(e)}`;
63
73
  }
64
74
  return placeholder;
@@ -72,15 +82,26 @@ export function MonthRangeInput({
72
82
  type="button"
73
83
  disabled={disabled}
74
84
  variant={buttonVariant}
75
- className={cn('w-[280px] justify-start text-left font-normal', !value && 'text-muted-foreground')}
85
+ className={cn(
86
+ 'w-[280px] justify-start text-left font-normal',
87
+ !value && 'text-muted-foreground',
88
+ )}
76
89
  >
77
90
  <CalendarIcon className="mr-2 h-4 w-4" />
78
91
  {label}
79
92
  </Button>
80
93
  </PopoverTrigger>
81
- <PopoverContent className="p-2 w-auto max-w-none" align="start" side={popoverSide}>
94
+ <PopoverContent
95
+ className="p-2 w-auto max-w-none"
96
+ align="start"
97
+ side={popoverSide}
98
+ >
82
99
  <MonthRangePicker
83
- selectedMonthRange={draft?.start && draft?.end ? { start: draft.start, end: draft.end } : undefined}
100
+ selectedMonthRange={
101
+ draft?.start && draft?.end
102
+ ? { start: draft.start, end: draft.end }
103
+ : undefined
104
+ }
84
105
  onStartMonthSelect={(d) => {
85
106
  if (disabled) return;
86
107
  setDraft({ start: d, end: d });
@@ -11,8 +11,8 @@ const addMonths = (input: Date, months: number) => {
11
11
  date.setDate(
12
12
  Math.min(
13
13
  input.getDate(),
14
- getDaysInMonth(date.getFullYear(), date.getMonth() + 1)
15
- )
14
+ getDaysInMonth(date.getFullYear(), date.getMonth() + 1),
15
+ ),
16
16
  );
17
17
  return date;
18
18
  };
@@ -174,16 +174,16 @@ function MonthRangeCal({
174
174
  onYearForward,
175
175
  }: MonthRangeCalProps) {
176
176
  const [startYear, setStartYear] = React.useState<number>(
177
- selectedMonthRange?.start.getFullYear() ?? new Date().getFullYear()
177
+ selectedMonthRange?.start.getFullYear() ?? new Date().getFullYear(),
178
178
  );
179
179
  const [startMonth, setStartMonth] = React.useState<number>(
180
- selectedMonthRange?.start?.getMonth() ?? new Date().getMonth()
180
+ selectedMonthRange?.start?.getMonth() ?? new Date().getMonth(),
181
181
  );
182
182
  const [endYear, setEndYear] = React.useState<number>(
183
- selectedMonthRange?.end?.getFullYear() ?? new Date().getFullYear() + 1
183
+ selectedMonthRange?.end?.getFullYear() ?? new Date().getFullYear() + 1,
184
184
  );
185
185
  const [endMonth, setEndMonth] = React.useState<number>(
186
- selectedMonthRange?.end?.getMonth() ?? new Date().getMonth()
186
+ selectedMonthRange?.end?.getMonth() ?? new Date().getMonth(),
187
187
  );
188
188
  const [rangePending, setRangePending] = React.useState<boolean>(false);
189
189
  const [endLocked, setEndLocked] = React.useState<boolean>(true);
@@ -207,7 +207,7 @@ function MonthRangeCal({
207
207
  }}
208
208
  className={cn(
209
209
  buttonVariants({ variant: variant?.chevrons ?? 'outline' }),
210
- 'inline-flex items-center justify-center h-7 w-7 p-0 absolute left-1'
210
+ 'inline-flex items-center justify-center h-7 w-7 p-0 absolute left-1',
211
211
  )}
212
212
  >
213
213
  <ChevronLeft className="opacity-50 h-4 w-4" />
@@ -220,7 +220,7 @@ function MonthRangeCal({
220
220
  }}
221
221
  className={cn(
222
222
  buttonVariants({ variant: variant?.chevrons ?? 'outline' }),
223
- 'inline-flex items-center justify-center h-7 w-7 p-0 absolute right-1'
223
+ 'inline-flex items-center justify-center h-7 w-7 p-0 absolute right-1',
224
224
  )}
225
225
  >
226
226
  <ChevronRight className="opacity-50 h-4 w-4" />
@@ -234,10 +234,12 @@ function MonthRangeCal({
234
234
  </div>
235
235
  <table className="w-full border-collapse space-y-1">
236
236
  <tbody>
237
- {MONTHS.map((monthRow, a) => {
237
+ {MONTHS.map((monthRow) => {
238
+ const rowKey = monthRow
239
+ .map((month) => `${month.yearOffset}-${month.number}`)
240
+ .join('-');
238
241
  return (
239
- // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
240
- <tr key={`row-${a}`} className="flex w-full mt-2">
242
+ <tr key={rowKey} className="flex w-full mt-2">
241
243
  {monthRow.map((m, i) => {
242
244
  return (
243
245
  <td
@@ -255,13 +257,13 @@ function MonthRangeCal({
255
257
  m.number < endMonth)) &&
256
258
  (rangePending || endLocked)
257
259
  ? 'text-accent-foreground bg-accent'
258
- : ''
260
+ : '',
259
261
  ),
260
262
  menuYear + m.yearOffset === startYear &&
261
263
  m.number === startMonth &&
262
264
  (rangePending || endLocked)
263
265
  ? 'text-accent-foreground bg-accent rounded-l-md'
264
- : ''
266
+ : '',
265
267
  ),
266
268
  menuYear + m.yearOffset === endYear &&
267
269
  m.number === endMonth &&
@@ -269,9 +271,9 @@ function MonthRangeCal({
269
271
  menuYear + m.yearOffset >= startYear &&
270
272
  m.number >= startMonth
271
273
  ? 'text-accent-foreground bg-accent rounded-r-md'
272
- : ''
274
+ : '',
273
275
  ),
274
- i === 3 ? 'mr-2' : i === 4 ? 'ml-2' : ''
276
+ i === 3 ? 'mr-2' : i === 4 ? 'ml-2' : '',
275
277
  )}
276
278
  onMouseEnter={() => {
277
279
  if (rangePending && !endLocked) {
@@ -297,7 +299,7 @@ function MonthRangeCal({
297
299
  setEndMonth(m.number);
298
300
  if (onStartMonthSelect)
299
301
  onStartMonthSelect(
300
- new Date(menuYear + m.yearOffset, m.number)
302
+ new Date(menuYear + m.yearOffset, m.number),
301
303
  );
302
304
  } else {
303
305
  setRangePending(false);
@@ -309,7 +311,7 @@ function MonthRangeCal({
309
311
  start: new Date(startYear, startMonth),
310
312
  end: new Date(
311
313
  menuYear + m.yearOffset,
312
- m.number
314
+ m.number,
313
315
  ),
314
316
  });
315
317
  }
@@ -322,7 +324,7 @@ function MonthRangeCal({
322
324
  setEndMonth(m.number);
323
325
  if (onStartMonthSelect)
324
326
  onStartMonthSelect(
325
- new Date(menuYear + m.yearOffset, m.number)
327
+ new Date(menuYear + m.yearOffset, m.number),
326
328
  );
327
329
  }
328
330
  }}
@@ -350,10 +352,10 @@ function MonthRangeCal({
350
352
  (endMonth === m.number &&
351
353
  menuYear + m.yearOffset === endYear &&
352
354
  !rangePending)
353
- ? variant?.calendar?.selected ?? 'default'
354
- : variant?.calendar?.main ?? 'ghost',
355
+ ? (variant?.calendar?.selected ?? 'default')
356
+ : (variant?.calendar?.main ?? 'ghost'),
355
357
  }),
356
- 'h-full w-full p-0 font-normal aria-selected:opacity-100'
358
+ 'h-full w-full p-0 font-normal aria-selected:opacity-100',
357
359
  )}
358
360
  >
359
361
  {callbacks?.monthLabel
@@ -85,7 +85,7 @@ export function TimePicker({
85
85
 
86
86
  const setDraftPart = (
87
87
  part: 'hour' | 'minute' | 'second' | 'period',
88
- val: number | 'AM' | 'PM'
88
+ val: number | 'AM' | 'PM',
89
89
  ) => {
90
90
  setDraft((prev) => {
91
91
  const base = prev
@@ -99,7 +99,7 @@ export function TimePicker({
99
99
  0,
100
100
  0,
101
101
  0,
102
- 0
102
+ 0,
103
103
  );
104
104
  })();
105
105
  if (part === 'hour') {
@@ -135,17 +135,17 @@ export function TimePicker({
135
135
  () =>
136
136
  Array.from(
137
137
  { length: Math.ceil(60 / minuteStep) },
138
- (_, i) => i * minuteStep
138
+ (_, i) => i * minuteStep,
139
139
  ),
140
- [minuteStep]
140
+ [minuteStep],
141
141
  );
142
142
  const seconds = React.useMemo(
143
143
  () =>
144
144
  Array.from(
145
145
  { length: Math.ceil(60 / secondStep) },
146
- (_, i) => i * secondStep
146
+ (_, i) => i * secondStep,
147
147
  ),
148
- [secondStep]
148
+ [secondStep],
149
149
  );
150
150
 
151
151
  const selectedHour = React.useMemo(() => {
@@ -170,7 +170,7 @@ export function TimePicker({
170
170
  variant={buttonVariant}
171
171
  className={cn(
172
172
  'w-[240px] justify-start text-left font-normal',
173
- !value && 'text-muted-foreground'
173
+ !value && 'text-muted-foreground',
174
174
  )}
175
175
  >
176
176
  <Clock className="mr-2 h-4 w-4" />
@@ -180,7 +180,9 @@ export function TimePicker({
180
180
  <PopoverContent className="p-3 w-auto" align="start">
181
181
  <div className="flex items-end gap-2">
182
182
  <div className="w-24">
183
- <div className="mb-1 block text-xs text-muted-foreground">Hour</div>
183
+ <div className="mb-1 block text-xs text-muted-foreground">
184
+ Hour
185
+ </div>
184
186
  <Select
185
187
  disabled={disabled}
186
188
  value={String(selectedHour)}
@@ -201,7 +203,9 @@ export function TimePicker({
201
203
 
202
204
  {(precision === 'minute' || precision === 'second') && (
203
205
  <div className="w-24">
204
- <div className="mb-1 block text-xs text-muted-foreground">Minute</div>
206
+ <div className="mb-1 block text-xs text-muted-foreground">
207
+ Minute
208
+ </div>
205
209
  <Select
206
210
  disabled={disabled}
207
211
  value={String(selectedMinute - (selectedMinute % minuteStep))}
@@ -223,7 +227,9 @@ export function TimePicker({
223
227
 
224
228
  {precision === 'second' && (
225
229
  <div className="w-24">
226
- <div className="mb-1 block text-xs text-muted-foreground">Second</div>
230
+ <div className="mb-1 block text-xs text-muted-foreground">
231
+ Second
232
+ </div>
227
233
  <Select
228
234
  disabled={disabled}
229
235
  value={String(selectedSecond - (selectedSecond % secondStep))}
@@ -245,7 +251,9 @@ export function TimePicker({
245
251
 
246
252
  {hourCycle === 12 && (
247
253
  <div className="w-24">
248
- <div className="mb-1 block text-xs text-muted-foreground">Period</div>
254
+ <div className="mb-1 block text-xs text-muted-foreground">
255
+ Period
256
+ </div>
249
257
  <Select
250
258
  disabled={disabled}
251
259
  value={selectedPeriod}