@demokit-ui/demokit 0.1.0 → 0.1.2
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/README.md +3 -0
- package/dist/app/demo1-shell.js +195 -188
- package/dist/app/tweak-panel.d.ts +1 -2
- package/dist/app/tweak-panel.js +20 -4
- package/dist/index.js +811 -479
- package/dist/kit/components/chart/chart/chart.examples.d.ts +24 -0
- package/dist/kit/components/chart/chart/chart.examples.js +422 -0
- package/dist/kit/components/composite/action-bar/action-bar.examples.d.ts +2 -0
- package/dist/kit/components/composite/action-bar/action-bar.examples.js +35 -0
- package/dist/kit/components/composite/action-card/action-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/action-card/action-card.examples.js +34 -0
- package/dist/kit/components/composite/activity-feed/activity-feed.examples.d.ts +2 -0
- package/dist/kit/components/composite/activity-feed/activity-feed.examples.js +44 -0
- package/dist/kit/components/composite/alert-card/alert-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/alert-card/alert-card.examples.js +18 -0
- package/dist/kit/components/composite/approval-flow/approval-flow.examples.d.ts +2 -0
- package/dist/kit/components/composite/approval-flow/approval-flow.examples.js +70 -0
- package/dist/kit/components/composite/auth-shell/auth-shell.examples.d.ts +2 -0
- package/dist/kit/components/composite/auth-shell/auth-shell.examples.js +23 -0
- package/dist/kit/components/composite/board-toolbar/board-toolbar.examples.d.ts +2 -0
- package/dist/kit/components/composite/board-toolbar/board-toolbar.examples.js +32 -0
- package/dist/kit/components/composite/chart-card/chart-card.examples.d.ts +3 -0
- package/dist/kit/components/composite/chart-card/chart-card.examples.js +58 -0
- package/dist/kit/components/composite/chart-toolbar/chart-toolbar.examples.d.ts +2 -0
- package/dist/kit/components/composite/chart-toolbar/chart-toolbar.examples.js +39 -0
- package/dist/kit/components/composite/data-section/data-section.examples.d.ts +3 -0
- package/dist/kit/components/composite/data-section/data-section.examples.js +48 -0
- package/dist/kit/components/composite/description-grid/description-grid.examples.d.ts +2 -0
- package/dist/kit/components/composite/description-grid/description-grid.examples.js +30 -0
- package/dist/kit/components/composite/detail-header/detail-header.examples.d.ts +2 -0
- package/dist/kit/components/composite/detail-header/detail-header.examples.js +37 -0
- package/dist/kit/components/composite/filter-panel/filter-panel.examples.d.ts +2 -0
- package/dist/kit/components/composite/filter-panel/filter-panel.examples.js +63 -0
- package/dist/kit/components/composite/filter-toolbar/filter-toolbar.examples.d.ts +2 -0
- package/dist/kit/components/composite/filter-toolbar/filter-toolbar.examples.js +39 -0
- package/dist/kit/components/composite/forgot-password-form/forgot-password-form.examples.d.ts +2 -0
- package/dist/kit/components/composite/forgot-password-form/forgot-password-form.examples.js +19 -0
- package/dist/kit/components/composite/form-section/form-section.examples.d.ts +2 -0
- package/dist/kit/components/composite/form-section/form-section.examples.js +40 -0
- package/dist/kit/components/composite/kanban-board/kanban-board.examples.d.ts +2 -0
- package/dist/kit/components/composite/kanban-board/kanban-board.examples.js +72 -0
- package/dist/kit/components/composite/login-card/login-card.examples.d.ts +3 -0
- package/dist/kit/components/composite/login-card/login-card.examples.js +30 -0
- package/dist/kit/components/composite/message-list-card/message-list-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/message-list-card/message-list-card.examples.js +56 -0
- package/dist/kit/components/composite/metric-card/metric-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/metric-card/metric-card.examples.js +50 -0
- package/dist/kit/components/composite/milestone-card/milestone-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/milestone-card/milestone-card.examples.js +54 -0
- package/dist/kit/components/composite/oauth-login-buttons/oauth-login-buttons.examples.d.ts +2 -0
- package/dist/kit/components/composite/oauth-login-buttons/oauth-login-buttons.examples.js +24 -0
- package/dist/kit/components/composite/page-header/page-header.examples.d.ts +3 -0
- package/dist/kit/components/composite/page-header/page-header.examples.js +56 -0
- package/dist/kit/components/composite/profile-card/profile-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/profile-card/profile-card.examples.js +45 -0
- package/dist/kit/components/composite/progress-card/progress-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/progress-card/progress-card.examples.js +42 -0
- package/dist/kit/components/composite/project-card/project-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/project-card/project-card.examples.js +48 -0
- package/dist/kit/components/composite/shortcut-card/shortcut-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/shortcut-card/shortcut-card.examples.js +18 -0
- package/dist/kit/components/composite/sprint-summary/sprint-summary.examples.d.ts +2 -0
- package/dist/kit/components/composite/sprint-summary/sprint-summary.examples.js +27 -0
- package/dist/kit/components/composite/state-panel/state-panel.examples.d.ts +2 -0
- package/dist/kit/components/composite/state-panel/state-panel.examples.js +48 -0
- package/dist/kit/components/composite/summary-card/summary-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/summary-card/summary-card.examples.js +32 -0
- package/dist/kit/components/composite/task-card/task-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/task-card/task-card.examples.js +39 -0
- package/dist/kit/components/composite/timeline/timeline.examples.d.ts +2 -0
- package/dist/kit/components/composite/timeline/timeline.examples.js +75 -0
- package/dist/kit/components/composite/todo-card/todo-card.examples.d.ts +2 -0
- package/dist/kit/components/composite/todo-card/todo-card.examples.js +42 -0
- package/dist/kit/components/data-display/avatar/avatar.examples.d.ts +7 -0
- package/dist/kit/components/data-display/avatar/avatar.examples.js +48 -0
- package/dist/kit/components/data-display/avatar-group/avatar-group.examples.d.ts +3 -0
- package/dist/kit/components/data-display/avatar-group/avatar-group.examples.js +35 -0
- package/dist/kit/components/data-display/badge/badge.examples.d.ts +9 -0
- package/dist/kit/components/data-display/badge/badge.examples.js +57 -0
- package/dist/kit/components/data-display/card/card.examples.d.ts +16 -0
- package/dist/kit/components/data-display/card/card.examples.js +72 -0
- package/dist/kit/components/data-display/data-grid/data-grid.examples.d.ts +2 -0
- package/dist/kit/components/data-display/data-grid/data-grid.examples.js +92 -0
- package/dist/kit/components/data-display/kbd/kbd.examples.d.ts +3 -0
- package/dist/kit/components/data-display/kbd/kbd.examples.js +43 -0
- package/dist/kit/components/data-display/money-amount/money-amount.examples.d.ts +1 -0
- package/dist/kit/components/data-display/money-amount/money-amount.examples.js +26 -0
- package/dist/kit/components/data-display/progress/progress.examples.d.ts +3 -0
- package/dist/kit/components/data-display/progress/progress.examples.js +45 -0
- package/dist/kit/components/data-display/skeleton/skeleton.examples.d.ts +3 -0
- package/dist/kit/components/data-display/skeleton/skeleton.examples.js +37 -0
- package/dist/kit/components/data-display/sliding-number/sliding-number.examples.d.ts +3 -0
- package/dist/kit/components/data-display/sliding-number/sliding-number.examples.js +42 -0
- package/dist/kit/components/data-display/stepper/stepper.examples.d.ts +2 -0
- package/dist/kit/components/data-display/stepper/stepper.examples.js +28 -0
- package/dist/kit/components/data-display/table/table.examples.d.ts +4 -0
- package/dist/kit/components/data-display/table/table.examples.js +78 -0
- package/dist/kit/components/decorative/aurora-background/aurora-background.examples.d.ts +2 -0
- package/dist/kit/components/decorative/aurora-background/aurora-background.examples.js +22 -0
- package/dist/kit/components/decorative/grid-background/grid-background.examples.d.ts +4 -0
- package/dist/kit/components/decorative/grid-background/grid-background.examples.js +42 -0
- package/dist/kit/components/decorative/shimmering-text/shimmering-text.examples.d.ts +4 -0
- package/dist/kit/components/decorative/shimmering-text/shimmering-text.examples.js +54 -0
- package/dist/kit/components/decorative/text-reveal/text-reveal.examples.d.ts +2 -0
- package/dist/kit/components/decorative/text-reveal/text-reveal.examples.js +46 -0
- package/dist/kit/components/feedback/alert/alert.examples.d.ts +2 -0
- package/dist/kit/components/feedback/alert/alert.examples.js +37 -0
- package/dist/kit/components/feedback/alert-dialog/alert-dialog.examples.d.ts +2 -0
- package/dist/kit/components/feedback/alert-dialog/alert-dialog.examples.js +28 -0
- package/dist/kit/components/feedback/context-menu/context-menu.examples.d.ts +2 -0
- package/dist/kit/components/feedback/context-menu/context-menu.examples.js +33 -0
- package/dist/kit/components/feedback/dialog/dialog.examples.d.ts +2 -0
- package/dist/kit/components/feedback/dialog/dialog.examples.js +51 -0
- package/dist/kit/components/feedback/drawer/drawer.examples.d.ts +2 -0
- package/dist/kit/components/feedback/drawer/drawer.examples.js +29 -0
- package/dist/kit/components/feedback/dropdown-menu/dropdown-menu.examples.d.ts +3 -0
- package/dist/kit/components/feedback/dropdown-menu/dropdown-menu.examples.js +54 -0
- package/dist/kit/components/feedback/hover-card/hover-card.examples.d.ts +2 -0
- package/dist/kit/components/feedback/hover-card/hover-card.examples.js +27 -0
- package/dist/kit/components/feedback/popover/popover.examples.d.ts +2 -0
- package/dist/kit/components/feedback/popover/popover.examples.js +42 -0
- package/dist/kit/components/feedback/sheet/sheet.examples.d.ts +2 -0
- package/dist/kit/components/feedback/sheet/sheet.examples.js +39 -0
- package/dist/kit/components/feedback/sonner/sonner.examples.d.ts +3 -0
- package/dist/kit/components/feedback/sonner/sonner.examples.js +49 -0
- package/dist/kit/components/feedback/title-help/title-help.examples.d.ts +1 -0
- package/dist/kit/components/feedback/title-help/title-help.examples.js +25 -0
- package/dist/kit/components/feedback/tooltip/tooltip.examples.d.ts +3 -0
- package/dist/kit/components/feedback/tooltip/tooltip.examples.js +44 -0
- package/dist/kit/components/form/button/button.examples.d.ts +13 -0
- package/dist/kit/components/form/button/button.examples.js +84 -0
- package/dist/kit/components/form/calendar/calendar.examples.d.ts +2 -0
- package/dist/kit/components/form/calendar/calendar.examples.js +23 -0
- package/dist/kit/components/form/checkbox/checkbox.examples.d.ts +4 -0
- package/dist/kit/components/form/checkbox/checkbox.examples.js +72 -0
- package/dist/kit/components/form/command/command.examples.d.ts +3 -0
- package/dist/kit/components/form/command/command.examples.js +52 -0
- package/dist/kit/components/form/datefield/datefield.examples.d.ts +2 -0
- package/dist/kit/components/form/datefield/datefield.examples.js +19 -0
- package/dist/kit/components/form/file-upload/file-upload.examples.d.ts +1 -0
- package/dist/kit/components/form/file-upload/file-upload.examples.js +18 -0
- package/dist/kit/components/form/form/form.examples.d.ts +2 -0
- package/dist/kit/components/form/form/form.examples.js +77 -0
- package/dist/kit/components/form/input/input.examples.d.ts +5 -0
- package/dist/kit/components/form/input/input.examples.js +64 -0
- package/dist/kit/components/form/label/label.examples.d.ts +4 -0
- package/dist/kit/components/form/label/label.examples.js +49 -0
- package/dist/kit/components/form/radio-group/radio-group.examples.d.ts +3 -0
- package/dist/kit/components/form/radio-group/radio-group.examples.js +40 -0
- package/dist/kit/components/form/select/select.examples.d.ts +3 -0
- package/dist/kit/components/form/select/select.examples.js +58 -0
- package/dist/kit/components/form/slider/slider.examples.d.ts +3 -0
- package/dist/kit/components/form/slider/slider.examples.js +46 -0
- package/dist/kit/components/form/switch/switch.examples.d.ts +3 -0
- package/dist/kit/components/form/switch/switch.examples.js +37 -0
- package/dist/kit/components/form/textarea/textarea.examples.d.ts +3 -0
- package/dist/kit/components/form/textarea/textarea.examples.js +49 -0
- package/dist/kit/components/form/toggle/toggle.examples.d.ts +3 -0
- package/dist/kit/components/form/toggle/toggle.examples.js +33 -0
- package/dist/kit/components/form/toggle-group/toggle-group.examples.d.ts +4 -0
- package/dist/kit/components/form/toggle-group/toggle-group.examples.js +46 -0
- package/dist/kit/components/index.d.ts +91 -0
- package/dist/kit/components/layout/accordion/accordion.examples.d.ts +2 -0
- package/dist/kit/components/layout/accordion/accordion.examples.js +34 -0
- package/dist/kit/components/layout/aspect-ratio/aspect-ratio.examples.d.ts +3 -0
- package/dist/kit/components/layout/aspect-ratio/aspect-ratio.examples.js +29 -0
- package/dist/kit/components/layout/collapsible/collapsible.examples.d.ts +2 -0
- package/dist/kit/components/layout/collapsible/collapsible.examples.js +28 -0
- package/dist/kit/components/layout/resizable/resizable.examples.d.ts +2 -0
- package/dist/kit/components/layout/resizable/resizable.examples.js +26 -0
- package/dist/kit/components/layout/scroll-area/scroll-area.examples.d.ts +2 -0
- package/dist/kit/components/layout/scroll-area/scroll-area.examples.js +16 -0
- package/dist/kit/components/layout/separator/separator.examples.d.ts +3 -0
- package/dist/kit/components/layout/separator/separator.examples.js +35 -0
- package/dist/kit/components/navigation/accordion-menu/accordion-menu.examples.d.ts +2 -0
- package/dist/kit/components/navigation/accordion-menu/accordion-menu.examples.js +36 -0
- package/dist/kit/components/navigation/breadcrumb/breadcrumb.examples.d.ts +3 -0
- package/dist/kit/components/navigation/breadcrumb/breadcrumb.examples.js +39 -0
- package/dist/kit/components/navigation/menubar/menubar.examples.d.ts +2 -0
- package/dist/kit/components/navigation/menubar/menubar.examples.js +54 -0
- package/dist/kit/components/navigation/navigation-menu/navigation-menu.examples.d.ts +2 -0
- package/dist/kit/components/navigation/navigation-menu/navigation-menu.examples.js +31 -0
- package/dist/kit/components/navigation/pagination/pagination.examples.d.ts +2 -0
- package/dist/kit/components/navigation/pagination/pagination.examples.js +42 -0
- package/dist/kit/components/navigation/scrollspy/scrollspy.examples.d.ts +2 -0
- package/dist/kit/components/navigation/scrollspy/scrollspy.examples.js +68 -0
- package/dist/kit/components/navigation/tabs/tabs.examples.d.ts +5 -0
- package/dist/kit/components/navigation/tabs/tabs.examples.js +43 -0
- package/dist/styles.css +29 -12
- package/package.json +7 -2
|
@@ -106,3 +106,94 @@ export * from './composite/sprint-summary/sprint-summary';
|
|
|
106
106
|
export * from './composite/board-toolbar/board-toolbar';
|
|
107
107
|
export * from './composite/oauth-login-buttons/oauth-login-buttons';
|
|
108
108
|
export * from './composite/forgot-password-form/forgot-password-form';
|
|
109
|
+
export * from './chart/chart/chart.examples';
|
|
110
|
+
export * from './composite/action-bar/action-bar.examples';
|
|
111
|
+
export * from './composite/action-card/action-card.examples';
|
|
112
|
+
export * from './composite/activity-feed/activity-feed.examples';
|
|
113
|
+
export * from './composite/alert-card/alert-card.examples';
|
|
114
|
+
export * from './composite/approval-flow/approval-flow.examples';
|
|
115
|
+
export * from './composite/auth-shell/auth-shell.examples';
|
|
116
|
+
export * from './composite/board-toolbar/board-toolbar.examples';
|
|
117
|
+
export * from './composite/chart-card/chart-card.examples';
|
|
118
|
+
export * from './composite/chart-toolbar/chart-toolbar.examples';
|
|
119
|
+
export * from './composite/data-section/data-section.examples';
|
|
120
|
+
export * from './composite/description-grid/description-grid.examples';
|
|
121
|
+
export * from './composite/detail-header/detail-header.examples';
|
|
122
|
+
export * from './composite/filter-panel/filter-panel.examples';
|
|
123
|
+
export * from './composite/filter-toolbar/filter-toolbar.examples';
|
|
124
|
+
export * from './composite/forgot-password-form/forgot-password-form.examples';
|
|
125
|
+
export * from './composite/form-section/form-section.examples';
|
|
126
|
+
export * from './composite/kanban-board/kanban-board.examples';
|
|
127
|
+
export * from './composite/login-card/login-card.examples';
|
|
128
|
+
export * from './composite/message-list-card/message-list-card.examples';
|
|
129
|
+
export * from './composite/metric-card/metric-card.examples';
|
|
130
|
+
export * from './composite/milestone-card/milestone-card.examples';
|
|
131
|
+
export * from './composite/oauth-login-buttons/oauth-login-buttons.examples';
|
|
132
|
+
export * from './composite/page-header/page-header.examples';
|
|
133
|
+
export * from './composite/profile-card/profile-card.examples';
|
|
134
|
+
export * from './composite/progress-card/progress-card.examples';
|
|
135
|
+
export * from './composite/project-card/project-card.examples';
|
|
136
|
+
export * from './composite/shortcut-card/shortcut-card.examples';
|
|
137
|
+
export * from './composite/sprint-summary/sprint-summary.examples';
|
|
138
|
+
export * from './composite/state-panel/state-panel.examples';
|
|
139
|
+
export * from './composite/summary-card/summary-card.examples';
|
|
140
|
+
export * from './composite/task-card/task-card.examples';
|
|
141
|
+
export * from './composite/timeline/timeline.examples';
|
|
142
|
+
export * from './composite/todo-card/todo-card.examples';
|
|
143
|
+
export * from './data-display/avatar-group/avatar-group.examples';
|
|
144
|
+
export * from './data-display/avatar/avatar.examples';
|
|
145
|
+
export * from './data-display/badge/badge.examples';
|
|
146
|
+
export * from './data-display/card/card.examples';
|
|
147
|
+
export * from './data-display/data-grid/data-grid.examples';
|
|
148
|
+
export * from './data-display/kbd/kbd.examples';
|
|
149
|
+
export * from './data-display/money-amount/money-amount.examples';
|
|
150
|
+
export * from './data-display/progress/progress.examples';
|
|
151
|
+
export * from './data-display/skeleton/skeleton.examples';
|
|
152
|
+
export * from './data-display/sliding-number/sliding-number.examples';
|
|
153
|
+
export * from './data-display/stepper/stepper.examples';
|
|
154
|
+
export * from './data-display/table/table.examples';
|
|
155
|
+
export * from './decorative/aurora-background/aurora-background.examples';
|
|
156
|
+
export * from './decorative/grid-background/grid-background.examples';
|
|
157
|
+
export * from './decorative/shimmering-text/shimmering-text.examples';
|
|
158
|
+
export * from './decorative/text-reveal/text-reveal.examples';
|
|
159
|
+
export * from './feedback/alert-dialog/alert-dialog.examples';
|
|
160
|
+
export * from './feedback/alert/alert.examples';
|
|
161
|
+
export * from './feedback/context-menu/context-menu.examples';
|
|
162
|
+
export * from './feedback/dialog/dialog.examples';
|
|
163
|
+
export * from './feedback/drawer/drawer.examples';
|
|
164
|
+
export * from './feedback/dropdown-menu/dropdown-menu.examples';
|
|
165
|
+
export * from './feedback/hover-card/hover-card.examples';
|
|
166
|
+
export * from './feedback/popover/popover.examples';
|
|
167
|
+
export * from './feedback/sheet/sheet.examples';
|
|
168
|
+
export * from './feedback/sonner/sonner.examples';
|
|
169
|
+
export * from './feedback/title-help/title-help.examples';
|
|
170
|
+
export * from './feedback/tooltip/tooltip.examples';
|
|
171
|
+
export * from './form/button/button.examples';
|
|
172
|
+
export * from './form/calendar/calendar.examples';
|
|
173
|
+
export * from './form/checkbox/checkbox.examples';
|
|
174
|
+
export * from './form/command/command.examples';
|
|
175
|
+
export * from './form/datefield/datefield.examples';
|
|
176
|
+
export * from './form/file-upload/file-upload.examples';
|
|
177
|
+
export * from './form/form/form.examples';
|
|
178
|
+
export * from './form/input/input.examples';
|
|
179
|
+
export * from './form/label/label.examples';
|
|
180
|
+
export * from './form/radio-group/radio-group.examples';
|
|
181
|
+
export * from './form/select/select.examples';
|
|
182
|
+
export * from './form/slider/slider.examples';
|
|
183
|
+
export * from './form/switch/switch.examples';
|
|
184
|
+
export * from './form/textarea/textarea.examples';
|
|
185
|
+
export * from './form/toggle-group/toggle-group.examples';
|
|
186
|
+
export * from './form/toggle/toggle.examples';
|
|
187
|
+
export * from './layout/accordion/accordion.examples';
|
|
188
|
+
export * from './layout/aspect-ratio/aspect-ratio.examples';
|
|
189
|
+
export * from './layout/collapsible/collapsible.examples';
|
|
190
|
+
export * from './layout/resizable/resizable.examples';
|
|
191
|
+
export * from './layout/scroll-area/scroll-area.examples';
|
|
192
|
+
export * from './layout/separator/separator.examples';
|
|
193
|
+
export * from './navigation/accordion-menu/accordion-menu.examples';
|
|
194
|
+
export * from './navigation/breadcrumb/breadcrumb.examples';
|
|
195
|
+
export * from './navigation/menubar/menubar.examples';
|
|
196
|
+
export * from './navigation/navigation-menu/navigation-menu.examples';
|
|
197
|
+
export * from './navigation/pagination/pagination.examples';
|
|
198
|
+
export * from './navigation/scrollspy/scrollspy.examples';
|
|
199
|
+
export * from './navigation/tabs/tabs.examples';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Accordion as n, AccordionItem as c, AccordionTrigger as i, AccordionContent as o } from "./accordion.js";
|
|
3
|
+
function l() {
|
|
4
|
+
return /* @__PURE__ */ r(n, { type: "single", collapsible: !0, className: "w-full max-w-xl", children: [
|
|
5
|
+
/* @__PURE__ */ r(c, { value: "item-1", children: [
|
|
6
|
+
/* @__PURE__ */ e(i, { children: "什么是 DemoKit?" }),
|
|
7
|
+
/* @__PURE__ */ e(o, { children: "一套用于快速产出 Demo 的 React 设计系统:一个 barrel 导入、严格 token 约束、组件选型决策文档齐全。" })
|
|
8
|
+
] }),
|
|
9
|
+
/* @__PURE__ */ r(c, { value: "item-2", children: [
|
|
10
|
+
/* @__PURE__ */ e(i, { children: "如何切换主题?" }),
|
|
11
|
+
/* @__PURE__ */ e(o, { children: "通过 useSettings().storeOption('theme', 'glass' | 'navy') 切换,自动持久化到 localStorage。" })
|
|
12
|
+
] }),
|
|
13
|
+
/* @__PURE__ */ r(c, { value: "item-3", children: [
|
|
14
|
+
/* @__PURE__ */ e(i, { children: "如何引入组件?" }),
|
|
15
|
+
/* @__PURE__ */ r(o, { children: [
|
|
16
|
+
"从 barrel 导入:import ",
|
|
17
|
+
"{",
|
|
18
|
+
" Card, Button ",
|
|
19
|
+
"}",
|
|
20
|
+
" from '@/kit/components'。不要走子路径,分类可能调整。"
|
|
21
|
+
] })
|
|
22
|
+
] })
|
|
23
|
+
] });
|
|
24
|
+
}
|
|
25
|
+
function d() {
|
|
26
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ r("section", { children: [
|
|
27
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "FAQ 折叠" }),
|
|
28
|
+
/* @__PURE__ */ e(l, {})
|
|
29
|
+
] }) });
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
l as AccordionBasic,
|
|
33
|
+
d as AccordionShowcase
|
|
34
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as e, jsxs as t } from "react/jsx-runtime";
|
|
2
|
+
import { AspectRatio as r } from "./aspect-ratio.js";
|
|
3
|
+
function i() {
|
|
4
|
+
return /* @__PURE__ */ e("div", { className: "w-64", children: /* @__PURE__ */ e(r, { ratio: 16 / 9, className: "bg-muted rounded-md overflow-hidden", children: /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center text-sm text-muted-foreground", children: "16:9 占位" }) }) });
|
|
5
|
+
}
|
|
6
|
+
function s() {
|
|
7
|
+
return /* @__PURE__ */ t("div", { className: "flex gap-4", children: [
|
|
8
|
+
/* @__PURE__ */ e("div", { className: "w-32", children: /* @__PURE__ */ e(r, { ratio: 1, className: "bg-primary/10 rounded-md", children: /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center text-xs text-primary", children: "1:1" }) }) }),
|
|
9
|
+
/* @__PURE__ */ e("div", { className: "w-32", children: /* @__PURE__ */ e(r, { ratio: 4 / 3, className: "bg-primary/10 rounded-md", children: /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center text-xs text-primary", children: "4:3" }) }) }),
|
|
10
|
+
/* @__PURE__ */ e("div", { className: "w-32", children: /* @__PURE__ */ e(r, { ratio: 16 / 9, className: "bg-primary/10 rounded-md", children: /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center text-xs text-primary", children: "16:9" }) }) })
|
|
11
|
+
] });
|
|
12
|
+
}
|
|
13
|
+
function a() {
|
|
14
|
+
return /* @__PURE__ */ t("div", { className: "flex flex-col gap-6", children: [
|
|
15
|
+
/* @__PURE__ */ t("section", { children: [
|
|
16
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "16:9 图片占位" }),
|
|
17
|
+
/* @__PURE__ */ e(i, {})
|
|
18
|
+
] }),
|
|
19
|
+
/* @__PURE__ */ t("section", { children: [
|
|
20
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "不同比例对比" }),
|
|
21
|
+
/* @__PURE__ */ e(s, {})
|
|
22
|
+
] })
|
|
23
|
+
] });
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
i as AspectRatioImage,
|
|
27
|
+
a as AspectRatioShowcase,
|
|
28
|
+
s as AspectRatioSquare
|
|
29
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsxs as i, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { RiArrowDownSLine as r } from "@remixicon/react";
|
|
3
|
+
import { Collapsible as l, CollapsibleTrigger as t, CollapsibleContent as o } from "./collapsible.js";
|
|
4
|
+
import { Button as s } from "../../form/button/button.js";
|
|
5
|
+
function n() {
|
|
6
|
+
return /* @__PURE__ */ i(l, { className: "max-w-md border border-border rounded-md", children: [
|
|
7
|
+
/* @__PURE__ */ i("div", { className: "flex items-center justify-between p-3", children: [
|
|
8
|
+
/* @__PURE__ */ e("div", { className: "text-sm font-medium", children: "高级设置" }),
|
|
9
|
+
/* @__PURE__ */ e(t, { asChild: !0, children: /* @__PURE__ */ e(s, { mode: "icon", variant: "ghost", size: "sm", children: /* @__PURE__ */ e(r, { className: "transition-transform [[data-state=open]>&]:rotate-180" }) }) })
|
|
10
|
+
] }),
|
|
11
|
+
/* @__PURE__ */ i(o, { className: "px-3 pb-3 text-sm text-muted-foreground space-y-2", children: [
|
|
12
|
+
/* @__PURE__ */ e("div", { children: "• 缓存过期时间" }),
|
|
13
|
+
/* @__PURE__ */ e("div", { children: "• 并发请求数" }),
|
|
14
|
+
/* @__PURE__ */ e("div", { children: "• 重试策略" }),
|
|
15
|
+
/* @__PURE__ */ e("div", { children: "• 超时阈值" })
|
|
16
|
+
] })
|
|
17
|
+
] });
|
|
18
|
+
}
|
|
19
|
+
function h() {
|
|
20
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ i("section", { children: [
|
|
21
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "展开 / 收起区域" }),
|
|
22
|
+
/* @__PURE__ */ e(n, {})
|
|
23
|
+
] }) });
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
n as CollapsibleBasic,
|
|
27
|
+
h as CollapsibleShowcase
|
|
28
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { ResizablePanelGroup as t, ResizablePanel as l, ResizableHandle as i } from "./resizable.js";
|
|
3
|
+
function n() {
|
|
4
|
+
return /* @__PURE__ */ r(
|
|
5
|
+
t,
|
|
6
|
+
{
|
|
7
|
+
direction: "horizontal",
|
|
8
|
+
className: "min-h-48 max-w-xl rounded-md border border-border",
|
|
9
|
+
children: [
|
|
10
|
+
/* @__PURE__ */ e(l, { defaultSize: 30, children: /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center p-3 text-sm text-muted-foreground", children: "侧栏 (30%)" }) }),
|
|
11
|
+
/* @__PURE__ */ e(i, { withHandle: !0 }),
|
|
12
|
+
/* @__PURE__ */ e(l, { defaultSize: 70, children: /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center p-3 text-sm text-muted-foreground", children: "主内容 (70%) · 拖拽中间分割条试试" }) })
|
|
13
|
+
]
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
function a() {
|
|
18
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ r("section", { children: [
|
|
19
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "横向双栏" }),
|
|
20
|
+
/* @__PURE__ */ e(n, {})
|
|
21
|
+
] }) });
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
n as ResizableHorizontal,
|
|
25
|
+
a as ResizableShowcase
|
|
26
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as e, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { ScrollArea as l } from "./scroll-area.js";
|
|
3
|
+
const s = Array.from({ length: 40 }, (r, o) => `项目 #${o + 1}`);
|
|
4
|
+
function a() {
|
|
5
|
+
return /* @__PURE__ */ e(l, { className: "h-64 w-56 rounded-md border border-border", children: /* @__PURE__ */ e("div", { className: "p-3 space-y-2", children: s.map((r) => /* @__PURE__ */ e("div", { className: "text-sm py-1 px-2 rounded hover:bg-muted", children: r }, r)) }) });
|
|
6
|
+
}
|
|
7
|
+
function m() {
|
|
8
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ c("section", { children: [
|
|
9
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "纵向滚动列表" }),
|
|
10
|
+
/* @__PURE__ */ e(a, {})
|
|
11
|
+
] }) });
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
a as ScrollAreaBasic,
|
|
15
|
+
m as ScrollAreaShowcase
|
|
16
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Separator as t } from "./separator.js";
|
|
3
|
+
function a() {
|
|
4
|
+
return /* @__PURE__ */ r("div", { className: "space-y-3 max-w-md", children: [
|
|
5
|
+
/* @__PURE__ */ e("div", { className: "text-sm", children: "上方区域内容" }),
|
|
6
|
+
/* @__PURE__ */ e(t, {}),
|
|
7
|
+
/* @__PURE__ */ e("div", { className: "text-sm text-muted-foreground", children: "下方区域内容" })
|
|
8
|
+
] });
|
|
9
|
+
}
|
|
10
|
+
function i() {
|
|
11
|
+
return /* @__PURE__ */ r("div", { className: "flex h-6 items-center gap-4 text-sm", children: [
|
|
12
|
+
/* @__PURE__ */ e("span", { children: "全部" }),
|
|
13
|
+
/* @__PURE__ */ e(t, { orientation: "vertical" }),
|
|
14
|
+
/* @__PURE__ */ e("span", { children: "未读" }),
|
|
15
|
+
/* @__PURE__ */ e(t, { orientation: "vertical" }),
|
|
16
|
+
/* @__PURE__ */ e("span", { children: "已收藏" })
|
|
17
|
+
] });
|
|
18
|
+
}
|
|
19
|
+
function c() {
|
|
20
|
+
return /* @__PURE__ */ r("div", { className: "flex flex-col gap-6", children: [
|
|
21
|
+
/* @__PURE__ */ r("section", { children: [
|
|
22
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "水平" }),
|
|
23
|
+
/* @__PURE__ */ e(a, {})
|
|
24
|
+
] }),
|
|
25
|
+
/* @__PURE__ */ r("section", { children: [
|
|
26
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "垂直" }),
|
|
27
|
+
/* @__PURE__ */ e(i, {})
|
|
28
|
+
] })
|
|
29
|
+
] });
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
a as SeparatorHorizontal,
|
|
33
|
+
c as SeparatorShowcase,
|
|
34
|
+
i as SeparatorVertical
|
|
35
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as e, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { RiHome2Line as i, RiFolder2Line as l, RiSettings2Line as s } from "@remixicon/react";
|
|
3
|
+
import { AccordionMenu as o, AccordionMenuGroup as n, AccordionMenuLabel as a, AccordionMenuItem as r, AccordionMenuSub as d, AccordionMenuSubTrigger as t, AccordionMenuSubContent as u } from "./accordion-menu.js";
|
|
4
|
+
function m() {
|
|
5
|
+
return /* @__PURE__ */ e("div", { className: "w-64 border border-border rounded-md p-2 bg-card", children: /* @__PURE__ */ e(o, { selectedValue: "/projects", type: "single", collapsible: !0, children: /* @__PURE__ */ c(n, { children: [
|
|
6
|
+
/* @__PURE__ */ e(a, { children: "主菜单" }),
|
|
7
|
+
/* @__PURE__ */ c(r, { value: "/", className: "h-8", children: [
|
|
8
|
+
/* @__PURE__ */ e(i, { className: "size-4" }),
|
|
9
|
+
" 工作台"
|
|
10
|
+
] }),
|
|
11
|
+
/* @__PURE__ */ c(d, { value: "/projects", children: [
|
|
12
|
+
/* @__PURE__ */ c(t, { className: "h-8", children: [
|
|
13
|
+
/* @__PURE__ */ e(l, { className: "size-4" }),
|
|
14
|
+
" 项目管理"
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ e(u, { type: "single", collapsible: !0, parentValue: "/projects", className: "ps-6", children: /* @__PURE__ */ c(n, { children: [
|
|
17
|
+
/* @__PURE__ */ e(r, { value: "/projects", className: "h-7 text-[13px]", children: "进行中" }),
|
|
18
|
+
/* @__PURE__ */ e(r, { value: "/projects/archive", className: "h-7 text-[13px]", children: "已归档" })
|
|
19
|
+
] }) })
|
|
20
|
+
] }),
|
|
21
|
+
/* @__PURE__ */ c(r, { value: "/settings", className: "h-8", children: [
|
|
22
|
+
/* @__PURE__ */ e(s, { className: "size-4" }),
|
|
23
|
+
" 系统设置"
|
|
24
|
+
] })
|
|
25
|
+
] }) }) });
|
|
26
|
+
}
|
|
27
|
+
function N() {
|
|
28
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ c("section", { children: [
|
|
29
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "侧边栏菜单" }),
|
|
30
|
+
/* @__PURE__ */ e(m, {})
|
|
31
|
+
] }) });
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
m as AccordionMenuBasic,
|
|
35
|
+
N as AccordionMenuShowcase
|
|
36
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as r, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { Breadcrumb as n, BreadcrumbList as l, BreadcrumbItem as e, BreadcrumbLink as d, BreadcrumbSeparator as i, BreadcrumbPage as h, BreadcrumbEllipsis as m } from "./breadcrumb.js";
|
|
3
|
+
function a() {
|
|
4
|
+
return /* @__PURE__ */ r(n, { children: /* @__PURE__ */ c(l, { children: [
|
|
5
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(d, { href: "#", children: "首页" }) }),
|
|
6
|
+
/* @__PURE__ */ r(i, {}),
|
|
7
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(d, { href: "#", children: "项目" }) }),
|
|
8
|
+
/* @__PURE__ */ r(i, {}),
|
|
9
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(h, { children: "Acme Dashboard" }) })
|
|
10
|
+
] }) });
|
|
11
|
+
}
|
|
12
|
+
function s() {
|
|
13
|
+
return /* @__PURE__ */ r(n, { children: /* @__PURE__ */ c(l, { children: [
|
|
14
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(d, { href: "#", children: "首页" }) }),
|
|
15
|
+
/* @__PURE__ */ r(i, {}),
|
|
16
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(m, {}) }),
|
|
17
|
+
/* @__PURE__ */ r(i, {}),
|
|
18
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(d, { href: "#", children: "模块" }) }),
|
|
19
|
+
/* @__PURE__ */ r(i, {}),
|
|
20
|
+
/* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(h, { children: "Auth" }) })
|
|
21
|
+
] }) });
|
|
22
|
+
}
|
|
23
|
+
function u() {
|
|
24
|
+
return /* @__PURE__ */ c("div", { className: "flex flex-col gap-6", children: [
|
|
25
|
+
/* @__PURE__ */ c("section", { children: [
|
|
26
|
+
/* @__PURE__ */ r("h3", { className: "text-sm font-semibold mb-3", children: "基础" }),
|
|
27
|
+
/* @__PURE__ */ r(a, {})
|
|
28
|
+
] }),
|
|
29
|
+
/* @__PURE__ */ c("section", { children: [
|
|
30
|
+
/* @__PURE__ */ r("h3", { className: "text-sm font-semibold mb-3", children: "带省略" }),
|
|
31
|
+
/* @__PURE__ */ r(s, {})
|
|
32
|
+
] })
|
|
33
|
+
] });
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
a as BreadcrumbBasic,
|
|
37
|
+
u as BreadcrumbShowcase,
|
|
38
|
+
s as BreadcrumbWithEllipsis
|
|
39
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Menubar as d, MenubarMenu as i, MenubarTrigger as l, MenubarContent as h, MenubarItem as n, MenubarShortcut as c, MenubarSeparator as a } from "./menubar.js";
|
|
3
|
+
function t() {
|
|
4
|
+
return /* @__PURE__ */ r(d, { children: [
|
|
5
|
+
/* @__PURE__ */ r(i, { children: [
|
|
6
|
+
/* @__PURE__ */ e(l, { children: "文件" }),
|
|
7
|
+
/* @__PURE__ */ r(h, { children: [
|
|
8
|
+
/* @__PURE__ */ r(n, { children: [
|
|
9
|
+
"新建 ",
|
|
10
|
+
/* @__PURE__ */ e(c, { children: "⌘N" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ r(n, { children: [
|
|
13
|
+
"打开 ",
|
|
14
|
+
/* @__PURE__ */ e(c, { children: "⌘O" })
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ e(a, {}),
|
|
17
|
+
/* @__PURE__ */ r(n, { children: [
|
|
18
|
+
"保存 ",
|
|
19
|
+
/* @__PURE__ */ e(c, { children: "⌘S" })
|
|
20
|
+
] })
|
|
21
|
+
] })
|
|
22
|
+
] }),
|
|
23
|
+
/* @__PURE__ */ r(i, { children: [
|
|
24
|
+
/* @__PURE__ */ e(l, { children: "编辑" }),
|
|
25
|
+
/* @__PURE__ */ r(h, { children: [
|
|
26
|
+
/* @__PURE__ */ r(n, { children: [
|
|
27
|
+
"撤销 ",
|
|
28
|
+
/* @__PURE__ */ e(c, { children: "⌘Z" })
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ r(n, { children: [
|
|
31
|
+
"重做 ",
|
|
32
|
+
/* @__PURE__ */ e(c, { children: "⇧⌘Z" })
|
|
33
|
+
] })
|
|
34
|
+
] })
|
|
35
|
+
] }),
|
|
36
|
+
/* @__PURE__ */ r(i, { children: [
|
|
37
|
+
/* @__PURE__ */ e(l, { children: "视图" }),
|
|
38
|
+
/* @__PURE__ */ r(h, { children: [
|
|
39
|
+
/* @__PURE__ */ e(n, { children: "全屏" }),
|
|
40
|
+
/* @__PURE__ */ e(n, { children: "切换侧栏" })
|
|
41
|
+
] })
|
|
42
|
+
] })
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
function s() {
|
|
46
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ r("section", { children: [
|
|
47
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "桌面应用风格菜单条" }),
|
|
48
|
+
/* @__PURE__ */ e(t, {})
|
|
49
|
+
] }) });
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
t as MenubarBasic,
|
|
53
|
+
s as MenubarShowcase
|
|
54
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { NavigationMenu as r, NavigationMenuList as t, NavigationMenuItem as d, NavigationMenuTrigger as a, NavigationMenuContent as o, NavigationMenuLink as n } from "./navigation-menu.js";
|
|
3
|
+
function c() {
|
|
4
|
+
return /* @__PURE__ */ e(r, { children: /* @__PURE__ */ i(t, { children: [
|
|
5
|
+
/* @__PURE__ */ i(d, { children: [
|
|
6
|
+
/* @__PURE__ */ e(a, { children: "产品" }),
|
|
7
|
+
/* @__PURE__ */ e(o, { children: /* @__PURE__ */ i("div", { className: "grid grid-cols-2 gap-3 p-4 w-[400px]", children: [
|
|
8
|
+
/* @__PURE__ */ i(n, { href: "#", className: "block p-3 rounded hover:bg-muted", children: [
|
|
9
|
+
/* @__PURE__ */ e("div", { className: "font-medium", children: "项目管理" }),
|
|
10
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground mt-1", children: "项目 / 任务 / 里程碑" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ i(n, { href: "#", className: "block p-3 rounded hover:bg-muted", children: [
|
|
13
|
+
/* @__PURE__ */ e("div", { className: "font-medium", children: "审核中心" }),
|
|
14
|
+
/* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground mt-1", children: "流程 / 抄送 / 归档" })
|
|
15
|
+
] })
|
|
16
|
+
] }) })
|
|
17
|
+
] }),
|
|
18
|
+
/* @__PURE__ */ e(d, { children: /* @__PURE__ */ e(n, { href: "#", className: "px-4 py-2 hover:bg-muted rounded text-sm font-medium", children: "文档" }) }),
|
|
19
|
+
/* @__PURE__ */ e(d, { children: /* @__PURE__ */ e(n, { href: "#", className: "px-4 py-2 hover:bg-muted rounded text-sm font-medium", children: "定价" }) })
|
|
20
|
+
] }) });
|
|
21
|
+
}
|
|
22
|
+
function s() {
|
|
23
|
+
return /* @__PURE__ */ e("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ i("section", { children: [
|
|
24
|
+
/* @__PURE__ */ e("h3", { className: "text-sm font-semibold mb-3", children: "顶部导航(带多列下拉)" }),
|
|
25
|
+
/* @__PURE__ */ e(c, {})
|
|
26
|
+
] }) });
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
c as NavigationMenuBasic,
|
|
30
|
+
s as NavigationMenuShowcase
|
|
31
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { RiArrowLeftSLine as l, RiArrowRightSLine as s } from "@remixicon/react";
|
|
3
|
+
import { cn as m } from "../../../../lib/utils.js";
|
|
4
|
+
import { Pagination as h, PaginationContent as d, PaginationItem as e, PaginationEllipsis as f } from "./pagination.js";
|
|
5
|
+
import { Button as g } from "../../form/button/button.js";
|
|
6
|
+
function r({
|
|
7
|
+
children: n,
|
|
8
|
+
active: t,
|
|
9
|
+
className: o,
|
|
10
|
+
...c
|
|
11
|
+
}) {
|
|
12
|
+
return /* @__PURE__ */ i(
|
|
13
|
+
g,
|
|
14
|
+
{
|
|
15
|
+
mode: "icon",
|
|
16
|
+
size: "sm",
|
|
17
|
+
variant: t ? "primary" : "ghost",
|
|
18
|
+
className: m("size-8", o),
|
|
19
|
+
...c,
|
|
20
|
+
children: n
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
function p() {
|
|
25
|
+
return /* @__PURE__ */ i(h, { children: /* @__PURE__ */ a(d, { children: [
|
|
26
|
+
/* @__PURE__ */ i(e, { children: /* @__PURE__ */ i(r, { "aria-label": "上一页", children: /* @__PURE__ */ i(l, { className: "size-4" }) }) }),
|
|
27
|
+
[1, 2, 3].map((n) => /* @__PURE__ */ i(e, { children: /* @__PURE__ */ i(r, { active: n === 2, children: n }) }, n)),
|
|
28
|
+
/* @__PURE__ */ i(e, { children: /* @__PURE__ */ i(f, {}) }),
|
|
29
|
+
/* @__PURE__ */ i(e, { children: /* @__PURE__ */ i(r, { children: "20" }) }),
|
|
30
|
+
/* @__PURE__ */ i(e, { children: /* @__PURE__ */ i(r, { "aria-label": "下一页", children: /* @__PURE__ */ i(s, { className: "size-4" }) }) })
|
|
31
|
+
] }) });
|
|
32
|
+
}
|
|
33
|
+
function z() {
|
|
34
|
+
return /* @__PURE__ */ i("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ a("section", { children: [
|
|
35
|
+
/* @__PURE__ */ i("h3", { className: "text-sm font-semibold mb-3", children: "基础分页器" }),
|
|
36
|
+
/* @__PURE__ */ i(p, {})
|
|
37
|
+
] }) });
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
p as PaginationBasic,
|
|
41
|
+
z as PaginationShowcase
|
|
42
|
+
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as t, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as l } from "react";
|
|
3
|
+
import { cn as a } from "../../../../lib/utils.js";
|
|
4
|
+
import { Scrollspy as c } from "./scrollspy.js";
|
|
5
|
+
const o = [
|
|
6
|
+
{ id: "profile", title: "个人信息", body: "姓名、邮箱、电话、头像等基础资料。用于在平台内识别身份、接收通知。" },
|
|
7
|
+
{ id: "security", title: "安全", body: "密码、双因子、登录设备管理。建议开启 2FA 并定期轮换密码。" },
|
|
8
|
+
{ id: "notifications", title: "通知", body: "邮件、应用内、短信三个通道的开关 + 频率(即时 / 摘要)。" },
|
|
9
|
+
{ id: "privacy", title: "隐私", body: "可见性设置 · 谁能搜到你、谁能看到你的项目。" },
|
|
10
|
+
{ id: "billing", title: "计费", body: "订阅计划、发票、支付方式。企业版可切换月付 / 年付。" },
|
|
11
|
+
{ id: "team", title: "团队", body: "成员邀请、角色、权限分配。可创建子团队进行二级管理。" },
|
|
12
|
+
{ id: "integrations", title: "集成", body: "GitHub / GitLab / Jira / Slack 第三方接入与 Webhook 配置。" },
|
|
13
|
+
{ id: "danger", title: "危险区", body: "导出所有数据、转移所有权、删除账户。所有操作不可撤销。" }
|
|
14
|
+
];
|
|
15
|
+
function s() {
|
|
16
|
+
const r = l(null);
|
|
17
|
+
return /* @__PURE__ */ t(
|
|
18
|
+
"div",
|
|
19
|
+
{
|
|
20
|
+
ref: r,
|
|
21
|
+
className: "h-[480px] overflow-y-auto rounded-xl border border-border bg-card",
|
|
22
|
+
children: /* @__PURE__ */ i("div", { className: "grid grid-cols-[160px_1fr] gap-6 p-6", children: [
|
|
23
|
+
/* @__PURE__ */ t(
|
|
24
|
+
c,
|
|
25
|
+
{
|
|
26
|
+
targetRef: r,
|
|
27
|
+
offset: 80,
|
|
28
|
+
history: !1,
|
|
29
|
+
className: "sticky top-0 self-start space-y-1",
|
|
30
|
+
children: o.map((e) => /* @__PURE__ */ t(
|
|
31
|
+
"a",
|
|
32
|
+
{
|
|
33
|
+
href: `#${e.id}`,
|
|
34
|
+
"data-scrollspy-anchor": e.id,
|
|
35
|
+
className: a(
|
|
36
|
+
"block px-3 py-1.5 rounded text-sm text-foreground/70 hover:bg-muted hover:text-foreground",
|
|
37
|
+
"[&[data-active=true]]:bg-primary/10 [&[data-active=true]]:text-primary [&[data-active=true]]:font-medium"
|
|
38
|
+
),
|
|
39
|
+
children: e.title
|
|
40
|
+
},
|
|
41
|
+
e.id
|
|
42
|
+
))
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ t("div", { className: "space-y-10", children: o.map((e) => /* @__PURE__ */ i("section", { id: e.id, children: [
|
|
46
|
+
/* @__PURE__ */ t("h3", { className: "text-lg font-semibold text-foreground mb-2", children: e.title }),
|
|
47
|
+
/* @__PURE__ */ t("p", { className: "text-sm text-muted-foreground leading-7", children: e.body }),
|
|
48
|
+
/* @__PURE__ */ t("div", { className: "mt-3 space-y-2", children: [1, 2, 3].map((d) => /* @__PURE__ */ i("div", { className: "text-sm text-muted-foreground leading-7", children: [
|
|
49
|
+
e.title,
|
|
50
|
+
" · 补充说明 ",
|
|
51
|
+
d,
|
|
52
|
+
":真实业务在此展开多行描述 / 表单 / 子项目。 滚动左侧可联动高亮对应锚点;点击左侧锚点会平滑滚动到对应章节。"
|
|
53
|
+
] }, d)) })
|
|
54
|
+
] }, e.id)) })
|
|
55
|
+
] })
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
function u() {
|
|
60
|
+
return /* @__PURE__ */ i("div", { className: "flex flex-col gap-4", children: [
|
|
61
|
+
/* @__PURE__ */ t("div", { className: "text-sm text-muted-foreground", children: "滚动右侧内容区,左侧锚点会自动高亮当前章节。点击锚点可平滑跳转。" }),
|
|
62
|
+
/* @__PURE__ */ t(s, {})
|
|
63
|
+
] });
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
s as ScrollspyBasic,
|
|
67
|
+
u as ScrollspyShowcase
|
|
68
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Line variant — in-card filter */
|
|
2
|
+
export declare function TabsLine(): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
/** Button variant — compact chart type switch */
|
|
4
|
+
export declare function TabsButton(): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function TabsShowcase(): import("react/jsx-runtime").JSX.Element;
|