tembro 2.0.6 → 2.1.1
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/dist/components/calendar/calendar.cjs +1 -1
- package/dist/components/calendar/calendar.d.ts +2 -1
- package/dist/components/calendar/calendar.js +126 -122
- package/dist/components/calendar/date-range-picker.cjs +1 -1
- package/dist/components/calendar/date-range-picker.d.ts +2 -1
- package/dist/components/calendar/date-range-picker.js +39 -39
- package/dist/components/charts/charts.cjs +1 -1
- package/dist/components/charts/charts.d.ts +13 -4
- package/dist/components/charts/charts.js +76 -46
- package/dist/components/charts/progress-ring.cjs +1 -1
- package/dist/components/charts/progress-ring.d.ts +3 -1
- package/dist/components/charts/progress-ring.js +11 -10
- package/dist/components/data-table/data-table-column-visibility-menu.cjs +1 -1
- package/dist/components/data-table/data-table-column-visibility-menu.d.ts +4 -1
- package/dist/components/data-table/data-table-column-visibility-menu.js +36 -8
- package/dist/components/data-table/data-table-toolbar.cjs +1 -1
- package/dist/components/data-table/data-table-toolbar.js +12 -13
- package/dist/components/display/carousel.cjs +1 -1
- package/dist/components/display/carousel.d.ts +9 -1
- package/dist/components/display/carousel.js +123 -81
- package/dist/components/display/code-block.cjs +2 -2
- package/dist/components/display/code-block.d.ts +2 -1
- package/dist/components/display/code-block.js +17 -12
- package/dist/components/display/delta-badge.cjs +1 -1
- package/dist/components/display/delta-badge.d.ts +2 -1
- package/dist/components/display/delta-badge.js +11 -7
- package/dist/components/display/kanban.cjs +1 -1
- package/dist/components/display/kanban.d.ts +4 -1
- package/dist/components/display/kanban.js +60 -33
- package/dist/components/display/metric-grid.cjs +1 -1
- package/dist/components/display/metric-grid.d.ts +1 -0
- package/dist/components/display/metric-grid.js +1 -1
- package/dist/components/display/qr-code.cjs +1 -1
- package/dist/components/display/qr-code.d.ts +2 -1
- package/dist/components/display/qr-code.js +19 -16
- package/dist/components/display/status-legend.cjs +1 -1
- package/dist/components/display/status-legend.js +6 -2
- package/dist/components/display/tag.cjs +1 -1
- package/dist/components/display/tag.d.ts +2 -1
- package/dist/components/display/tag.js +28 -22
- package/dist/components/display/tree-view.cjs +1 -1
- package/dist/components/display/tree-view.d.ts +9 -1
- package/dist/components/display/tree-view.js +104 -40
- package/dist/components/display/trend-card.cjs +1 -1
- package/dist/components/display/trend-card.js +27 -41
- package/dist/components/feedback/alert.cjs +1 -1
- package/dist/components/feedback/alert.d.ts +2 -1
- package/dist/components/feedback/alert.js +6 -6
- package/dist/components/feedback/loading-state.cjs +1 -1
- package/dist/components/feedback/loading-state.d.ts +3 -1
- package/dist/components/feedback/loading-state.js +23 -10
- package/dist/components/feedback/page-state.cjs +1 -1
- package/dist/components/feedback/page-state.d.ts +2 -1
- package/dist/components/feedback/page-state.js +7 -4
- package/dist/components/form/form-field-shell.cjs +1 -1
- package/dist/components/form/form-field-shell.d.ts +4 -2
- package/dist/components/form/form-field-shell.js +57 -41
- package/dist/components/form/form-input.cjs +1 -1
- package/dist/components/form/form-input.js +2 -0
- package/dist/components/form/form-select.cjs +1 -1
- package/dist/components/form/form-select.js +2 -0
- package/dist/components/form/form-switch.cjs +1 -1
- package/dist/components/form/form-switch.d.ts +1 -1
- package/dist/components/form/form-switch.js +58 -54
- package/dist/components/form/form-textarea.cjs +1 -1
- package/dist/components/form/form-textarea.d.ts +1 -1
- package/dist/components/form/form-textarea.js +29 -27
- package/dist/components/layout/app-sidebar.cjs +1 -1
- package/dist/components/layout/app-sidebar.d.ts +1 -0
- package/dist/components/layout/app-sidebar.js +36 -36
- package/dist/components/layout/breadcrumbs.cjs +1 -1
- package/dist/components/layout/breadcrumbs.d.ts +2 -1
- package/dist/components/layout/breadcrumbs.js +7 -7
- package/dist/components/modern/calendar-scheduler.cjs +1 -1
- package/dist/components/modern/calendar-scheduler.d.ts +5 -1
- package/dist/components/modern/calendar-scheduler.js +47 -28
- package/dist/components/modern/dual-list-picker.cjs +1 -1
- package/dist/components/modern/dual-list-picker.d.ts +5 -1
- package/dist/components/modern/dual-list-picker.js +81 -23
- package/dist/components/modern/rich-text-editor.cjs +1 -1
- package/dist/components/modern/rich-text-editor.d.ts +3 -1
- package/dist/components/modern/rich-text-editor.js +12 -9
- package/dist/components/modern/tour.cjs +1 -1
- package/dist/components/modern/tour.d.ts +5 -1
- package/dist/components/modern/tour.js +57 -35
- package/dist/components/navigation/command-bar.cjs +1 -1
- package/dist/components/navigation/command-bar.d.ts +3 -1
- package/dist/components/navigation/command-bar.js +10 -7
- package/dist/components/navigation/demo.cjs +1 -1
- package/dist/components/navigation/demo.js +0 -1
- package/dist/components/navigation/nav-tabs.cjs +1 -1
- package/dist/components/navigation/nav-tabs.js +39 -27
- package/dist/components/navigation/page-tabs.cjs +1 -1
- package/dist/components/navigation/page-tabs.js +41 -30
- package/dist/components/navigation/pagination.cjs +1 -1
- package/dist/components/navigation/pagination.d.ts +7 -1
- package/dist/components/navigation/pagination.js +48 -25
- package/dist/components/notifications/notification-center.cjs +1 -1
- package/dist/components/notifications/notification-center.d.ts +3 -1
- package/dist/components/notifications/notification-center.js +56 -38
- package/dist/components/notifications/toast.cjs +1 -1
- package/dist/components/notifications/toast.d.ts +1 -0
- package/dist/components/notifications/toast.js +4 -0
- package/dist/components/overlay/alert-dialog.cjs +1 -1
- package/dist/components/overlay/alert-dialog.js +1 -1
- package/dist/components/overlay/confirm-dialog.cjs +1 -1
- package/dist/components/overlay/confirm-dialog.d.ts +4 -2
- package/dist/components/overlay/confirm-dialog.js +31 -22
- package/dist/components/overlay/drawer.cjs +1 -1
- package/dist/components/overlay/drawer.d.ts +3 -1
- package/dist/components/overlay/drawer.js +24 -16
- package/dist/components/ui/accordion/index.d.ts +4 -0
- package/dist/components/ui/badge/index.cjs +1 -1
- package/dist/components/ui/badge/index.d.ts +1 -1
- package/dist/components/ui/badge/index.js +2 -1
- package/dist/components/ui/button/index.cjs +1 -1
- package/dist/components/ui/button/index.d.ts +2 -1
- package/dist/components/ui/button/index.js +13 -10
- package/dist/components/ui/dialog/index.cjs +1 -1
- package/dist/components/ui/dialog/index.js +2 -1
- package/dist/components/ui/hover-card.cjs +1 -1
- package/dist/components/ui/hover-card.d.ts +11 -3
- package/dist/components/ui/hover-card.js +29 -24
- package/dist/components/ui/input/index.d.ts +1 -1
- package/dist/components/ui/popover/index.cjs +1 -1
- package/dist/components/ui/popover/index.d.ts +2 -2
- package/dist/components/ui/popover/index.js +6 -5
- package/dist/components/ui/radio-group/index.cjs +1 -1
- package/dist/components/ui/radio-group/index.d.ts +5 -1
- package/dist/components/ui/radio-group/index.js +50 -16
- package/dist/components/ui/right-click-menu/index.cjs +1 -1
- package/dist/components/ui/right-click-menu/index.d.ts +5 -1
- package/dist/components/ui/right-click-menu/index.js +77 -23
- package/dist/components/ui/segmented-control/index.cjs +1 -1
- package/dist/components/ui/segmented-control/index.d.ts +2 -1
- package/dist/components/ui/segmented-control/index.js +23 -11
- package/dist/components/ui/select/index.cjs +1 -1
- package/dist/components/ui/select/index.d.ts +8 -1
- package/dist/components/ui/select/index.js +40 -35
- package/dist/components/ui/switch/index.cjs +1 -1
- package/dist/components/ui/switch/index.d.ts +18 -0
- package/dist/components/ui/switch/index.js +47 -17
- package/dist/components/ui/tabs/index.cjs +1 -1
- package/dist/components/ui/tabs/index.d.ts +14 -4
- package/dist/components/ui/tabs/index.js +11 -8
- package/dist/components/ui/textarea/index.cjs +1 -1
- package/dist/components/ui/textarea/index.d.ts +10 -2
- package/dist/components/ui/textarea/index.js +37 -8
- package/dist/components/ui/textarea.cjs +1 -0
- package/dist/components/ui/textarea.d.ts +1 -0
- package/dist/components/ui/textarea.js +2 -0
- package/dist/components/ui/tooltip/index.cjs +1 -1
- package/dist/components/ui/tooltip/index.d.ts +11 -3
- package/dist/components/ui/tooltip/index.js +41 -20
- package/dist/components/upload/file-upload.cjs +1 -1
- package/dist/components/upload/file-upload.d.ts +8 -1
- package/dist/components/upload/file-upload.js +132 -100
- package/dist/components/upload/image-upload.cjs +1 -1
- package/dist/components/upload/image-upload.d.ts +5 -1
- package/dist/components/upload/image-upload.js +34 -9
- package/dist/index.cjs +1 -1
- package/dist/index.js +31 -31
- package/dist/public-component-surface.cjs +1 -1
- package/dist/public-component-surface.js +15 -0
- package/dist/showcase/component-api-schema.cjs +1 -1
- package/dist/showcase/component-api-schema.js +187 -10
- package/dist/showcase/fallback.cjs +3 -3
- package/dist/showcase/fallback.js +221 -243
- package/dist/showcase/premium/alert/showcase.cjs +1 -1
- package/dist/showcase/premium/alert/showcase.js +1 -0
- package/dist/showcase/premium/app-sidebar/showcase.cjs +1 -1
- package/dist/showcase/premium/app-sidebar/showcase.js +1 -0
- package/dist/showcase/premium/badge/showcase.cjs +1 -1
- package/dist/showcase/premium/badge/showcase.js +7 -0
- package/dist/showcase/premium/badge/types.d.ts +1 -1
- package/dist/showcase/premium/breadcrumbs/showcase.cjs +1 -1
- package/dist/showcase/premium/breadcrumbs/showcase.js +12 -1
- package/dist/showcase/premium/button/mock.cjs +1 -4
- package/dist/showcase/premium/button/mock.js +1 -1
- package/dist/showcase/premium/button/showcase.cjs +1 -1
- package/dist/showcase/premium/button/showcase.js +2 -2
- package/dist/showcase/premium/card/showcase.cjs +1 -1
- package/dist/showcase/premium/card/showcase.js +96 -47
- package/dist/showcase/premium/carousel/showcase.cjs +1 -1
- package/dist/showcase/premium/carousel/showcase.js +76 -49
- package/dist/showcase/premium/command-bar/showcase.cjs +1 -1
- package/dist/showcase/premium/command-bar/showcase.js +2 -0
- package/dist/showcase/premium/data-table/mock.cjs +12 -11
- package/dist/showcase/premium/data-table/mock.js +1 -1
- package/dist/showcase/premium/file-upload/showcase.cjs +1 -1
- package/dist/showcase/premium/file-upload/showcase.js +25 -4
- package/dist/showcase/premium/image-upload/showcase.cjs +1 -1
- package/dist/showcase/premium/image-upload/showcase.js +4 -1
- package/dist/showcase/premium/index.cjs +1 -1
- package/dist/showcase/premium/index.js +396 -402
- package/dist/showcase/premium/loading-state/showcase.cjs +1 -1
- package/dist/showcase/premium/loading-state/showcase.js +3 -1
- package/dist/showcase/premium/metric-grid/showcase.cjs +1 -1
- package/dist/showcase/premium/metric-grid/showcase.js +96 -28
- package/dist/showcase/premium/notification-center/showcase.cjs +1 -1
- package/dist/showcase/premium/notification-center/showcase.js +7 -3
- package/dist/showcase/premium/page-state/showcase.cjs +1 -1
- package/dist/showcase/premium/page-state/showcase.js +5 -1
- package/dist/showcase/premium/pagination/showcase.cjs +1 -1
- package/dist/showcase/premium/pagination/showcase.js +15 -2
- package/dist/showcase/premium/popover/showcase.cjs +1 -1
- package/dist/showcase/premium/popover/showcase.js +85 -50
- package/dist/showcase/premium/radio-group/showcase.cjs +1 -1
- package/dist/showcase/premium/radio-group/showcase.js +27 -4
- package/dist/showcase/premium/right-click-menu/showcase.cjs +1 -1
- package/dist/showcase/premium/right-click-menu/showcase.js +56 -43
- package/dist/showcase/premium/segmented-control/showcase.cjs +1 -1
- package/dist/showcase/premium/segmented-control/showcase.js +1 -0
- package/dist/showcase/premium/select/data.cjs +1 -1
- package/dist/showcase/premium/select/data.js +69 -34
- package/dist/showcase/premium/select/mock.cjs +19 -6
- package/dist/showcase/premium/select/mock.js +3 -2
- package/dist/showcase/premium/select/showcase.cjs +1 -1
- package/dist/showcase/premium/select/showcase.js +43 -18
- package/dist/showcase/premium/select/types.d.ts +3 -0
- package/dist/showcase/premium/statistic/showcase.cjs +1 -1
- package/dist/showcase/premium/statistic/showcase.js +57 -25
- package/dist/showcase/premium/switch/showcase.cjs +1 -1
- package/dist/showcase/premium/switch/showcase.js +25 -14
- package/dist/showcase/premium/tabs/showcase.cjs +1 -1
- package/dist/showcase/premium/tabs/showcase.js +171 -48
- package/dist/showcase/premium/textarea/mock.cjs +12 -4
- package/dist/showcase/premium/textarea/mock.js +1 -1
- package/dist/showcase/premium/textarea/showcase.cjs +1 -1
- package/dist/showcase/premium/textarea/showcase.js +8 -3
- package/dist/showcase/premium/toast/showcase.cjs +1 -1
- package/dist/showcase/premium/toast/showcase.js +32 -6
- package/dist/showcase/premium/types.d.ts +1 -1
- package/dist/showcase/registry-quality.cjs +1 -1
- package/dist/showcase/registry-quality.js +1 -0
- package/dist/showcase/render-registry-preview.cjs +1 -1
- package/dist/showcase/render-registry-preview.js +57 -79
- package/dist/showcase/site-data.cjs +1 -1
- package/dist/showcase/site-data.js +60 -21
- package/dist/showcase/tembro-registry.json.cjs +1 -1
- package/dist/showcase/tembro-registry.json.js +34 -20
- package/dist/showcase/types.d.ts +1 -1
- package/package.json +1 -1
- package/packages/cli/dist/index.cjs +31 -31
- package/packages/cli/vendor/src/components/calendar/calendar.tsx +59 -50
- package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +7 -4
- package/packages/cli/vendor/src/components/charts/charts.tsx +109 -66
- package/packages/cli/vendor/src/components/charts/progress-ring.tsx +37 -26
- package/packages/cli/vendor/src/components/data-table/data-table-column-visibility-menu.tsx +41 -22
- package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +8 -6
- package/packages/cli/vendor/src/components/display/carousel.tsx +84 -3
- package/packages/cli/vendor/src/components/display/code-block.tsx +22 -2
- package/packages/cli/vendor/src/components/display/delta-badge.tsx +11 -11
- package/packages/cli/vendor/src/components/display/kanban.tsx +103 -57
- package/packages/cli/vendor/src/components/display/metric-grid.tsx +16 -13
- package/packages/cli/vendor/src/components/display/qr-code.tsx +17 -15
- package/packages/cli/vendor/src/components/display/status-legend.tsx +11 -8
- package/packages/cli/vendor/src/components/display/tag.tsx +39 -21
- package/packages/cli/vendor/src/components/display/tree-view.tsx +221 -84
- package/packages/cli/vendor/src/components/display/trend-card.tsx +6 -40
- package/packages/cli/vendor/src/components/feedback/alert.tsx +3 -1
- package/packages/cli/vendor/src/components/feedback/loading-state.tsx +33 -17
- package/packages/cli/vendor/src/components/feedback/page-state.tsx +8 -7
- package/packages/cli/vendor/src/components/form/form-field-shell.tsx +37 -8
- package/packages/cli/vendor/src/components/form/form-input.tsx +2 -0
- package/packages/cli/vendor/src/components/form/form-select.tsx +2 -0
- package/packages/cli/vendor/src/components/form/form-switch.tsx +9 -3
- package/packages/cli/vendor/src/components/form/form-textarea.tsx +6 -2
- package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +3 -1
- package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +3 -1
- package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +28 -13
- package/packages/cli/vendor/src/components/modern/dual-list-picker.tsx +103 -35
- package/packages/cli/vendor/src/components/modern/rich-text-editor.tsx +25 -22
- package/packages/cli/vendor/src/components/modern/tour.tsx +47 -29
- package/packages/cli/vendor/src/components/navigation/command-bar.tsx +6 -0
- package/packages/cli/vendor/src/components/navigation/demo.tsx +0 -1
- package/packages/cli/vendor/src/components/navigation/nav-tabs.tsx +38 -29
- package/packages/cli/vendor/src/components/navigation/page-tabs.tsx +35 -23
- package/packages/cli/vendor/src/components/navigation/pagination.tsx +65 -31
- package/packages/cli/vendor/src/components/notifications/notification-center.tsx +64 -39
- package/packages/cli/vendor/src/components/notifications/toast.tsx +23 -21
- package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +1 -1
- package/packages/cli/vendor/src/components/overlay/confirm-dialog.tsx +45 -22
- package/packages/cli/vendor/src/components/overlay/drawer.tsx +18 -5
- package/packages/cli/vendor/src/components/ui/accordion/index.tsx +4 -0
- package/packages/cli/vendor/src/components/ui/badge/index.tsx +2 -1
- package/packages/cli/vendor/src/components/ui/button/index.tsx +11 -5
- package/packages/cli/vendor/src/components/ui/dialog/index.tsx +2 -1
- package/packages/cli/vendor/src/components/ui/hover-card.tsx +54 -28
- package/packages/cli/vendor/src/components/ui/popover/index.tsx +10 -8
- package/packages/cli/vendor/src/components/ui/radio-group/index.tsx +55 -6
- package/packages/cli/vendor/src/components/ui/right-click-menu/index.tsx +120 -9
- package/packages/cli/vendor/src/components/ui/segmented-control/index.tsx +29 -3
- package/packages/cli/vendor/src/components/ui/select/index.tsx +64 -31
- package/packages/cli/vendor/src/components/ui/switch/index.tsx +71 -6
- package/packages/cli/vendor/src/components/ui/tabs/index.tsx +22 -6
- package/packages/cli/vendor/src/components/ui/textarea/index.tsx +105 -15
- package/packages/cli/vendor/src/components/ui/textarea.tsx +2 -0
- package/packages/cli/vendor/src/components/ui/tooltip/index.tsx +67 -22
- package/packages/cli/vendor/src/components/upload/file-upload.tsx +120 -57
- package/packages/cli/vendor/src/components/upload/image-upload.tsx +71 -24
- package/packages/cli/vendor/src/public-component-surface.ts +3 -0
- package/packages/cli/vendor/src/showcase/component-api-schema.ts +79 -41
- package/packages/cli/vendor/src/showcase/fallback.tsx +4 -19
- package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/app-sidebar/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/badge/showcase.tsx +4 -2
- package/packages/cli/vendor/src/showcase/premium/badge/types.ts +1 -1
- package/packages/cli/vendor/src/showcase/premium/breadcrumbs/showcase.tsx +3 -1
- package/packages/cli/vendor/src/showcase/premium/button/mock.ts +2 -5
- package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +2 -2
- package/packages/cli/vendor/src/showcase/premium/card/showcase.tsx +26 -1
- package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +19 -3
- package/packages/cli/vendor/src/showcase/premium/command-bar/showcase.tsx +1 -1
- package/packages/cli/vendor/src/showcase/premium/data-table/mock.ts +26 -25
- package/packages/cli/vendor/src/showcase/premium/file-upload/showcase.tsx +21 -1
- package/packages/cli/vendor/src/showcase/premium/image-upload/showcase.tsx +4 -1
- package/packages/cli/vendor/src/showcase/premium/index.ts +0 -2
- package/packages/cli/vendor/src/showcase/premium/loading-state/showcase.tsx +1 -1
- package/packages/cli/vendor/src/showcase/premium/metric-grid/showcase.tsx +36 -4
- package/packages/cli/vendor/src/showcase/premium/notification-center/showcase.tsx +4 -3
- package/packages/cli/vendor/src/showcase/premium/page-state/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/pagination/showcase.tsx +13 -1
- package/packages/cli/vendor/src/showcase/premium/popover/showcase.tsx +27 -11
- package/packages/cli/vendor/src/showcase/premium/radio-group/showcase.tsx +13 -1
- package/packages/cli/vendor/src/showcase/premium/right-click-menu/showcase.tsx +8 -5
- package/packages/cli/vendor/src/showcase/premium/segmented-control/showcase.tsx +1 -0
- package/packages/cli/vendor/src/showcase/premium/select/data.ts +12 -3
- package/packages/cli/vendor/src/showcase/premium/select/mock.ts +4 -4
- package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +22 -1
- package/packages/cli/vendor/src/showcase/premium/select/types.ts +3 -0
- package/packages/cli/vendor/src/showcase/premium/statistic/showcase.tsx +10 -1
- package/packages/cli/vendor/src/showcase/premium/switch/showcase.tsx +15 -6
- package/packages/cli/vendor/src/showcase/premium/tabs/showcase.tsx +48 -1
- package/packages/cli/vendor/src/showcase/premium/textarea/mock.ts +12 -4
- package/packages/cli/vendor/src/showcase/premium/textarea/showcase.tsx +5 -0
- package/packages/cli/vendor/src/showcase/premium/toast/showcase.tsx +17 -1
- package/packages/cli/vendor/src/showcase/premium/types.ts +1 -1
- package/packages/cli/vendor/src/showcase/registry-quality.ts +3 -2
- package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +0 -15
- package/packages/cli/vendor/src/showcase/site-data.tsx +21 -15
- package/packages/cli/vendor/src/showcase/tembro-registry.json +42 -20
- package/packages/cli/vendor/src/showcase/types.ts +1 -1
- package/registry.json +18 -6
|
@@ -8,39 +8,58 @@ var r = {
|
|
|
8
8
|
warning: "border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-900 dark:bg-amber-950 dark:text-amber-300",
|
|
9
9
|
danger: "border-red-200 bg-red-50 text-red-700 dark:border-red-900 dark:bg-red-950 dark:text-red-300"
|
|
10
10
|
};
|
|
11
|
-
function i({ events: i, days: a,
|
|
12
|
-
let
|
|
11
|
+
function i({ events: i, days: a, view: o = "week", empty: s = "No events scheduled.", onCreateEvent: c, onEventClick: l, className: u, ...d }) {
|
|
12
|
+
let f = a ?? Array.from(new Set(i.map((e) => e.date)));
|
|
13
13
|
return /* @__PURE__ */ t("div", {
|
|
14
14
|
"data-slot": "calendar-scheduler",
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
"data-view": o,
|
|
16
|
+
className: e("grid gap-3", o === "month" && "md:grid-cols-2 xl:grid-cols-3", u),
|
|
17
|
+
...d,
|
|
18
|
+
children: f.map((a) => /* @__PURE__ */ n("section", {
|
|
18
19
|
className: "rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-card p-4 shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]",
|
|
19
|
-
children: [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
className: "text-sm font-semibold text-foreground",
|
|
23
|
-
children: a
|
|
24
|
-
}), /* @__PURE__ */ n("div", {
|
|
25
|
-
className: "text-xs text-muted-foreground",
|
|
26
|
-
children: [i.filter((e) => e.date === a).length, " items"]
|
|
27
|
-
})]
|
|
28
|
-
}), /* @__PURE__ */ t("div", {
|
|
29
|
-
className: "grid gap-2",
|
|
30
|
-
children: i.filter((e) => e.date === a).length === 0 ? /* @__PURE__ */ t("div", {
|
|
31
|
-
className: "rounded-[var(--radius-md)] border border-dashed border-[color:var(--aui-card-border,var(--border))] px-3 py-4 text-sm text-muted-foreground",
|
|
32
|
-
children: o
|
|
33
|
-
}) : i.filter((e) => e.date === a).map((i) => /* @__PURE__ */ n("div", {
|
|
34
|
-
className: e("rounded-[var(--radius-md)] border px-3 py-2.5 text-sm shadow-sm", r[i.tone ?? "default"]),
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ n("div", {
|
|
22
|
+
className: "mb-3 flex items-center justify-between gap-3",
|
|
35
23
|
children: [/* @__PURE__ */ t("div", {
|
|
36
|
-
className: "font-
|
|
37
|
-
children:
|
|
38
|
-
}),
|
|
39
|
-
className: "
|
|
40
|
-
children: i.
|
|
24
|
+
className: "text-sm font-semibold text-foreground",
|
|
25
|
+
children: a
|
|
26
|
+
}), /* @__PURE__ */ n("div", {
|
|
27
|
+
className: "text-xs text-muted-foreground",
|
|
28
|
+
children: [i.filter((e) => e.date === a).length, " items"]
|
|
41
29
|
})]
|
|
42
|
-
},
|
|
43
|
-
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ t("div", {
|
|
32
|
+
className: "grid gap-2",
|
|
33
|
+
children: i.filter((e) => e.date === a).length === 0 ? /* @__PURE__ */ t("div", {
|
|
34
|
+
className: "rounded-[var(--radius-md)] border border-dashed border-[color:var(--aui-card-border,var(--border))] px-3 py-4 text-sm text-muted-foreground",
|
|
35
|
+
children: s
|
|
36
|
+
}) : i.filter((e) => e.date === a).map((i) => /* @__PURE__ */ n("button", {
|
|
37
|
+
type: "button",
|
|
38
|
+
className: e("rounded-[var(--radius-md)] border px-3 py-2.5 text-left text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40", r[i.tone ?? "default"]),
|
|
39
|
+
onClick: () => l?.(i),
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ t("div", {
|
|
42
|
+
className: "font-medium",
|
|
43
|
+
children: i.title
|
|
44
|
+
}),
|
|
45
|
+
i.time && /* @__PURE__ */ t("div", {
|
|
46
|
+
className: "mt-1 text-xs opacity-70",
|
|
47
|
+
children: i.time
|
|
48
|
+
}),
|
|
49
|
+
i.durationMinutes && /* @__PURE__ */ n("div", {
|
|
50
|
+
className: "mt-1 text-xs opacity-70",
|
|
51
|
+
children: [i.durationMinutes, " min"]
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
}, i.id))
|
|
55
|
+
}),
|
|
56
|
+
c && /* @__PURE__ */ t("button", {
|
|
57
|
+
type: "button",
|
|
58
|
+
className: "mt-3 w-full rounded-md border border-dashed px-3 py-2 text-sm text-muted-foreground hover:bg-muted/50",
|
|
59
|
+
onClick: () => c(a),
|
|
60
|
+
children: "Create event"
|
|
61
|
+
})
|
|
62
|
+
]
|
|
44
63
|
}, a))
|
|
45
64
|
});
|
|
46
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({items:e,picked:
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({items:e,picked:i=[],onPickedChange:a,availableTitle:o=`Available`,pickedTitle:s=`Selected`,searchPlaceholder:c=`Search items...`,emptyMessage:l=`No items.`,maxPicked:u,transferAll:d=!0,className:f,...p}){let[m,h]=n.useState(``),g=new Set(i),_=m.trim().toLowerCase(),v=e=>_?String(e.label).toLowerCase().includes(_)||e.value.toLowerCase().includes(_):!0,y=e.filter(e=>!g.has(e.value)&&v(e)),b=e.filter(e=>g.has(e.value)&&v(e)),x=u!==void 0&&i.length>=u;function S(e){let t=g.has(e);if(!t&&x)return;let n=t?i.filter(t=>t!==e):[...i,e];a?.(n)}function C(){let t=[...i];for(let n of e)if(!(n.disabled||g.has(n.value))){if(u!==void 0&&t.length>=u)break;t.push(n.value)}a?.(t)}function w(){a?.([])}let T=(e,t,n)=>(0,r.jsxs)(`div`,{className:`min-h-48 rounded-lg border bg-card`,children:[(0,r.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2 text-sm font-medium`,children:[(0,r.jsx)(`span`,{children:e}),(0,r.jsx)(`span`,{className:`text-xs font-normal text-muted-foreground`,children:t.length})]}),(0,r.jsx)(`div`,{className:`grid gap-1 p-2`,children:t.length===0?(0,r.jsx)(`div`,{className:`rounded-md border border-dashed px-3 py-6 text-center text-sm text-muted-foreground`,children:l}):t.map(e=>(0,r.jsxs)(`button`,{type:`button`,disabled:e.disabled||n===`available`&&x,className:`flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:opacity-50`,"aria-pressed":g.has(e.value),onClick:()=>S(e.value),children:[(0,r.jsx)(`span`,{children:e.label}),(0,r.jsx)(`span`,{className:`text-muted-foreground`,children:g.has(e.value)?`−`:`+`})]},e.value))})]});return(0,r.jsxs)(`div`,{"data-slot":`dual-list-picker`,className:t.cn(`grid gap-3`,f),...p,children:[(0,r.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,r.jsx)(`input`,{value:m,placeholder:c,className:`h-9 min-w-0 rounded-md border bg-background px-3 text-sm outline-none focus-visible:ring-2 focus-visible:ring-ring/40 sm:max-w-xs`,onChange:e=>h(e.currentTarget.value)}),d&&(0,r.jsxs)(`div`,{className:`flex gap-2`,children:[(0,r.jsx)(`button`,{type:`button`,className:`rounded-md border px-3 py-1.5 text-sm disabled:opacity-50`,disabled:x,onClick:C,children:`Add all`}),(0,r.jsx)(`button`,{type:`button`,className:`rounded-md border px-3 py-1.5 text-sm disabled:opacity-50`,disabled:i.length===0,onClick:w,children:`Remove all`})]})]}),(0,r.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[T(o,y,`available`),T(s,b,`picked`)]}),u!==void 0&&(0,r.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[i.length,` / `,u,` selected`]})]})}exports.DualListPicker=i;
|
|
@@ -10,6 +10,10 @@ export type DualListPickerProps = React.ComponentProps<"div"> & {
|
|
|
10
10
|
onPickedChange?: (value: string[]) => void;
|
|
11
11
|
availableTitle?: React.ReactNode;
|
|
12
12
|
pickedTitle?: React.ReactNode;
|
|
13
|
+
searchPlaceholder?: string;
|
|
14
|
+
emptyMessage?: React.ReactNode;
|
|
15
|
+
maxPicked?: number;
|
|
16
|
+
transferAll?: boolean;
|
|
13
17
|
};
|
|
14
|
-
declare function DualListPicker({ items, picked, onPickedChange, availableTitle, pickedTitle, className, ...props }: DualListPickerProps): React.JSX.Element;
|
|
18
|
+
declare function DualListPicker({ items, picked, onPickedChange, availableTitle, pickedTitle, searchPlaceholder, emptyMessage, maxPicked, transferAll, className, ...props }: DualListPickerProps): React.JSX.Element;
|
|
15
19
|
export { DualListPicker };
|
|
@@ -1,38 +1,96 @@
|
|
|
1
1
|
import { cn as e } from "../../lib/utils.js";
|
|
2
|
-
import "react";
|
|
3
|
-
import { jsx as
|
|
2
|
+
import * as t from "react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/modern/dual-list-picker.tsx
|
|
5
|
-
function
|
|
6
|
-
let
|
|
7
|
-
function
|
|
8
|
-
let t =
|
|
9
|
-
|
|
5
|
+
function i({ items: i, picked: a = [], onPickedChange: o, availableTitle: s = "Available", pickedTitle: c = "Selected", searchPlaceholder: l = "Search items...", emptyMessage: u = "No items.", maxPicked: d, transferAll: f = !0, className: p, ...m }) {
|
|
6
|
+
let [h, g] = t.useState(""), _ = new Set(a), v = h.trim().toLowerCase(), y = (e) => v ? String(e.label).toLowerCase().includes(v) || e.value.toLowerCase().includes(v) : !0, b = i.filter((e) => !_.has(e.value) && y(e)), x = i.filter((e) => _.has(e.value) && y(e)), S = d !== void 0 && a.length >= d;
|
|
7
|
+
function C(e) {
|
|
8
|
+
let t = _.has(e);
|
|
9
|
+
if (!t && S) return;
|
|
10
|
+
let n = t ? a.filter((t) => t !== e) : [...a, e];
|
|
11
|
+
o?.(n);
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
function w() {
|
|
14
|
+
let e = [...a];
|
|
15
|
+
for (let t of i) if (!(t.disabled || _.has(t.value))) {
|
|
16
|
+
if (d !== void 0 && e.length >= d) break;
|
|
17
|
+
e.push(t.value);
|
|
18
|
+
}
|
|
19
|
+
o?.(e);
|
|
20
|
+
}
|
|
21
|
+
function T() {
|
|
22
|
+
o?.([]);
|
|
23
|
+
}
|
|
24
|
+
let E = (e, t, i) => /* @__PURE__ */ r("div", {
|
|
12
25
|
className: "min-h-48 rounded-lg border bg-card",
|
|
13
|
-
children: [/* @__PURE__ */
|
|
14
|
-
className: "border-b px-3 py-2 text-sm font-medium",
|
|
15
|
-
children: e
|
|
16
|
-
|
|
26
|
+
children: [/* @__PURE__ */ r("div", {
|
|
27
|
+
className: "flex items-center justify-between gap-2 border-b px-3 py-2 text-sm font-medium",
|
|
28
|
+
children: [/* @__PURE__ */ n("span", { children: e }), /* @__PURE__ */ n("span", {
|
|
29
|
+
className: "text-xs font-normal text-muted-foreground",
|
|
30
|
+
children: t.length
|
|
31
|
+
})]
|
|
32
|
+
}), /* @__PURE__ */ n("div", {
|
|
17
33
|
className: "grid gap-1 p-2",
|
|
18
|
-
children:
|
|
34
|
+
children: t.length === 0 ? /* @__PURE__ */ n("div", {
|
|
35
|
+
className: "rounded-md border border-dashed px-3 py-6 text-center text-sm text-muted-foreground",
|
|
36
|
+
children: u
|
|
37
|
+
}) : t.map((e) => /* @__PURE__ */ r("button", {
|
|
19
38
|
type: "button",
|
|
20
|
-
disabled: e.disabled,
|
|
21
|
-
className: "flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-muted disabled:opacity-50",
|
|
22
|
-
|
|
23
|
-
|
|
39
|
+
disabled: e.disabled || i === "available" && S,
|
|
40
|
+
className: "flex items-center justify-between rounded-md px-2 py-1.5 text-left text-sm hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:opacity-50",
|
|
41
|
+
"aria-pressed": _.has(e.value),
|
|
42
|
+
onClick: () => C(e.value),
|
|
43
|
+
children: [/* @__PURE__ */ n("span", { children: e.label }), /* @__PURE__ */ n("span", {
|
|
24
44
|
className: "text-muted-foreground",
|
|
25
|
-
children:
|
|
45
|
+
children: _.has(e.value) ? "−" : "+"
|
|
26
46
|
})]
|
|
27
47
|
}, e.value))
|
|
28
48
|
})]
|
|
29
49
|
});
|
|
30
|
-
return /* @__PURE__ */
|
|
50
|
+
return /* @__PURE__ */ r("div", {
|
|
31
51
|
"data-slot": "dual-list-picker",
|
|
32
|
-
className: e("grid gap-3
|
|
33
|
-
...
|
|
34
|
-
children: [
|
|
52
|
+
className: e("grid gap-3", p),
|
|
53
|
+
...m,
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ r("div", {
|
|
56
|
+
className: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",
|
|
57
|
+
children: [/* @__PURE__ */ n("input", {
|
|
58
|
+
value: h,
|
|
59
|
+
placeholder: l,
|
|
60
|
+
className: "h-9 min-w-0 rounded-md border bg-background px-3 text-sm outline-none focus-visible:ring-2 focus-visible:ring-ring/40 sm:max-w-xs",
|
|
61
|
+
onChange: (e) => g(e.currentTarget.value)
|
|
62
|
+
}), f && /* @__PURE__ */ r("div", {
|
|
63
|
+
className: "flex gap-2",
|
|
64
|
+
children: [/* @__PURE__ */ n("button", {
|
|
65
|
+
type: "button",
|
|
66
|
+
className: "rounded-md border px-3 py-1.5 text-sm disabled:opacity-50",
|
|
67
|
+
disabled: S,
|
|
68
|
+
onClick: w,
|
|
69
|
+
children: "Add all"
|
|
70
|
+
}), /* @__PURE__ */ n("button", {
|
|
71
|
+
type: "button",
|
|
72
|
+
className: "rounded-md border px-3 py-1.5 text-sm disabled:opacity-50",
|
|
73
|
+
disabled: a.length === 0,
|
|
74
|
+
onClick: T,
|
|
75
|
+
children: "Remove all"
|
|
76
|
+
})]
|
|
77
|
+
})]
|
|
78
|
+
}),
|
|
79
|
+
/* @__PURE__ */ r("div", {
|
|
80
|
+
className: "grid gap-3 md:grid-cols-2",
|
|
81
|
+
children: [E(s, b, "available"), E(c, x, "picked")]
|
|
82
|
+
}),
|
|
83
|
+
d !== void 0 && /* @__PURE__ */ r("div", {
|
|
84
|
+
className: "text-xs text-muted-foreground",
|
|
85
|
+
children: [
|
|
86
|
+
a.length,
|
|
87
|
+
" / ",
|
|
88
|
+
d,
|
|
89
|
+
" selected"
|
|
90
|
+
]
|
|
91
|
+
})
|
|
92
|
+
]
|
|
35
93
|
});
|
|
36
94
|
}
|
|
37
95
|
//#endregion
|
|
38
|
-
export {
|
|
96
|
+
export { i as DualListPicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({value:e,onValueChange:i,placeholder:a=`Write something...`,className:
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({value:e,onValueChange:i,placeholder:a=`Write something...`,output:o=`html`,disabled:s=!1,className:c,...l}){let u=n.useRef(null);return n.useEffect(()=>{u.current&&e!==void 0&&u.current.innerHTML!==e&&(u.current.innerHTML=e)},[e]),(0,r.jsxs)(`div`,{"data-slot":`rich-text-editor`,"data-disabled":s||void 0,className:t.cn(`grid gap-2 rounded-lg border bg-background p-2`,s&&`opacity-60`,c),...l,children:[(0,r.jsx)(`div`,{className:`flex flex-wrap gap-1 border-b pb-2`,children:[[`bold`,`B`],[`italic`,`I`],[`underline`,`U`]].map(([e,t])=>(0,r.jsx)(`button`,{type:`button`,disabled:s,className:`rounded border px-2 py-1 text-xs font-medium disabled:opacity-50`,onClick:()=>document.execCommand(e),children:t},e))}),(0,r.jsx)(`div`,{ref:u,contentEditable:!s,"aria-disabled":s||void 0,"data-placeholder":a,className:`min-h-32 rounded-md p-2 text-sm outline-none empty:before:text-muted-foreground empty:before:content-[attr(data-placeholder)]`,onInput:e=>i?.(o===`text`?e.currentTarget.textContent??``:e.currentTarget.innerHTML)})]})}exports.RichTextEditor=i;
|
|
@@ -3,6 +3,8 @@ export type RichTextEditorProps = Omit<React.ComponentProps<"div">, "onChange">
|
|
|
3
3
|
value?: string;
|
|
4
4
|
onValueChange?: (value: string) => void;
|
|
5
5
|
placeholder?: string;
|
|
6
|
+
output?: "html" | "text";
|
|
7
|
+
disabled?: boolean;
|
|
6
8
|
};
|
|
7
|
-
declare function RichTextEditor({ value, onValueChange, placeholder, className, ...props }: RichTextEditorProps): React.JSX.Element;
|
|
9
|
+
declare function RichTextEditor({ value, onValueChange, placeholder, output, disabled, className, ...props }: RichTextEditorProps): React.JSX.Element;
|
|
8
10
|
export { RichTextEditor };
|
|
@@ -2,14 +2,15 @@ import { cn as e } from "../../lib/utils.js";
|
|
|
2
2
|
import * as t from "react";
|
|
3
3
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/modern/rich-text-editor.tsx
|
|
5
|
-
function i({ value: i, onValueChange: a, placeholder: o = "Write something...",
|
|
6
|
-
let
|
|
5
|
+
function i({ value: i, onValueChange: a, placeholder: o = "Write something...", output: s = "html", disabled: c = !1, className: l, ...u }) {
|
|
6
|
+
let d = t.useRef(null);
|
|
7
7
|
return t.useEffect(() => {
|
|
8
|
-
|
|
8
|
+
d.current && i !== void 0 && d.current.innerHTML !== i && (d.current.innerHTML = i);
|
|
9
9
|
}, [i]), /* @__PURE__ */ r("div", {
|
|
10
10
|
"data-slot": "rich-text-editor",
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
"data-disabled": c || void 0,
|
|
12
|
+
className: e("grid gap-2 rounded-lg border bg-background p-2", c && "opacity-60", l),
|
|
13
|
+
...u,
|
|
13
14
|
children: [/* @__PURE__ */ n("div", {
|
|
14
15
|
className: "flex flex-wrap gap-1 border-b pb-2",
|
|
15
16
|
children: [
|
|
@@ -18,16 +19,18 @@ function i({ value: i, onValueChange: a, placeholder: o = "Write something...",
|
|
|
18
19
|
["underline", "U"]
|
|
19
20
|
].map(([e, t]) => /* @__PURE__ */ n("button", {
|
|
20
21
|
type: "button",
|
|
21
|
-
|
|
22
|
+
disabled: c,
|
|
23
|
+
className: "rounded border px-2 py-1 text-xs font-medium disabled:opacity-50",
|
|
22
24
|
onClick: () => document.execCommand(e),
|
|
23
25
|
children: t
|
|
24
26
|
}, e))
|
|
25
27
|
}), /* @__PURE__ */ n("div", {
|
|
26
|
-
ref:
|
|
27
|
-
contentEditable: !
|
|
28
|
+
ref: d,
|
|
29
|
+
contentEditable: !c,
|
|
30
|
+
"aria-disabled": c || void 0,
|
|
28
31
|
"data-placeholder": o,
|
|
29
32
|
className: "min-h-32 rounded-md p-2 text-sm outline-none empty:before:text-muted-foreground empty:before:content-[attr(data-placeholder)]",
|
|
30
|
-
onInput: (e) => a?.(e.currentTarget.innerHTML)
|
|
33
|
+
onInput: (e) => a?.(s === "text" ? e.currentTarget.textContent ?? "" : e.currentTarget.innerHTML)
|
|
31
34
|
})]
|
|
32
35
|
});
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({steps:e,index:
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({steps:e,index:i=0,onIndexChange:a,onClose:o,onSkip:s,onFinish:c,placement:l=`bottom`,className:u,...d}){let f=e[i],p=n.useRef(null);return n.useEffect(()=>{p.current?.focus()},[i]),f?(0,r.jsx)(`div`,{ref:p,"data-slot":`tour`,"data-placement":l,tabIndex:-1,className:t.cn(`rounded-xl border bg-popover p-4 text-popover-foreground shadow-lg outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,u),...d,children:(0,r.jsxs)(`div`,{className:`grid gap-2`,children:[(0,r.jsx)(`div`,{className:`font-semibold`,children:f.title}),f.description&&(0,r.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:f.description}),f.target&&(0,r.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:f.target}),(0,r.jsxs)(`div`,{className:`flex items-center justify-between gap-3 pt-2`,children:[(0,r.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[i+1,` / `,e.length]}),(0,r.jsxs)(`div`,{className:`flex gap-2`,children:[(0,r.jsx)(`button`,{type:`button`,className:`rounded-md border px-2.5 py-1 text-sm`,onClick:()=>{s?.(),o?.()},children:`Skip`}),(0,r.jsx)(`button`,{type:`button`,className:`rounded-md border px-2.5 py-1 text-sm`,disabled:i===0,onClick:()=>a?.(i-1),children:`Back`}),i<e.length-1?(0,r.jsx)(`button`,{type:`button`,className:`rounded-md bg-primary px-2.5 py-1 text-sm text-primary-foreground`,onClick:()=>a?.(i+1),children:`Next`}):(0,r.jsx)(`button`,{type:`button`,className:`rounded-md bg-primary px-2.5 py-1 text-sm text-primary-foreground`,onClick:()=>{c?.(),o?.()},children:`Done`})]})]})]})}):null}exports.Tour=i;
|
|
@@ -2,12 +2,16 @@ import * as React from "react";
|
|
|
2
2
|
export type TourStep = {
|
|
3
3
|
title: React.ReactNode;
|
|
4
4
|
description?: React.ReactNode;
|
|
5
|
+
target?: string;
|
|
5
6
|
};
|
|
6
7
|
export type TourProps = React.ComponentProps<"div"> & {
|
|
7
8
|
steps: TourStep[];
|
|
8
9
|
index?: number;
|
|
9
10
|
onIndexChange?: (index: number) => void;
|
|
10
11
|
onClose?: () => void;
|
|
12
|
+
onSkip?: () => void;
|
|
13
|
+
onFinish?: () => void;
|
|
14
|
+
placement?: "top" | "right" | "bottom" | "left";
|
|
11
15
|
};
|
|
12
|
-
declare function Tour({ steps, index, onIndexChange, onClose, className, ...props }: TourProps): React.JSX.Element | null;
|
|
16
|
+
declare function Tour({ steps, index, onIndexChange, onClose, onSkip, onFinish, placement, className, ...props }: TourProps): React.JSX.Element | null;
|
|
13
17
|
export { Tour };
|
|
@@ -1,52 +1,74 @@
|
|
|
1
1
|
import { cn as e } from "../../lib/utils.js";
|
|
2
|
-
import "react";
|
|
3
|
-
import { jsx as
|
|
2
|
+
import * as t from "react";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/modern/tour.tsx
|
|
5
|
-
function
|
|
6
|
-
let
|
|
7
|
-
return
|
|
5
|
+
function i({ steps: i, index: a = 0, onIndexChange: o, onClose: s, onSkip: c, onFinish: l, placement: u = "bottom", className: d, ...f }) {
|
|
6
|
+
let p = i[a], m = t.useRef(null);
|
|
7
|
+
return t.useEffect(() => {
|
|
8
|
+
m.current?.focus();
|
|
9
|
+
}, [a]), p ? /* @__PURE__ */ n("div", {
|
|
10
|
+
ref: m,
|
|
8
11
|
"data-slot": "tour",
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
"data-placement": u,
|
|
13
|
+
tabIndex: -1,
|
|
14
|
+
className: e("rounded-xl border bg-popover p-4 text-popover-foreground shadow-lg outline-none focus-visible:ring-2 focus-visible:ring-ring/40", d),
|
|
15
|
+
...f,
|
|
16
|
+
children: /* @__PURE__ */ r("div", {
|
|
12
17
|
className: "grid gap-2",
|
|
13
18
|
children: [
|
|
14
|
-
/* @__PURE__ */
|
|
19
|
+
/* @__PURE__ */ n("div", {
|
|
15
20
|
className: "font-semibold",
|
|
16
|
-
children:
|
|
21
|
+
children: p.title
|
|
17
22
|
}),
|
|
18
|
-
|
|
23
|
+
p.description && /* @__PURE__ */ n("div", {
|
|
19
24
|
className: "text-sm text-muted-foreground",
|
|
20
|
-
children:
|
|
25
|
+
children: p.description
|
|
21
26
|
}),
|
|
22
|
-
/* @__PURE__ */ n("div", {
|
|
27
|
+
p.target && /* @__PURE__ */ n("div", {
|
|
28
|
+
className: "text-xs text-muted-foreground",
|
|
29
|
+
children: p.target
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ r("div", {
|
|
23
32
|
className: "flex items-center justify-between gap-3 pt-2",
|
|
24
|
-
children: [/* @__PURE__ */
|
|
33
|
+
children: [/* @__PURE__ */ r("span", {
|
|
25
34
|
className: "text-xs text-muted-foreground",
|
|
26
35
|
children: [
|
|
27
|
-
|
|
36
|
+
a + 1,
|
|
28
37
|
" / ",
|
|
29
|
-
|
|
38
|
+
i.length
|
|
30
39
|
]
|
|
31
|
-
}), /* @__PURE__ */
|
|
40
|
+
}), /* @__PURE__ */ r("div", {
|
|
32
41
|
className: "flex gap-2",
|
|
33
|
-
children: [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ n("button", {
|
|
44
|
+
type: "button",
|
|
45
|
+
className: "rounded-md border px-2.5 py-1 text-sm",
|
|
46
|
+
onClick: () => {
|
|
47
|
+
c?.(), s?.();
|
|
48
|
+
},
|
|
49
|
+
children: "Skip"
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ n("button", {
|
|
52
|
+
type: "button",
|
|
53
|
+
className: "rounded-md border px-2.5 py-1 text-sm",
|
|
54
|
+
disabled: a === 0,
|
|
55
|
+
onClick: () => o?.(a - 1),
|
|
56
|
+
children: "Back"
|
|
57
|
+
}),
|
|
58
|
+
a < i.length - 1 ? /* @__PURE__ */ n("button", {
|
|
59
|
+
type: "button",
|
|
60
|
+
className: "rounded-md bg-primary px-2.5 py-1 text-sm text-primary-foreground",
|
|
61
|
+
onClick: () => o?.(a + 1),
|
|
62
|
+
children: "Next"
|
|
63
|
+
}) : /* @__PURE__ */ n("button", {
|
|
64
|
+
type: "button",
|
|
65
|
+
className: "rounded-md bg-primary px-2.5 py-1 text-sm text-primary-foreground",
|
|
66
|
+
onClick: () => {
|
|
67
|
+
l?.(), s?.();
|
|
68
|
+
},
|
|
69
|
+
children: "Done"
|
|
70
|
+
})
|
|
71
|
+
]
|
|
50
72
|
})]
|
|
51
73
|
})
|
|
52
74
|
]
|
|
@@ -54,4 +76,4 @@ function r({ steps: r, index: i = 0, onIndexChange: a, onClose: o, className: s,
|
|
|
54
76
|
}) : null;
|
|
55
77
|
}
|
|
56
78
|
//#endregion
|
|
57
|
-
export {
|
|
79
|
+
export { i as Tour };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({open:e=!0,position:n=`bottom`,
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({open:e=!0,position:n=`bottom`,grouped:i=!1,label:a,children:o,className:s,...c}){return e?(0,r.jsxs)(`div`,{"data-slot":`command-bar`,className:t.cn(`fixed left-1/2 z-50 flex -translate-x-1/2 items-center gap-2 rounded-full border bg-background/95 px-4 py-2 shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/60`,n===`bottom`?`bottom-6`:`top-6`,i&&`gap-3 rounded-[28px] px-3 py-2.5`,s),...c,children:[a?(0,r.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground`,children:a}):null,o]}):null}exports.CommandBar=i;
|
|
@@ -3,6 +3,8 @@ export type CommandBarProps = React.ComponentProps<"div"> & {
|
|
|
3
3
|
open?: boolean;
|
|
4
4
|
onOpenChange?: (open: boolean) => void;
|
|
5
5
|
position?: "bottom" | "top";
|
|
6
|
+
grouped?: boolean;
|
|
7
|
+
label?: React.ReactNode;
|
|
6
8
|
};
|
|
7
|
-
declare function CommandBar({ open, position, children, className, ...props }: CommandBarProps): React.JSX.Element | null;
|
|
9
|
+
declare function CommandBar({ open, position, grouped, label, children, className, ...props }: CommandBarProps): React.JSX.Element | null;
|
|
8
10
|
export { CommandBar };
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { cn as e } from "../../lib/utils.js";
|
|
2
2
|
import "react";
|
|
3
|
-
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/navigation/command-bar.tsx
|
|
5
|
-
function
|
|
6
|
-
return
|
|
5
|
+
function r({ open: r = !0, position: i = "bottom", grouped: a = !1, label: o, children: s, className: c, ...l }) {
|
|
6
|
+
return r ? /* @__PURE__ */ n("div", {
|
|
7
7
|
"data-slot": "command-bar",
|
|
8
|
-
className: e("fixed left-1/2 z-50 flex -translate-x-1/2 items-center gap-2 rounded-full border bg-background/95 px-4 py-2 shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/60",
|
|
9
|
-
...
|
|
10
|
-
children:
|
|
8
|
+
className: e("fixed left-1/2 z-50 flex -translate-x-1/2 items-center gap-2 rounded-full border bg-background/95 px-4 py-2 shadow-lg backdrop-blur supports-[backdrop-filter]:bg-background/60", i === "bottom" ? "bottom-6" : "top-6", a && "gap-3 rounded-[28px] px-3 py-2.5", c),
|
|
9
|
+
...l,
|
|
10
|
+
children: [o ? /* @__PURE__ */ t("span", {
|
|
11
|
+
className: "text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground",
|
|
12
|
+
children: o
|
|
13
|
+
}) : null, s]
|
|
11
14
|
}) : null;
|
|
12
15
|
}
|
|
13
16
|
//#endregion
|
|
14
|
-
export {
|
|
17
|
+
export { r as CommandBar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../showcase/create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`pagination`,`Pagination`,`navigation`,`Controlled page navigation with edge buttons and active state.`),e.component(`nav-tabs`,`NavTabs`,`navigation`,`Navigation tabs for switching related document sections.`),e.component(`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../showcase/create-demo.cjs");var t=e.createShowcaseDemoRegistry([e.component(`pagination`,`Pagination`,`navigation`,`Controlled page navigation with edge buttons and active state.`),e.component(`nav-tabs`,`NavTabs`,`navigation`,`Navigation tabs for switching related document sections.`),e.component(`page-tabs`,`PageTabs`,`navigation`,`Top-level page tab strip for route-sized sections.`),e.component(`stepper-tabs`,`StepperTabs`,`navigation`,`Step-like tabs for setup and onboarding progress.`)]);exports.navigationShowcaseDemoRegistry=t;
|
|
@@ -3,7 +3,6 @@ import { component as e, createShowcaseDemoRegistry as t } from "../../showcase/
|
|
|
3
3
|
var n = t([
|
|
4
4
|
e("pagination", "Pagination", "navigation", "Controlled page navigation with edge buttons and active state."),
|
|
5
5
|
e("nav-tabs", "NavTabs", "navigation", "Navigation tabs for switching related document sections."),
|
|
6
|
-
e("anchor-nav", "AnchorNav", "navigation", "Section jump navigation for long detail pages."),
|
|
7
6
|
e("page-tabs", "PageTabs", "navigation", "Top-level page tab strip for route-sized sections."),
|
|
8
7
|
e("stepper-tabs", "StepperTabs", "navigation", "Step-like tabs for setup and onboarding progress.")
|
|
9
8
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/tabs/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a={sm:`h-8 px-3 text-xs`,default:`h-10 px-4 text-sm`,lg:`h-11 px-5 text-base`};function o({items:e,value:r,onValueChange:o,size:s=`default`,fullWidth:c=!1,className:l,...u}){return(0,i.jsx)(n.Tabs,{value:r,onValueChange:e=>o?.(String(e)),"data-slot":`nav-tabs`,className:t.cn(`min-w-0`,c&&`w-full`,l),...u,children:(0,i.jsx)(n.TabsList,{"data-slot":`nav-tabs-list`,variant:`pills`,overflow:`scroll`,className:t.cn(c&&`w-full`),children:e.map(e=>{let l=e.value===r,u=(0,i.jsxs)(i.Fragment,{children:[e.icon?(0,i.jsx)(`span`,{className:`[&_svg]:size-4`,children:e.icon}):null,(0,i.jsx)(`span`,{className:`truncate`,children:e.label})]}),d=t.cn(`min-w-0 disabled:pointer-events-none disabled:opacity-50`,a[s],c&&`flex-1`,l&&`bg-background text-foreground shadow-sm`);return e.href?(0,i.jsx)(n.TabsTrigger,{value:e.value,render:(0,i.jsx)(`a`,{href:e.href,"aria-current":l?`page`:void 0,className:d}),children:u},e.value):(0,i.jsx)(n.TabsTrigger,{value:e.value,disabled:e.disabled,className:d,onClick:()=>o?.(e.value),children:u},e.value)})})})}exports.NavTabs=o;
|
|
@@ -1,39 +1,51 @@
|
|
|
1
1
|
import { cn as e } from "../../lib/utils.js";
|
|
2
|
+
import { Tabs as t, TabsList as n, TabsTrigger as r } from "../ui/tabs/index.js";
|
|
2
3
|
import "react";
|
|
3
|
-
import { Fragment as
|
|
4
|
+
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
5
|
//#region src/components/navigation/nav-tabs.tsx
|
|
5
|
-
var
|
|
6
|
+
var s = {
|
|
6
7
|
sm: "h-8 px-3 text-xs",
|
|
7
8
|
default: "h-10 px-4 text-sm",
|
|
8
9
|
lg: "h-11 px-5 text-base"
|
|
9
10
|
};
|
|
10
|
-
function
|
|
11
|
-
return /* @__PURE__ */
|
|
11
|
+
function c({ items: c, value: l, onValueChange: u, size: d = "default", fullWidth: f = !1, className: p, ...m }) {
|
|
12
|
+
return /* @__PURE__ */ a(t, {
|
|
13
|
+
value: l,
|
|
14
|
+
onValueChange: (e) => u?.(String(e)),
|
|
12
15
|
"data-slot": "nav-tabs",
|
|
13
|
-
className: e("
|
|
14
|
-
...
|
|
15
|
-
children: a
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
children: a
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
16
|
+
className: e("min-w-0", f && "w-full", p),
|
|
17
|
+
...m,
|
|
18
|
+
children: /* @__PURE__ */ a(n, {
|
|
19
|
+
"data-slot": "nav-tabs-list",
|
|
20
|
+
variant: "pills",
|
|
21
|
+
overflow: "scroll",
|
|
22
|
+
className: e(f && "w-full"),
|
|
23
|
+
children: c.map((t) => {
|
|
24
|
+
let n = t.value === l, c = /* @__PURE__ */ o(i, { children: [t.icon ? /* @__PURE__ */ a("span", {
|
|
25
|
+
className: "[&_svg]:size-4",
|
|
26
|
+
children: t.icon
|
|
27
|
+
}) : null, /* @__PURE__ */ a("span", {
|
|
28
|
+
className: "truncate",
|
|
29
|
+
children: t.label
|
|
30
|
+
})] }), p = e("min-w-0 disabled:pointer-events-none disabled:opacity-50", s[d], f && "flex-1", n && "bg-background text-foreground shadow-sm");
|
|
31
|
+
return t.href ? /* @__PURE__ */ a(r, {
|
|
32
|
+
value: t.value,
|
|
33
|
+
render: /* @__PURE__ */ a("a", {
|
|
34
|
+
href: t.href,
|
|
35
|
+
"aria-current": n ? "page" : void 0,
|
|
36
|
+
className: p
|
|
37
|
+
}),
|
|
38
|
+
children: c
|
|
39
|
+
}, t.value) : /* @__PURE__ */ a(r, {
|
|
40
|
+
value: t.value,
|
|
41
|
+
disabled: t.disabled,
|
|
42
|
+
className: p,
|
|
43
|
+
onClick: () => u?.(t.value),
|
|
44
|
+
children: c
|
|
45
|
+
}, t.value);
|
|
46
|
+
})
|
|
35
47
|
})
|
|
36
48
|
});
|
|
37
49
|
}
|
|
38
50
|
//#endregion
|
|
39
|
-
export {
|
|
51
|
+
export { c as NavTabs };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/badge/index.cjs");let
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/badge/index.cjs"),r=require("../ui/tabs/index.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("react/jsx-runtime");function o({value:e,items:i,onValueChange:o,variant:s=`underline`,size:c=`default`,className:l,...u}){let d=i.filter(e=>!e.hidden);return(0,a.jsx)(r.Tabs,{value:e,onValueChange:e=>{let t=d.find(t=>t.value===e);t&&o?.(t.value,t)},"data-slot":`page-tabs`,"data-variant":s,className:t.cn(`min-w-0`,l),...u,children:(0,a.jsx)(r.TabsList,{"data-slot":`page-tabs-list`,variant:s===`underline`?`underline`:`pills`,overflow:`scroll`,className:t.cn(`w-full`,s===`cards`&&`gap-2 border-0 bg-transparent p-0 shadow-none`),children:d.map(i=>{let o=i.value===e;return(0,a.jsxs)(r.TabsTrigger,{disabled:i.disabled,value:i.value,"data-slot":`page-tab`,"data-active":o||void 0,className:t.cn(`min-w-0 px-3 disabled:pointer-events-none disabled:opacity-50`,c===`sm`?`h-8`:`h-10`,s===`underline`&&`px-1`,s===`cards`&&`rounded-[var(--radius-2xl)] border border-border/75 bg-card/96 text-muted-foreground shadow-sm ring-1 ring-foreground/4 hover:border-primary/28 hover:text-foreground`,s===`cards`&&o&&`border-primary/50 bg-primary/7 text-foreground`),children:[i.icon,(0,a.jsx)(`span`,{className:`truncate`,children:i.label}),i.badge!==void 0&&(0,a.jsx)(n.Badge,{variant:o&&s===`pills`?`secondary`:`outline`,className:`rounded-full`,children:i.badge})]},i.value)})})})}exports.PageTabs=o;
|