@k3-universe/react-kit 0.0.27 → 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 (422) 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 +2319 -1227
  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 +2 -1
  26. package/dist/kit/builder/data-table/components/DataTable.d.ts.map +1 -1
  27. package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts +2 -2
  28. package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts.map +1 -1
  29. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts +2 -1
  30. package/dist/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -1
  31. package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts +1 -1
  32. package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts.map +1 -1
  33. package/dist/kit/builder/data-table/types.d.ts.map +1 -1
  34. package/dist/kit/builder/dialog/index.d.ts +1 -1
  35. package/dist/kit/builder/dialog/index.d.ts.map +1 -1
  36. package/dist/kit/builder/dialog/provider.d.ts +0 -1
  37. package/dist/kit/builder/dialog/provider.d.ts.map +1 -1
  38. package/dist/kit/builder/form/components/FormBuilder.d.ts.map +1 -1
  39. package/dist/kit/builder/form/components/FormBuilderActions.d.ts.map +1 -1
  40. package/dist/kit/builder/form/components/FormBuilderContext.d.ts.map +1 -1
  41. package/dist/kit/builder/form/components/FormBuilderField.d.ts +1 -1
  42. package/dist/kit/builder/form/components/FormBuilderField.d.ts.map +1 -1
  43. package/dist/kit/builder/form/components/fields/ArrayField.d.ts +1 -1
  44. package/dist/kit/builder/form/components/fields/ArrayField.d.ts.map +1 -1
  45. package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts +1 -1
  46. package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts.map +1 -1
  47. package/dist/kit/builder/form/components/fields/CheckboxField.d.ts +1 -1
  48. package/dist/kit/builder/form/components/fields/CheckboxField.d.ts.map +1 -1
  49. package/dist/kit/builder/form/components/fields/DateField.d.ts +1 -1
  50. package/dist/kit/builder/form/components/fields/DateField.d.ts.map +1 -1
  51. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts +1 -1
  52. package/dist/kit/builder/form/components/fields/DatePickerField.d.ts.map +1 -1
  53. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts +1 -1
  54. package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts.map +1 -1
  55. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts +1 -1
  56. package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts.map +1 -1
  57. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts +1 -1
  58. package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts.map +1 -1
  59. package/dist/kit/builder/form/components/fields/FileField.d.ts +1 -1
  60. package/dist/kit/builder/form/components/fields/FileField.d.ts.map +1 -1
  61. package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts +1 -1
  62. package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts.map +1 -1
  63. package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts +1 -1
  64. package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts.map +1 -1
  65. package/dist/kit/builder/form/components/fields/NumberField.d.ts +1 -1
  66. package/dist/kit/builder/form/components/fields/NumberField.d.ts.map +1 -1
  67. package/dist/kit/builder/form/components/fields/ObjectField.d.ts.map +1 -1
  68. package/dist/kit/builder/form/components/fields/RadioField.d.ts +1 -1
  69. package/dist/kit/builder/form/components/fields/RadioField.d.ts.map +1 -1
  70. package/dist/kit/builder/form/components/fields/SelectField.d.ts +1 -1
  71. package/dist/kit/builder/form/components/fields/SelectField.d.ts.map +1 -1
  72. package/dist/kit/builder/form/components/fields/SwitchField.d.ts +1 -1
  73. package/dist/kit/builder/form/components/fields/SwitchField.d.ts.map +1 -1
  74. package/dist/kit/builder/form/components/fields/TextField.d.ts +1 -1
  75. package/dist/kit/builder/form/components/fields/TextField.d.ts.map +1 -1
  76. package/dist/kit/builder/form/components/fields/TextareaField.d.ts +1 -1
  77. package/dist/kit/builder/form/components/fields/TextareaField.d.ts.map +1 -1
  78. package/dist/kit/builder/form/components/fields/TimePickerField.d.ts +1 -1
  79. package/dist/kit/builder/form/components/fields/TimePickerField.d.ts.map +1 -1
  80. package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts +1 -1
  81. package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts.map +1 -1
  82. package/dist/kit/builder/form/components/fields/index.d.ts.map +1 -1
  83. package/dist/kit/builder/form/components/fields/types.d.ts.map +1 -1
  84. package/dist/kit/builder/form/components/sectionNodes.d.ts.map +1 -1
  85. package/dist/kit/builder/form/hooks/useFormBuilder.d.ts.map +1 -1
  86. package/dist/kit/builder/form/types.d.ts.map +1 -1
  87. package/dist/kit/builder/form/utils/section-factories.d.ts.map +1 -1
  88. package/dist/kit/builder/page/Page.d.ts.map +1 -1
  89. package/dist/kit/builder/page/index.d.ts.map +1 -1
  90. package/dist/kit/builder/section/SectionBuilder.d.ts +1 -1
  91. package/dist/kit/builder/section/SectionBuilder.d.ts.map +1 -1
  92. package/dist/kit/builder/section/SectionContainer.d.ts +14 -0
  93. package/dist/kit/builder/section/SectionContainer.d.ts.map +1 -0
  94. package/dist/kit/builder/stack-dialog/context.d.ts.map +1 -1
  95. package/dist/kit/builder/stack-dialog/hooks.d.ts.map +1 -1
  96. package/dist/kit/builder/stack-dialog/index.d.ts +3 -3
  97. package/dist/kit/builder/stack-dialog/index.d.ts.map +1 -1
  98. package/dist/kit/builder/stack-dialog/provider.d.ts.map +1 -1
  99. package/dist/kit/builder/stack-dialog/renderer.d.ts.map +1 -1
  100. package/dist/kit/builder/stack-dialog/types.d.ts +1 -1
  101. package/dist/kit/builder/stack-dialog/types.d.ts.map +1 -1
  102. package/dist/kit/components/autocomplete/Autocomplete.d.ts +1 -1
  103. package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
  104. package/dist/kit/components/autocomplete/types.d.ts.map +1 -1
  105. package/dist/kit/components/datepicker/DatePicker.d.ts.map +1 -1
  106. package/dist/kit/components/datepicker/DateRangePicker.d.ts.map +1 -1
  107. package/dist/kit/components/datetimepicker/DateTimePicker.d.ts.map +1 -1
  108. package/dist/kit/components/datetimepicker/DateTimeRangePicker.d.ts.map +1 -1
  109. package/dist/kit/components/datetimepicker/index.d.ts.map +1 -1
  110. package/dist/kit/components/fileuploader/FileUploader.d.ts.map +1 -1
  111. package/dist/kit/components/fileuploader/types.d.ts +2 -2
  112. package/dist/kit/components/forminfo/FormInfoError.d.ts.map +1 -1
  113. package/dist/kit/components/login/Login.d.ts +1 -1
  114. package/dist/kit/components/login/Login.d.ts.map +1 -1
  115. package/dist/kit/components/monthpicker/MonthInput.d.ts.map +1 -1
  116. package/dist/kit/components/monthpicker/MonthPicker.d.ts.map +1 -1
  117. package/dist/kit/components/monthpicker/MonthRangeInput.d.ts.map +1 -1
  118. package/dist/kit/components/monthpicker/MonthRangePicker.d.ts.map +1 -1
  119. package/dist/kit/components/timepicker/TimePicker.d.ts.map +1 -1
  120. package/dist/kit/components/timepicker/TimeRangePicker.d.ts.map +1 -1
  121. package/dist/kit/components/timepicker/index.d.ts.map +1 -1
  122. package/dist/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -1
  123. package/dist/kit/layouts/admin/components/ThemeToggle.d.ts.map +1 -1
  124. package/dist/kit/layouts/admin/hooks/menu.d.ts.map +1 -1
  125. package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts +1 -1
  126. package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts.map +1 -1
  127. package/dist/shadcn/hooks/use-mobile.d.ts.map +1 -1
  128. package/dist/shadcn/ui/accordion.d.ts +2 -2
  129. package/dist/shadcn/ui/accordion.d.ts.map +1 -1
  130. package/dist/shadcn/ui/alert-dialog.d.ts +4 -4
  131. package/dist/shadcn/ui/alert-dialog.d.ts.map +1 -1
  132. package/dist/shadcn/ui/alert.d.ts +4 -4
  133. package/dist/shadcn/ui/alert.d.ts.map +1 -1
  134. package/dist/shadcn/ui/aspect-ratio.d.ts +1 -1
  135. package/dist/shadcn/ui/aspect-ratio.d.ts.map +1 -1
  136. package/dist/shadcn/ui/avatar.d.ts +2 -2
  137. package/dist/shadcn/ui/avatar.d.ts.map +1 -1
  138. package/dist/shadcn/ui/badge.d.ts +2 -2
  139. package/dist/shadcn/ui/badge.d.ts.map +1 -1
  140. package/dist/shadcn/ui/breadcrumb.d.ts +8 -8
  141. package/dist/shadcn/ui/breadcrumb.d.ts.map +1 -1
  142. package/dist/shadcn/ui/button.d.ts +2 -2
  143. package/dist/shadcn/ui/button.d.ts.map +1 -1
  144. package/dist/shadcn/ui/calendar.d.ts +2 -2
  145. package/dist/shadcn/ui/calendar.d.ts.map +1 -1
  146. package/dist/shadcn/ui/card.d.ts +8 -8
  147. package/dist/shadcn/ui/card.d.ts.map +1 -1
  148. package/dist/shadcn/ui/carousel.d.ts +5 -5
  149. package/dist/shadcn/ui/carousel.d.ts.map +1 -1
  150. package/dist/shadcn/ui/chart.d.ts +7 -7
  151. package/dist/shadcn/ui/chart.d.ts.map +1 -1
  152. package/dist/shadcn/ui/checkbox.d.ts +2 -2
  153. package/dist/shadcn/ui/checkbox.d.ts.map +1 -1
  154. package/dist/shadcn/ui/collapsible.d.ts +1 -1
  155. package/dist/shadcn/ui/collapsible.d.ts.map +1 -1
  156. package/dist/shadcn/ui/command.d.ts +2 -2
  157. package/dist/shadcn/ui/command.d.ts.map +1 -1
  158. package/dist/shadcn/ui/context-menu.d.ts +4 -4
  159. package/dist/shadcn/ui/context-menu.d.ts.map +1 -1
  160. package/dist/shadcn/ui/dialog.d.ts +4 -4
  161. package/dist/shadcn/ui/dialog.d.ts.map +1 -1
  162. package/dist/shadcn/ui/drawer.d.ts +3 -3
  163. package/dist/shadcn/ui/drawer.d.ts.map +1 -1
  164. package/dist/shadcn/ui/dropdown-menu.d.ts +4 -4
  165. package/dist/shadcn/ui/dropdown-menu.d.ts.map +1 -1
  166. package/dist/shadcn/ui/form.d.ts +5 -5
  167. package/dist/shadcn/ui/form.d.ts.map +1 -1
  168. package/dist/shadcn/ui/hover-card.d.ts +2 -2
  169. package/dist/shadcn/ui/hover-card.d.ts.map +1 -1
  170. package/dist/shadcn/ui/input-otp.d.ts +4 -4
  171. package/dist/shadcn/ui/input-otp.d.ts.map +1 -1
  172. package/dist/shadcn/ui/input.d.ts +2 -2
  173. package/dist/shadcn/ui/input.d.ts.map +1 -1
  174. package/dist/shadcn/ui/label.d.ts +2 -2
  175. package/dist/shadcn/ui/label.d.ts.map +1 -1
  176. package/dist/shadcn/ui/menubar.d.ts +4 -4
  177. package/dist/shadcn/ui/menubar.d.ts.map +1 -1
  178. package/dist/shadcn/ui/navigation-menu.d.ts +2 -2
  179. package/dist/shadcn/ui/navigation-menu.d.ts.map +1 -1
  180. package/dist/shadcn/ui/pagination.d.ts +6 -6
  181. package/dist/shadcn/ui/pagination.d.ts.map +1 -1
  182. package/dist/shadcn/ui/popover.d.ts +2 -2
  183. package/dist/shadcn/ui/popover.d.ts.map +1 -1
  184. package/dist/shadcn/ui/progress.d.ts +2 -2
  185. package/dist/shadcn/ui/progress.d.ts.map +1 -1
  186. package/dist/shadcn/ui/radio-group.d.ts +2 -2
  187. package/dist/shadcn/ui/radio-group.d.ts.map +1 -1
  188. package/dist/shadcn/ui/resizable.d.ts +2 -2
  189. package/dist/shadcn/ui/resizable.d.ts.map +1 -1
  190. package/dist/shadcn/ui/scroll-area.d.ts +2 -2
  191. package/dist/shadcn/ui/scroll-area.d.ts.map +1 -1
  192. package/dist/shadcn/ui/select.d.ts +3 -3
  193. package/dist/shadcn/ui/select.d.ts.map +1 -1
  194. package/dist/shadcn/ui/separator.d.ts +2 -2
  195. package/dist/shadcn/ui/separator.d.ts.map +1 -1
  196. package/dist/shadcn/ui/sheet.d.ts +5 -5
  197. package/dist/shadcn/ui/sheet.d.ts.map +1 -1
  198. package/dist/shadcn/ui/sidebar.d.ts +26 -26
  199. package/dist/shadcn/ui/sidebar.d.ts.map +1 -1
  200. package/dist/shadcn/ui/skeleton.d.ts +1 -1
  201. package/dist/shadcn/ui/skeleton.d.ts.map +1 -1
  202. package/dist/shadcn/ui/slider.d.ts +2 -2
  203. package/dist/shadcn/ui/slider.d.ts.map +1 -1
  204. package/dist/shadcn/ui/sonner.d.ts.map +1 -1
  205. package/dist/shadcn/ui/switch.d.ts +2 -2
  206. package/dist/shadcn/ui/switch.d.ts.map +1 -1
  207. package/dist/shadcn/ui/table.d.ts +9 -9
  208. package/dist/shadcn/ui/table.d.ts.map +1 -1
  209. package/dist/shadcn/ui/tabs.d.ts +2 -2
  210. package/dist/shadcn/ui/tabs.d.ts.map +1 -1
  211. package/dist/shadcn/ui/textarea.d.ts +2 -2
  212. package/dist/shadcn/ui/textarea.d.ts.map +1 -1
  213. package/dist/shadcn/ui/toggle-group.d.ts +2 -2
  214. package/dist/shadcn/ui/toggle-group.d.ts.map +1 -1
  215. package/dist/shadcn/ui/toggle.d.ts +2 -2
  216. package/dist/shadcn/ui/toggle.d.ts.map +1 -1
  217. package/dist/shadcn/ui/tooltip.d.ts +2 -2
  218. package/dist/shadcn/ui/tooltip.d.ts.map +1 -1
  219. package/package.json +2 -2
  220. package/src/index.ts +1 -1
  221. package/src/kit/builder/auth/AuthProvider.tsx +131 -0
  222. package/src/kit/builder/auth/adapter.ts +436 -0
  223. package/src/kit/builder/auth/client-adapters.ts +398 -0
  224. package/src/kit/builder/auth/components.tsx +221 -0
  225. package/src/kit/builder/auth/hooks.ts +237 -0
  226. package/src/kit/builder/auth/index.ts +134 -0
  227. package/src/kit/builder/auth/permission-checker.ts +150 -0
  228. package/src/kit/builder/auth/storage.ts +366 -0
  229. package/src/kit/builder/auth/token-manager.ts +55 -0
  230. package/src/kit/builder/auth/types.ts +393 -0
  231. package/src/kit/builder/data-table/components/DataTable.tsx +216 -82
  232. package/src/kit/builder/data-table/components/DataTableColumnHeader.tsx +9 -5
  233. package/src/kit/builder/data-table/components/DataTablePagination.tsx +49 -27
  234. package/src/kit/builder/data-table/components/DataTableViewOptions.tsx +13 -4
  235. package/src/kit/builder/data-table/types.ts +18 -3
  236. package/src/kit/builder/dialog/index.ts +5 -1
  237. package/src/kit/builder/dialog/provider.tsx +56 -27
  238. package/src/kit/builder/form/components/FormBuilder.tsx +10 -14
  239. package/src/kit/builder/form/components/FormBuilderActions.tsx +1 -1
  240. package/src/kit/builder/form/components/FormBuilderContext.tsx +13 -6
  241. package/src/kit/builder/form/components/FormBuilderField.tsx +70 -20
  242. package/src/kit/builder/form/components/fields/ArrayField.tsx +148 -62
  243. package/src/kit/builder/form/components/fields/AutocompleteField.tsx +53 -18
  244. package/src/kit/builder/form/components/fields/CheckboxField.tsx +20 -11
  245. package/src/kit/builder/form/components/fields/DateField.tsx +17 -6
  246. package/src/kit/builder/form/components/fields/DatePickerField.tsx +15 -10
  247. package/src/kit/builder/form/components/fields/DateRangePickerField.tsx +20 -15
  248. package/src/kit/builder/form/components/fields/DateTimePickerField.tsx +16 -11
  249. package/src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx +23 -17
  250. package/src/kit/builder/form/components/fields/FileField.tsx +10 -5
  251. package/src/kit/builder/form/components/fields/MonthPickerField.tsx +18 -11
  252. package/src/kit/builder/form/components/fields/MonthRangePickerField.tsx +23 -17
  253. package/src/kit/builder/form/components/fields/NumberField.tsx +9 -4
  254. package/src/kit/builder/form/components/fields/ObjectField.tsx +12 -7
  255. package/src/kit/builder/form/components/fields/RadioField.tsx +32 -14
  256. package/src/kit/builder/form/components/fields/SelectField.tsx +26 -11
  257. package/src/kit/builder/form/components/fields/SwitchField.tsx +20 -11
  258. package/src/kit/builder/form/components/fields/TextField.tsx +11 -5
  259. package/src/kit/builder/form/components/fields/TextareaField.tsx +9 -4
  260. package/src/kit/builder/form/components/fields/TimePickerField.tsx +16 -11
  261. package/src/kit/builder/form/components/fields/TimeRangePickerField.tsx +23 -17
  262. package/src/kit/builder/form/components/fields/index.ts +21 -21
  263. package/src/kit/builder/form/components/fields/types.ts +15 -11
  264. package/src/kit/builder/form/components/sectionNodes.tsx +63 -40
  265. package/src/kit/builder/form/hooks/useFormBuilder.ts +83 -34
  266. package/src/kit/builder/form/types.ts +173 -148
  267. package/src/kit/builder/form/utils/section-factories.ts +4 -1
  268. package/src/kit/builder/form/utils/transformers.ts +4 -4
  269. package/src/kit/builder/form/utils/validations.ts +1 -1
  270. package/src/kit/builder/page/Page.tsx +26 -6
  271. package/src/kit/builder/page/index.ts +1 -1
  272. package/src/kit/builder/section/SectionBuilder.tsx +252 -127
  273. package/src/kit/builder/section/SectionContainer.tsx +85 -0
  274. package/src/kit/builder/stack-dialog/context.ts +10 -4
  275. package/src/kit/builder/stack-dialog/hooks.ts +4 -3
  276. package/src/kit/builder/stack-dialog/index.ts +5 -11
  277. package/src/kit/builder/stack-dialog/provider.tsx +11 -11
  278. package/src/kit/builder/stack-dialog/renderer.tsx +23 -26
  279. package/src/kit/builder/stack-dialog/types.ts +18 -18
  280. package/src/kit/components/autocomplete/Autocomplete.tsx +631 -549
  281. package/src/kit/components/autocomplete/types.ts +17 -17
  282. package/src/kit/components/datepicker/DatePicker.tsx +33 -9
  283. package/src/kit/components/datepicker/DateRangePicker.tsx +159 -87
  284. package/src/kit/components/datetimepicker/DateTimePicker.tsx +136 -30
  285. package/src/kit/components/datetimepicker/DateTimeRangePicker.tsx +257 -67
  286. package/src/kit/components/datetimepicker/index.ts +3 -3
  287. package/src/kit/components/fileuploader/FileUploader.tsx +315 -180
  288. package/src/kit/components/fileuploader/index.ts +3 -3
  289. package/src/kit/components/fileuploader/types.ts +3 -3
  290. package/src/kit/components/forminfo/FormInfoError.tsx +26 -11
  291. package/src/kit/components/login/Login.tsx +13 -4
  292. package/src/kit/components/monthpicker/MonthInput.tsx +13 -4
  293. package/src/kit/components/monthpicker/MonthPicker.tsx +12 -11
  294. package/src/kit/components/monthpicker/MonthRangeInput.tsx +29 -8
  295. package/src/kit/components/monthpicker/MonthRangePicker.tsx +23 -21
  296. package/src/kit/components/timepicker/TimePicker.tsx +19 -11
  297. package/src/kit/components/timepicker/TimeRangePicker.tsx +106 -29
  298. package/src/kit/components/timepicker/index.ts +3 -3
  299. package/src/kit/layouts/admin/components/AdminLayout.tsx +53 -24
  300. package/src/kit/layouts/admin/components/ThemeToggle.tsx +3 -9
  301. package/src/kit/layouts/admin/hooks/menu.ts +11 -5
  302. package/src/kit/layouts/admin/providers/AdminMenuProvider.tsx +59 -39
  303. package/src/kit/layouts/admin/types/index.ts +1 -1
  304. package/src/kit/themes/base.css +1 -1
  305. package/src/kit/themes/clean-slate.css +40 -32
  306. package/src/kit/themes/default.css +34 -24
  307. package/src/kit/themes/minimal-modern.css +37 -29
  308. package/src/kit/themes/spotify.css +56 -39
  309. package/src/shadcn/hooks/use-mobile.ts +13 -11
  310. package/src/shadcn/lib/utils.ts +2 -2
  311. package/src/shadcn/ui/accordion.tsx +14 -14
  312. package/src/shadcn/ui/alert-dialog.tsx +29 -29
  313. package/src/shadcn/ui/alert.tsx +20 -20
  314. package/src/shadcn/ui/aspect-ratio.tsx +4 -4
  315. package/src/shadcn/ui/avatar.tsx +13 -13
  316. package/src/shadcn/ui/badge.tsx +16 -16
  317. package/src/shadcn/ui/breadcrumb.tsx +28 -28
  318. package/src/shadcn/ui/button.tsx +23 -23
  319. package/src/shadcn/ui/calendar.tsx +82 -78
  320. package/src/shadcn/ui/card.tsx +27 -27
  321. package/src/shadcn/ui/carousel.tsx +93 -93
  322. package/src/shadcn/ui/chart.tsx +103 -103
  323. package/src/shadcn/ui/checkbox.tsx +9 -9
  324. package/src/shadcn/ui/collapsible.tsx +6 -6
  325. package/src/shadcn/ui/command.tsx +36 -36
  326. package/src/shadcn/ui/context-menu.tsx +40 -40
  327. package/src/shadcn/ui/dialog.tsx +28 -28
  328. package/src/shadcn/ui/drawer.tsx +30 -30
  329. package/src/shadcn/ui/dropdown-menu.tsx +41 -41
  330. package/src/shadcn/ui/form.tsx +48 -47
  331. package/src/shadcn/ui/hover-card.tsx +11 -11
  332. package/src/shadcn/ui/input-otp.tsx +23 -23
  333. package/src/shadcn/ui/input.tsx +9 -9
  334. package/src/shadcn/ui/label.tsx +8 -8
  335. package/src/shadcn/ui/menubar.tsx +47 -47
  336. package/src/shadcn/ui/navigation-menu.tsx +33 -33
  337. package/src/shadcn/ui/pagination.tsx +28 -28
  338. package/src/shadcn/ui/popover.tsx +12 -12
  339. package/src/shadcn/ui/progress.tsx +8 -8
  340. package/src/shadcn/ui/radio-group.tsx +11 -11
  341. package/src/shadcn/ui/resizable.tsx +14 -14
  342. package/src/shadcn/ui/scroll-area.tsx +15 -15
  343. package/src/shadcn/ui/select.tsx +34 -34
  344. package/src/shadcn/ui/separator.tsx +9 -9
  345. package/src/shadcn/ui/sheet.tsx +36 -36
  346. package/src/shadcn/ui/sidebar.tsx +227 -227
  347. package/src/shadcn/ui/skeleton.tsx +5 -5
  348. package/src/shadcn/ui/slider.tsx +12 -12
  349. package/src/shadcn/ui/sonner.tsx +11 -11
  350. package/src/shadcn/ui/switch.tsx +9 -9
  351. package/src/shadcn/ui/table.tsx +32 -32
  352. package/src/shadcn/ui/tabs.tsx +14 -14
  353. package/src/shadcn/ui/textarea.tsx +7 -7
  354. package/src/shadcn/ui/toggle-group.tsx +17 -17
  355. package/src/shadcn/ui/toggle.tsx +16 -16
  356. package/src/shadcn/ui/tooltip.tsx +11 -11
  357. package/src/stories/FileUploader.stories.tsx +23 -4
  358. package/src/stories/kit/builder/DataTable.Basic.stories.tsx +14 -4
  359. package/src/stories/kit/builder/DataTable.Filters.stories.tsx +36 -14
  360. package/src/stories/kit/builder/DataTable.Pagination.stories.tsx +3 -2
  361. package/src/stories/kit/builder/DataTable.SelectionAndActions.stories.tsx +18 -4
  362. package/src/stories/kit/builder/DataTable.Sorting.stories.tsx +18 -7
  363. package/src/stories/kit/builder/Dialog.stories.tsx +19 -13
  364. package/src/stories/kit/builder/Form.ArrayLayouts.stories.tsx +40 -16
  365. package/src/stories/kit/builder/Form.Autocomplete.stories.tsx +34 -22
  366. package/src/stories/kit/builder/Form.Basic.stories.tsx +38 -6
  367. package/src/stories/kit/builder/Form.Complex.stories.tsx +356 -111
  368. package/src/stories/kit/builder/Form.DateTime.stories.tsx +12 -8
  369. package/src/stories/kit/builder/Form.Dynamic.stories.tsx +695 -132
  370. package/src/stories/kit/builder/Form.Files.stories.tsx +37 -26
  371. package/src/stories/kit/builder/Form.MultipleFormBuilder.stories.tsx +46 -42
  372. package/src/stories/kit/builder/Form.Pickers.stories.tsx +12 -8
  373. package/src/stories/kit/builder/Form.Simple.stories.tsx +15 -6
  374. package/src/stories/kit/builder/Form.Time.stories.tsx +12 -8
  375. package/src/stories/kit/builder/Page.stories.tsx +32 -6
  376. package/src/stories/kit/builder/Section.stories.tsx +58 -11
  377. package/src/stories/kit/components/Autocomplete.stories.tsx +55 -22
  378. package/src/stories/kit/components/DatePicker.stories.tsx +80 -13
  379. package/src/stories/kit/components/DateRangePicker.stories.tsx +52 -11
  380. package/src/stories/kit/components/Login.stories.tsx +8 -2
  381. package/src/stories/kit/components/MonthPicker.stories.tsx +26 -6
  382. package/src/stories/kit/components/MonthRangePicker.stories.tsx +24 -5
  383. package/src/stories/kit/components/TimePicker.stories.tsx +18 -16
  384. package/src/stories/kit/components/TimeRangePicker.stories.tsx +18 -12
  385. package/src/stories/kit/layouts/admin/AdminLayout.Basic.stories.tsx +29 -6
  386. package/src/stories/kit/layouts/admin/AdminLayout.Collapsible.stories.tsx +26 -5
  387. package/src/stories/kit/layouts/admin/AdminLayout.Complex.stories.tsx +101 -18
  388. package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarHeaderComponent.stories.tsx +18 -4
  389. package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarTitleAndIcon.stories.tsx +17 -4
  390. package/src/stories/kit/layouts/admin/AdminLayout.HeaderSlots.stories.tsx +28 -6
  391. package/src/stories/shadcn/ui/Accordion.stories.tsx +33 -10
  392. package/src/stories/shadcn/ui/AlertDialog.stories.tsx +3 -1
  393. package/src/stories/shadcn/ui/Button.stories.tsx +3 -1
  394. package/src/stories/shadcn/ui/Calendar.stories.tsx +6 -1
  395. package/src/stories/shadcn/ui/Card.stories.tsx +11 -2
  396. package/src/stories/shadcn/ui/Checkbox.stories.tsx +11 -3
  397. package/src/stories/shadcn/ui/Collapsible.stories.tsx +12 -5
  398. package/src/stories/shadcn/ui/ContextMenu.stories.tsx +12 -4
  399. package/src/stories/shadcn/ui/Dialog.stories.tsx +15 -3
  400. package/src/stories/shadcn/ui/Drawer.stories.tsx +5 -2
  401. package/src/stories/shadcn/ui/DropdownMenu.stories.tsx +15 -5
  402. package/src/stories/shadcn/ui/Form.stories.tsx +5 -2
  403. package/src/stories/shadcn/ui/HoverCard.stories.tsx +8 -2
  404. package/src/stories/shadcn/ui/Input.stories.tsx +3 -1
  405. package/src/stories/shadcn/ui/InputOtp.stories.tsx +9 -2
  406. package/src/stories/shadcn/ui/Menubar.stories.tsx +21 -7
  407. package/src/stories/shadcn/ui/NavigationMenu.stories.tsx +30 -5
  408. package/src/stories/shadcn/ui/Popover.stories.tsx +8 -2
  409. package/src/stories/shadcn/ui/Resizable.stories.tsx +17 -5
  410. package/src/stories/shadcn/ui/ScrollArea.stories.tsx +54 -2
  411. package/src/stories/shadcn/ui/Select.stories.tsx +7 -1
  412. package/src/stories/shadcn/ui/Sheet.stories.tsx +2 -1
  413. package/src/stories/shadcn/ui/Sidebar.stories.tsx +13 -2
  414. package/src/stories/shadcn/ui/Sonner.stories.tsx +12 -2
  415. package/src/stories/shadcn/ui/Table.stories.tsx +86 -27
  416. package/src/stories/shadcn/ui/Tabs.stories.tsx +9 -2
  417. package/src/stories/shadcn/ui/Textarea.stories.tsx +3 -1
  418. package/src/stories/shadcn/ui/Toggle.stories.tsx +10 -2
  419. package/src/stories/shadcn/ui/Tooltip.stories.tsx +6 -1
  420. package/tsconfig.json +1 -5
  421. package/tsconfig.tsbuildinfo +1 -0
  422. package/eslint.config.mjs +0 -19
