@mathwiz/ui-components 0.1.29 → 0.1.31

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 (187) hide show
  1. package/README.md +1 -1
  2. package/dist/components/AICopilot/AICopilot.css +237 -0
  3. package/dist/components/AICopilot/AICopilot.d.ts +10 -0
  4. package/dist/components/AICopilot/AICopilot.d.ts.map +1 -0
  5. package/dist/components/AICopilot/components/ChatContainer.d.ts +9 -0
  6. package/dist/components/AICopilot/components/ChatContainer.d.ts.map +1 -0
  7. package/dist/components/AICopilot/components/ChatInput.d.ts +9 -0
  8. package/dist/components/AICopilot/components/ChatInput.d.ts.map +1 -0
  9. package/dist/components/AICopilot/components/ChatMessage.d.ts +9 -0
  10. package/dist/components/AICopilot/components/ChatMessage.d.ts.map +1 -0
  11. package/dist/components/AICopilot/components/CollapsibleContextBar.d.ts +9 -0
  12. package/dist/components/AICopilot/components/CollapsibleContextBar.d.ts.map +1 -0
  13. package/dist/components/AICopilot/components/QuickActions.d.ts +9 -0
  14. package/dist/components/AICopilot/components/QuickActions.d.ts.map +1 -0
  15. package/dist/components/AICopilot/components/StreamMessage.d.ts +9 -0
  16. package/dist/components/AICopilot/components/StreamMessage.d.ts.map +1 -0
  17. package/dist/components/AICopilot/index.d.ts +12 -0
  18. package/dist/components/AICopilot/index.d.ts.map +1 -0
  19. package/dist/components/AICopilot/store.d.ts +30 -0
  20. package/dist/components/AICopilot/store.d.ts.map +1 -0
  21. package/dist/components/AICopilot/types.d.ts +219 -0
  22. package/dist/components/AICopilot/types.d.ts.map +1 -0
  23. package/dist/components/HundredChart/HundredChart.css +8 -0
  24. package/dist/components/HundredChart/HundredChart.d.ts.map +1 -1
  25. package/dist/components/HundredChart/HundredChart.types.d.ts +29 -0
  26. package/dist/components/HundredChart/HundredChart.types.d.ts.map +1 -1
  27. package/dist/components/HundredChart/HundredChart.utils.d.ts +13 -1
  28. package/dist/components/HundredChart/HundredChart.utils.d.ts.map +1 -1
  29. package/dist/components/HundredChart/index.d.ts +2 -2
  30. package/dist/components/HundredChart/index.d.ts.map +1 -1
  31. package/dist/components/MathCardV2/DecimalNumberRecognitionSessionStore.d.ts +2 -2
  32. package/dist/components/MathCardV2/DecimalNumberRecognitionSessionStore.d.ts.map +1 -1
  33. package/dist/components/MathCardV2/ExplanationStep.d.ts +9 -0
  34. package/dist/components/MathCardV2/ExplanationStep.d.ts.map +1 -1
  35. package/dist/components/MathCardV2/MathCardV2.css +11 -4
  36. package/dist/components/MathCardV2/MathCardV2.d.ts.map +1 -1
  37. package/dist/components/MathCardV2/MathCardV2.types.d.ts +70 -1
  38. package/dist/components/MathCardV2/MathCardV2.types.d.ts.map +1 -1
  39. package/dist/components/MathCardV2/MathPracticeSessionStore.d.ts +3 -3
  40. package/dist/components/MathCardV2/MathPracticeSessionStore.d.ts.map +1 -1
  41. package/dist/components/MathCardV2/MathPracticeSessionTypes.d.ts +38 -18
  42. package/dist/components/MathCardV2/MathPracticeSessionTypes.d.ts.map +1 -1
  43. package/dist/components/MathCardV2/MathPracticeStoreContext.d.ts +3 -9
  44. package/dist/components/MathCardV2/MathPracticeStoreContext.d.ts.map +1 -1
  45. package/dist/components/MathCardV2/MathPracticeStoreHooks.d.ts +3 -2
  46. package/dist/components/MathCardV2/MathPracticeStoreHooks.d.ts.map +1 -1
  47. package/dist/components/MathCardV2/components/content/MathContainerContent.d.ts +16 -0
  48. package/dist/components/MathCardV2/components/content/MathContainerContent.d.ts.map +1 -0
  49. package/dist/components/MathCardV2/components/content/OptionGroupContent.d.ts +10 -0
  50. package/dist/components/MathCardV2/components/content/OptionGroupContent.d.ts.map +1 -0
  51. package/dist/components/MathCardV2/components/renderers/ContentRenderer.d.ts.map +1 -1
  52. package/dist/components/MathCardV2/hooks/useDataAdapter.d.ts.map +1 -1
  53. package/dist/components/MathCardV2/hooks/useMeetingProblemAdapter.d.ts.map +1 -1
  54. package/dist/components/MathCardV2/modules/ReviewModule/ReviewModule.d.ts.map +1 -1
  55. package/dist/components/MathCardV2/scenes/ExplanationScene/ExplanationScene.d.ts.map +1 -1
  56. package/dist/components/MathCardV2/scenes/QuestionScene/QuestionScene.css +18 -18
  57. package/dist/components/MathCardV2/scenes/QuestionScene/QuestionScene.d.ts.map +1 -1
  58. package/dist/components/MathCell/MathCell.d.ts +35 -0
  59. package/dist/components/MathCell/MathCell.d.ts.map +1 -0
  60. package/dist/components/MathCell/MathCell.styles.d.ts +149 -0
  61. package/dist/components/MathCell/MathCell.styles.d.ts.map +1 -0
  62. package/dist/components/MathCell/MathCell.types.d.ts +76 -0
  63. package/dist/components/MathCell/MathCell.types.d.ts.map +1 -0
  64. package/dist/components/MathCell/index.d.ts +11 -0
  65. package/dist/components/MathCell/index.d.ts.map +1 -0
  66. package/dist/components/MathContainer/FactorTable/FactorTable.d.ts +17 -0
  67. package/dist/components/MathContainer/FactorTable/FactorTable.d.ts.map +1 -0
  68. package/dist/components/MathContainer/FactorTable/FactorTable.types.d.ts +55 -0
  69. package/dist/components/MathContainer/FactorTable/FactorTable.types.d.ts.map +1 -0
  70. package/dist/components/MathContainer/FactorTable/FactorTableView.d.ts +28 -0
  71. package/dist/components/MathContainer/FactorTable/FactorTableView.d.ts.map +1 -0
  72. package/dist/components/MathContainer/FactorTable/index.d.ts +7 -0
  73. package/dist/components/MathContainer/FactorTable/index.d.ts.map +1 -0
  74. package/dist/components/MathContainer/LongDivision/LongDivision.d.ts +12 -0
  75. package/dist/components/MathContainer/LongDivision/LongDivision.d.ts.map +1 -0
  76. package/dist/components/MathContainer/LongDivision/LongDivision.layout.d.ts +81 -0
  77. package/dist/components/MathContainer/LongDivision/LongDivision.layout.d.ts.map +1 -0
  78. package/dist/components/MathContainer/LongDivision/LongDivision.types.d.ts +37 -0
  79. package/dist/components/MathContainer/LongDivision/LongDivision.types.d.ts.map +1 -0
  80. package/dist/components/MathContainer/LongDivision/LongDivisionView.d.ts +37 -0
  81. package/dist/components/MathContainer/LongDivision/LongDivisionView.d.ts.map +1 -0
  82. package/dist/components/MathContainer/LongDivision/index.d.ts +7 -0
  83. package/dist/components/MathContainer/LongDivision/index.d.ts.map +1 -0
  84. package/dist/components/MathContainer/MathContainer.types.d.ts +151 -0
  85. package/dist/components/MathContainer/MathContainer.types.d.ts.map +1 -0
  86. package/dist/components/MathContainer/ShortDivision/ShortDivision.d.ts +15 -0
  87. package/dist/components/MathContainer/ShortDivision/ShortDivision.d.ts.map +1 -0
  88. package/dist/components/MathContainer/ShortDivision/ShortDivision.types.d.ts +67 -0
  89. package/dist/components/MathContainer/ShortDivision/ShortDivision.types.d.ts.map +1 -0
  90. package/dist/components/MathContainer/ShortDivision/ShortDivisionView.d.ts +16 -0
  91. package/dist/components/MathContainer/ShortDivision/ShortDivisionView.d.ts.map +1 -0
  92. package/dist/components/MathContainer/ShortDivision/index.d.ts +8 -0
  93. package/dist/components/MathContainer/ShortDivision/index.d.ts.map +1 -0
  94. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplication.d.ts +16 -0
  95. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplication.d.ts.map +1 -0
  96. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplication.types.d.ts +42 -0
  97. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplication.types.d.ts.map +1 -0
  98. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplicationView.d.ts +22 -0
  99. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplicationView.d.ts.map +1 -0
  100. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplicationView.utils.d.ts +19 -0
  101. package/dist/components/MathContainer/VerticalMultiplication/VerticalMultiplicationView.utils.d.ts.map +1 -0
  102. package/dist/components/MathContainer/VerticalMultiplication/index.d.ts +9 -0
  103. package/dist/components/MathContainer/VerticalMultiplication/index.d.ts.map +1 -0
  104. package/dist/components/MathContainer/hooks/index.d.ts +15 -0
  105. package/dist/components/MathContainer/hooks/index.d.ts.map +1 -0
  106. package/dist/components/MathContainer/hooks/useFactorTable.d.ts +39 -0
  107. package/dist/components/MathContainer/hooks/useFactorTable.d.ts.map +1 -0
  108. package/dist/components/MathContainer/hooks/useLongDivision.d.ts +51 -0
  109. package/dist/components/MathContainer/hooks/useLongDivision.d.ts.map +1 -0
  110. package/dist/components/MathContainer/hooks/useLongDivision.utils.d.ts +15 -0
  111. package/dist/components/MathContainer/hooks/useLongDivision.utils.d.ts.map +1 -0
  112. package/dist/components/MathContainer/hooks/useShortDivision.d.ts +41 -0
  113. package/dist/components/MathContainer/hooks/useShortDivision.d.ts.map +1 -0
  114. package/dist/components/MathContainer/hooks/useVerticalMultiplication.d.ts +28 -0
  115. package/dist/components/MathContainer/hooks/useVerticalMultiplication.d.ts.map +1 -0
  116. package/dist/components/MathContainer/hooks/useVerticalMultiplication.utils.d.ts +30 -0
  117. package/dist/components/MathContainer/hooks/useVerticalMultiplication.utils.d.ts.map +1 -0
  118. package/dist/components/MathContainer/index.d.ts +17 -0
  119. package/dist/components/MathContainer/index.d.ts.map +1 -0
  120. package/dist/components/OptionGroup/OptionCard.d.ts +11 -0
  121. package/dist/components/OptionGroup/OptionCard.d.ts.map +1 -0
  122. package/dist/components/OptionGroup/OptionCard.styles.d.ts +87 -0
  123. package/dist/components/OptionGroup/OptionCard.styles.d.ts.map +1 -0
  124. package/dist/components/OptionGroup/OptionGroup.d.ts +11 -0
  125. package/dist/components/OptionGroup/OptionGroup.d.ts.map +1 -0
  126. package/dist/components/OptionGroup/OptionGroup.types.d.ts +71 -0
  127. package/dist/components/OptionGroup/OptionGroup.types.d.ts.map +1 -0
  128. package/dist/components/OptionGroup/index.d.ts +5 -0
  129. package/dist/components/OptionGroup/index.d.ts.map +1 -0
  130. package/dist/components/StatBlock/StatBlock.css +330 -330
  131. package/dist/components/dashboard/atoms/Badge/Badge.d.ts +32 -0
  132. package/dist/components/dashboard/atoms/Badge/Badge.d.ts.map +1 -0
  133. package/dist/components/dashboard/atoms/Badge/index.d.ts +4 -0
  134. package/dist/components/dashboard/atoms/Badge/index.d.ts.map +1 -0
  135. package/dist/data/GeometryProblemAdapterV4/geometry-types.d.ts +119 -4
  136. package/dist/data/GeometryProblemAdapterV4/geometry-types.d.ts.map +1 -1
  137. package/dist/data/GeometryProblemAdapterV4/jsondata/parallelogram-revised.json +721 -721
  138. package/dist/data/GeometryProblemAdapterV4/jsondata/right-triangle-v4.json +594 -594
  139. package/dist/data/GeometryProblemAdapterV4/jsondata/trapezoid-v4-final.json +469 -469
  140. package/dist/data/GeometryProblemAdapterV4/jsondata/triangle-v4-final.json +1 -1
  141. package/dist/data/GeometryProblemAdapterV4/types.d.ts +2 -0
  142. package/dist/data/GeometryProblemAdapterV4/types.d.ts.map +1 -1
  143. package/dist/data/TriangleAdapterV3/config/embeddedConfigs.d.ts +96 -18
  144. package/dist/data/TriangleAdapterV3/config/embeddedConfigs.d.ts.map +1 -1
  145. package/dist/data/TriangleAdapterV3/config/index.d.ts +64 -12
  146. package/dist/data/TriangleAdapterV3/config/index.d.ts.map +1 -1
  147. package/dist/data/TriangleAdapterV3/core/syncAdapter.d.ts +5 -0
  148. package/dist/data/TriangleAdapterV3/core/syncAdapter.d.ts.map +1 -1
  149. package/dist/data/TriangleAdapterV3/transformers/hundredChartTransformer.d.ts +58 -0
  150. package/dist/data/TriangleAdapterV3/transformers/hundredChartTransformer.d.ts.map +1 -0
  151. package/dist/data/TriangleAdapterV3/transformers/index.d.ts +2 -0
  152. package/dist/data/TriangleAdapterV3/transformers/index.d.ts.map +1 -1
  153. package/dist/data/TriangleAdapterV3/transformers/optionGroupTransformer.d.ts +29 -0
  154. package/dist/data/TriangleAdapterV3/transformers/optionGroupTransformer.d.ts.map +1 -0
  155. package/dist/data/TriangleAdapterV3/types.d.ts +3 -0
  156. package/dist/data/TriangleAdapterV3/types.d.ts.map +1 -1
  157. package/dist/data/config/style-presets.json +27 -3
  158. package/dist/data/dataSchema/OpenAPI/openapi.json +5777 -5777
  159. package/dist/data/problems/factorProblemV4-backup.json +427 -0
  160. package/dist/data/problems/factorProblemV4.json +462 -0
  161. package/dist/data/problems/factorProblemV4_backup_20260311.json +436 -0
  162. package/dist/index.cjs +131 -100
  163. package/dist/index.cjs.map +1 -1
  164. package/dist/index.d.ts +17 -2
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.mjs +15093 -7136
  167. package/dist/index.mjs.map +1 -1
  168. package/dist/mathwiz-ui.css +1 -1
  169. package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPageIXL.css +385 -0
  170. package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPageIXL.d.ts +29 -0
  171. package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPageIXL.d.ts.map +1 -0
  172. package/dist/pages/AreaGeometrySessionPage/components/LearningDashboardPlaceholder.css +219 -0
  173. package/dist/pages/AreaGeometrySessionPage/components/LearningDashboardPlaceholder.d.ts +15 -0
  174. package/dist/pages/AreaGeometrySessionPage/components/LearningDashboardPlaceholder.d.ts.map +1 -0
  175. package/dist/pages/AreaGeometrySessionPage/components/ReviewSectionPlaceholder.css +64 -0
  176. package/dist/pages/AreaGeometrySessionPage/components/ReviewSectionPlaceholder.d.ts +11 -0
  177. package/dist/pages/AreaGeometrySessionPage/components/ReviewSectionPlaceholder.d.ts.map +1 -0
  178. package/dist/pages/AreaGeometrySessionPage/components/ScaffoldingPlaceholder.css +59 -0
  179. package/dist/pages/AreaGeometrySessionPage/components/ScaffoldingPlaceholder.d.ts +14 -0
  180. package/dist/pages/AreaGeometrySessionPage/components/ScaffoldingPlaceholder.d.ts.map +1 -0
  181. package/dist/pages/AreaGeometrySessionPage/index.d.ts +3 -1
  182. package/dist/pages/AreaGeometrySessionPage/index.d.ts.map +1 -1
  183. package/dist/pages/AreaGeometrySessionPage/types.d.ts +25 -0
  184. package/dist/pages/AreaGeometrySessionPage/types.d.ts.map +1 -1
  185. package/dist/style.css +1 -1
  186. package/dist/styles/mathcard-tokens.css +47 -5
  187. package/package.json +1 -1
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ## 📦 组件库信息
6
6
 
