@yyc3/music-ui 0.0.0-stage → 2.0.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.
Files changed (115) hide show
  1. package/LICENSE +27 -0
  2. package/README.md +77 -2
  3. package/dist/dmusic/DMusicShowcase.d.ts +17 -0
  4. package/dist/dmusic/DMusicShowcase.d.ts.map +1 -0
  5. package/dist/dmusic/DMusicUI.d.ts +214 -0
  6. package/dist/dmusic/DMusicUI.d.ts.map +1 -0
  7. package/dist/dmusic/DPanel.d.ts +49 -0
  8. package/dist/dmusic/DPanel.d.ts.map +1 -0
  9. package/dist/dmusic/DataViz.d.ts +127 -0
  10. package/dist/dmusic/DataViz.d.ts.map +1 -0
  11. package/dist/dmusic/index.d.ts +12 -0
  12. package/dist/dmusic/index.d.ts.map +1 -0
  13. package/dist/figma/ImageWithFallback.d.ts +3 -0
  14. package/dist/figma/ImageWithFallback.d.ts.map +1 -0
  15. package/dist/index.d.ts +51 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +5962 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/ui/accordion.d.ts +8 -0
  20. package/dist/ui/accordion.d.ts.map +1 -0
  21. package/dist/ui/alert-dialog.d.ts +15 -0
  22. package/dist/ui/alert-dialog.d.ts.map +1 -0
  23. package/dist/ui/alert.d.ts +10 -0
  24. package/dist/ui/alert.d.ts.map +1 -0
  25. package/dist/ui/aspect-ratio.d.ts +4 -0
  26. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  27. package/dist/ui/avatar.d.ts +7 -0
  28. package/dist/ui/avatar.d.ts.map +1 -0
  29. package/dist/ui/badge.d.ts +10 -0
  30. package/dist/ui/badge.d.ts.map +1 -0
  31. package/dist/ui/breadcrumb.d.ts +12 -0
  32. package/dist/ui/breadcrumb.d.ts.map +1 -0
  33. package/dist/ui/button.d.ts +11 -0
  34. package/dist/ui/button.d.ts.map +1 -0
  35. package/dist/ui/calendar.d.ts +5 -0
  36. package/dist/ui/calendar.d.ts.map +1 -0
  37. package/dist/ui/card.d.ts +10 -0
  38. package/dist/ui/card.d.ts.map +1 -0
  39. package/dist/ui/carousel.d.ts +20 -0
  40. package/dist/ui/carousel.d.ts.map +1 -0
  41. package/dist/ui/chart.d.ts +49 -0
  42. package/dist/ui/chart.d.ts.map +1 -0
  43. package/dist/ui/checkbox.d.ts +5 -0
  44. package/dist/ui/checkbox.d.ts.map +1 -0
  45. package/dist/ui/collapsible.d.ts +6 -0
  46. package/dist/ui/collapsible.d.ts.map +1 -0
  47. package/dist/ui/command.d.ts +17 -0
  48. package/dist/ui/command.d.ts.map +1 -0
  49. package/dist/ui/context-menu.d.ts +26 -0
  50. package/dist/ui/context-menu.d.ts.map +1 -0
  51. package/dist/ui/dialog.d.ts +14 -0
  52. package/dist/ui/dialog.d.ts.map +1 -0
  53. package/dist/ui/drawer.d.ts +14 -0
  54. package/dist/ui/drawer.d.ts.map +1 -0
  55. package/dist/ui/dropdown-menu.d.ts +26 -0
  56. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  57. package/dist/ui/form.d.ts +25 -0
  58. package/dist/ui/form.d.ts.map +1 -0
  59. package/dist/ui/hover-card.d.ts +7 -0
  60. package/dist/ui/hover-card.d.ts.map +1 -0
  61. package/dist/ui/input-otp.d.ts +12 -0
  62. package/dist/ui/input-otp.d.ts.map +1 -0
  63. package/dist/ui/input.d.ts +4 -0
  64. package/dist/ui/input.d.ts.map +1 -0
  65. package/dist/ui/label.d.ts +5 -0
  66. package/dist/ui/label.d.ts.map +1 -0
  67. package/dist/ui/menubar.d.ts +27 -0
  68. package/dist/ui/menubar.d.ts.map +1 -0
  69. package/dist/ui/navigation-menu.d.ts +15 -0
  70. package/dist/ui/navigation-menu.d.ts.map +1 -0
  71. package/dist/ui/pagination.d.ts +14 -0
  72. package/dist/ui/pagination.d.ts.map +1 -0
  73. package/dist/ui/popover.d.ts +8 -0
  74. package/dist/ui/popover.d.ts.map +1 -0
  75. package/dist/ui/progress.d.ts +5 -0
  76. package/dist/ui/progress.d.ts.map +1 -0
  77. package/dist/ui/radio-group.d.ts +6 -0
  78. package/dist/ui/radio-group.d.ts.map +1 -0
  79. package/dist/ui/resizable.d.ts +9 -0
  80. package/dist/ui/resizable.d.ts.map +1 -0
  81. package/dist/ui/scroll-area.d.ts +6 -0
  82. package/dist/ui/scroll-area.d.ts.map +1 -0
  83. package/dist/ui/select.d.ts +16 -0
  84. package/dist/ui/select.d.ts.map +1 -0
  85. package/dist/ui/separator.d.ts +5 -0
  86. package/dist/ui/separator.d.ts.map +1 -0
  87. package/dist/ui/sheet.d.ts +14 -0
  88. package/dist/ui/sheet.d.ts.map +1 -0
  89. package/dist/ui/sidebar.d.ts +70 -0
  90. package/dist/ui/sidebar.d.ts.map +1 -0
  91. package/dist/ui/skeleton.d.ts +3 -0
  92. package/dist/ui/skeleton.d.ts.map +1 -0
  93. package/dist/ui/slider.d.ts +5 -0
  94. package/dist/ui/slider.d.ts.map +1 -0
  95. package/dist/ui/sonner.d.ts +4 -0
  96. package/dist/ui/sonner.d.ts.map +1 -0
  97. package/dist/ui/switch.d.ts +5 -0
  98. package/dist/ui/switch.d.ts.map +1 -0
  99. package/dist/ui/table.d.ts +11 -0
  100. package/dist/ui/table.d.ts.map +1 -0
  101. package/dist/ui/tabs.d.ts +8 -0
  102. package/dist/ui/tabs.d.ts.map +1 -0
  103. package/dist/ui/textarea.d.ts +4 -0
  104. package/dist/ui/textarea.d.ts.map +1 -0
  105. package/dist/ui/toggle-group.d.ts +8 -0
  106. package/dist/ui/toggle-group.d.ts.map +1 -0
  107. package/dist/ui/toggle.d.ts +10 -0
  108. package/dist/ui/toggle.d.ts.map +1 -0
  109. package/dist/ui/tooltip.d.ts +8 -0
  110. package/dist/ui/tooltip.d.ts.map +1 -0
  111. package/dist/ui/use-mobile.d.ts +2 -0
  112. package/dist/ui/use-mobile.d.ts.map +1 -0
  113. package/dist/ui/utils.d.ts +3 -0
  114. package/dist/ui/utils.d.ts.map +1 -0
  115. package/package.json +89 -3