@@ -1,6 +1,6 @@
1
- import type { Meta, StoryObj } from '@storybook/react'
2
- import * as React from 'react'
3
- import { TimeRangePicker } from '../../../kit/components/timepicker/TimeRangePicker'
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import * as React from 'react';
3
+ import { TimeRangePicker } from '../../../kit/components/timepicker/TimeRangePicker';
4
4
 
5
5
  const meta: Meta<typeof TimeRangePicker> = {
6
6
  title: 'Kit/Components/TimeRangePicker',
@@ -9,11 +9,11 @@ const meta: Meta<typeof TimeRangePicker> = {
9
9
  controls: { expanded: true },
10
10
  backgrounds: { disable: true },
11
11
  },
12
- }
12
+ };
13
13
 
14
- export default meta
14
+ export default meta;
15
15
 
16
- type Story = StoryObj<typeof TimeRangePicker>
16
+ type Story = StoryObj<typeof TimeRangePicker>;
17
17
 
18
18
  export const Basic: Story = {
19
19
  name: 'Basic (HH:mm – HH:mm, 24h)',
@@ -22,16 +22,22 @@ export const Basic: Story = {
22
22
  hourCycle: 24,
23
23
  },
24
24
  render: (args) => {
25
- const [value, setValue] = React.useState<{ from?: Date | null; to?: Date | null } | null>({
25
+ const [value, setValue] = React.useState<{
26
+ from?: Date | null;
27
+ to?: Date | null;
28
+ } | null>({
26
29
  from: new Date(),
27
- to: new Date(new Date().getTime() + 60 * 60 * 1000),
28
- })
30
+ to: new Date(Date.now() + 60 * 60 * 1000),
31
+ });
29
32
 
30
33
  return (
31
34
  <div className="p-6 space-y-4">
32
35
  <TimeRangePicker {...args} value={value} onChange={setValue} />
33
- <div className="text-xs text-muted-foreground">Value: {value?.from?.toLocaleTimeString?.()} – {value?.to?.toLocaleTimeString?.()}</div>
36
+ <div className="text-xs text-muted-foreground">
37
+ Value: {value?.from?.toLocaleTimeString?.()} –{' '}
38
+ {value?.to?.toLocaleTimeString?.()}
39
+ </div>
34
40
  </div>
35
- )
41
+ );
36
42
  },
