@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.
- package/.storybook/main.ts +1 -1
- package/.storybook/preview.ts +18 -10
- package/biome.json +10 -0
- package/dist/index.js +2319 -1227
- package/dist/kit/builder/auth/AuthProvider.d.ts +36 -0
- package/dist/kit/builder/auth/AuthProvider.d.ts.map +1 -0
- package/dist/kit/builder/auth/adapter.d.ts +14 -0
- package/dist/kit/builder/auth/adapter.d.ts.map +1 -0
- package/dist/kit/builder/auth/client-adapters.d.ts +149 -0
- package/dist/kit/builder/auth/client-adapters.d.ts.map +1 -0
- package/dist/kit/builder/auth/components.d.ts +119 -0
- package/dist/kit/builder/auth/components.d.ts.map +1 -0
- package/dist/kit/builder/auth/hooks.d.ts +158 -0
- package/dist/kit/builder/auth/hooks.d.ts.map +1 -0
- package/dist/kit/builder/auth/index.d.ts +11 -0
- package/dist/kit/builder/auth/index.d.ts.map +1 -0
- package/dist/kit/builder/auth/permission-checker.d.ts +31 -0
- package/dist/kit/builder/auth/permission-checker.d.ts.map +1 -0
- package/dist/kit/builder/auth/storage.d.ts +17 -0
- package/dist/kit/builder/auth/storage.d.ts.map +1 -0
- package/dist/kit/builder/auth/token-manager.d.ts +9 -0
- package/dist/kit/builder/auth/token-manager.d.ts.map +1 -0
- package/dist/kit/builder/auth/types.d.ts +183 -0
- package/dist/kit/builder/auth/types.d.ts.map +1 -0
- package/dist/kit/builder/data-table/components/DataTable.d.ts +2 -1
- package/dist/kit/builder/data-table/components/DataTable.d.ts.map +1 -1
- package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts +2 -2
- package/dist/kit/builder/data-table/components/DataTableColumnHeader.d.ts.map +1 -1
- package/dist/kit/builder/data-table/components/DataTablePagination.d.ts +2 -1
- package/dist/kit/builder/data-table/components/DataTablePagination.d.ts.map +1 -1
- package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts +1 -1
- package/dist/kit/builder/data-table/components/DataTableViewOptions.d.ts.map +1 -1
- package/dist/kit/builder/data-table/types.d.ts.map +1 -1
- package/dist/kit/builder/dialog/index.d.ts +1 -1
- package/dist/kit/builder/dialog/index.d.ts.map +1 -1
- package/dist/kit/builder/dialog/provider.d.ts +0 -1
- package/dist/kit/builder/dialog/provider.d.ts.map +1 -1
- package/dist/kit/builder/form/components/FormBuilder.d.ts.map +1 -1
- package/dist/kit/builder/form/components/FormBuilderActions.d.ts.map +1 -1
- package/dist/kit/builder/form/components/FormBuilderContext.d.ts.map +1 -1
- package/dist/kit/builder/form/components/FormBuilderField.d.ts +1 -1
- package/dist/kit/builder/form/components/FormBuilderField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/ArrayField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/ArrayField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/AutocompleteField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/CheckboxField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/CheckboxField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/DateField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/DateField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/DatePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/DatePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/DateRangePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/DateTimePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/DateTimeRangePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/FileField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/FileField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/MonthPickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/MonthRangePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/NumberField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/NumberField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/ObjectField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/RadioField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/RadioField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/SelectField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/SelectField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/SwitchField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/SwitchField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/TextField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/TextField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/TextareaField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/TextareaField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/TimePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/TimePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts +1 -1
- package/dist/kit/builder/form/components/fields/TimeRangePickerField.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/index.d.ts.map +1 -1
- package/dist/kit/builder/form/components/fields/types.d.ts.map +1 -1
- package/dist/kit/builder/form/components/sectionNodes.d.ts.map +1 -1
- package/dist/kit/builder/form/hooks/useFormBuilder.d.ts.map +1 -1
- package/dist/kit/builder/form/types.d.ts.map +1 -1
- package/dist/kit/builder/form/utils/section-factories.d.ts.map +1 -1
- package/dist/kit/builder/page/Page.d.ts.map +1 -1
- package/dist/kit/builder/page/index.d.ts.map +1 -1
- package/dist/kit/builder/section/SectionBuilder.d.ts +1 -1
- package/dist/kit/builder/section/SectionBuilder.d.ts.map +1 -1
- package/dist/kit/builder/section/SectionContainer.d.ts +14 -0
- package/dist/kit/builder/section/SectionContainer.d.ts.map +1 -0
- package/dist/kit/builder/stack-dialog/context.d.ts.map +1 -1
- package/dist/kit/builder/stack-dialog/hooks.d.ts.map +1 -1
- package/dist/kit/builder/stack-dialog/index.d.ts +3 -3
- package/dist/kit/builder/stack-dialog/index.d.ts.map +1 -1
- package/dist/kit/builder/stack-dialog/provider.d.ts.map +1 -1
- package/dist/kit/builder/stack-dialog/renderer.d.ts.map +1 -1
- package/dist/kit/builder/stack-dialog/types.d.ts +1 -1
- package/dist/kit/builder/stack-dialog/types.d.ts.map +1 -1
- package/dist/kit/components/autocomplete/Autocomplete.d.ts +1 -1
- package/dist/kit/components/autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/kit/components/autocomplete/types.d.ts.map +1 -1
- package/dist/kit/components/datepicker/DatePicker.d.ts.map +1 -1
- package/dist/kit/components/datepicker/DateRangePicker.d.ts.map +1 -1
- package/dist/kit/components/datetimepicker/DateTimePicker.d.ts.map +1 -1
- package/dist/kit/components/datetimepicker/DateTimeRangePicker.d.ts.map +1 -1
- package/dist/kit/components/datetimepicker/index.d.ts.map +1 -1
- package/dist/kit/components/fileuploader/FileUploader.d.ts.map +1 -1
- package/dist/kit/components/fileuploader/types.d.ts +2 -2
- package/dist/kit/components/forminfo/FormInfoError.d.ts.map +1 -1
- package/dist/kit/components/login/Login.d.ts +1 -1
- package/dist/kit/components/login/Login.d.ts.map +1 -1
- package/dist/kit/components/monthpicker/MonthInput.d.ts.map +1 -1
- package/dist/kit/components/monthpicker/MonthPicker.d.ts.map +1 -1
- package/dist/kit/components/monthpicker/MonthRangeInput.d.ts.map +1 -1
- package/dist/kit/components/monthpicker/MonthRangePicker.d.ts.map +1 -1
- package/dist/kit/components/timepicker/TimePicker.d.ts.map +1 -1
- package/dist/kit/components/timepicker/TimeRangePicker.d.ts.map +1 -1
- package/dist/kit/components/timepicker/index.d.ts.map +1 -1
- package/dist/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -1
- package/dist/kit/layouts/admin/components/ThemeToggle.d.ts.map +1 -1
- package/dist/kit/layouts/admin/hooks/menu.d.ts.map +1 -1
- package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts +1 -1
- package/dist/kit/layouts/admin/providers/AdminMenuProvider.d.ts.map +1 -1
- package/dist/shadcn/hooks/use-mobile.d.ts.map +1 -1
- package/dist/shadcn/ui/accordion.d.ts +2 -2
- package/dist/shadcn/ui/accordion.d.ts.map +1 -1
- package/dist/shadcn/ui/alert-dialog.d.ts +4 -4
- package/dist/shadcn/ui/alert-dialog.d.ts.map +1 -1
- package/dist/shadcn/ui/alert.d.ts +4 -4
- package/dist/shadcn/ui/alert.d.ts.map +1 -1
- package/dist/shadcn/ui/aspect-ratio.d.ts +1 -1
- package/dist/shadcn/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/shadcn/ui/avatar.d.ts +2 -2
- package/dist/shadcn/ui/avatar.d.ts.map +1 -1
- package/dist/shadcn/ui/badge.d.ts +2 -2
- package/dist/shadcn/ui/badge.d.ts.map +1 -1
- package/dist/shadcn/ui/breadcrumb.d.ts +8 -8
- package/dist/shadcn/ui/breadcrumb.d.ts.map +1 -1
- package/dist/shadcn/ui/button.d.ts +2 -2
- package/dist/shadcn/ui/button.d.ts.map +1 -1
- package/dist/shadcn/ui/calendar.d.ts +2 -2
- package/dist/shadcn/ui/calendar.d.ts.map +1 -1
- package/dist/shadcn/ui/card.d.ts +8 -8
- package/dist/shadcn/ui/card.d.ts.map +1 -1
- package/dist/shadcn/ui/carousel.d.ts +5 -5
- package/dist/shadcn/ui/carousel.d.ts.map +1 -1
- package/dist/shadcn/ui/chart.d.ts +7 -7
- package/dist/shadcn/ui/chart.d.ts.map +1 -1
- package/dist/shadcn/ui/checkbox.d.ts +2 -2
- package/dist/shadcn/ui/checkbox.d.ts.map +1 -1
- package/dist/shadcn/ui/collapsible.d.ts +1 -1
- package/dist/shadcn/ui/collapsible.d.ts.map +1 -1
- package/dist/shadcn/ui/command.d.ts +2 -2
- package/dist/shadcn/ui/command.d.ts.map +1 -1
- package/dist/shadcn/ui/context-menu.d.ts +4 -4
- package/dist/shadcn/ui/context-menu.d.ts.map +1 -1
- package/dist/shadcn/ui/dialog.d.ts +4 -4
- package/dist/shadcn/ui/dialog.d.ts.map +1 -1
- package/dist/shadcn/ui/drawer.d.ts +3 -3
- package/dist/shadcn/ui/drawer.d.ts.map +1 -1
- package/dist/shadcn/ui/dropdown-menu.d.ts +4 -4
- package/dist/shadcn/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/shadcn/ui/form.d.ts +5 -5
- package/dist/shadcn/ui/form.d.ts.map +1 -1
- package/dist/shadcn/ui/hover-card.d.ts +2 -2
- package/dist/shadcn/ui/hover-card.d.ts.map +1 -1
- package/dist/shadcn/ui/input-otp.d.ts +4 -4
- package/dist/shadcn/ui/input-otp.d.ts.map +1 -1
- package/dist/shadcn/ui/input.d.ts +2 -2
- package/dist/shadcn/ui/input.d.ts.map +1 -1
- package/dist/shadcn/ui/label.d.ts +2 -2
- package/dist/shadcn/ui/label.d.ts.map +1 -1
- package/dist/shadcn/ui/menubar.d.ts +4 -4
- package/dist/shadcn/ui/menubar.d.ts.map +1 -1
- package/dist/shadcn/ui/navigation-menu.d.ts +2 -2
- package/dist/shadcn/ui/navigation-menu.d.ts.map +1 -1
- package/dist/shadcn/ui/pagination.d.ts +6 -6
- package/dist/shadcn/ui/pagination.d.ts.map +1 -1
- package/dist/shadcn/ui/popover.d.ts +2 -2
- package/dist/shadcn/ui/popover.d.ts.map +1 -1
- package/dist/shadcn/ui/progress.d.ts +2 -2
- package/dist/shadcn/ui/progress.d.ts.map +1 -1
- package/dist/shadcn/ui/radio-group.d.ts +2 -2
- package/dist/shadcn/ui/radio-group.d.ts.map +1 -1
- package/dist/shadcn/ui/resizable.d.ts +2 -2
- package/dist/shadcn/ui/resizable.d.ts.map +1 -1
- package/dist/shadcn/ui/scroll-area.d.ts +2 -2
- package/dist/shadcn/ui/scroll-area.d.ts.map +1 -1
- package/dist/shadcn/ui/select.d.ts +3 -3
- package/dist/shadcn/ui/select.d.ts.map +1 -1
- package/dist/shadcn/ui/separator.d.ts +2 -2
- package/dist/shadcn/ui/separator.d.ts.map +1 -1
- package/dist/shadcn/ui/sheet.d.ts +5 -5
- package/dist/shadcn/ui/sheet.d.ts.map +1 -1
- package/dist/shadcn/ui/sidebar.d.ts +26 -26
- package/dist/shadcn/ui/sidebar.d.ts.map +1 -1
- package/dist/shadcn/ui/skeleton.d.ts +1 -1
- package/dist/shadcn/ui/skeleton.d.ts.map +1 -1
- package/dist/shadcn/ui/slider.d.ts +2 -2
- package/dist/shadcn/ui/slider.d.ts.map +1 -1
- package/dist/shadcn/ui/sonner.d.ts.map +1 -1
- package/dist/shadcn/ui/switch.d.ts +2 -2
- package/dist/shadcn/ui/switch.d.ts.map +1 -1
- package/dist/shadcn/ui/table.d.ts +9 -9
- package/dist/shadcn/ui/table.d.ts.map +1 -1
- package/dist/shadcn/ui/tabs.d.ts +2 -2
- package/dist/shadcn/ui/tabs.d.ts.map +1 -1
- package/dist/shadcn/ui/textarea.d.ts +2 -2
- package/dist/shadcn/ui/textarea.d.ts.map +1 -1
- package/dist/shadcn/ui/toggle-group.d.ts +2 -2
- package/dist/shadcn/ui/toggle-group.d.ts.map +1 -1
- package/dist/shadcn/ui/toggle.d.ts +2 -2
- package/dist/shadcn/ui/toggle.d.ts.map +1 -1
- package/dist/shadcn/ui/tooltip.d.ts +2 -2
- package/dist/shadcn/ui/tooltip.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -1
- package/src/kit/builder/auth/AuthProvider.tsx +131 -0
- package/src/kit/builder/auth/adapter.ts +436 -0
- package/src/kit/builder/auth/client-adapters.ts +398 -0
- package/src/kit/builder/auth/components.tsx +221 -0
- package/src/kit/builder/auth/hooks.ts +237 -0
- package/src/kit/builder/auth/index.ts +134 -0
- package/src/kit/builder/auth/permission-checker.ts +150 -0
- package/src/kit/builder/auth/storage.ts +366 -0
- package/src/kit/builder/auth/token-manager.ts +55 -0
- package/src/kit/builder/auth/types.ts +393 -0
- package/src/kit/builder/data-table/components/DataTable.tsx +216 -82
- package/src/kit/builder/data-table/components/DataTableColumnHeader.tsx +9 -5
- package/src/kit/builder/data-table/components/DataTablePagination.tsx +49 -27
- package/src/kit/builder/data-table/components/DataTableViewOptions.tsx +13 -4
- package/src/kit/builder/data-table/types.ts +18 -3
- package/src/kit/builder/dialog/index.ts +5 -1
- package/src/kit/builder/dialog/provider.tsx +56 -27
- package/src/kit/builder/form/components/FormBuilder.tsx +10 -14
- package/src/kit/builder/form/components/FormBuilderActions.tsx +1 -1
- package/src/kit/builder/form/components/FormBuilderContext.tsx +13 -6
- package/src/kit/builder/form/components/FormBuilderField.tsx +70 -20
- package/src/kit/builder/form/components/fields/ArrayField.tsx +148 -62
- package/src/kit/builder/form/components/fields/AutocompleteField.tsx +53 -18
- package/src/kit/builder/form/components/fields/CheckboxField.tsx +20 -11
- package/src/kit/builder/form/components/fields/DateField.tsx +17 -6
- package/src/kit/builder/form/components/fields/DatePickerField.tsx +15 -10
- package/src/kit/builder/form/components/fields/DateRangePickerField.tsx +20 -15
- package/src/kit/builder/form/components/fields/DateTimePickerField.tsx +16 -11
- package/src/kit/builder/form/components/fields/DateTimeRangePickerField.tsx +23 -17
- package/src/kit/builder/form/components/fields/FileField.tsx +10 -5
- package/src/kit/builder/form/components/fields/MonthPickerField.tsx +18 -11
- package/src/kit/builder/form/components/fields/MonthRangePickerField.tsx +23 -17
- package/src/kit/builder/form/components/fields/NumberField.tsx +9 -4
- package/src/kit/builder/form/components/fields/ObjectField.tsx +12 -7
- package/src/kit/builder/form/components/fields/RadioField.tsx +32 -14
- package/src/kit/builder/form/components/fields/SelectField.tsx +26 -11
- package/src/kit/builder/form/components/fields/SwitchField.tsx +20 -11
- package/src/kit/builder/form/components/fields/TextField.tsx +11 -5
- package/src/kit/builder/form/components/fields/TextareaField.tsx +9 -4
- package/src/kit/builder/form/components/fields/TimePickerField.tsx +16 -11
- package/src/kit/builder/form/components/fields/TimeRangePickerField.tsx +23 -17
- package/src/kit/builder/form/components/fields/index.ts +21 -21
- package/src/kit/builder/form/components/fields/types.ts +15 -11
- package/src/kit/builder/form/components/sectionNodes.tsx +63 -40
- package/src/kit/builder/form/hooks/useFormBuilder.ts +83 -34
- package/src/kit/builder/form/types.ts +173 -148
- package/src/kit/builder/form/utils/section-factories.ts +4 -1
- package/src/kit/builder/form/utils/transformers.ts +4 -4
- package/src/kit/builder/form/utils/validations.ts +1 -1
- package/src/kit/builder/page/Page.tsx +26 -6
- package/src/kit/builder/page/index.ts +1 -1
- package/src/kit/builder/section/SectionBuilder.tsx +252 -127
- package/src/kit/builder/section/SectionContainer.tsx +85 -0
- package/src/kit/builder/stack-dialog/context.ts +10 -4
- package/src/kit/builder/stack-dialog/hooks.ts +4 -3
- package/src/kit/builder/stack-dialog/index.ts +5 -11
- package/src/kit/builder/stack-dialog/provider.tsx +11 -11
- package/src/kit/builder/stack-dialog/renderer.tsx +23 -26
- package/src/kit/builder/stack-dialog/types.ts +18 -18
- package/src/kit/components/autocomplete/Autocomplete.tsx +631 -549
- package/src/kit/components/autocomplete/types.ts +17 -17
- package/src/kit/components/datepicker/DatePicker.tsx +33 -9
- package/src/kit/components/datepicker/DateRangePicker.tsx +159 -87
- package/src/kit/components/datetimepicker/DateTimePicker.tsx +136 -30
- package/src/kit/components/datetimepicker/DateTimeRangePicker.tsx +257 -67
- package/src/kit/components/datetimepicker/index.ts +3 -3
- package/src/kit/components/fileuploader/FileUploader.tsx +315 -180
- package/src/kit/components/fileuploader/index.ts +3 -3
- package/src/kit/components/fileuploader/types.ts +3 -3
- package/src/kit/components/forminfo/FormInfoError.tsx +26 -11
- package/src/kit/components/login/Login.tsx +13 -4
- package/src/kit/components/monthpicker/MonthInput.tsx +13 -4
- package/src/kit/components/monthpicker/MonthPicker.tsx +12 -11
- package/src/kit/components/monthpicker/MonthRangeInput.tsx +29 -8
- package/src/kit/components/monthpicker/MonthRangePicker.tsx +23 -21
- package/src/kit/components/timepicker/TimePicker.tsx +19 -11
- package/src/kit/components/timepicker/TimeRangePicker.tsx +106 -29
- package/src/kit/components/timepicker/index.ts +3 -3
- package/src/kit/layouts/admin/components/AdminLayout.tsx +53 -24
- package/src/kit/layouts/admin/components/ThemeToggle.tsx +3 -9
- package/src/kit/layouts/admin/hooks/menu.ts +11 -5
- package/src/kit/layouts/admin/providers/AdminMenuProvider.tsx +59 -39
- package/src/kit/layouts/admin/types/index.ts +1 -1
- package/src/kit/themes/base.css +1 -1
- package/src/kit/themes/clean-slate.css +40 -32
- package/src/kit/themes/default.css +34 -24
- package/src/kit/themes/minimal-modern.css +37 -29
- package/src/kit/themes/spotify.css +56 -39
- package/src/shadcn/hooks/use-mobile.ts +13 -11
- package/src/shadcn/lib/utils.ts +2 -2
- package/src/shadcn/ui/accordion.tsx +14 -14
- package/src/shadcn/ui/alert-dialog.tsx +29 -29
- package/src/shadcn/ui/alert.tsx +20 -20
- package/src/shadcn/ui/aspect-ratio.tsx +4 -4
- package/src/shadcn/ui/avatar.tsx +13 -13
- package/src/shadcn/ui/badge.tsx +16 -16
- package/src/shadcn/ui/breadcrumb.tsx +28 -28
- package/src/shadcn/ui/button.tsx +23 -23
- package/src/shadcn/ui/calendar.tsx +82 -78
- package/src/shadcn/ui/card.tsx +27 -27
- package/src/shadcn/ui/carousel.tsx +93 -93
- package/src/shadcn/ui/chart.tsx +103 -103
- package/src/shadcn/ui/checkbox.tsx +9 -9
- package/src/shadcn/ui/collapsible.tsx +6 -6
- package/src/shadcn/ui/command.tsx +36 -36
- package/src/shadcn/ui/context-menu.tsx +40 -40
- package/src/shadcn/ui/dialog.tsx +28 -28
- package/src/shadcn/ui/drawer.tsx +30 -30
- package/src/shadcn/ui/dropdown-menu.tsx +41 -41
- package/src/shadcn/ui/form.tsx +48 -47
- package/src/shadcn/ui/hover-card.tsx +11 -11
- package/src/shadcn/ui/input-otp.tsx +23 -23
- package/src/shadcn/ui/input.tsx +9 -9
- package/src/shadcn/ui/label.tsx +8 -8
- package/src/shadcn/ui/menubar.tsx +47 -47
- package/src/shadcn/ui/navigation-menu.tsx +33 -33
- package/src/shadcn/ui/pagination.tsx +28 -28
- package/src/shadcn/ui/popover.tsx +12 -12
- package/src/shadcn/ui/progress.tsx +8 -8
- package/src/shadcn/ui/radio-group.tsx +11 -11
- package/src/shadcn/ui/resizable.tsx +14 -14
- package/src/shadcn/ui/scroll-area.tsx +15 -15
- package/src/shadcn/ui/select.tsx +34 -34
- package/src/shadcn/ui/separator.tsx +9 -9
- package/src/shadcn/ui/sheet.tsx +36 -36
- package/src/shadcn/ui/sidebar.tsx +227 -227
- package/src/shadcn/ui/skeleton.tsx +5 -5
- package/src/shadcn/ui/slider.tsx +12 -12
- package/src/shadcn/ui/sonner.tsx +11 -11
- package/src/shadcn/ui/switch.tsx +9 -9
- package/src/shadcn/ui/table.tsx +32 -32
- package/src/shadcn/ui/tabs.tsx +14 -14
- package/src/shadcn/ui/textarea.tsx +7 -7
- package/src/shadcn/ui/toggle-group.tsx +17 -17
- package/src/shadcn/ui/toggle.tsx +16 -16
- package/src/shadcn/ui/tooltip.tsx +11 -11
- package/src/stories/FileUploader.stories.tsx +23 -4
- package/src/stories/kit/builder/DataTable.Basic.stories.tsx +14 -4
- package/src/stories/kit/builder/DataTable.Filters.stories.tsx +36 -14
- package/src/stories/kit/builder/DataTable.Pagination.stories.tsx +3 -2
- package/src/stories/kit/builder/DataTable.SelectionAndActions.stories.tsx +18 -4
- package/src/stories/kit/builder/DataTable.Sorting.stories.tsx +18 -7
- package/src/stories/kit/builder/Dialog.stories.tsx +19 -13
- package/src/stories/kit/builder/Form.ArrayLayouts.stories.tsx +40 -16
- package/src/stories/kit/builder/Form.Autocomplete.stories.tsx +34 -22
- package/src/stories/kit/builder/Form.Basic.stories.tsx +38 -6
- package/src/stories/kit/builder/Form.Complex.stories.tsx +356 -111
- package/src/stories/kit/builder/Form.DateTime.stories.tsx +12 -8
- package/src/stories/kit/builder/Form.Dynamic.stories.tsx +695 -132
- package/src/stories/kit/builder/Form.Files.stories.tsx +37 -26
- package/src/stories/kit/builder/Form.MultipleFormBuilder.stories.tsx +46 -42
- package/src/stories/kit/builder/Form.Pickers.stories.tsx +12 -8
- package/src/stories/kit/builder/Form.Simple.stories.tsx +15 -6
- package/src/stories/kit/builder/Form.Time.stories.tsx +12 -8
- package/src/stories/kit/builder/Page.stories.tsx +32 -6
- package/src/stories/kit/builder/Section.stories.tsx +58 -11
- package/src/stories/kit/components/Autocomplete.stories.tsx +55 -22
- package/src/stories/kit/components/DatePicker.stories.tsx +80 -13
- package/src/stories/kit/components/DateRangePicker.stories.tsx +52 -11
- package/src/stories/kit/components/Login.stories.tsx +8 -2
- package/src/stories/kit/components/MonthPicker.stories.tsx +26 -6
- package/src/stories/kit/components/MonthRangePicker.stories.tsx +24 -5
- package/src/stories/kit/components/TimePicker.stories.tsx +18 -16
- package/src/stories/kit/components/TimeRangePicker.stories.tsx +18 -12
- package/src/stories/kit/layouts/admin/AdminLayout.Basic.stories.tsx +29 -6
- package/src/stories/kit/layouts/admin/AdminLayout.Collapsible.stories.tsx +26 -5
- package/src/stories/kit/layouts/admin/AdminLayout.Complex.stories.tsx +101 -18
- package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarHeaderComponent.stories.tsx +18 -4
- package/src/stories/kit/layouts/admin/AdminLayout.CustomSidebarTitleAndIcon.stories.tsx +17 -4
- package/src/stories/kit/layouts/admin/AdminLayout.HeaderSlots.stories.tsx +28 -6
- package/src/stories/shadcn/ui/Accordion.stories.tsx +33 -10
- package/src/stories/shadcn/ui/AlertDialog.stories.tsx +3 -1
- package/src/stories/shadcn/ui/Button.stories.tsx +3 -1
- package/src/stories/shadcn/ui/Calendar.stories.tsx +6 -1
- package/src/stories/shadcn/ui/Card.stories.tsx +11 -2
- package/src/stories/shadcn/ui/Checkbox.stories.tsx +11 -3
- package/src/stories/shadcn/ui/Collapsible.stories.tsx +12 -5
- package/src/stories/shadcn/ui/ContextMenu.stories.tsx +12 -4
- package/src/stories/shadcn/ui/Dialog.stories.tsx +15 -3
- package/src/stories/shadcn/ui/Drawer.stories.tsx +5 -2
- package/src/stories/shadcn/ui/DropdownMenu.stories.tsx +15 -5
- package/src/stories/shadcn/ui/Form.stories.tsx +5 -2
- package/src/stories/shadcn/ui/HoverCard.stories.tsx +8 -2
- package/src/stories/shadcn/ui/Input.stories.tsx +3 -1
- package/src/stories/shadcn/ui/InputOtp.stories.tsx +9 -2
- package/src/stories/shadcn/ui/Menubar.stories.tsx +21 -7
- package/src/stories/shadcn/ui/NavigationMenu.stories.tsx +30 -5
- package/src/stories/shadcn/ui/Popover.stories.tsx +8 -2
- package/src/stories/shadcn/ui/Resizable.stories.tsx +17 -5
- package/src/stories/shadcn/ui/ScrollArea.stories.tsx +54 -2
- package/src/stories/shadcn/ui/Select.stories.tsx +7 -1
- package/src/stories/shadcn/ui/Sheet.stories.tsx +2 -1
- package/src/stories/shadcn/ui/Sidebar.stories.tsx +13 -2
- package/src/stories/shadcn/ui/Sonner.stories.tsx +12 -2
- package/src/stories/shadcn/ui/Table.stories.tsx +86 -27
- package/src/stories/shadcn/ui/Tabs.stories.tsx +9 -2
- package/src/stories/shadcn/ui/Textarea.stories.tsx +3 -1
- package/src/stories/shadcn/ui/Toggle.stories.tsx +10 -2
- package/src/stories/shadcn/ui/Tooltip.stories.tsx +6 -1
- package/tsconfig.json +1 -5
- package/tsconfig.tsbuildinfo +1 -0
- package/eslint.config.mjs +0 -19
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import * as MenubarPrimitive from
|
|
5
|
-
import { CheckIcon, ChevronRightIcon, CircleIcon } from
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
import * as MenubarPrimitive from '@radix-ui/react-menubar';
|
|
5
|
+
import { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';
|
|
6
6
|
|
|
7
|
-
import { cn } from
|
|
7
|
+
import { cn } from '../../shadcn/lib/utils';
|
|
8
8
|
|
|
9
9
|
function Menubar({
|
|
10
10
|
className,
|
|
@@ -14,30 +14,30 @@ function Menubar({
|
|
|
14
14
|
<MenubarPrimitive.Root
|
|
15
15
|
data-slot="menubar"
|
|
16
16
|
className={cn(
|
|
17
|
-
|
|
18
|
-
className
|
|
17
|
+
'bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs',
|
|
18
|
+
className,
|
|
19
19
|
)}
|
|
20
20
|
{...props}
|
|
21
21
|
/>
|
|
22
|
-
)
|
|
22
|
+
);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
function MenubarMenu({
|
|
26
26
|
...props
|
|
27
27
|
}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {
|
|
28
|
-
return <MenubarPrimitive.Menu data-slot="menubar-menu" {...props}
|
|
28
|
+
return <MenubarPrimitive.Menu data-slot="menubar-menu" {...props} />;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function MenubarGroup({
|
|
32
32
|
...props
|
|
33
33
|
}: React.ComponentProps<typeof MenubarPrimitive.Group>) {
|
|
34
|
-
return <MenubarPrimitive.Group data-slot="menubar-group" {...props}
|
|
34
|
+
return <MenubarPrimitive.Group data-slot="menubar-group" {...props} />;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
function MenubarPortal({
|
|
38
38
|
...props
|
|
39
39
|
}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {
|
|
40
|
-
return <MenubarPrimitive.Portal data-slot="menubar-portal" {...props}
|
|
40
|
+
return <MenubarPrimitive.Portal data-slot="menubar-portal" {...props} />;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
function MenubarRadioGroup({
|
|
@@ -45,7 +45,7 @@ function MenubarRadioGroup({
|
|
|
45
45
|
}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {
|
|
46
46
|
return (
|
|
47
47
|
<MenubarPrimitive.RadioGroup data-slot="menubar-radio-group" {...props} />
|
|
48
|
-
)
|
|
48
|
+
);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
function MenubarTrigger({
|
|
@@ -56,17 +56,17 @@ function MenubarTrigger({
|
|
|
56
56
|
<MenubarPrimitive.Trigger
|
|
57
57
|
data-slot="menubar-trigger"
|
|
58
58
|
className={cn(
|
|
59
|
-
|
|
60
|
-
className
|
|
59
|
+
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none',
|
|
60
|
+
className,
|
|
61
61
|
)}
|
|
62
62
|
{...props}
|
|
63
63
|
/>
|
|
64
|
-
)
|
|
64
|
+
);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
function MenubarContent({
|
|
68
68
|
className,
|
|
69
|
-
align =
|
|
69
|
+
align = 'start',
|
|
70
70
|
alignOffset = -4,
|
|
71
71
|
sideOffset = 8,
|
|
72
72
|
...props
|
|
@@ -79,23 +79,23 @@ function MenubarContent({
|
|
|
79
79
|
alignOffset={alignOffset}
|
|
80
80
|
sideOffset={sideOffset}
|
|
81
81
|
className={cn(
|
|
82
|
-
|
|
83
|
-
className
|
|
82
|
+
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md',
|
|
83
|
+
className,
|
|
84
84
|
)}
|
|
85
85
|
{...props}
|
|
86
86
|
/>
|
|
87
87
|
</MenubarPortal>
|
|
88
|
-
)
|
|
88
|
+
);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
function MenubarItem({
|
|
92
92
|
className,
|
|
93
93
|
inset,
|
|
94
|
-
variant =
|
|
94
|
+
variant = 'default',
|
|
95
95
|
...props
|
|
96
96
|
}: React.ComponentProps<typeof MenubarPrimitive.Item> & {
|
|
97
|
-
inset?: boolean
|
|
98
|
-
variant?:
|
|
97
|
+
inset?: boolean;
|
|
98
|
+
variant?: 'default' | 'destructive';
|
|
99
99
|
}) {
|
|
100
100
|
return (
|
|
101
101
|
<MenubarPrimitive.Item
|
|
@@ -104,11 +104,11 @@ function MenubarItem({
|
|
|
104
104
|
data-variant={variant}
|
|
105
105
|
className={cn(
|
|
106
106
|
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
107
|
-
className
|
|
107
|
+
className,
|
|
108
108
|
)}
|
|
109
109
|
{...props}
|
|
110
110
|
/>
|
|
111
|
-
)
|
|
111
|
+
);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
function MenubarCheckboxItem({
|
|
@@ -122,7 +122,7 @@ function MenubarCheckboxItem({
|
|
|
122
122
|
data-slot="menubar-checkbox-item"
|
|
123
123
|
className={cn(
|
|
124
124
|
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
125
|
-
className
|
|
125
|
+
className,
|
|
126
126
|
)}
|
|
127
127
|
checked={checked}
|
|
128
128
|
{...props}
|
|
@@ -134,7 +134,7 @@ function MenubarCheckboxItem({
|
|
|
134
134
|
</span>
|
|
135
135
|
{children}
|
|
136
136
|
</MenubarPrimitive.CheckboxItem>
|
|
137
|
-
)
|
|
137
|
+
);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
function MenubarRadioItem({
|
|
@@ -147,7 +147,7 @@ function MenubarRadioItem({
|
|
|
147
147
|
data-slot="menubar-radio-item"
|
|
148
148
|
className={cn(
|
|
149
149
|
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
150
|
-
className
|
|
150
|
+
className,
|
|
151
151
|
)}
|
|
152
152
|
{...props}
|
|
153
153
|
>
|
|
@@ -158,7 +158,7 @@ function MenubarRadioItem({
|
|
|
158
158
|
</span>
|
|
159
159
|
{children}
|
|
160
160
|
</MenubarPrimitive.RadioItem>
|
|
161
|
-
)
|
|
161
|
+
);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
function MenubarLabel({
|
|
@@ -166,19 +166,19 @@ function MenubarLabel({
|
|
|
166
166
|
inset,
|
|
167
167
|
...props
|
|
168
168
|
}: React.ComponentProps<typeof MenubarPrimitive.Label> & {
|
|
169
|
-
inset?: boolean
|
|
169
|
+
inset?: boolean;
|
|
170
170
|
}) {
|
|
171
171
|
return (
|
|
172
172
|
<MenubarPrimitive.Label
|
|
173
173
|
data-slot="menubar-label"
|
|
174
174
|
data-inset={inset}
|
|
175
175
|
className={cn(
|
|
176
|
-
|
|
177
|
-
className
|
|
176
|
+
'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8',
|
|
177
|
+
className,
|
|
178
178
|
)}
|
|
179
179
|
{...props}
|
|
180
180
|
/>
|
|
181
|
-
)
|
|
181
|
+
);
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
function MenubarSeparator({
|
|
@@ -188,32 +188,32 @@ function MenubarSeparator({
|
|
|
188
188
|
return (
|
|
189
189
|
<MenubarPrimitive.Separator
|
|
190
190
|
data-slot="menubar-separator"
|
|
191
|
-
className={cn(
|
|
191
|
+
className={cn('bg-border -mx-1 my-1 h-px', className)}
|
|
192
192
|
{...props}
|
|
193
193
|
/>
|
|
194
|
-
)
|
|
194
|
+
);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
function MenubarShortcut({
|
|
198
198
|
className,
|
|
199
199
|
...props
|
|
200
|
-
}: React.ComponentProps<
|
|
200
|
+
}: React.ComponentProps<'span'>) {
|
|
201
201
|
return (
|
|
202
202
|
<span
|
|
203
203
|
data-slot="menubar-shortcut"
|
|
204
204
|
className={cn(
|
|
205
|
-
|
|
206
|
-
className
|
|
205
|
+
'text-muted-foreground ml-auto text-xs tracking-widest',
|
|
206
|
+
className,
|
|
207
207
|
)}
|
|
208
208
|
{...props}
|
|
209
209
|
/>
|
|
210
|
-
)
|
|
210
|
+
);
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
function MenubarSub({
|
|
214
214
|
...props
|
|
215
215
|
}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {
|
|
216
|
-
return <MenubarPrimitive.Sub data-slot="menubar-sub" {...props}
|
|
216
|
+
return <MenubarPrimitive.Sub data-slot="menubar-sub" {...props} />;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
function MenubarSubTrigger({
|
|
@@ -222,22 +222,22 @@ function MenubarSubTrigger({
|
|
|
222
222
|
children,
|
|
223
223
|
...props
|
|
224
224
|
}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
|
|
225
|
-
inset?: boolean
|
|
225
|
+
inset?: boolean;
|
|
226
226
|
}) {
|
|
227
227
|
return (
|
|
228
228
|
<MenubarPrimitive.SubTrigger
|
|
229
229
|
data-slot="menubar-sub-trigger"
|
|
230
230
|
data-inset={inset}
|
|
231
231
|
className={cn(
|
|
232
|
-
|
|
233
|
-
className
|
|
232
|
+
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8',
|
|
233
|
+
className,
|
|
234
234
|
)}
|
|
235
235
|
{...props}
|
|
236
236
|
>
|
|
237
237
|
{children}
|
|
238
238
|
<ChevronRightIcon className="ml-auto h-4 w-4" />
|
|
239
239
|
</MenubarPrimitive.SubTrigger>
|
|
240
|
-
)
|
|
240
|
+
);
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
function MenubarSubContent({
|
|
@@ -248,12 +248,12 @@ function MenubarSubContent({
|
|
|
248
248
|
<MenubarPrimitive.SubContent
|
|
249
249
|
data-slot="menubar-sub-content"
|
|
250
250
|
className={cn(
|
|
251
|
-
|
|
252
|
-
className
|
|
251
|
+
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',
|
|
252
|
+
className,
|
|
253
253
|
)}
|
|
254
254
|
{...props}
|
|
255
255
|
/>
|
|
256
|
-
)
|
|
256
|
+
);
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
export {
|
|
@@ -273,4 +273,4 @@ export {
|
|
|
273
273
|
MenubarSub,
|
|
274
274
|
MenubarSubTrigger,
|
|
275
275
|
MenubarSubContent,
|
|
276
|
-
}
|
|
276
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import * as NavigationMenuPrimitive from
|
|
3
|
-
import { cva } from
|
|
4
|
-
import { ChevronDownIcon } from
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { ChevronDownIcon } from 'lucide-react';
|
|
5
5
|
|
|
6
|
-
import { cn } from
|
|
6
|
+
import { cn } from '../../shadcn/lib/utils';
|
|
7
7
|
|
|
8
8
|
function NavigationMenu({
|
|
9
9
|
className,
|
|
@@ -11,22 +11,22 @@ function NavigationMenu({
|
|
|
11
11
|
viewport = true,
|
|
12
12
|
...props
|
|
13
13
|
}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
|
|
14
|
-
viewport?: boolean
|
|
14
|
+
viewport?: boolean;
|
|
15
15
|
}) {
|
|
16
16
|
return (
|
|
17
17
|
<NavigationMenuPrimitive.Root
|
|
18
18
|
data-slot="navigation-menu"
|
|
19
19
|
data-viewport={viewport}
|
|
20
20
|
className={cn(
|
|
21
|
-
|
|
22
|
-
className
|
|
21
|
+
'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',
|
|
22
|
+
className,
|
|
23
23
|
)}
|
|
24
24
|
{...props}
|
|
25
25
|
>
|
|
26
26
|
{children}
|
|
27
27
|
{viewport && <NavigationMenuViewport />}
|
|
28
28
|
</NavigationMenuPrimitive.Root>
|
|
29
|
-
)
|
|
29
|
+
);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function NavigationMenuList({
|
|
@@ -37,12 +37,12 @@ function NavigationMenuList({
|
|
|
37
37
|
<NavigationMenuPrimitive.List
|
|
38
38
|
data-slot="navigation-menu-list"
|
|
39
39
|
className={cn(
|
|
40
|
-
|
|
41
|
-
className
|
|
40
|
+
'group flex flex-1 list-none items-center justify-center gap-1',
|
|
41
|
+
className,
|
|
42
42
|
)}
|
|
43
43
|
{...props}
|
|
44
44
|
/>
|
|
45
|
-
)
|
|
45
|
+
);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
function NavigationMenuItem({
|
|
@@ -52,15 +52,15 @@ function NavigationMenuItem({
|
|
|
52
52
|
return (
|
|
53
53
|
<NavigationMenuPrimitive.Item
|
|
54
54
|
data-slot="navigation-menu-item"
|
|
55
|
-
className={cn(
|
|
55
|
+
className={cn('relative', className)}
|
|
56
56
|
{...props}
|
|
57
57
|
/>
|
|
58
|
-
)
|
|
58
|
+
);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
const navigationMenuTriggerStyle = cva(
|
|
62
|
-
|
|
63
|
-
)
|
|
62
|
+
'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',
|
|
63
|
+
);
|
|
64
64
|
|
|
65
65
|
function NavigationMenuTrigger({
|
|
66
66
|
className,
|
|
@@ -70,16 +70,16 @@ function NavigationMenuTrigger({
|
|
|
70
70
|
return (
|
|
71
71
|
<NavigationMenuPrimitive.Trigger
|
|
72
72
|
data-slot="navigation-menu-trigger"
|
|
73
|
-
className={cn(navigationMenuTriggerStyle(),
|
|
73
|
+
className={cn(navigationMenuTriggerStyle(), 'group', className)}
|
|
74
74
|
{...props}
|
|
75
75
|
>
|
|
76
|
-
{children}{
|
|
76
|
+
{children}{' '}
|
|
77
77
|
<ChevronDownIcon
|
|
78
78
|
className="relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180"
|
|
79
79
|
aria-hidden="true"
|
|
80
80
|
/>
|
|
81
81
|
</NavigationMenuPrimitive.Trigger>
|
|
82
|
-
)
|
|
82
|
+
);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
function NavigationMenuContent({
|
|
@@ -90,13 +90,13 @@ function NavigationMenuContent({
|
|
|
90
90
|
<NavigationMenuPrimitive.Content
|
|
91
91
|
data-slot="navigation-menu-content"
|
|
92
92
|
className={cn(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
className
|
|
93
|
+
'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto',
|
|
94
|
+
'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',
|
|
95
|
+
className,
|
|
96
96
|
)}
|
|
97
97
|
{...props}
|
|
98
98
|
/>
|
|
99
|
-
)
|
|
99
|
+
);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
function NavigationMenuViewport({
|
|
@@ -106,19 +106,19 @@ function NavigationMenuViewport({
|
|
|
106
106
|
return (
|
|
107
107
|
<div
|
|
108
108
|
className={cn(
|
|
109
|
-
|
|
109
|
+
'absolute top-full left-0 isolate z-50 flex justify-center',
|
|
110
110
|
)}
|
|
111
111
|
>
|
|
112
112
|
<NavigationMenuPrimitive.Viewport
|
|
113
113
|
data-slot="navigation-menu-viewport"
|
|
114
114
|
className={cn(
|
|
115
|
-
|
|
116
|
-
className
|
|
115
|
+
'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',
|
|
116
|
+
className,
|
|
117
117
|
)}
|
|
118
118
|
{...props}
|
|
119
119
|
/>
|
|
120
120
|
</div>
|
|
121
|
-
)
|
|
121
|
+
);
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
function NavigationMenuLink({
|
|
@@ -130,11 +130,11 @@ function NavigationMenuLink({
|
|
|
130
130
|
data-slot="navigation-menu-link"
|
|
131
131
|
className={cn(
|
|
132
132
|
"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
|
|
133
|
-
className
|
|
133
|
+
className,
|
|
134
134
|
)}
|
|
135
135
|
{...props}
|
|
136
136
|
/>
|
|
137
|
-
)
|
|
137
|
+
);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
function NavigationMenuIndicator({
|
|
@@ -145,14 +145,14 @@ function NavigationMenuIndicator({
|
|
|
145
145
|
<NavigationMenuPrimitive.Indicator
|
|
146
146
|
data-slot="navigation-menu-indicator"
|
|
147
147
|
className={cn(
|
|
148
|
-
|
|
149
|
-
className
|
|
148
|
+
'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',
|
|
149
|
+
className,
|
|
150
150
|
)}
|
|
151
151
|
{...props}
|
|
152
152
|
>
|
|
153
153
|
<div className="bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" />
|
|
154
154
|
</NavigationMenuPrimitive.Indicator>
|
|
155
|
-
)
|
|
155
|
+
);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
export {
|
|
@@ -165,4 +165,4 @@ export {
|
|
|
165
165
|
NavigationMenuIndicator,
|
|
166
166
|
NavigationMenuViewport,
|
|
167
167
|
navigationMenuTriggerStyle,
|
|
168
|
-
}
|
|
168
|
+
};
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import * as React from
|
|
1
|
+
import type * as React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
ChevronLeftIcon,
|
|
4
4
|
ChevronRightIcon,
|
|
5
5
|
MoreHorizontalIcon,
|
|
6
|
-
} from
|
|
6
|
+
} from 'lucide-react';
|
|
7
7
|
|
|
8
|
-
import { cn } from
|
|
9
|
-
import { Button, buttonVariants } from
|
|
8
|
+
import { cn } from '../../shadcn/lib/utils';
|
|
9
|
+
import { type Button, buttonVariants } from '../../shadcn/ui/button';
|
|
10
10
|
|
|
11
|
-
function Pagination({ className, ...props }: React.ComponentProps<
|
|
11
|
+
function Pagination({ className, ...props }: React.ComponentProps<'nav'>) {
|
|
12
12
|
return (
|
|
13
13
|
<nav
|
|
14
14
|
role="navigation"
|
|
15
15
|
aria-label="pagination"
|
|
16
16
|
data-slot="pagination"
|
|
17
|
-
className={cn(
|
|
17
|
+
className={cn('mx-auto flex w-full justify-center', className)}
|
|
18
18
|
{...props}
|
|
19
19
|
/>
|
|
20
|
-
)
|
|
20
|
+
);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
function PaginationContent({
|
|
24
24
|
className,
|
|
25
25
|
...props
|
|
26
|
-
}: React.ComponentProps<
|
|
26
|
+
}: React.ComponentProps<'ul'>) {
|
|
27
27
|
return (
|
|
28
28
|
<ul
|
|
29
29
|
data-slot="pagination-content"
|
|
30
|
-
className={cn(
|
|
30
|
+
className={cn('flex flex-row items-center gap-1', className)}
|
|
31
31
|
{...props}
|
|
32
32
|
/>
|
|
33
|
-
)
|
|
33
|
+
);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
function PaginationItem({ ...props }: React.ComponentProps<
|
|
37
|
-
return <li data-slot="pagination-item" {...props}
|
|
36
|
+
function PaginationItem({ ...props }: React.ComponentProps<'li'>) {
|
|
37
|
+
return <li data-slot="pagination-item" {...props} />;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
type PaginationLinkProps = {
|
|
41
|
-
isActive?: boolean
|
|
42
|
-
} & Pick<React.ComponentProps<typeof Button>,
|
|
43
|
-
React.ComponentProps<
|
|
41
|
+
isActive?: boolean;
|
|
42
|
+
} & Pick<React.ComponentProps<typeof Button>, 'size'> &
|
|
43
|
+
React.ComponentProps<'a'>;
|
|
44
44
|
|
|
45
45
|
function PaginationLink({
|
|
46
46
|
className,
|
|
47
47
|
isActive,
|
|
48
|
-
size =
|
|
48
|
+
size = 'icon',
|
|
49
49
|
...props
|
|
50
50
|
}: PaginationLinkProps) {
|
|
51
51
|
return (
|
|
52
52
|
<a
|
|
53
|
-
aria-current={isActive ?
|
|
53
|
+
aria-current={isActive ? 'page' : undefined}
|
|
54
54
|
data-slot="pagination-link"
|
|
55
55
|
data-active={isActive}
|
|
56
56
|
className={cn(
|
|
57
57
|
buttonVariants({
|
|
58
|
-
variant: isActive ?
|
|
58
|
+
variant: isActive ? 'outline' : 'ghost',
|
|
59
59
|
size,
|
|
60
60
|
}),
|
|
61
|
-
className
|
|
61
|
+
className,
|
|
62
62
|
)}
|
|
63
63
|
{...props}
|
|
64
64
|
/>
|
|
65
|
-
)
|
|
65
|
+
);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
function PaginationPrevious({
|
|
@@ -73,13 +73,13 @@ function PaginationPrevious({
|
|
|
73
73
|
<PaginationLink
|
|
74
74
|
aria-label="Go to previous page"
|
|
75
75
|
size="default"
|
|
76
|
-
className={cn(
|
|
76
|
+
className={cn('gap-1 px-2.5 sm:pl-2.5', className)}
|
|
77
77
|
{...props}
|
|
78
78
|
>
|
|
79
79
|
<ChevronLeftIcon />
|
|
80
80
|
<span className="hidden sm:block">Previous</span>
|
|
81
81
|
</PaginationLink>
|
|
82
|
-
)
|
|
82
|
+
);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
function PaginationNext({
|
|
@@ -90,30 +90,30 @@ function PaginationNext({
|
|
|
90
90
|
<PaginationLink
|
|
91
91
|
aria-label="Go to next page"
|
|
92
92
|
size="default"
|
|
93
|
-
className={cn(
|
|
93
|
+
className={cn('gap-1 px-2.5 sm:pr-2.5', className)}
|
|
94
94
|
{...props}
|
|
95
95
|
>
|
|
96
96
|
<span className="hidden sm:block">Next</span>
|
|
97
97
|
<ChevronRightIcon />
|
|
98
98
|
</PaginationLink>
|
|
99
|
-
)
|
|
99
|
+
);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
function PaginationEllipsis({
|
|
103
103
|
className,
|
|
104
104
|
...props
|
|
105
|
-
}: React.ComponentProps<
|
|
105
|
+
}: React.ComponentProps<'span'>) {
|
|
106
106
|
return (
|
|
107
107
|
<span
|
|
108
108
|
aria-hidden
|
|
109
109
|
data-slot="pagination-ellipsis"
|
|
110
|
-
className={cn(
|
|
110
|
+
className={cn('flex size-9 items-center justify-center', className)}
|
|
111
111
|
{...props}
|
|
112
112
|
>
|
|
113
113
|
<MoreHorizontalIcon className="size-4" />
|
|
114
114
|
<span className="sr-only">More pages</span>
|
|
115
115
|
</span>
|
|
116
|
-
)
|
|
116
|
+
);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
export {
|
|
@@ -124,4 +124,4 @@ export {
|
|
|
124
124
|
PaginationPrevious,
|
|
125
125
|
PaginationNext,
|
|
126
126
|
PaginationEllipsis,
|
|
127
|
-
}
|
|
127
|
+
};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import * as PopoverPrimitive from
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
5
5
|
|
|
6
|
-
import { cn } from
|
|
6
|
+
import { cn } from '../../shadcn/lib/utils';
|
|
7
7
|
|
|
8
8
|
function Popover({
|
|
9
9
|
...props
|
|
10
10
|
}: React.ComponentProps<typeof PopoverPrimitive.Root>) {
|
|
11
|
-
return <PopoverPrimitive.Root data-slot="popover" {...props}
|
|
11
|
+
return <PopoverPrimitive.Root data-slot="popover" {...props} />;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
function PopoverTrigger({
|
|
15
15
|
...props
|
|
16
16
|
}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {
|
|
17
|
-
return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props}
|
|
17
|
+
return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function PopoverContent({
|
|
21
21
|
className,
|
|
22
|
-
align =
|
|
22
|
+
align = 'center',
|
|
23
23
|
sideOffset = 4,
|
|
24
24
|
...props
|
|
25
25
|
}: React.ComponentProps<typeof PopoverPrimitive.Content>) {
|
|
@@ -30,19 +30,19 @@ function PopoverContent({
|
|
|
30
30
|
align={align}
|
|
31
31
|
sideOffset={sideOffset}
|
|
32
32
|
className={cn(
|
|
33
|
-
|
|
34
|
-
className
|
|
33
|
+
'border-border bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',
|
|
34
|
+
className,
|
|
35
35
|
)}
|
|
36
36
|
{...props}
|
|
37
37
|
/>
|
|
38
38
|
</PopoverPrimitive.Portal>
|
|
39
|
-
)
|
|
39
|
+
);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
function PopoverAnchor({
|
|
43
43
|
...props
|
|
44
44
|
}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {
|
|
45
|
-
return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props}
|
|
45
|
+
return <PopoverPrimitive.Anchor data-slot="popover-anchor" {...props} />;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }
|
|
48
|
+
export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
|