package/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 YanYuCloudCube™ (YYC³)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ YYC³(YanYuCloudCube™)· 言启象限 | 语枢未来
26
+ Words Initiate Quadrants, Language Serves as Core for Future
27
+ 万象归元于云枢 | 深栈智启新纪元
package/README.md CHANGED
@@ -1,3 +1,78 @@
1
- # Temporary Holding Version
1
+ # @yyc3/music-ui
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ > shadcn/ui + Radix UI 基件与 D-Music 设计层(DButton / DCard / 数据可视化等),六主题可切换。
4
+
5
+ | 属性 | 值 |
6
+ | --- | --- |
7
+ | 版本 | 2.0.0 |
8
+ | 定位 | UI 基础组件库 |
9
+ | 许可证 | MIT |
10
+ | 仓库 | https://github.com/YYC-Cube/YYC3-MusAI |
11
+
12
+ ## 安装
13
+
14
+ ```bash
15
+ pnpm add @yyc3/music-ui react react-dom
16
+ ```
17
+
18
+ ## 快速开始
19
+
20
+ ```tsx
21
+ import { DButton, DCard, DBadge, StarPowerChart } from '@yyc3/music-ui'
22
+
23
+ export function Demo() {
24
+ return (
25
+ <DCard variant="glass" padding="md">
26
+ <DBadge variant="accent" size="sm">Pro</DBadge>
27
+ <DButton variant="primary" onClick={() => console.log('play')}>开始播放</DButton>
28
+ <StarPowerChart data={[{ name: 'Mon', value: 12 }, { name: 'Tue', value: 18 }]} />
29
+ </DCard>
30
+ )
31
+ }
32
+ ```
33
+
34
+ ## 导出清单
35
+
36
+ - 48 个 shadcn/Radix 基件:accordion、alert、dialog、dropdown-menu、form、select、sheet、sidebar、table、tabs、tooltip 等
37
+ - D-Music 设计层:DButton、DInput、DCard、DMusicCard、DUserCard、DAchievementCard、DProgress、AchievementRing、DFeedback、DSpinner、DBadge、DTag、DEmptyState、DList、DModal、DTabBar、DToast、DBreadcrumb、DPanel、DMusicShowcase
38
+ - 数据可视化:StarPowerChart、EmotionPieChart、PlayStatsChart、AchievementGrid、SparklineChart、StatCard、RankingList、DataExportButton
39
+ - 工具:ImageWithFallback、ChartConfig(类型)
40
+
41
+ ## 关键 API
42
+
43
+ | 名称 | 说明 |
44
+ | --- | --- |
45
+ | `DButton` | variant: 'primary' | 'secondary' | 'ghost' | 'danger';透传原生 button 属性 |
46
+ | `DCard` | variant: 'default' | 'glass';interactive、padding |
47
+ | `DBadge` | variant: 'accent' | 'emotion' 等;size: 'xs' | 'sm' | 'md' |
48
+ | `StarPowerChart` | data: Array<{ name: string; value: number }>,基于 Recharts |
49
+ | `ChartConfig` | 图表颜色与标签配置类型 |
50
+
51
+ ## 说明
52
+
53
+ 组件使用 Tailwind CSS 原子类,宿主应用需启用 Tailwind(推荐 v4)。主题令牌来自 `@yyc3/music-design-tokens`,暗色模式通过 `next-themes` 的 class 策略切换。
54
+
55
+ ## 兼容性
56
+
57
+ - React 19+(组件包 peer 依赖)
58
+ - TypeScript 5.6+ / Node.js 20.19+
59
+ - 现代浏览器(Chrome/Edge/Safari/Firefox 最近两个大版本)
60
+
61
+ ## 开发与验证
62
+
63
+ ```bash
64
+ pnpm --filter @yyc3/music-ui build
65
+ pnpm --filter @yyc3/music-ui typecheck
66
+ pnpm --filter @yyc3/music-ui lint
67
+ pnpm test:coverage
68
+ ```
69
+
70
+ ## 许可证
71
+
72
+ MIT © 2026 YanYuCloudCube™(YYC³)
73
+
74
+ <p align="center">
75
+ <b>YYC³</b>(YanYuCloudCube™ · 注册商标)<br>
76
+ 言启象限 | 语枢未来 — Words Initiate Quadrants, Language Serves as Core for Future<br>
77
+ <sub>© 2026 YanYuCloudCube™(YYC³)· <a href="mailto:admin@0379.email">admin@0379.email</a></sub>
78
+ </p>
@@ -0,0 +1,17 @@
1
+ /**
2
+ * D-Music §1.x — Component Showcase / Test Page
3
+ *
4
+ * Renders all D-Music design system components for visual verification.
5
+ * Categories tested:
6
+ * §1.1 — Buttons, Inputs, Cards, Progress, Feedback, Badges, Tags, Lists
7
+ * §1.2 — Panel (DPanel)
8
+ * §1.3 — Charts (StarPower, Emotion, PlayStats, Achievement, Sparkline, StatCard)
9
+ * §1.4 — Theme integration (all components use CSS custom properties)
10
+ */
11
+ import React from 'react';
12
+ interface ShowcaseProps {
13
+ lang?: 'zh' | 'en';
14
+ }
15
+ export declare const DMusicShowcase: React.FC<ShowcaseProps>;
16
+ export {};
17
+ //# sourceMappingURL=DMusicShowcase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DMusicShowcase.d.ts","sourceRoot":"","sources":["../../src/dmusic/DMusicShowcase.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAqDxC,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqXlD,CAAC"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * D-Music §1.1 — Component Library
3
+ *
4
+ * Material Design 3.0 inspired, adapted for D-Music's deep-space aesthetic.
5
+ * All components:
6
+ * - Use CSS custom properties from §1.4 Theme System
7
+ * - WCAG 2.1 AA compliant (aria-*, focus-visible, contrast ratios)
8
+ * - Support keyboard navigation
9
+ * - 60fps animations (GPU-accelerated transform/opacity)
10
+ * - Responsive (mobile/tablet/desktop)
11
+ *
12
+ * Component Categories:
13
+ * 1. DButton — Primary/Secondary/Ghost/Danger variants
14
+ * 2. DInput — Text/Password/Search inputs
15
+ * 3. DCard — Music/User/Achievement cards
16
+ * 4. DProgress — Linear and ring progress indicators
17
+ * 5. DFeedback — Loading/Success/Error/Warning states
18
+ * 6. DBadge — Status/count badges
19
+ * 7. DTooltip — Accessible tooltip wrapper
20
+ * 8. DTag — Genre/mood/status tags
21
+ */
22
+ import React from 'react';
23
+ type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'accent';
24
+ type ButtonSize = 'sm' | 'md' | 'lg';
25
+ interface DButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
26
+ variant?: ButtonVariant;
27
+ size?: ButtonSize;
28
+ loading?: boolean;
29
+ icon?: React.ReactNode;
30
+ iconRight?: React.ReactNode;
31
+ fullWidth?: boolean;
32
+ }
33
+ export declare const DButton: React.FC<DButtonProps>;
34
+ type InputVariant = 'default' | 'search' | 'password';
35
+ interface DInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
36
+ variant?: InputVariant;
37
+ label?: string;
38
+ error?: string;
39
+ hint?: string;
40
+ inputSize?: ButtonSize;
41
+ leftIcon?: React.ReactNode;
42
+ }
43
+ export declare const DInput: React.FC<DInputProps>;
44
+ type CardVariant = 'default' | 'music' | 'user' | 'achievement' | 'glass';
45
+ interface DCardProps {
46
+ variant?: CardVariant;
47
+ className?: string;
48
+ children: React.ReactNode;
49
+ onClick?: () => void;
50
+ interactive?: boolean;
51
+ glowColor?: string;
52
+ padding?: 'sm' | 'md' | 'lg' | 'none';
53
+ }
54
+ export declare const DCard: React.FC<DCardProps>;
55
+ /** Music card — specialized for track/album display */
56
+ interface DMusicCardProps {
57
+ title: string;
58
+ artist: string;
59
+ coverUrl?: string;
60
+ duration?: string;
61
+ emotion?: string;
62
+ isPlaying?: boolean;
63
+ onClick?: () => void;
64
+ className?: string;
65
+ }
66
+ export declare const DMusicCard: React.FC<DMusicCardProps>;
67
+ /** User card — for creator/profile display */
68
+ interface DUserCardProps {
69
+ name: string;
70
+ avatar?: string;
71
+ subtitle?: string;
72
+ badge?: string;
73
+ onClick?: () => void;
74
+ className?: string;
75
+ }
76
+ export declare const DUserCard: React.FC<DUserCardProps>;
77
+ /** Achievement card — with progress ring */
78
+ interface DAchievementCardProps {
79
+ title: string;
80
+ description?: string;
81
+ icon: string;
82
+ progress: number;
83
+ unlocked?: boolean;
84
+ rarity?: 'common' | 'rare' | 'epic' | 'legendary';
85
+ className?: string;
86
+ }
87
+ export declare const DAchievementCard: React.FC<DAchievementCardProps>;
88
+ interface DProgressProps {
89
+ value: number;
90
+ size?: 'sm' | 'md' | 'lg';
91
+ variant?: 'default' | 'gradient' | 'success' | 'warning' | 'error';
92
+ showLabel?: boolean;
93
+ className?: string;
94
+ 'aria-label'?: string;
95
+ }
96
+ export declare const DProgress: React.FC<DProgressProps>;
97
+ /** SVG Achievement Ring — §1.3 */
98
+ interface AchievementRingProps {
99
+ progress: number;
100
+ size?: number;
101
+ strokeWidth?: number;
102
+ color?: string;
103
+ bgColor?: string;
104
+ children?: React.ReactNode;
105
+ className?: string;
106
+ }
107
+ export declare const AchievementRing: React.FC<AchievementRingProps>;
108
+ type FeedbackType = 'loading' | 'success' | 'error' | 'warning' | 'info';
109
+ interface DFeedbackProps {
110
+ type: FeedbackType;
111
+ message: string;
112
+ description?: string;
113
+ className?: string;
114
+ onDismiss?: () => void;
115
+ }
116
+ export declare const DFeedback: React.FC<DFeedbackProps>;
117
+ /** Inline loading spinner */
118
+ interface DSpinnerProps {
119
+ size?: 'sm' | 'md' | 'lg';
120
+ className?: string;
121
+ }
122
+ export declare const DSpinner: React.FC<DSpinnerProps>;
123
+ type BadgeVariant = 'default' | 'accent' | 'success' | 'warning' | 'error' | 'info';
124
+ interface DBadgeProps {
125
+ variant?: BadgeVariant;
126
+ size?: 'sm' | 'md';
127
+ children: React.ReactNode;
128
+ className?: string;
129
+ dot?: boolean;
130
+ }
131
+ export declare const DBadge: React.FC<DBadgeProps>;
132
+ interface DTagProps {
133
+ variant?: 'default' | 'emotion' | 'outline';
134
+ size?: 'xs' | 'sm' | 'md';
135
+ children: React.ReactNode;
136
+ onRemove?: () => void;
137
+ className?: string;
138
+ style?: React.CSSProperties;
139
+ }
140
+ export declare const DTag: React.FC<DTagProps>;
141
+ interface DEmptyStateProps {
142
+ icon?: string;
143
+ title: string;
144
+ description?: string;
145
+ action?: React.ReactNode;
146
+ className?: string;
147
+ }
148
+ export declare const DEmptyState: React.FC<DEmptyStateProps>;
149
+ interface DListProps {
150
+ children: React.ReactNode;
151
+ label?: string;
152
+ className?: string;
153
+ divided?: boolean;
154
+ }
155
+ export declare const DList: React.FC<DListProps>;
156
+ interface DListItemProps {
157
+ children: React.ReactNode;
158
+ onClick?: () => void;
159
+ className?: string;
160
+ active?: boolean;
161
+ }
162
+ export declare const DListItem: React.FC<DListItemProps>;
163
+ interface DModalProps {
164
+ isOpen: boolean;
165
+ onClose: () => void;
166
+ title: string;
167
+ description?: string;
168
+ children: React.ReactNode;
169
+ footer?: React.ReactNode;
170
+ size?: 'sm' | 'md' | 'lg';
171
+ className?: string;
172
+ closeOnBackdrop?: boolean;
173
+ }
174
+ export declare const DModal: React.FC<DModalProps>;
175
+ interface DTabItem {
176
+ id: string;
177
+ label: string;
178
+ icon?: React.ReactNode;
179
+ badge?: number;
180
+ disabled?: boolean;
181
+ }
182
+ interface DTabBarProps {
183
+ tabs: DTabItem[];
184
+ activeTab: string;
185
+ onTabChange: (id: string) => void;
186
+ variant?: 'default' | 'pills' | 'underline';
187
+ size?: 'sm' | 'md';
188
+ className?: string;
189
+ fullWidth?: boolean;
190
+ }
191
+ export declare const DTabBar: React.FC<DTabBarProps>;
192
+ type ToastVariant = 'success' | 'error' | 'warning' | 'info';
193
+ interface DToastProps {
194
+ variant: ToastVariant;
195
+ message: string;
196
+ description?: string;
197
+ duration?: number;
198
+ onDismiss: () => void;
199
+ className?: string;
200
+ }
201
+ export declare const DToast: React.FC<DToastProps>;
202
+ interface DBreadcrumbItem {
203
+ label: string;
204
+ href?: string;
205
+ onClick?: () => void;
206
+ }
207
+ interface DBreadcrumbProps {
208
+ items: DBreadcrumbItem[];
209
+ separator?: React.ReactNode;
210
+ className?: string;
211
+ }
212
+ export declare const DBreadcrumb: React.FC<DBreadcrumbProps>;
213
+ export {};
214
+ //# sourceMappingURL=DMusicUI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DMusicUI.d.ts","sourceRoot":"","sources":["../../src/dmusic/DMusicUI.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * D-Music §1.2 — Unified Panel Component
3
+ *
4
+ * A standardized panel shell for all D-Music side panels/drawers/modals.
5
+ *
6
+ * Features:
7
+ * - Unified visual style (glassmorphism, theme-aware)
8
+ * - Clear information hierarchy (header → body → optional footer)
9
+ * - Smooth spring animation (enter from right)
10
+ * - Mobile: fullscreen panel / bottom drawer
11
+ * - Desktop: side drawer (right) with backdrop
12
+ * - Keyboard: Escape to close, focus trap
13
+ * - WCAG 2.1 AA: role="dialog", aria-modal, aria-label
14
+ *
15
+ * Panel Types Supported:
16
+ * playlist, profile, community, analytics, ai-lyrics, leaderboard,
17
+ * recommendations, creation-studio, mv-creator, space-time, star-power,
18
+ * ip-matrix, achievements, discover-hub, copyright, shop, challenge,
19
+ * fork-tree, mheart, smart-playlist, live-session, comments
20
+ *
21
+ * Usage:
22
+ * <DPanel isOpen={show} onClose={close} title="播放列表" icon={<Music />}>
23
+ * <PlaylistContent />
24
+ * </DPanel>
25
+ */
26
+ import React from 'react';
27
+ export type PanelSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
28
+ interface DPanelProps {
29
+ isOpen: boolean;
30
+ onClose: () => void;
31
+ title: string;
32
+ subtitle?: string;
33
+ icon?: React.ReactNode;
34
+ children: React.ReactNode;
35
+ footer?: React.ReactNode;
36
+ size?: PanelSize;
37
+ /** Section label (e.g., "§19.x") shown in bottom hint */
38
+ sectionLabel?: string;
39
+ className?: string;
40
+ /** If true, panel enters from bottom on mobile */
41
+ mobileBottomSheet?: boolean;
42
+ /** If true, no backdrop blur */
43
+ noBackdrop?: boolean;
44
+ /** Custom header-right actions */
45
+ headerActions?: React.ReactNode;
46
+ }
47
+ export declare const DPanel: React.FC<DPanelProps>;
48
+ export {};
49
+ //# sourceMappingURL=DPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DPanel.d.ts","sourceRoot":"","sources":["../../src/dmusic/DPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE3D,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gCAAgC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAUD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAqLxC,CAAC"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * D-Music §1.3 — Data Visualization Components
3
+ *
4
+ * Unified visualization library:
5
+ * 1. StarPowerChart — Star Power growth curve (Recharts)
6
+ * 2. EmotionPieChart — Emotion distribution pie chart
7
+ * 3. PlayStatsChart — Play count bar chart with trend line
8
+ * 4. AchievementGrid — Achievement progress ring grid
9
+ * 5. SparklineChart — Inline mini sparkline for compact display
10
+ * 6. DataExportButton — Export data as CSV/JSON
11
+ *
12
+ * Design Requirements:
13
+ * - Real-time update capable
14
+ * - 60fps (Recharts + SVG, no forced reflows)
15
+ * - Clear data labels
16
+ * - WCAG 2.1 AA accessible (aria-labels, screen-reader text)
17
+ * - Unified color palette from design-tokens.ts
18
+ *
19
+ * Technology:
20
+ * - Canvas API for AudioVisualizer (existing)
21
+ * - Recharts for data charts
22
+ * - SVG for progress rings (AchievementRing from DMusicUI)
23
+ * - CSS animations for transitions
24
+ */
25
+ import React from 'react';
26
+ export declare const DATA_VIZ_PALETTE: {
27
+ readonly primary: readonly ["#8B5CF6", "#EC4899", "#06B6D4", "#F59E0B", "#22C55E", "#3B82F6", "#EF4444", "#A855F7"];
28
+ readonly emotion: Record<string, string>;
29
+ readonly semantic: {
30
+ readonly success: "#22C55E";
31
+ readonly warning: "#F59E0B";
32
+ readonly error: "#EF4444";
33
+ readonly info: "#3B82F6";
34
+ };
35
+ };
36
+ interface StarPowerChartProps {
37
+ data: {
38
+ date: string;
39
+ value: number;
40
+ earned?: number;
41
+ spent?: number;
42
+ }[];
43
+ height?: number;
44
+ className?: string;
45
+ lang?: 'zh' | 'en';
46
+ }
47
+ export declare const StarPowerChart: React.FC<StarPowerChartProps>;
48
+ interface EmotionPieChartProps {
49
+ data: {
50
+ emotion: string;
51
+ count: number;
52
+ pct?: number;
53
+ }[];
54
+ size?: number;
55
+ className?: string;
56
+ lang?: 'zh' | 'en';
57
+ }
58
+ export declare const EmotionPieChart: React.FC<EmotionPieChartProps>;
59
+ interface PlayStatsChartProps {
60
+ data: {
61
+ name: string;
62
+ plays: number;
63
+ likes?: number;
64
+ }[];
65
+ height?: number;
66
+ className?: string;
67
+ lang?: 'zh' | 'en';
68
+ }
69
+ export declare const PlayStatsChart: React.FC<PlayStatsChartProps>;
70
+ interface AchievementGridItem {
71
+ id: string;
72
+ title: string;
73
+ icon: string;
74
+ progress: number;
75
+ color?: string;
76
+ }
77
+ interface AchievementGridProps {
78
+ items: AchievementGridItem[];
79
+ columns?: number;
80
+ className?: string;
81
+ }
82
+ export declare const AchievementGrid: React.FC<AchievementGridProps>;
83
+ interface SparklineChartProps {
84
+ data: number[];
85
+ width?: number;
86
+ height?: number;
87
+ color?: string;
88
+ showDot?: boolean;
89
+ className?: string;
90
+ }
91
+ export declare const SparklineChart: React.FC<SparklineChartProps>;
92
+ interface DataExportButtonProps {
93
+ data: any[];
94
+ filename?: string;
95
+ format?: 'csv' | 'json';
96
+ label?: string;
97
+ className?: string;
98
+ }
99
+ export declare const DataExportButton: React.FC<DataExportButtonProps>;
100
+ interface StatCardProps {
101
+ label: string;
102
+ value: string | number;
103
+ change?: number;
104
+ trend?: number[];
105
+ icon?: React.ReactNode;
106
+ className?: string;
107
+ }
108
+ export declare const StatCard: React.FC<StatCardProps>;
109
+ interface RankingItem {
110
+ rank: number;
111
+ name: string;
112
+ score: number;
113
+ avatar?: string;
114
+ change?: 'up' | 'down' | 'same' | 'new';
115
+ highlight?: boolean;
116
+ }
117
+ interface RankingListProps {
118
+ items: RankingItem[];
119
+ maxItems?: number;
120
+ valueLabel?: string;
121
+ className?: string;
122
+ lang?: 'zh' | 'en';
123
+ onItemClick?: (item: RankingItem) => void;
124
+ }
125
+ export declare const RankingList: React.FC<RankingListProps>;
126
+ export {};
127
+ //# sourceMappingURL=DataViz.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataViz.d.ts","sourceRoot":"","sources":["../../src/dmusic/DataViz.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAmBvC,eAAO,MAAM,gBAAgB;;sBAsBtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;CAOnB,CAAC;AAwCX,UAAU,mBAAmB;IAC3B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsDxD,CAAC;AAMF,UAAU,oBAAoB;IAC5B,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAQD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkD1D,CAAC;AAMF,UAAU,mBAAmB;IAC3B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8CxD,CAAC;AAMF,UAAU,mBAAmB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgC1D,CAAC;AAMF,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0BxD,CAAC;AAMF,UAAU,qBAAqB;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6C5D,CAAC;AAMF,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAuC5C,CAAC;AAMF,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CAC3C;AAKD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4GlD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * D-Music §1.1/§1.2/§1.3/§1.4 — Component Library Barrel Export
3
+ *
4
+ * Usage:
5
+ * import { DButton, DCard, StarPowerChart } from './components/dmusic';
6
+ */
7
+ export { DButton, DInput, DCard, DMusicCard, DUserCard, DAchievementCard, DProgress, AchievementRing, DFeedback, DSpinner, DBadge, DTag, DEmptyState, DList, DListItem, DModal, DTabBar, DToast, DBreadcrumb, } from './DMusicUI';
8
+ export { DPanel } from './DPanel';
9
+ export type { PanelSize } from './DPanel';
10
+ export { DATA_VIZ_PALETTE, StarPowerChart, EmotionPieChart, PlayStatsChart, AchievementGrid, SparklineChart, DataExportButton, StatCard, RankingList, } from './DataViz';
11
+ export { DMusicShowcase } from './DMusicShowcase';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dmusic/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,SAAS,EACT,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,WAAW,EACX,KAAK,EACL,SAAS,EACT,MAAM,EACN,OAAO,EACP,MAAM,EACN,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function ImageWithFallback(props: React.ImgHTMLAttributes<HTMLImageElement>): React.JSX.Element;
3
+ //# sourceMappingURL=ImageWithFallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageWithFallback.d.ts","sourceRoot":"","sources":["../../src/figma/ImageWithFallback.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,qBAqBjF"}
@@ -0,0 +1,51 @@
1
+ export * from './ui/accordion';
2
+ export * from './ui/alert';
3
+ export * from './ui/alert-dialog';
4
+ export * from './ui/aspect-ratio';
5
+ export * from './ui/avatar';
6
+ export * from './ui/badge';
7
+ export * from './ui/breadcrumb';
8
+ export * from './ui/button';
9
+ export * from './ui/calendar';
10
+ export * from './ui/card';
11
+ export * from './ui/carousel';
12
+ export * from './ui/chart';
13
+ export * from './ui/checkbox';
14
+ export * from './ui/collapsible';
15
+ export * from './ui/command';
16
+ export * from './ui/context-menu';
17
+ export * from './ui/dialog';
18
+ export * from './ui/drawer';
19
+ export * from './ui/dropdown-menu';
20
+ export * from './ui/form';
21
+ export * from './ui/hover-card';
22
+ export * from './ui/input';
23
+ export * from './ui/input-otp';
24
+ export * from './ui/label';
25
+ export * from './ui/menubar';
26
+ export * from './ui/navigation-menu';
27
+ export * from './ui/pagination';
28
+ export * from './ui/popover';
29
+ export * from './ui/progress';
30
+ export * from './ui/radio-group';
31
+ export * from './ui/resizable';
32
+ export * from './ui/scroll-area';
33
+ export * from './ui/select';
34
+ export * from './ui/separator';
35
+ export * from './ui/sheet';
36
+ export * from './ui/sidebar';
37
+ export * from './ui/skeleton';
38
+ export * from './ui/slider';
39
+ export * from './ui/sonner';
40
+ export * from './ui/switch';
41
+ export * from './ui/table';
42
+ export * from './ui/tabs';
43
+ export * from './ui/textarea';
44
+ export * from './ui/toggle';
45
+ export * from './ui/toggle-group';
46
+ export * from './ui/tooltip';
47
+ export * from './ui/use-mobile';
48
+ export * from './ui/utils';
49
+ export * from './dmusic';
50
+ export * from './figma/ImageWithFallback';
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AAEzB,cAAc,2BAA2B,CAAC"}