37
- }
43
+ };
@@ -21,17 +21,34 @@ export default meta;
21
21
  type Story = StoryObj<typeof AdminLayout>;
22
22
 
23
23
  function RegisterMenus() {
24
- const { registerGroup, registerItem, clear } = useAdminSidebarMenuRegistration();
24
+ const { registerGroup, registerItem, clear } =
25
+ useAdminSidebarMenuRegistration();
25
26
  useEffect(() => {
26
27
  clear();
27
28
  registerGroup({ id: 'main', label: 'Main' });
28
- registerItem('main', { id: 'dashboard', title: 'Dashboard', url: '/', icon: Home });
29
+ registerItem('main', {
30
+ id: 'dashboard',
31
+ title: 'Dashboard',
32
+ url: '/',
33
+ icon: Home,
34
+ });
29
35
 
30
36
  registerGroup({ id: 'commerce', label: 'Commerce' });
31
- registerItem('commerce', { id: 'orders', title: 'Orders', url: '/orders', icon: ShoppingCart, badge: 12 });
37
+ registerItem('commerce', {
38
+ id: 'orders',
39
+ title: 'Orders',
40
+ url: '/orders',
41
+ icon: ShoppingCart,
42
+ badge: 12,
43
+ });
32
44
 
33
45
  registerGroup({ id: 'settings', label: 'Settings' });
34
- registerItem('settings', { id: 'general', title: 'General', url: '/settings', icon: Settings });
46
+ registerItem('settings', {
47
+ id: 'general',
48
+ title: 'General',
49
+ url: '/settings',
50
+ icon: Settings,
51
+ });
35
52
  }, [registerGroup, registerItem, clear]);
36
53
  return null;
37
54
  }
