@mathwiz/ui-components 0.1.7 → 0.1.8

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 (133) hide show
  1. package/README.md +11 -1
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/components/EquationRender/EquationRender.d.ts +6 -0
  4. package/dist/components/EquationRender/EquationRender.d.ts.map +1 -0
  5. package/dist/components/EquationRender/index.d.ts +3 -0
  6. package/dist/components/EquationRender/index.d.ts.map +1 -0
  7. package/dist/components/EquationRender/types.d.ts +40 -0
  8. package/dist/components/EquationRender/types.d.ts.map +1 -0
  9. package/dist/components/MathCard/MathCard.d.ts +14 -0
  10. package/dist/components/MathCard/MathCard.d.ts.map +1 -0
  11. package/dist/components/MathCard/MathCard.types.d.ts +151 -0
  12. package/dist/components/MathCard/MathCard.types.d.ts.map +1 -0
  13. package/dist/components/MathCard/components/AnswerInput.d.ts +4 -0
  14. package/dist/components/MathCard/components/AnswerInput.d.ts.map +1 -0
  15. package/dist/components/MathCard/components/Banner.d.ts +4 -0
  16. package/dist/components/MathCard/components/Banner.d.ts.map +1 -0
  17. package/dist/components/MathCard/components/Divider.d.ts +4 -0
  18. package/dist/components/MathCard/components/Divider.d.ts.map +1 -0
  19. package/dist/components/MathCard/components/ErrorState.d.ts +4 -0
  20. package/dist/components/MathCard/components/ErrorState.d.ts.map +1 -0
  21. package/dist/components/MathCard/components/Explanation.d.ts +4 -0
  22. package/dist/components/MathCard/components/Explanation.d.ts.map +1 -0
  23. package/dist/components/MathCard/components/LoadingState.d.ts +4 -0
  24. package/dist/components/MathCard/components/LoadingState.d.ts.map +1 -0
  25. package/dist/components/MathCard/components/Question.d.ts +4 -0
  26. package/dist/components/MathCard/components/Question.d.ts.map +1 -0
  27. package/dist/components/MathCard/components/ReviewContent.d.ts +4 -0
  28. package/dist/components/MathCard/components/ReviewContent.d.ts.map +1 -0
  29. package/dist/components/MathCard/components/SubmitButton.d.ts +4 -0
  30. package/dist/components/MathCard/components/SubmitButton.d.ts.map +1 -0
  31. package/dist/components/MathCard/context.d.ts +11 -0
  32. package/dist/components/MathCard/context.d.ts.map +1 -0
  33. package/dist/components/MathCard/index.d.ts +7 -0
  34. package/dist/components/MathCard/index.d.ts.map +1 -0
  35. package/dist/components/MathCard/styles.d.ts +83 -0
  36. package/dist/components/MathCard/styles.d.ts.map +1 -0
  37. package/dist/components/MathCard/utils/contentRenderer.d.ts +40 -0
  38. package/dist/components/MathCard/utils/contentRenderer.d.ts.map +1 -0
  39. package/dist/components/MathCard/utils/templateParser.d.ts +44 -0
  40. package/dist/components/MathCard/utils/templateParser.d.ts.map +1 -0
  41. package/dist/components/MathGraph/GraphContainer.d.ts +11 -0
  42. package/dist/components/MathGraph/GraphContainer.d.ts.map +1 -0
  43. package/dist/components/MathGraph/MathGraph.d.ts +8 -0
  44. package/dist/components/MathGraph/MathGraph.d.ts.map +1 -0
  45. package/dist/components/MathGraph/MathGraphErrorBoundary.d.ts +19 -0
  46. package/dist/components/MathGraph/MathGraphErrorBoundary.d.ts.map +1 -0
  47. package/dist/components/MathGraph/index.d.ts +10 -0
  48. package/dist/components/MathGraph/index.d.ts.map +1 -0
  49. package/dist/components/MathGraph/types.d.ts +77 -0
  50. package/dist/components/MathGraph/types.d.ts.map +1 -0
  51. package/dist/components/MathGraph/utils/boundingBoxCalculator.d.ts +31 -0
  52. package/dist/components/MathGraph/utils/boundingBoxCalculator.d.ts.map +1 -0
  53. package/dist/components/MathGraph/utils/debugBoundingBox.d.ts +9 -0
  54. package/dist/components/MathGraph/utils/debugBoundingBox.d.ts.map +1 -0
  55. package/dist/components/MathGraph/utils/manualCalculation.d.ts +54 -0
  56. package/dist/components/MathGraph/utils/manualCalculation.d.ts.map +1 -0
  57. package/dist/components/MathGraph/utils/realTimeTest.d.ts +7 -0
  58. package/dist/components/MathGraph/utils/realTimeTest.d.ts.map +1 -0
  59. package/dist/components/MathGraph/utils/testBoundingBox.d.ts +5 -0
  60. package/dist/components/MathGraph/utils/testBoundingBox.d.ts.map +1 -0
  61. package/dist/components/MathGraph/utils/testRefResolution.d.ts +5 -0
  62. package/dist/components/MathGraph/utils/testRefResolution.d.ts.map +1 -0
  63. package/dist/components/MathSessionContainer/MathSessionContainer.d.ts +18 -0
  64. package/dist/components/MathSessionContainer/MathSessionContainer.d.ts.map +1 -0
  65. package/dist/components/MathSessionContainer/MathSessionContainer.types.d.ts +45 -0
  66. package/dist/components/MathSessionContainer/MathSessionContainer.types.d.ts.map +1 -0
  67. package/dist/components/MathSessionContainer/hooks/index.d.ts +7 -0
  68. package/dist/components/MathSessionContainer/hooks/index.d.ts.map +1 -0
  69. package/dist/components/MathSessionContainer/hooks/useGeometryManagement.d.ts +17 -0
  70. package/dist/components/MathSessionContainer/hooks/useGeometryManagement.d.ts.map +1 -0
  71. package/dist/components/MathSessionContainer/hooks/useSessionCalculations.d.ts +17 -0
  72. package/dist/components/MathSessionContainer/hooks/useSessionCalculations.d.ts.map +1 -0
  73. package/dist/components/MathSessionContainer/hooks/useSessionEventHandlers.d.ts +17 -0
  74. package/dist/components/MathSessionContainer/hooks/useSessionEventHandlers.d.ts.map +1 -0
  75. package/dist/components/MathSessionContainer/index.d.ts +3 -0
  76. package/dist/components/MathSessionContainer/index.d.ts.map +1 -0
  77. package/dist/config/types.d.ts.map +1 -1
  78. package/dist/data-sources/api-data-source.d.ts +2 -1
  79. package/dist/data-sources/api-data-source.d.ts.map +1 -1
  80. package/dist/data-sources/custom-data-source.d.ts +2 -1
  81. package/dist/data-sources/custom-data-source.d.ts.map +1 -1
  82. package/dist/data-sources/mock-data-source.d.ts +2 -1
  83. package/dist/data-sources/mock-data-source.d.ts.map +1 -1
  84. package/dist/index.cjs +683 -23
  85. package/dist/index.cjs.map +1 -1
  86. package/dist/index.d.ts +13 -0
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.mjs +67814 -2302
  89. package/dist/index.mjs.map +1 -1
  90. package/dist/mockServiceWorker.js +348 -344
  91. package/dist/mocks/handlers.d.ts.map +1 -1
  92. package/dist/pages/MathSessionPage/MathSessionPage.d.ts +6 -0
  93. package/dist/pages/MathSessionPage/MathSessionPage.d.ts.map +1 -0
  94. package/dist/pages/MathSessionPage/index.d.ts +3 -0
  95. package/dist/pages/MathSessionPage/index.d.ts.map +1 -0
  96. package/dist/pages/MathSessionPage/types.d.ts +72 -0
  97. package/dist/pages/MathSessionPage/types.d.ts.map +1 -0
  98. package/dist/pages/TestPage/TestPage.d.ts +8 -0
  99. package/dist/pages/TestPage/TestPage.d.ts.map +1 -0
  100. package/dist/stores/mathSessionStore.d.ts +79 -0
  101. package/dist/stores/mathSessionStore.d.ts.map +1 -0
  102. package/package.json +18 -8
  103. package/dist/App.css +0 -570
  104. package/dist/components/Button/Button.css +0 -214
  105. package/dist/components/ContentAccordion/ContentAccordion.css +0 -268
  106. package/dist/components/HeroUISideNavigation.d.ts +0 -17
  107. package/dist/components/HeroUISideNavigation.d.ts.map +0 -1
  108. package/dist/components/MathWizHeader/MathWizHeader.css +0 -333
  109. package/dist/components/SideNavigation.d.ts +0 -24
  110. package/dist/components/SideNavigation.d.ts.map +0 -1
  111. package/dist/components/SideNavigationHU.d.ts +0 -17
  112. package/dist/components/SideNavigationHU.d.ts.map +0 -1
  113. package/dist/components/Sidebar/Sidebar.css +0 -207
  114. package/dist/components/Submenu/Submenu.css +0 -98
  115. package/dist/components/UserProfile/UserProfile.css +0 -141
  116. package/dist/components/components.css +0 -222
  117. package/dist/components/gradeNavigate/GradeNavigatePage.d.ts +0 -5
  118. package/dist/components/gradeNavigate/GradeNavigatePage.d.ts.map +0 -1
  119. package/dist/components/gradeNavigate/GradeNavigatePagePresentational.d.ts +0 -20
  120. package/dist/components/gradeNavigate/GradeNavigatePagePresentational.d.ts.map +0 -1
  121. package/dist/components/gradeNavigate/HeaderContainer.d.ts +0 -13
  122. package/dist/components/gradeNavigate/HeaderContainer.d.ts.map +0 -1
  123. package/dist/components/gradeNavigate/HeaderPresentational.d.ts +0 -23
  124. package/dist/components/gradeNavigate/HeaderPresentational.d.ts.map +0 -1
  125. package/dist/components/gradeNavigate/index.d.ts +0 -7
  126. package/dist/components/gradeNavigate/index.d.ts.map +0 -1
  127. package/dist/components/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.module.css +0 -60
  128. package/dist/index.css +0 -63
  129. package/dist/pages/GradeUnitBrowserPage/GradeUnitBrowserPage.css +0 -250
  130. package/dist/stories/button.css +0 -30
  131. package/dist/stories/header.css +0 -32
  132. package/dist/stories/page.css +0 -68
  133. package/dist/styles/index.css +0 -154
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ## 📦 组件库信息
6
6
 