7
7
  - **包名**: `@mathwiz/ui-components`
8
- - **版本**: 0.1.26
8
+ - **版本**: 0.1.30
9
9
  - **描述**: A collection of reusable UI components for React applications within the mathwiz ecosystem.
10
10
  - **GitHub**: [https://github.com/moleusher/mathwiz-UI](https://github.com/moleusher/mathwiz-UI)
11
11
  - **Storybook**: [本地开发地址](http://localhost:6006)
@@ -0,0 +1,237 @@
1
+ /**
2
+ * AI Copilot 组件样式
3
+ * 组件前缀: mathwiz-
4
+ */
5
+
6
+ /* ============================================
7
+ 主容器
8
+ ============================================ */
9
+
10
+ .mathwiz-copilot {
11
+ --copilot-header-height: 64px;
12
+ --copilot-input-height: auto;
13
+ --copilot-context-bar-height: auto;
14
+
15
+ display: flex;
16
+ flex-direction: column;
17
+ height: 100%;
18
+ min-height: 400px;
19
+ background-color: var(--background);
20
+ }
21
+
22
+ /* ============================================
23
+ Header
24
+ ============================================ */
25
+
26
+ .mathwiz-copilot-header {
27
+ height: var(--copilot-header-height);
28
+ flex-shrink: 0;
29
+ }
30
+
31
+ /* ============================================
32
+ Context Bar
33
+ ============================================ */
34
+
35
+ .mathwiz-context-bar {
36
+ flex-shrink: 0;
37
+ transition: all 0.2s ease;
38
+ }
39
+
40
+ .mathwiz-context-bar:hover {
41
+ box-shadow: var(--shadow-md);
42
+ }
43
+
44
+ /* ============================================
45
+ Chat Container
46
+ ============================================ */
47
+
48
+ .mathwiz-chat-container {
49
+ flex: 1;
50
+ overflow-y: auto;
51
+ scroll-behavior: smooth;
52
+ }
53
+
54
+ /* ============================================
55
+ Empty State
56
+ ============================================ */
57
+
58
+ .mathwiz-empty-state {
59
+ display: flex;
60
+ flex-direction: column;
61
+ align-items: center;
62
+ justify-content: center;
63
+ height: 100%;
64
+ padding: 2rem;
65
+ text-align: center;
66
+ }
67
+
68
+ /* ============================================
69
+ Chat Message
70
+ ============================================ */
71
+
72
+ .mathwiz-chat-message {
73
+ display: flex;
74
+ gap: 0.75rem;
75
+ padding: 1rem;
76
+ transition: background-color 0.2s ease;
77
+ }
78
+
79
+ .mathwiz-chat-message:hover {
80
+ background-color: var(--default-50);
81
+ }
82
+
83
+ .mathwiz-chat-message--user {
84
+ flex-direction: row-reverse;
85
+ }
86
+
87
+ .mathwiz-chat-message--assistant {
88
+ flex-direction: row;
89
+ }
90
+
91
+ .mathwiz-chat-bubble--user {
92
+ background-color: var(--primary-100);
93
+ color: var(--primary-900);
94
+ border-radius: 1rem 1rem 0.25rem 1rem;
95
+ }
96
+
97
+ .mathwiz-chat-bubble--assistant {
98
+ background-color: var(--default-100);
99
+ color: var(--default-900);
100
+ border-radius: 1rem 1rem 1rem 0.25rem;
101
+ }
102
+
103
+ .mathwiz-chat-avatar {
104
+ flex-shrink: 0;
105
+ }
106
+
107
+ .mathwiz-chat-image-preview {
108
+ width: 5rem;
109
+ height: 5rem;
110
+ border-radius: 0.5rem;
111
+ overflow: hidden;
112
+ border: 1px solid var(--default-200);
113
+ }
114
+
115
+ .mathwiz-chat-image-preview img {
116
+ width: 100%;
117
+ height: 100%;
118
+ object-fit: cover;
119
+ }
120
+
121
+ /* ============================================
122
+ Stream Message
123
+ ============================================ */
124
+
125
+ .mathwiz-stream-message {
126
+ display: flex;
127
+ gap: 0.75rem;
128
+ padding: 1rem;
129
+ }
130
+
131
+ .mathwiz-typing-indicator {
132
+ display: flex;
133
+ align-items: center;
134
+ gap: 0.25rem;
135
+ padding: 0.5rem 1rem;
136
+ }
137
+
138
+ .mathwiz-typing-indicator span {
139
+ width: 0.5rem;
140
+ height: 0.5rem;
141
+ border-radius: 50%;
142
+ background-color: var(--default-400);
143
+ animation: bounce 1s infinite;
144
+ }
145
+
146
+ .mathwiz-typing-indicator span:nth-child(2) {
147
+ animation-delay: 0.15s;
148
+ }
149
+
150
+ .mathwiz-typing-indicator span:nth-child(3) {
151
+ animation-delay: 0.3s;
152
+ }
153
+
154
+ @keyframes bounce {
155
+ 0%,
156
+ 80%,
157
+ 100% {
158
+ transform: translateY(0);
159
+ }
160
+ 40% {
161
+ transform: translateY(-0.25rem);
162
+ }
163
+ }
164
+
165
+ /* ============================================
166
+ Chat Input
167
+ ============================================ */
168
+
169
+ .mathwiz-chat-input {
170
+ flex-shrink: 0;
171
+ border-top: 1px solid var(--default-200);
172
+ background-color: var(--background);
173
+ }
174
+
175
+ .mathwiz-pending-image {
176
+ position: relative;
177
+ flex-shrink: 0;
178
+ width: 4rem;
179
+ height: 4rem;
180
+ border-radius: 0.5rem;
181
+ overflow: hidden;
182
+ border: 1px solid var(--default-200);
183
+ }
184
+
185
+ .mathwiz-pending-image img {
186
+ width: 100%;
187
+ height: 100%;
188
+ object-fit: cover;
189
+ }
190
+
191
+ .mathwiz-pending-image button {
192
+ position: absolute;
193
+ top: 0.125rem;
194
+ right: 0.125rem;
195
+ padding: 0.125rem;
196
+ background-color: rgba(0, 0, 0, 0.5);
197
+ border-radius: 50%;
198
+ color: white;
199
+ transition: background-color 0.2s ease;
200
+ }
201
+
202
+ .mathwiz-pending-image button:hover {
203
+ background-color: rgba(0, 0, 0, 0.7);
204
+ }
205
+
206
+ /* ============================================
207
+ Quick Actions
208
+ ============================================ */
209
+
210
+ .mathwiz-quick-actions {
211
+ flex-shrink: 0;
212
+ width: 100%;
213
+ }
214
+
215
+ .mathwiz-quick-action-btn {
216
+ flex-shrink: 0;
217
+ }
218
+
219
+ /* ============================================
220
+ Responsive
221
+ ============================================ */
222
+
223
+ @media (max-width: 640px) {
224
+ .mathwiz-chat-message {
225
+ padding: 0.75rem;
226
+ }
227
+
228
+ .mathwiz-chat-bubble--user,
229
+ .mathwiz-chat-bubble--assistant {
230
+ max-width: 90%;
231
+ }
232
+
233
+ .mathwiz-chat-image-preview {
234
+ width: 4rem;
235
+ height: 4rem;
236
+ }
237
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { AICopilotProps } from './types';
3
+ import './AICopilot.css';
4
+ /**
5
+ * AICopilot 主组件
6
+ * AI 数学助手容器组件,整合所有子组件
7
+ */
8
+ export declare const AICopilot: React.FC<AICopilotProps>;
9
+ export default AICopilot;
10
+ //# sourceMappingURL=AICopilot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AICopilot.d.ts","sourceRoot":"","sources":["../../../src/components/AICopilot/AICopilot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,SAAS,CAAC;AAY3D,OAAO,iBAAiB,CAAC;AA4DzB;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiG7C,CAAC;AAIH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ChatContainerProps } from '../types';
3
+ /**
4
+ * ChatContainer 组件
5
+ * 消息列表容器,管理消息渲染和空状态
6
+ */
7
+ export declare const ChatContainer: React.FC<ChatContainerProps>;
8
+ export default ChatContainer;
9
+ //# sourceMappingURL=ChatContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/AICopilot/components/ChatContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAgCnD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2DrD,CAAC;AAIH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ChatInputProps } from '../types';
3
+ /**
4
+ * ChatInput 组件
5
+ * 聊天输入框组合,包含图片上传、文本输入、发送/停止按钮
6
+ */
7
+ export declare const ChatInput: React.FC<ChatInputProps>;
8
+ export default ChatInput;
9
+ //# sourceMappingURL=ChatInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../src/components/AICopilot/components/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyK7C,CAAC;AAIH,eAAe,SAAS,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { ChatMessageComponentProps } from '../types';
3
+ /**
4
+ * ChatMessage 组件
5
+ * 渲染单条聊天消息,支持用户消息和AI助手消息
6
+ */
7
+ export declare const ChatMessage: React.FC<ChatMessageComponentProps>;
8
+ export default ChatMessage;
9
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/AICopilot/components/ChatMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAkB1D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAmG1D,CAAC;AAIH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { CollapsibleContextBarProps } from '../types';
3
+ /**
4
+ * CollapsibleContextBar 组件
5
+ * 可折叠的题目上下文信息条
6
+ */
7
+ export declare const CollapsibleContextBar: React.FC<CollapsibleContextBarProps>;
8
+ export default CollapsibleContextBar;
9
+ //# sourceMappingURL=CollapsibleContextBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleContextBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AICopilot/components/CollapsibleContextBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AA0B3D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAmFrE,CAAC;AAIH,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { QuickActionsProps } from '../types';
3
+ /**
4
+ * QuickActions 组件
5
+ * 快捷操作按钮组,横向滚动布局
6
+ */
7
+ export declare const QuickActions: React.FC<QuickActionsProps>;
8
+ export default QuickActions;
9
+ //# sourceMappingURL=QuickActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuickActions.d.ts","sourceRoot":"","sources":["../../../../src/components/AICopilot/components/QuickActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,UAAU,CAAC;AAsB/D;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmCnD,CAAC;AAIH,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { StreamMessageProps } from '../types';
3
+ /**
4
+ * StreamMessage 组件
5
+ * 渲染AI流式输出消息,包含打字指示器和流式内容
6
+ */
7
+ export declare const StreamMessage: React.FC<StreamMessageProps>;
8
+ export default StreamMessage;
9
+ //# sourceMappingURL=StreamMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/AICopilot/components/StreamMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AA0BnD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoDrD,CAAC;AAIH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { AICopilot } from './AICopilot';
2
+ export { default } from './AICopilot';
3
+ export { ChatMessage as ChatMessageComponent } from './components/ChatMessage';
4
+ export { StreamMessage } from './components/StreamMessage';
5
+ export { ChatInput } from './components/ChatInput';
6
+ export { QuickActions } from './components/QuickActions';
7
+ export { ChatContainer } from './components/ChatContainer';
8
+ export { CollapsibleContextBar } from './components/CollapsibleContextBar';
9
+ export { createAICopilotStore, useAICopilotStore, useInputState, useImageState, usePanelState, useAbortController, } from './store';
10
+ export type { MessageRole, IntentType, ImageStatus, UploadedImage, KnowledgePoint, ChatMessage, ProblemContext, QuickAction, AICopilotProps, ChatMessageComponentProps, StreamMessageProps, ChatInputProps, QuickActionsProps, ChatContainerProps, CollapsibleContextBarProps, AICopilotState, AICopilotActions, AICopilotStore, } from './types';
11
+ export { MessageRole as MessageRoleConst, IntentType as IntentTypeConst, ImageStatus as ImageStatusConst, DEFAULT_WELCOME_MESSAGE, DEFAULT_PLACEHOLDER, DEFAULT_MAX_IMAGES, DEFAULT_QUICK_ACTIONS, } from './types';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AICopilot/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAEV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,EAEX,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAE1B,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,WAAW,IAAI,gBAAgB,EAC/B,UAAU,IAAI,eAAe,EAC7B,WAAW,IAAI,gBAAgB,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { AICopilotStore } from './types';
2
+ /**
3
+ * 创建 AI Copilot Store 的工厂函数
4
+ * 每个调用返回独立的 store 实例,支持 Storybook 多故事状态隔离
5
+ */
6
+ export declare const createAICopilotStore: () => import("zustand").UseBoundStore<import("zustand").StoreApi<AICopilotStore>>;
7
+ /**
8
+ * 全局 AI Copilot Store 单例
9
+ * 用于向后兼容和简单场景
10
+ * 注意:在 Storybook 环境中,所有故事共享此全局 store 实例
11
+ */
12
+ export declare const useAICopilotStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AICopilotStore>>;
13
+ /**
14
+ * 自定义 Hook - 获取输入相关状态和操作
15
+ * 使用 useShallow 优化性能
16
+ */
17
+ export declare const useInputState: () => Pick<AICopilotStore, "inputValue" | "setInputValue" | "isInputFocused" | "setInputFocused" | "clearInput">;
18
+ /**
19
+ * 自定义 Hook - 获取图片相关状态和操作
20
+ */
21
+ export declare const useImageState: () => Pick<AICopilotStore, "pendingImages" | "addPendingImage" | "removePendingImage" | "clearPendingImages" | "updateImageStatus">;
22
+ /**
23
+ * 自定义 Hook - 获取面板相关状态和操作
24
+ */
25
+ export declare const usePanelState: () => Pick<AICopilotStore, "isContextBarCollapsed" | "isHistoryOpen" | "toggleContextBar" | "collapseContextBar" | "expandContextBar" | "setHistoryOpen" | "toggleHistory">;
26
+ /**
27
+ * 自定义 Hook - 获取 AbortController
28
+ */
29
+ export declare const useAbortController: () => Pick<AICopilotStore, "abortController" | "setAbortController">;
30
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/components/AICopilot/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,SAAS,CAAC;AAcjB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mFAgFhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,6EAAyB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,aAAa,kHAYzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,qIAYzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,6KAczB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,sEAS9B,CAAC"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * AI Copilot 组件类型定义
3
+ * 遵循设计规范: docs/specs/design/ai-copilot/design-spec.md
4
+ */
5
+ /**
6
+ * 消息角色类型
7
+ */
8
+ export declare const MessageRole: {
9
+ readonly USER: "user";
10
+ readonly ASSISTANT: "assistant";
11
+ readonly SYSTEM: "system";
12
+ };
13
+ export type MessageRole = typeof MessageRole[keyof typeof MessageRole];
14
+ /**
15
+ * 意图类型
16
+ */
17
+ export declare const IntentType: {
18
+ readonly HINT: "hint";
19
+ readonly EXPLANATION: "explanation";
20
+ readonly SOLUTION: "solution";
21
+ readonly FOLLOW_UP: "follow_up";
22
+ readonly GENERAL: "general";
23
+ };
24
+ export type IntentType = typeof IntentType[keyof typeof IntentType];
25
+ /**
26
+ * 图片上传状态
27
+ */
28
+ export declare const ImageStatus: {
29
+ readonly PENDING: "pending";
30
+ readonly UPLOADING: "uploading";
31
+ readonly SUCCESS: "success";
32
+ readonly ERROR: "error";
33
+ };
34
+ export type ImageStatus = typeof ImageStatus[keyof typeof ImageStatus];
35
+ /**
36
+ * 上传图片信息
37
+ */
38
+ export interface UploadedImage {
39
+ id: string;
40
+ url: string;
41
+ file?: File;
42
+ status: ImageStatus;
43
+ errorMessage?: string;
44
+ }
45
+ /**
46
+ * 知识点
47
+ */
48
+ export interface KnowledgePoint {
49
+ id: string;
50
+ name: string;
51
+ }
52
+ /**
53
+ * 聊天消息
54
+ */
55
+ export interface ChatMessage {
56
+ messageId: string;
57
+ role: MessageRole;
58
+ content: string;
59
+ timestamp: string;
60
+ intentType?: IntentType;
61
+ referencedProblemId?: string;
62
+ referencedProblemTitle?: string;
63
+ isStreaming?: boolean;
64
+ images?: UploadedImage[];
65
+ }
66
+ /**
67
+ * 题目上下文
68
+ */
69
+ export interface ProblemContext {
70
+ problemId: string;
71
+ title: string;
72
+ difficulty: number;
73
+ knowledgePoints: KnowledgePoint[];
74
+ }
75
+ /**
76
+ * 快捷操作
77
+ */
78
+ export interface QuickAction {
79
+ id: string;
80
+ label: string;
81
+ message: string;
82
+ icon?: string;
83
+ }
84
+ /**
85
+ * AI Copilot 主组件 Props
86
+ */
87
+ export interface AICopilotProps {
88
+ messages: ChatMessage[];
89
+ problemContext?: ProblemContext;
90
+ sessionId?: string | null;
91
+ isStreaming?: boolean;
92
+ streamingContent?: string;
93
+ onSendMessage: (message: string, options?: {
94
+ problemId?: string;
95
+ images?: UploadedImage[];
96
+ }) => void;
97
+ onAbortStreaming?: () => void;
98
+ onLoadHistory?: () => void;
99
+ onNewSession?: () => void;
100
+ onChangeProblem?: () => void;
101
+ onImageUpload?: (file: File) => Promise<UploadedImage>;
102
+ quickActions?: QuickAction[];
103
+ welcomeMessage?: string;
104
+ placeholder?: string;
105
+ maxImages?: number;
106
+ className?: string;
107
+ theme?: 'light' | 'dark';
108
+ }
109
+ /**
110
+ * ChatMessage 组件 Props
111
+ */
112
+ export interface ChatMessageComponentProps {
113
+ message: ChatMessage;
114
+ showProblemTag?: boolean;
115
+ className?: string;
116
+ }
117
+ /**
118
+ * StreamMessage 组件 Props
119
+ */
120
+ export interface StreamMessageProps {
121
+ content: string;
122
+ className?: string;
123
+ }
124
+ /**
125
+ * ChatInput 组件 Props
126
+ */
127
+ export interface ChatInputProps {
128
+ value: string;
129
+ onChange: (value: string) => void;
130
+ onSend: () => void;
131
+ onAbort?: () => void;
132
+ isStreaming?: boolean;
133
+ pendingImages: UploadedImage[];
134
+ onImageAdd: (image: UploadedImage) => void;
135
+ onImageRemove: (imageId: string) => void;
136
+ onImageUpload?: (file: File) => Promise<UploadedImage>;
137
+ placeholder?: string;
138
+ maxImages?: number;
139
+ disabled?: boolean;
140
+ className?: string;
141
+ }
142
+ /**
143
+ * QuickActions 组件 Props
144
+ */
145
+ export interface QuickActionsProps {
146
+ actions: QuickAction[];
147
+ onActionClick: (action: QuickAction) => void;
148
+ className?: string;
149
+ }
150
+ /**
151
+ * ChatContainer 组件 Props
152
+ */
153
+ export interface ChatContainerProps {
154
+ messages: ChatMessage[];
155
+ isStreaming?: boolean;
156
+ streamingContent?: string;
157
+ welcomeMessage?: string;
158
+ className?: string;
159
+ }
160
+ /**
161
+ * CollapsibleContextBar 组件 Props
162
+ */
163
+ export interface CollapsibleContextBarProps {
164
+ problemContext: ProblemContext;
165
+ isCollapsed: boolean;
166
+ onToggle: () => void;
167
+ onChangeProblem?: () => void;
168
+ className?: string;
169
+ }
170
+ /**
171
+ * AI Copilot UI 状态
172
+ */
173
+ export interface AICopilotState {
174
+ inputValue: string;
175
+ isInputFocused: boolean;
176
+ pendingImages: UploadedImage[];
177
+ isContextBarCollapsed: boolean;
178
+ isHistoryOpen: boolean;
179
+ abortController: AbortController | null;
180
+ }
181
+ /**
182
+ * AI Copilot UI 操作
183
+ */
184
+ export interface AICopilotActions {
185
+ setInputValue: (value: string) => void;
186
+ setInputFocused: (focused: boolean) => void;
187
+ clearInput: () => void;
188
+ addPendingImage: (image: UploadedImage) => void;
189
+ removePendingImage: (imageId: string) => void;
190
+ clearPendingImages: () => void;
191
+ updateImageStatus: (imageId: string, status: ImageStatus) => void;
192
+ toggleContextBar: () => void;
193
+ collapseContextBar: () => void;
194
+ expandContextBar: () => void;
195
+ setHistoryOpen: (open: boolean) => void;
196
+ toggleHistory: () => void;
197
+ setAbortController: (controller: AbortController | null) => void;
198
+ }
199
+ /**
200
+ * 完整的 Store 类型
201
+ */
202
+ export type AICopilotStore = AICopilotState & AICopilotActions;
203
+ /**
204
+ * 默认欢迎消息
205
+ */
206
+ export declare const DEFAULT_WELCOME_MESSAGE = "\u4F60\u597D\uFF01\u6211\u662F\u4F60\u7684\u6570\u5B66\u5B66\u4E60\u52A9\u624B\u3002\u4F60\u53EF\u4EE5\u95EE\u6211\u4EFB\u4F55\u6570\u5B66\u95EE\u9898\uFF0C\u6216\u8005\u4E0A\u4F20\u9898\u76EE\u56FE\u7247\u8BA9\u6211\u5E2E\u4F60\u89E3\u7B54\u3002";
207
+ /**
208
+ * 默认输入框占位符
209
+ */
210
+ export declare const DEFAULT_PLACEHOLDER = "\u8F93\u5165\u6D88\u606F...";
211
+ /**
212
+ * 默认最大图片数量
213
+ */
214
+ export declare const DEFAULT_MAX_IMAGES = 4;
215
+ /**
216
+ * 默认快捷操作
217
+ */
218
+ export declare const DEFAULT_QUICK_ACTIONS: QuickAction[];
219
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/AICopilot/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;CAMb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAE7B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,CACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;KAC1B,KACE,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAGvD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAE7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IAGxB,aAAa,EAAE,aAAa,EAAE,CAAC;IAG/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IAGvB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAE/B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,MAAM,IAAI,CAAC;IAGvB,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAGlE,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,MAAM,IAAI,CAAC;IAG1B,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAM/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,2PAA8C,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,mBAAmB,gCAAY,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAK9C,CAAC"}
@@ -44,6 +44,14 @@
44
44
  outline-offset: 1px;
45
45
  }
46
46
 
47
+ /* 数字文本样式 */
48
+ .hundred-chart-cell-text {
49
+ font-family: var(--hundred-chart-font-family, system-ui, -apple-system, sans-serif);
50
+ font-weight: var(--hundred-chart-font-weight, 500);
51
+ user-select: none;
52
+ pointer-events: none;
53
+ }
54
+
47
55
  /* 高对比度模式支持 */
48
56
  @media (prefers-contrast: high) {
49
57
  .hundred-chart-cell {
@@ -1 +1 @@
1
- {"version":3,"file":"HundredChart.d.ts","sourceRoot":"","sources":["../../../src/components/HundredChart/HundredChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,sBAAsB,CAAC;AASxE,OAAO,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwK7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"HundredChart.d.ts","sourceRoot":"","sources":["../../../src/components/HundredChart/HundredChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,sBAAsB,CAAC;AAUxE,OAAO,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0M7C,CAAC;AAEF,eAAe,YAAY,CAAC"}