@@ -78,12 +95,18 @@ function App(props: AdminLayoutStoryProps) {
78
95
  component: () => (
79
96
  <div className="p-6">
80
97
  <h2 className="text-xl font-semibold mb-2">Settings</h2>
81
- <p className="text-muted-foreground">Update your application settings.</p>
98
+ <p className="text-muted-foreground">
99
+ Update your application settings.
100
+ </p>
82
101
  </div>
83
102
  ),
84
103
  });
85
104
 
86
- const routeTree = rootRoute.addChildren([indexRoute, ordersRoute, settingsRoute]);
105
+ const routeTree = rootRoute.addChildren([
106
+ indexRoute,
107
+ ordersRoute,
108
+ settingsRoute,
109
+ ]);
87
110
  const router = createRouter({ routeTree, basepath: '/iframe.html' });
88
111
 
89
112
  return <RouterProvider router={router} />;
@@ -23,15 +23,32 @@ type Story = StoryObj<typeof AdminLayout>;
23
23
  type AdminLayoutStoryProps = React.ComponentProps<typeof AdminLayout>;
24
24
 
25
25
  function RegisterMenus() {
26
- const { registerGroup, registerItem, clear } = useAdminSidebarMenuRegistration();
26
+ const { registerGroup, registerItem, clear } =
27
+ useAdminSidebarMenuRegistration();
27
28
  useEffect(() => {
28
29
  clear();
29
30
  registerGroup({ id: 'main', label: 'Main' });
30
- registerItem('main', { id: 'dashboard', title: 'Dashboard', url: '/', icon: Home });
31
+ registerItem('main', {
32
+ id: 'dashboard',
33
+ title: 'Dashboard',
34
+ url: '/',
35
+ icon: Home,
36
+ });
31
37
  registerGroup({ id: 'commerce', label: 'Commerce' });
32
- registerItem('commerce', { id: 'orders', title: 'Orders', url: '/orders', icon: ShoppingCart, badge: 12 });
38
+ registerItem('commerce', {
39
+ id: 'orders',
40
+ title: 'Orders',
41
+ url: '/orders',
42
+ icon: ShoppingCart,
43
+ badge: 12,
44
+ });
33
45
  registerGroup({ id: 'settings', label: 'Settings' });
34
- registerItem('settings', { id: 'general', title: 'General', url: '/settings', icon: Settings });
46
+ registerItem('settings', {
47
+ id: 'general',
48
+ title: 'General',
49
+ url: '/settings',
50
+ icon: Settings,
51
+ });
35
52
  }, [registerGroup, registerItem, clear]);
36
53
  return null;
37
54
  }