7
7
  - **包名**: `@mathwiz/ui-components`
8
- - **版本**: 0.1.6
8
+ - **版本**: 0.1.8
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)
@@ -66,6 +66,16 @@ taskkill //F //PID <PID>
66
66
  - **GradeUnitBrowserPage** - 年级单元浏览页面
67
67
  - **GradeUnitBrowserProvider** - 年级单元浏览上下文
68
68
 
69
+ ### 数学练习组件
70
+ - **MathSessionPage** - 完整的数学练习页面
71
+ - **MathSessionContainer** - 数学练习业务容器
72
+ - **MathCard** - 题目展示组件
73
+ - **MathGraph** - 几何图形组件
74
+ - **useSessionStore** - 数学练习状态管理
75
+ - **useSessionCalculations** - 会话计算 Hook
76
+ - **useGeometryManagement** - 几何图形管理 Hook
77
+ - **useSessionEventHandlers** - 事件处理 Hook
78
+
69
79
  ### 数据与工具
70
80
  - **数据类型** - 完整的 TypeScript 类型定义
71
81
  - **工具函数** - 几何计算等工具函数
package/dist/App.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAIA,OAAO,WAAW,CAAC;AAEnB,iBAAS,GAAG,4CAuBX;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAMA,OAAO,WAAW,CAAC;AAEnB,iBAAS,GAAG,4CA8BX;AAED,eAAe,GAAG,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import './EquationRender.css';
3
+ import type { EquationRenderProps } from './types';
4
+ declare const EquationRender: React.FC<EquationRenderProps>;
5
+ export default EquationRender;
6
+ //# sourceMappingURL=EquationRender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EquationRender.d.ts","sourceRoot":"","sources":["../../../src/components/EquationRender/EquationRender.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAWnD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8EjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default } from './EquationRender';
2
+ export type { EquationRenderProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EquationRender/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * EquationRender 组件的 Props 接口定义
4
+ */
5
+ export interface EquationRenderProps {
6
+ /**
7
+ * LaTeX 字符串数组,用于分割插槽位置
8
+ * 每个字符串元素之间会插入 children 插槽内容
9
+ * 例如: ['A = \\pi', '^2'] 配合一个输入框将渲染 "A = π [输入框] ²"
10
+ */
11
+ parts: string[];
12
+ /**
13
+ * 待嵌入的插槽内容,可以是任意有效的 React 节点
14
+ * 支持单个元素或元素数组,数量应与 parts.length - 1 匹配
15
+ */
16
+ children: ReactNode | ReactNode[];
17
+ /**
18
+ * 组件根元素的字体大小
19
+ * @default '1rem'
20
+ */
21
+ fontSize?: string;
22
+ /**
23
+ * 组件的整体文本颜色
24
+ * @default '#333333'
25
+ */
26
+ color?: string;
27
+ /**
28
+ * KaTeX 的显示模式
29
+ * false: 内联模式 (公式作为文本的一部分)
30
+ * true: 块级模式 (公式独立成行并居中显示)
31
+ * @default false
32
+ */
33
+ displayMode?: boolean;
34
+ /**
35
+ * 应用于组件根元素的自定义 CSS 类名
36
+ * @default ''
37
+ */
38
+ className?: string;
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/EquationRender/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;;OAGG;IACH,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { MathCardProps, BannerProps, QuestionProps, AnswerInputProps, SubmitButtonProps, ExplanationProps, ReviewContentProps, LoadingStateProps, ErrorStateProps, DividerProps } from './MathCard.types';
3
+ export declare const MathCard: React.FC<MathCardProps> & {
4
+ Banner: React.FC<BannerProps>;
5
+ Question: React.FC<QuestionProps>;
6
+ AnswerInput: React.FC<AnswerInputProps>;
7
+ SubmitButton: React.FC<SubmitButtonProps>;
8
+ Explanation: React.FC<ExplanationProps>;
9
+ ReviewContent: React.FC<ReviewContentProps>;
10
+ LoadingState: React.FC<LoadingStateProps>;
11
+ ErrorState: React.FC<ErrorStateProps>;
12
+ Divider: React.FC<DividerProps>;
13
+ };
14
+ //# sourceMappingURL=MathCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathCard.d.ts","sourceRoot":"","sources":["../../../src/components/MathCard/MathCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAGlB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAokB1B,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;IAC/C,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAClC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACxC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACxC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAC5C,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC1C,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;CAuDjC,CAAC"}
@@ -0,0 +1,151 @@
1
+ export type ProblemType = 'fill-in-the-blank' | 'multiple-choice' | 'calculation';
2
+ export type ContentType = 'text' | 'formula' | 'image';
3
+ export type ExplanationStepType = 'instruction' | 'text' | 'formula' | 'conclusion' | 'image' | 'table';
4
+ export type MathCardScene = 'question' | 'solve' | 'review';
5
+ export type DifficultyLevel = 1 | 2 | 3 | 4 | 5;
6
+ export type ScoreValue = 1 | 2 | 3;
7
+ export interface ContentBlock {
8
+ type: ContentType;
9
+ content: string;
10
+ }
11
+ export interface Option {
12
+ id: string;
13
+ content: ContentBlock[];
14
+ }
15
+ export interface Hint {
16
+ content: string;
17
+ }
18
+ export interface ExplanationStep {
19
+ id: string;
20
+ type: ExplanationStepType;
21
+ content: string;
22
+ style?: {
23
+ color?: string;
24
+ fontWeight?: string;
25
+ };
26
+ meta?: Record<string, any>;
27
+ }
28
+ export interface ReviewStep {
29
+ id: string;
30
+ type: ExplanationStepType;
31
+ content: string;
32
+ style?: {
33
+ color?: string;
34
+ fontWeight?: string;
35
+ };
36
+ meta?: Record<string, any>;
37
+ }
38
+ export interface ReviewContent {
39
+ reviewTemplate?: string;
40
+ reviewExplanation?: ReviewStep[];
41
+ }
42
+ export interface MathProblemData {
43
+ problemId: string;
44
+ grade: number;
45
+ unit: string;
46
+ lesson?: string;
47
+ difficulty?: DifficultyLevel;
48
+ score?: ScoreValue;
49
+ knowledgePoints?: string[];
50
+ skills?: string[];
51
+ problemType: ProblemType;
52
+ question: ContentBlock[];
53
+ answer: {
54
+ correctAnswer: string[];
55
+ options?: Option[];
56
+ };
57
+ hints?: Hint[];
58
+ explanation?: ExplanationStep[];
59
+ reviewContent?: ReviewContent;
60
+ }
61
+ export interface SubmissionResult {
62
+ userAnswer: string[];
63
+ isCorrect: boolean;
64
+ feedback: string;
65
+ }
66
+ export interface MathCardConfig {
67
+ showBanner?: boolean;
68
+ bannerPosition?: 'sidebar' | 'header';
69
+ bannerSize?: 'small' | 'medium' | 'large';
70
+ bannerCustomStyle?: {
71
+ color?: string;
72
+ bgColor?: string;
73
+ fontSize?: string;
74
+ };
75
+ inputPlaceholder?: string;
76
+ submitButtonText?: string;
77
+ nextButtonText?: string;
78
+ retryButtonText?: string;
79
+ showHints?: boolean;
80
+ theme?: 'light' | 'dark';
81
+ }
82
+ export interface MathCardProps {
83
+ problemData?: MathProblemData;
84
+ scene: MathCardScene;
85
+ loading?: boolean;
86
+ error?: string | Error;
87
+ submissionResult?: SubmissionResult;
88
+ onAnswerChange?: (answer: string[], problemType: ProblemType) => void;
89
+ onSubmit?: (currentAnswer?: string[]) => void;
90
+ onNext?: (currentProblemId: string) => void;
91
+ onRetry?: (problemId: string) => void;
92
+ onErrorRetry?: (errorInfo: string | Error) => void;
93
+ onHintToggle?: (hintIndex: number, isExpanded: boolean) => void;
94
+ config?: MathCardConfig;
95
+ children?: React.ReactNode;
96
+ }
97
+ export interface BannerProps {
98
+ scene: MathCardScene;
99
+ position?: 'sidebar' | 'header';
100
+ size?: 'small' | 'medium' | 'large';
101
+ color?: string;
102
+ bgColor?: string;
103
+ hidden?: boolean;
104
+ }
105
+ export interface QuestionProps {
106
+ question: ContentBlock[];
107
+ problemType: ProblemType;
108
+ }
109
+ export interface AnswerInputProps {
110
+ problemType: ProblemType;
111
+ options?: Option[];
112
+ value?: string[];
113
+ onChange?: (answer: string[]) => void;
114
+ placeholder?: string;
115
+ }
116
+ export interface SubmitButtonProps {
117
+ onClick: () => void;
118
+ children: React.ReactNode;
119
+ disabled?: boolean;
120
+ loading?: boolean;
121
+ }
122
+ export interface ExplanationProps {
123
+ steps: ExplanationStep[];
124
+ title?: string;
125
+ }
126
+ export interface ReviewContentProps {
127
+ reviewContent: ReviewContent;
128
+ userAnswer: string[];
129
+ correctAnswer: string[];
130
+ }
131
+ export interface FeedbackProps {
132
+ submissionResult: SubmissionResult;
133
+ onRetry?: () => void;
134
+ onNext?: () => void;
135
+ }
136
+ export interface HintsProps {
137
+ hints: Hint[];
138
+ onToggle?: (hintIndex: number, isExpanded: boolean) => void;
139
+ }
140
+ export interface LoadingStateProps {
141
+ type?: 'skeleton' | 'spinner';
142
+ }
143
+ export interface ErrorStateProps {
144
+ error: string | Error;
145
+ onRetry?: (errorInfo: string | Error) => void;
146
+ }
147
+ export interface DividerProps {
148
+ orientation?: 'horizontal' | 'vertical';
149
+ size?: 'small' | 'medium' | 'large';
150
+ }
151
+ //# sourceMappingURL=MathCard.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathCard.types.d.ts","sourceRoot":"","sources":["../../../src/components/MathCard/MathCard.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { AnswerInputProps } from '../MathCard.types';
3
+ export declare const AnswerInput: React.FC<AnswerInputProps>;
4
+ //# sourceMappingURL=AnswerInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnswerInput.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/AnswerInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2DlD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { BannerProps } from '../MathCard.types';
3
+ export declare const Banner: React.FC<BannerProps>;
4
+ //# sourceMappingURL=Banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuExC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { DividerProps } from '../MathCard.types';
3
+ export declare const Divider: React.FC<DividerProps>;
4
+ //# sourceMappingURL=Divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/Divider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAoC1C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ErrorStateProps } from '../MathCard.types';
3
+ export declare const ErrorState: React.FC<ErrorStateProps>;
4
+ //# sourceMappingURL=ErrorState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorState.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/ErrorState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgBhD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ExplanationProps } from '../MathCard.types';
3
+ export declare const Explanation: React.FC<ExplanationProps>;
4
+ //# sourceMappingURL=Explanation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Explanation.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/Explanation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAalD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { LoadingStateProps } from '../MathCard.types';
3
+ export declare const LoadingState: React.FC<LoadingStateProps>;
4
+ //# sourceMappingURL=LoadingState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingState.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/LoadingState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { QuestionProps } from '../MathCard.types';
3
+ export declare const Question: React.FC<QuestionProps>;
4
+ //# sourceMappingURL=Question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/Question.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAM5C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ReviewContentProps } from '../MathCard.types';
3
+ export declare const ReviewContent: React.FC<ReviewContentProps>;
4
+ //# sourceMappingURL=ReviewContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReviewContent.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/ReviewContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8BtD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SubmitButtonProps } from '../MathCard.types';
3
+ export declare const SubmitButton: React.FC<SubmitButtonProps>;
4
+ //# sourceMappingURL=SubmitButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubmitButton.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/components/SubmitButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAepD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { MathProblemData, MathCardScene, SubmissionResult, MathCardConfig } from './MathCard.types';
3
+ export interface MathCardContextType {
4
+ problemData?: MathProblemData;
5
+ scene: MathCardScene;
6
+ submissionResult?: SubmissionResult;
7
+ config?: MathCardConfig;
8
+ }
9
+ export declare const MathCardContext: React.Context<MathCardContextType | undefined>;
10
+ export declare const useMathCardContext: () => MathCardContextType;
11
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/MathCard/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,gDAAkE,CAAC;AAE/F,eAAO,MAAM,kBAAkB,2BAM9B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { MathCard } from './MathCard';
2
+ export type { MathCardProps, MathProblemData, MathCardScene, ProblemType, ContentType, ExplanationStepType, DifficultyLevel, ScoreValue, ContentBlock, Option, Hint, ExplanationStep, ReviewStep, ReviewContent, SubmissionResult, MathCardConfig, BannerProps, QuestionProps, AnswerInputProps, SubmitButtonProps, ExplanationProps, ReviewContentProps, FeedbackProps, HintsProps, LoadingStateProps, ErrorStateProps, DividerProps } from './MathCard.types';
3
+ export { MathCardContext, useMathCardContext } from './context';
4
+ export { parseTemplate, renderContentBlock, renderContentBlocks, getSceneText, getDifficultyText, validateProblemData } from './utils/templateParser';
5
+ export { renderExplanationStep, renderExplanationSteps, renderReviewStep, renderReviewSteps, getStepIcon, formatAnswer } from './utils/contentRenderer';
6
+ export { tokens } from './styles';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MathCard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,YAAY,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,eAAe,EACf,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACb,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,83 @@
1
+ export declare const tokens: {
2
+ colors: {
3
+ text: {
4
+ primary: string;
5
+ secondary: string;
6
+ light: string;
7
+ };
8
+ background: {
9
+ card: string;
10
+ feedbackCorrect: string;
11
+ feedbackIncorrect: string;
12
+ };
13
+ border: {
14
+ default: string;
15
+ };
16
+ scene: {
17
+ solve: string;
18
+ review: string;
19
+ question: string;
20
+ };
21
+ };
22
+ typography: {
23
+ fontFamily: string;
24
+ fontSizeBase: string;
25
+ fontSizeLarge: string;
26
+ fontSizeSmall: string;
27
+ };
28
+ spacing: {
29
+ sm: string;
30
+ md: string;
31
+ lg: string;
32
+ xl: string;
33
+ };
34
+ borderRadius: {
35
+ card: string;
36
+ button: string;
37
+ input: string;
38
+ };
39
+ shadows: {
40
+ card: string;
41
+ button: string;
42
+ };
43
+ };
44
+ export declare const StyledCard: import("@emotion/utils").SerializedStyles;
45
+ export declare const bannerStyles: {
46
+ base: import("@emotion/utils").SerializedStyles;
47
+ sizes: {
48
+ small: import("@emotion/utils").SerializedStyles;
49
+ medium: import("@emotion/utils").SerializedStyles;
50
+ large: import("@emotion/utils").SerializedStyles;
51
+ };
52
+ positions: {
53
+ header: import("@emotion/utils").SerializedStyles;
54
+ sidebar: import("@emotion/utils").SerializedStyles;
55
+ };
56
+ scenes: {
57
+ question: import("@emotion/utils").SerializedStyles;
58
+ solve: import("@emotion/utils").SerializedStyles;
59
+ review: import("@emotion/utils").SerializedStyles;
60
+ };
61
+ };
62
+ export declare const questionStyles: import("@emotion/utils").SerializedStyles;
63
+ export declare const answerInputStyles: {
64
+ container: import("@emotion/utils").SerializedStyles;
65
+ input: import("@emotion/utils").SerializedStyles;
66
+ options: import("@emotion/utils").SerializedStyles;
67
+ option: import("@emotion/utils").SerializedStyles;
68
+ };
69
+ export declare const feedbackStyles: {
70
+ container: import("@emotion/utils").SerializedStyles;
71
+ correct: import("@emotion/utils").SerializedStyles;
72
+ incorrect: import("@emotion/utils").SerializedStyles;
73
+ };
74
+ export declare const loadingStyles: {
75
+ skeleton: import("@emotion/utils").SerializedStyles;
76
+ spinner: import("@emotion/utils").SerializedStyles;
77
+ };
78
+ export declare const errorStyles: import("@emotion/utils").SerializedStyles;
79
+ export declare const dividerStyles: {
80
+ horizontal: import("@emotion/utils").SerializedStyles;
81
+ vertical: import("@emotion/utils").SerializedStyles;
82
+ };
83
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/components/MathCard/styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBlB,CAAC;AAGF,eAAO,MAAM,UAAU,2CAYtB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;CAgDxB,CAAC;AAGF,eAAO,MAAM,cAAc,2CAuB1B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;CAsC7B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;CAc1B,CAAC;AAGF,eAAO,MAAM,aAAa;;;CA0CzB,CAAC;AAGF,eAAO,MAAM,WAAW,2CAuBvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;CA2BzB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import type { ExplanationStep, ExplanationStepType, ReviewStep } from '../MathCard.types';
3
+ /**
4
+ * 渲染解题步骤
5
+ * @param step 解题步骤
6
+ * @returns 渲染后的React元素
7
+ */
8
+ export declare const renderExplanationStep: (step: ExplanationStep) => React.ReactNode;
9
+ /**
10
+ * 渲染复习步骤
11
+ * @param step 复习步骤
12
+ * @returns 渲染后的React元素
13
+ */
14
+ export declare const renderReviewStep: (step: ReviewStep) => React.ReactNode;
15
+ /**
16
+ * 渲染解题步骤数组
17
+ * @param steps 解题步骤数组
18
+ * @returns 渲染后的React元素数组
19
+ */
20
+ export declare const renderExplanationSteps: (steps: ExplanationStep[]) => React.ReactNode[];
21
+ /**
22
+ * 渲染复习步骤数组
23
+ * @param steps 复习步骤数组
24
+ * @returns 渲染后的React元素数组
25
+ */
26
+ export declare const renderReviewSteps: (steps: ReviewStep[]) => React.ReactNode[];
27
+ /**
28
+ * 获取步骤类型图标
29
+ * @param type 步骤类型
30
+ * @returns 图标组件
31
+ */
32
+ export declare const getStepIcon: (type: ExplanationStepType) => string;
33
+ /**
34
+ * 格式化答案显示
35
+ * @param answer 答案数组
36
+ * @param problemType 问题类型
37
+ * @returns 格式化后的答案字符串
38
+ */
39
+ export declare const formatAnswer: (answer: string[], problemType: "fill-in-the-blank" | "multiple-choice" | "calculation") => string;
40
+ //# sourceMappingURL=contentRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/utils/contentRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,eAAe,KAAG,KAAK,CAAC,SA2EnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU,KAAG,KAAK,CAAC,SAgDzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,eAAe,EAAE,KAAG,KAAK,CAAC,SAAS,EAEhF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,UAAU,EAAE,KAAG,KAAK,CAAC,SAAS,EAEtE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,mBAAmB,KAAG,MAWvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,EAAE,aAAa,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,KAAG,MAMrH,CAAC"}
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import type { ContentBlock } from '../MathCard.types';
3
+ /**
4
+ * 解析复习模板中的占位符
5
+ * @param template 模板字符串
6
+ * @param correctAnswer 正确答案
7
+ * @param userAnswer 用户答案
8
+ * @returns 解析后的字符串
9
+ */
10
+ export declare const parseTemplate: (template: string, correctAnswer: string[], userAnswer: string[]) => string;
11
+ /**
12
+ * 渲染内容块
13
+ * @param block 内容块
14
+ * @returns 渲染后的React元素
15
+ */
16
+ export declare const renderContentBlock: (block: ContentBlock) => React.ReactNode;
17
+ /**
18
+ * 渲染内容块数组
19
+ * @param blocks 内容块数组
20
+ * @returns 渲染后的React元素数组
21
+ */
22
+ export declare const renderContentBlocks: (blocks: ContentBlock[]) => React.ReactNode[];
23
+ /**
24
+ * 获取场景对应的显示文本
25
+ * @param scene 场景类型
26
+ * @returns 场景显示文本
27
+ */
28
+ export declare const getSceneText: (scene: "question" | "solve" | "review") => string;
29
+ /**
30
+ * 获取难度等级对应的文本
31
+ * @param level 难度等级
32
+ * @returns 难度文本
33
+ */
34
+ export declare const getDifficultyText: (level: 1 | 2 | 3 | 4 | 5) => string;
35
+ /**
36
+ * 验证问题数据格式
37
+ * @param data 问题数据
38
+ * @returns 验证结果
39
+ */
40
+ export declare const validateProblemData: (data: any) => {
41
+ isValid: boolean;
42
+ errors: string[];
43
+ };
44
+ //# sourceMappingURL=templateParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateParser.d.ts","sourceRoot":"","sources":["../../../../src/components/MathCard/utils/templateParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,EAChB,eAAe,MAAM,EAAE,EACvB,YAAY,MAAM,EAAE,KACnB,MAIF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,YAAY,KAAG,KAAK,CAAC,SAsB9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,YAAY,EAAE,KAAG,KAAK,CAAC,SAAS,EAO3E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,UAAU,GAAG,OAAO,GAAG,QAAQ,KAAG,MAQrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,MAU5D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,GAAG,KAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAoCnF,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * GraphContainer 组件
3
+ * JSXGraph 适配层,负责 JSXGraph Board 的初始化和图形渲染
4
+ */
5
+ import React from 'react';
6
+ import type { MathGraphProps } from './types';
7
+ interface GraphContainerProps extends Omit<MathGraphProps, 'width' | 'height' | 'className'> {
8
+ }
9
+ export declare const GraphContainer: React.FC<GraphContainerProps>;
10
+ export {};
11
+ //# sourceMappingURL=GraphContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphContainer.d.ts","sourceRoot":"","sources":["../../../src/components/MathGraph/GraphContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,SAAS,CAAC;AAS5D,UAAU,mBAAoB,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;CAAI;AAEhG,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAoKxD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * MathGraph 组件
3
+ * 面向数学教育场景的交互式绘图功能组件
4
+ */
5
+ import React from 'react';
6
+ import type { MathGraphProps } from './types';
7
+ export declare const MathGraph: React.FC<MathGraphProps>;
8
+ //# sourceMappingURL=MathGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathGraph.d.ts","sourceRoot":"","sources":["../../../src/components/MathGraph/MathGraph.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwE9C,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * MathGraph 错误边界组件
3
+ * 捕获并处理 MathGraph 组件中的错误
4
+ */
5
+ import React from 'react';
6
+ interface MathGraphErrorBoundaryState {
7
+ hasError: boolean;
8
+ error: Error | null;
9
+ }
10
+ export declare class MathGraphErrorBoundary extends React.Component<{
11
+ children: React.ReactNode;
12
+ }, MathGraphErrorBoundaryState> {
13
+ state: MathGraphErrorBoundaryState;
14
+ static getDerivedStateFromError(error: Error): MathGraphErrorBoundaryState;
15
+ componentDidCatch(error: Error, info: React.ErrorInfo): void;
16
+ render(): string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=MathGraphErrorBoundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathGraphErrorBoundary.d.ts","sourceRoot":"","sources":["../../../src/components/MathGraph/MathGraphErrorBoundary.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,2BAA2B;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,sBAAuB,SAAQ,KAAK,CAAC,SAAS,CACzD;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,EAC7B,2BAA2B,CAC5B;IACC,KAAK,EAAE,2BAA2B,CAAoC;IAEtE,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,2BAA2B;IAI1E,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS;IAIrD,MAAM;CAkBP"}