@@ -48,7 +65,11 @@ function App(props: AdminLayoutStoryProps) {
48
65
  ),
49
66
  });
50
67
 
51
- const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', component: () => <div className="p-6">Home</div> });
68
+ const indexRoute = createRoute({
69
+ getParentRoute: () => rootRoute,
70
+ path: '/',
71
+ component: () => <div className="p-6">Home</div>,
72
+ });
52
73
  const routeTree = rootRoute.addChildren([indexRoute]);
53
74
  const router = createRouter({ routeTree, basepath: '/iframe.html' });
54
75
  return <RouterProvider router={router} />;
@@ -10,7 +10,17 @@ import {
10
10
  createRoute,
11
11
  createRouter,
12
12
  } from '@tanstack/react-router';
13
- import { Home, ShoppingCart, Settings, Users, BarChart3, FileText, Shield, Bell, LifeBuoy } from 'lucide-react';
13
+ import {
14
+ Home,
15
+ ShoppingCart,
16
+ Settings,
17
+ Users,
18
+ BarChart3,
19
+ FileText,
20
+ Shield,
21
+ Bell,
22
+ LifeBuoy,
23
+ } from 'lucide-react';
14
24
 
15
25
  const meta: Meta<typeof AdminLayout> = {
16
26
  title: 'Kit/Layouts/Admin',
@@ -23,13 +33,25 @@ type Story = StoryObj<typeof AdminLayout>;
23
33
  type AdminLayoutStoryProps = React.ComponentProps<typeof AdminLayout>;
24
34
 
25
35
  function RegisterComplexMenus() {
26
- const { registerGroup, registerItem, clear } = useAdminSidebarMenuRegistration();
36
+ const { registerGroup, registerItem, clear } =
37
+ useAdminSidebarMenuRegistration();
27
38
  useEffect(() => {
28
39
  clear();
29
40
  // Overview
30
41
  registerGroup({ id: 'overview', label: 'Overview' });
31
- registerItem('overview', { id: 'home', title: 'Home', url: '/', icon: Home });
32
- registerItem('overview', { id: 'reports', title: 'Reports', url: '/reports', icon: BarChart3, badge: 'New' });
42
+ registerItem('overview', {
43
+ id: 'home',
44
+ title: 'Home',
45
+ url: '/',
46
+ icon: Home,
47
+ });
48
+ registerItem('overview', {
49
+ id: 'reports',
50
+ title: 'Reports',
51
+ url: '/reports',
52
+ icon: BarChart3,
53
+ badge: 'New',
54
+ });
33
55
 
34
56
  // Management
35
57
  registerGroup({ id: 'management', label: 'Management' });
@@ -49,8 +71,16 @@ function RegisterComplexMenus() {
49
71
  title: 'Team Alpha',
50
72
  url: '/users/teams/alpha',
51
73
  children: [
52
- { id: 'team-alpha-members', title: 'Members', url: '/users/teams/alpha/members' },
53
- { id: 'team-alpha-settings', title: 'Settings', url: '/users/teams/alpha/settings' },
74
+ {
75
+ id: 'team-alpha-members',
76
+ title: 'Members',
77
+ url: '/users/teams/alpha/members',
78
+ },
79
+ {
80
+ id: 'team-alpha-settings',
81
+ title: 'Settings',
82
+ url: '/users/teams/alpha/settings',
83
+ },
54
84
  ],
55
85
  },
56
86
  { id: 'team-beta', title: 'Team Beta', url: '/users/teams/beta' },
@@ -64,12 +94,25 @@ function RegisterComplexMenus() {
64
94
  icon: ShoppingCart,
65
95
  children: [
66
96
  { id: 'orders-all', title: 'All Orders', url: '/orders' },
67
- { id: 'orders-pending', title: 'Pending', url: '/orders/pending', badge: 5 },
68
- { id: 'orders-completed', title: 'Completed', url: '/orders/completed' },
97
+ {
98
+ id: 'orders-pending',
99
+ title: 'Pending',
100
+ url: '/orders/pending',
101
+ badge: 5,
102
+ },
103
+ {
104
+ id: 'orders-completed',
105
+ title: 'Completed',
106
+ url: '/orders/completed',
107
+ },
69
108
  ],
70
109
  });
71
110
  // Action-only item
72
- registerItem('management', { id: 'export', title: 'Export CSV', onClick: () => console.log('Export CSV') });
111
+ registerItem('management', {
112
+ id: 'export',
113
+ title: 'Export CSV',
114
+ onClick: () => console.log('Export CSV'),
115
+ });
73
116
 
74
117
  // Content
75
118
  registerGroup({ id: 'content', label: 'Content' });
@@ -79,20 +122,51 @@ function RegisterComplexMenus() {
79
122
  icon: FileText,
80
123
  children: [
81
124
  { id: 'articles-published', title: 'Published', url: '/articles' },
82
- { id: 'articles-archived', title: 'Archived', url: '/articles/archived' },
125
+ {
126
+ id: 'articles-archived',
127
+ title: 'Archived',
128
+ url: '/articles/archived',
129
+ },
83
130
  ],
84
131
  });
85
- registerItem('content', { id: 'drafts', title: 'Drafts', url: '/drafts', icon: FileText, badge: 7 });
132
+ registerItem('content', {
133
+ id: 'drafts',
134
+ title: 'Drafts',
135
+ url: '/drafts',
136
+ icon: FileText,
137
+ badge: 7,
138
+ });
86
139
 
87
140
  // System
88
141
  registerGroup({ id: 'system', label: 'System' });
89
- registerItem('system', { id: 'alerts', title: 'Alerts', url: '/alerts', icon: Bell });
90
- registerItem('system', { id: 'security', title: 'Security', url: '/security', icon: Shield, disabled: true });
91
- registerItem('system', { id: 'support', title: 'Support', url: '/support', icon: LifeBuoy });
142
+ registerItem('system', {
143
+ id: 'alerts',
144
+ title: 'Alerts',
145
+ url: '/alerts',
146
+ icon: Bell,
147
+ });
148
+ registerItem('system', {
149
+ id: 'security',
150
+ title: 'Security',
151
+ url: '/security',
152
+ icon: Shield,
153
+ disabled: true,
154
+ });
155
+ registerItem('system', {
156
+ id: 'support',
157
+ title: 'Support',
158
+ url: '/support',
159
+ icon: LifeBuoy,
160
+ });
92
161
 
93
162
  // Settings
94
163
  registerGroup({ id: 'settings', label: 'Settings' });
95
- registerItem('settings', { id: 'general', title: 'General', url: '/settings', icon: Settings });
164
+ registerItem('settings', {
165
+ id: 'general',
166
+ title: 'General',
167
+ url: '/settings',
168
+ icon: Settings,
169
+ });
96
170
  }, [registerGroup, registerItem, clear]);
97
171
  return null;
98
172
  }
@@ -147,7 +221,7 @@ function App(props: AdminLayoutStoryProps) {
147
221
  <p className="text-muted-foreground">This is the {title} page.</p>
148
222
  </div>
149
223
  ),
150
- })
224
+ }),
151
225
  );
152
226
 
153
227
  const routeTree = rootRoute.addChildren([indexRoute, ...extraRoutes]);
@@ -161,8 +235,17 @@ export const Complex: Story = {
161
235
  <App
162
236
  sidebarHeaderIcon={Home}
163
237
  sidebarHeaderTitle={<span>Admin App</span>}
164
- headerAfterTrigger={<input className="h-8 w-64 rounded-md border px-3 text-sm" placeholder="Quick search…" />}
165
- headerAfterTheme={<button className="h-8 rounded-md border px-3 text-sm">Help</button>}
238
+ headerAfterTrigger={
239
+ <input
240
+ className="h-8 w-64 rounded-md border px-3 text-sm"
241
+ placeholder="Quick search…"
242
+ />
243
+ }
244
+ headerAfterTheme={
245
+ <button type="button" className="h-8 rounded-md border px-3 text-sm">
246
+ Help
247
+ </button>
248
+ }
166
249
  />
167
250
  ),
168
251
  };
@@ -23,11 +23,17 @@ type Story = StoryObj<typeof AdminLayout>;
23
23
  type AdminLayoutStoryProps = React.ComponentProps<typeof AdminLayout>;
24
24
 
25
25
  function RegisterMenus() {
26
- const { registerGroup, registerItem, clear } = useAdminSidebarMenuRegistration();
26
+ const { registerGroup, registerItem, clear } =
27
+ useAdminSidebarMenuRegistration();
27
28
  useEffect(() => {
28
29
  clear();
29
30
  registerGroup({ id: 'overview', label: 'Overview' });
30
- registerItem('overview', { id: 'home', title: 'Home', url: '/', icon: Home });
31
+ registerItem('overview', {
32
+ id: 'home',
33
+ title: 'Home',
34
+ url: '/',
35
+ icon: Home,
36
+ });
31
37
  }, [registerGroup, registerItem, clear]);
32
38
  return null;
33
39
  }
@@ -43,7 +49,11 @@ function App(props: AdminLayoutStoryProps) {
43
49
  </ThemeProvider>
44
50
  ),
45
51
  });
46
- const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', component: () => <div className="p-6">Home</div> });
52
+ const indexRoute = createRoute({
53
+ getParentRoute: () => rootRoute,
54
+ path: '/',
55
+ component: () => <div className="p-6">Home</div>,
56
+ });
47
57
  const routeTree = rootRoute.addChildren([indexRoute]);
48
58
  const router = createRouter({ routeTree, basepath: '/iframe.html' });
49
59
  return <RouterProvider router={router} />;
@@ -56,7 +66,11 @@ export const CustomSidebarHeaderComponent: Story = {
56
66
  sidebarHeader={
57
67
  <div className="px-4 py-3">
58
68
  <div className="flex items-center gap-2">
59
- <img src="https://dummyimage.com/32x32/000/fff.png&text=A" alt="Logo" className="h-8 w-8 rounded" />
69
+ <img
70
+ src="https://dummyimage.com/32x32/000/fff.png&text=A"
71
+ alt="Logo"
72
+ className="h-8 w-8 rounded"
73
+ />
60
74
  <span className="font-semibold">My Admin</span>
61
75
  </div>
62
76
  </div>
@@ -23,11 +23,17 @@ type Story = StoryObj<typeof AdminLayout>;
23
23
  type AdminLayoutStoryProps = React.ComponentProps<typeof AdminLayout>;
24
24
 
25
25
  function RegisterMenus() {
26
- const { registerGroup, registerItem, clear } = useAdminSidebarMenuRegistration();
26
+ const { registerGroup, registerItem, clear } =
27
+ useAdminSidebarMenuRegistration();
27
28
  useEffect(() => {
28
29
  clear();
29
30
  registerGroup({ id: 'overview', label: 'Overview' });
30
- registerItem('overview', { id: 'home', title: 'Home', url: '/', icon: Home });
31
+ registerItem('overview', {
32
+ id: 'home',
33
+ title: 'Home',
34
+ url: '/',
35
+ icon: Home,
36
+ });
31
37
  }, [registerGroup, registerItem, clear]);
32
38
  return null;
33
39
  }
@@ -43,7 +49,11 @@ function App(props: AdminLayoutStoryProps) {
43
49
  </ThemeProvider>
44
50
  ),
45
51
  });
46
- const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', component: () => <div className="p-6">Home</div> });
52
+ const indexRoute = createRoute({
53
+ getParentRoute: () => rootRoute,
54
+ path: '/',
55
+ component: () => <div className="p-6">Home</div>,
56
+ });
47
57
  const routeTree = rootRoute.addChildren([indexRoute]);
48
58
  const router = createRouter({ routeTree, basepath: '/iframe.html' });
49
59
  return <RouterProvider router={router} />;
@@ -52,6 +62,9 @@ function App(props: AdminLayoutStoryProps) {
52
62
  export const CustomSidebarTitleAndIcon: Story = {
53
63
  name: 'Custom sidebar title and icon',
54
64
  render: () => (
55
- <App sidebarHeaderIcon={BarChart3} sidebarHeaderTitle={<span>Custom Title</span>} />
65
+ <App
66
+ sidebarHeaderIcon={BarChart3}
67
+ sidebarHeaderTitle={<span>Custom Title</span>}
68
+ />
56
69
  ),
57
70
  };
@@ -23,11 +23,17 @@ type Story = StoryObj<typeof AdminLayout>;
23
23
  type AdminLayoutStoryProps = React.ComponentProps<typeof AdminLayout>;
24
24
 
25
25
  function RegisterMenus() {
26
- const { registerGroup, registerItem, clear } = useAdminSidebarMenuRegistration();
26
+ const { registerGroup, registerItem, clear } =
27
+ useAdminSidebarMenuRegistration();
27
28
  useEffect(() => {
28
29
  clear();
29
30
  registerGroup({ id: 'overview', label: 'Overview' });
30
- registerItem('overview', { id: 'home', title: 'Home', url: '/', icon: Home });
31
+ registerItem('overview', {
32
+ id: 'home',
33
+ title: 'Home',
34
+ url: '/',
35
+ icon: Home,
36
+ });
31
37
  }, [registerGroup, registerItem, clear]);
32
38
  return null;
33
39
  }
@@ -43,7 +49,11 @@ function App(props: AdminLayoutStoryProps) {
43
49
  </ThemeProvider>
44
50
  ),
45
51
  });
46
- const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', component: () => <div className="p-6">Home</div> });
52
+ const indexRoute = createRoute({
53
+ getParentRoute: () => rootRoute,
54
+ path: '/',
55
+ component: () => <div className="p-6">Home</div>,
56
+ });
47
57
  const routeTree = rootRoute.addChildren([indexRoute]);
48
58
  const router = createRouter({ routeTree, basepath: '/iframe.html' });
49
59
  return <RouterProvider router={router} />;
@@ -53,11 +63,23 @@ export const HeaderSlots: Story = {
53
63
  name: 'Header slots (after trigger/theme)',
54
64
  render: () => (
55
65
  <App
56
- headerAfterTrigger={<input className="h-8 w-64 rounded-md border px-3 text-sm" placeholder="Search…" />}
66
+ headerAfterTrigger={
67
+ <input
68
+ className="h-8 w-64 rounded-md border px-3 text-sm"
69
+ placeholder="Search…"
70
+ />
71
+ }
57
72
  headerAfterTheme={
58
73
  <div className="flex items-center gap-2">
59
- <button className="h-8 rounded-md border px-3 text-sm">Invite</button>
60
- <button className="h-8 rounded-md bg-primary px-3 text-sm text-primary-foreground">New</button>
74
+ <button type="button" className="h-8 rounded-md border px-3 text-sm">
75
+ Invite
76
+ </button>
77
+ <button
78
+ type="button"
79
+ className="h-8 rounded-md bg-primary px-3 text-sm text-primary-foreground"
80
+ >
81
+ New
82
+ </button>
61
83
  </div>
62
84
  }
63
85
  />
@@ -1,5 +1,10 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from '../../../shadcn/ui/accordion';
2
+ import {
3
+ Accordion,
4
+ AccordionItem,
5
+ AccordionTrigger,
6
+ AccordionContent,
7
+ } from '../../../shadcn/ui/accordion';
3
8
  import { useState } from 'react';
4
9
 
5
10
  const meta: Meta<typeof Accordion> = {
@@ -20,15 +25,21 @@ export const Basic: Story = {
20
25
  <Accordion {...args}>
21
26
  <AccordionItem value="item-1">
22
27
  <AccordionTrigger>Is it accessible?</AccordionTrigger>
23
- <AccordionContent>Yes. It adheres to WAI-ARIA design patterns.</AccordionContent>
28
+ <AccordionContent>
29
+ Yes. It adheres to WAI-ARIA design patterns.
30
+ </AccordionContent>
24
31
  </AccordionItem>
25
32
  <AccordionItem value="item-2">
26
33
  <AccordionTrigger>Is it styled?</AccordionTrigger>
27
- <AccordionContent>Yes. It comes with default styles that can be overridden.</AccordionContent>
34
+ <AccordionContent>
35
+ Yes. It comes with default styles that can be overridden.
36
+ </AccordionContent>
28
37
  </AccordionItem>
29
38
  <AccordionItem value="item-3">
30
39
  <AccordionTrigger>Is it animated?</AccordionTrigger>
31
- <AccordionContent>Yes. It uses utility classes for smooth animations.</AccordionContent>
40
+ <AccordionContent>
41
+ Yes. It uses utility classes for smooth animations.
42
+ </AccordionContent>
32
43
  </AccordionItem>
33
44
  </Accordion>
34
45
  ),
@@ -43,15 +54,21 @@ export const Multiple: Story = {
43
54
  <Accordion {...args}>
44
55
  <AccordionItem value="item-1">
45
56
  <AccordionTrigger>Open multiple items?</AccordionTrigger>
46
- <AccordionContent>Yes. In multiple mode you can keep several sections open.</AccordionContent>
57
+ <AccordionContent>
58
+ Yes. In multiple mode you can keep several sections open.
59
+ </AccordionContent>
47
60
  </AccordionItem>
48
61
  <AccordionItem value="item-2">
49
62
  <AccordionTrigger>Keeps state independent?</AccordionTrigger>
50
- <AccordionContent>Each item can be toggled independently in multiple mode.</AccordionContent>
63
+ <AccordionContent>
64
+ Each item can be toggled independently in multiple mode.
65
+ </AccordionContent>
51
66
  </AccordionItem>
52
67
  <AccordionItem value="item-3">
53
68
  <AccordionTrigger>Works with defaultValue?</AccordionTrigger>
54
- <AccordionContent>Provide an array of values to open initially.</AccordionContent>
69
+ <AccordionContent>
70
+ Provide an array of values to open initially.
71
+ </AccordionContent>
55
72
  </AccordionItem>
56
73
  </Accordion>
57
74
  ),
@@ -66,7 +83,9 @@ export const DisabledItem: Story = {
66
83
  </AccordionItem>
67
84
  <AccordionItem value="item-2" disabled>
68
85
  <AccordionTrigger>Disabled item</AccordionTrigger>
69
- <AccordionContent>This content cannot be toggled because the item is disabled.</AccordionContent>
86
+ <AccordionContent>
87
+ This content cannot be toggled because the item is disabled.
88
+ </AccordionContent>
70
89
  </AccordionItem>
71
90
  </Accordion>
72
91
  ),
@@ -79,11 +98,15 @@ function ControlledAccordionDemo() {
79
98
  <Accordion type="single" collapsible value={value} onValueChange={setValue}>
80
99
  <AccordionItem value="item-1">
81
100
  <AccordionTrigger>Controlled: Item 1</AccordionTrigger>
82
- <AccordionContent>Clicking again will collapse because collapsible is true.</AccordionContent>
101
+ <AccordionContent>
102
+ Clicking again will collapse because collapsible is true.
103
+ </AccordionContent>
83
104
  </AccordionItem>
84
105
  <AccordionItem value="item-2">
85
106
  <AccordionTrigger>Controlled: Item 2</AccordionTrigger>
86
- <AccordionContent>State is managed via value/onValueChange.</AccordionContent>
107
+ <AccordionContent>
108
+ State is managed via value/onValueChange.
109
+ </AccordionContent>
87
110
  </AccordionItem>
88
111
  </Accordion>
89
112
  );
@@ -61,7 +61,9 @@ export const Destructive: Story = {
61
61
  </AlertDialogHeader>
62
62
  <AlertDialogFooter>
63
63
  <AlertDialogCancel>Cancel</AlertDialogCancel>
64
- <AlertDialogAction className={buttonVariants({ variant: 'destructive' })}>
64
+ <AlertDialogAction
65
+ className={buttonVariants({ variant: 'destructive' })}
66
+ >
65
67
  Delete
66
68
  </AlertDialogAction>
67
69
  </AlertDialogFooter>
@@ -31,7 +31,9 @@ export const Sizes: Story = {
31
31
  <Button size="default">Default</Button>
32
32
  <Button size="lg">Large</Button>
33
33
  <Button size="icon" aria-label="icon" className="rounded-full">
34
- <span role="img" aria-label="waving hand">👋</span>
34
+ <span role="img" aria-label="waving hand">
35
+ 👋
36
+ </span>
35
37
  </Button>
36
38
  </div>
37
39
  ),
@@ -15,7 +15,12 @@ function CalendarSingleStory() {
15
15
  const [date, setDate] = useState<Date | undefined>(new Date());
16
16
  return (
17
17
  <div className="p-2">
18
- <Calendar mode="single" selected={date} onSelect={setDate} className="rounded-md border" />
18
+ <Calendar
19
+ mode="single"
20
+ selected={date}
21
+ onSelect={setDate}
22
+ className="rounded-md border"
23
+ />
19
24
  <div className="text-sm text-muted-foreground mt-2">
20
25
  Selected: {date ? date.toDateString() : '—'}
21
26
  </div>
@@ -1,5 +1,12 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
- import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '../../../shadcn/ui/card';
2
+ import {
3
+ Card,
4
+ CardHeader,
5
+ CardTitle,
6
+ CardDescription,
7
+ CardContent,
8
+ CardFooter,
9
+ } from '../../../shadcn/ui/card';
3
10
  import { Button } from '../../../shadcn/ui/button';
4
11
 
5
12
  const meta: Meta<typeof Card> = {
@@ -19,7 +26,9 @@ export const Basic: Story = {
19
26
  <CardDescription>Deploy your new project in one-click.</CardDescription>
20
27
  </CardHeader>
21
28
  <CardContent>
22
- <p>Card content goes here. You can place forms, text, or other elements.</p>
29
+ <p>
30
+ Card content goes here. You can place forms, text, or other elements.
31
+ </p>
23
32
  </CardContent>
24
33
  <CardFooter className="flex justify-between">
25
34
  <Button variant="outline">Cancel</Button>