@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
@@ -0,0 +1,15 @@
1
+ /**
2
+ * useLongDivision Hook 工具函数
3
+ */
4
+ /**
5
+ * 计算长除法步骤
6
+ * 返回每一步的被除数、商、余数、乘积
7
+ */
8
+ export declare function calculateSteps(dividend: number, divisor: number): Array<{
9
+ index: number;
10
+ dividend: number;
11
+ quotient: number;
12
+ remainder: number;
13
+ product: number;
14
+ }>;
15
+ //# sourceMappingURL=useLongDivision.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongDivision.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/MathContainer/hooks/useLongDivision.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAyCD"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * useShortDivision Hook
3
+ * 短除法逻辑层 - 管理状态、验证逻辑
4
+ *
5
+ * @description
6
+ * 使用 useRef 避免闭包问题,确保回调函数引用稳定。
7
+ * 短除法计算逻辑:每一步被除数 ÷ 除数 = 商 ... 余数
8
+ * 余数 × 10 + 下一位 = 新的被除数
9
+ */
10
+ import type { ShortDivisionConfig, ContainerAnswers, AnswerStatus } from '../MathContainer.types';
11
+ export interface UseShortDivisionOptions {
12
+ /** 短除法配置 */
13
+ config: ShortDivisionConfig;
14
+ /** 初始答案 */
15
+ initialAnswers?: ContainerAnswers;
16
+ /** 答案变化回调 */
17
+ onAnswerChange?: (answers: ContainerAnswers) => void;
18
+ }
19
+ export interface UseShortDivisionReturn {
20
+ /** 当前所有答案 */
21
+ answers: ContainerAnswers;
22
+ /** 更新答案函数 */
23
+ updateAnswer: (cellId: string, value: number | null) => void;
24
+ /** 获取单元格状态 */
25
+ getCellStatus: (cellId: string) => AnswerStatus;
26
+ /** 每步计算结果 */
27
+ stepResults: Record<number, {
28
+ quotient: number;
29
+ remainder: number;
30
+ }>;
31
+ /** 是否完成 */
32
+ isComplete: boolean;
33
+ /** 重置函数 */
34
+ reset: () => void;
35
+ }
36
+ /**
37
+ * 短除法 Hook
38
+ * 管理短除法的状态和验证逻辑
39
+ */
40
+ export declare function useShortDivision(options: UseShortDivisionOptions): UseShortDivisionReturn;
41
+ //# sourceMappingURL=useShortDivision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShortDivision.d.ts","sourceRoot":"","sources":["../../../../src/components/MathContainer/hooks/useShortDivision.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EAEb,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,uBAAuB;IACtC,YAAY;IACZ,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW;IACX,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,aAAa;IACb,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa;IACb,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,cAAc;IACd,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC;IAChD,aAAa;IACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,WAAW;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAiKzF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * useVerticalMultiplication Hook
3
+ * 乘法竖式逻辑层 - 管理状态、验证逻辑
4
+ */
5
+ import type { VerticalMultiplicationConfig, ContainerAnswers, AnswerStatus } from '../MathContainer.types';
6
+ export interface UseVerticalMultiplicationOptions {
7
+ config: VerticalMultiplicationConfig;
8
+ initialAnswers?: ContainerAnswers;
9
+ onAnswerChange?: (answers: ContainerAnswers) => void;
10
+ }
11
+ export interface UseVerticalMultiplicationReturn {
12
+ answers: ContainerAnswers;
13
+ updateAnswer: (cellId: string, value: number | null) => void;
14
+ getCellStatus: (cellId: string) => AnswerStatus;
15
+ partialProducts: Array<{
16
+ digit: number;
17
+ partial: number;
18
+ rowIndex: number;
19
+ }>;
20
+ correctProduct: number;
21
+ isComplete: boolean;
22
+ reset: () => void;
23
+ }
24
+ /**
25
+ * 乘法竖式 Hook
26
+ */
27
+ export declare function useVerticalMultiplication(options: UseVerticalMultiplicationOptions): UseVerticalMultiplicationReturn;
28
+ //# sourceMappingURL=useVerticalMultiplication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVerticalMultiplication.d.ts","sourceRoot":"","sources":["../../../../src/components/MathContainer/hooks/useVerticalMultiplication.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,YAAY,EAAc,MAAM,wBAAwB,CAAC;AAGvH,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,4BAA4B,CAAC;IACrC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,gBAAgB,CAAC;IAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,+BAA+B,CAkCpH"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * useVerticalMultiplication Hook 工具函数
3
+ */
4
+ import type { ContainerAnswers } from '../MathContainer.types';
5
+ /**
6
+ * 计算中间积
7
+ * 被乘数 × 乘数的每一位
8
+ */
9
+ export declare function calculatePartialProducts(multiplicand: number, multiplier: number): Array<{
10
+ digit: number;
11
+ partial: number;
12
+ rowIndex: number;
13
+ }>;
14
+ /**
15
+ * 计算总单元格数
16
+ */
17
+ export declare function calculateTotalCells(partialProducts: Array<{
18
+ partial: number;
19
+ }>, correctProduct: number): number;
20
+ /**
21
+ * 获取单元格的正确值
22
+ */
23
+ export declare function getCorrectCellValue(cellId: string, partialProducts: Array<{
24
+ partial: number;
25
+ }>, correctProduct: number): number | null;
26
+ /**
27
+ * 检查是否完成
28
+ */
29
+ export declare function checkComplete(answers: ContainerAnswers, totalCells: number): boolean;
30
+ //# sourceMappingURL=useVerticalMultiplication.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVerticalMultiplication.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/MathContainer/hooks/useVerticalMultiplication.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAO7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3C,cAAc,EAAE,MAAM,GACrB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3C,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAyBf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAGpF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * MathContainer 模块导出
3
+ * 业务容器组件体系
4
+ */
5
+ export { MathContainerMode, AnswerStatus, MathContainerType, } from './MathContainer.types';
6
+ export type { CellAnswer, ContainerAnswers, BaseContainerConfig, FactorTableConfig, ShortDivisionConfig, VerticalMultiplicationConfig, LongDivisionConfig, ContainerConfig, UseContainerReturn, ContainerViewProps, MathContainerProps, MathContainerAnswer, } from './MathContainer.types';
7
+ export { useFactorTable, useShortDivision, useVerticalMultiplication, useLongDivision, } from './hooks';
8
+ export type { UseFactorTableOptions, UseFactorTableReturn, UseShortDivisionOptions, UseShortDivisionReturn, UseVerticalMultiplicationOptions, UseVerticalMultiplicationReturn, UseLongDivisionOptions, UseLongDivisionReturn, } from './hooks';
9
+ export { FactorTable, FactorTableView } from './FactorTable';
10
+ export type { FactorTableProps, FactorPair, FactorCellData, FactorValidationResult, } from './FactorTable/FactorTable.types';
11
+ export { ShortDivision, ShortDivisionView } from './ShortDivision';
12
+ export type { ShortDivisionProps, ShortDivisionViewProps, ShortDivisionStep, ShortDivisionCellData, } from './ShortDivision/ShortDivision.types';
13
+ export { VerticalMultiplication, VerticalMultiplicationView } from './VerticalMultiplication';
14
+ export type { VerticalMultiplicationProps, VerticalMultiplicationViewProps, } from './VerticalMultiplication/VerticalMultiplication.types';
15
+ export { LongDivision, LongDivisionView } from './LongDivision';
16
+ export type { LongDivisionProps, LongDivisionViewProps, } from './LongDivision/LongDivision.types';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MathContainer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,gCAAgC,EAChC,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC9F,YAAY,EACV,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,uDAAuD,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EACV,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { OptionCardProps } from './OptionGroup.types';
3
+ /**
4
+ * OptionCard 组件
5
+ *
6
+ * 单个选项卡片 UI,纯展示组件,无状态管理
7
+ * 支持状态:selected、disabled、correct、wrong
8
+ * 支持两种风格:default 和 ixl
9
+ */
10
+ export declare const OptionCard: React.FC<OptionCardProps>;
11
+ //# sourceMappingURL=OptionCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionCard.d.ts","sourceRoot":"","sources":["../../../src/components/OptionGroup/OptionCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsD/C,CAAC"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * OptionCard Tailwind Variants
3
+ */
4
+ export declare const optionCardStyles: import("tailwind-variants").TVReturnType<{
5
+ selected: {
6
+ true: string;
7
+ false: string;
8
+ };
9
+ disabled: {
10
+ true: string;
11
+ false: string;
12
+ };
13
+ correct: {
14
+ true: string;
15
+ false: string;
16
+ };
17
+ wrong: {
18
+ true: string;
19
+ false: string;
20
+ };
21
+ variant: {
22
+ default: string;
23
+ ixl: string;
24
+ };
25
+ }, undefined, string[], {
26
+ selected: {
27
+ true: string;
28
+ false: string;
29
+ };
30
+ disabled: {
31
+ true: string;
32
+ false: string;
33
+ };
34
+ correct: {
35
+ true: string;
36
+ false: string;
37
+ };
38
+ wrong: {
39
+ true: string;
40
+ false: string;
41
+ };
42
+ variant: {
43
+ default: string;
44
+ ixl: string;
45
+ };
46
+ }, undefined, import("tailwind-variants").TVReturnType<{
47
+ selected: {
48
+ true: string;
49
+ false: string;
50
+ };
51
+ disabled: {
52
+ true: string;
53
+ false: string;
54
+ };
55
+ correct: {
56
+ true: string;
57
+ false: string;
58
+ };
59
+ wrong: {
60
+ true: string;
61
+ false: string;
62
+ };
63
+ variant: {
64
+ default: string;
65
+ ixl: string;
66
+ };
67
+ }, undefined, string[], unknown, unknown, undefined>>;
68
+ /**
69
+ * OptionGroup Tailwind Variants
70
+ */
71
+ export declare const optionGroupStyles: import("tailwind-variants").TVReturnType<{
72
+ layout: {
73
+ vertical: string;
74
+ horizontal: string;
75
+ };
76
+ }, undefined, "flex gap-3", {
77
+ layout: {
78
+ vertical: string;
79
+ horizontal: string;
80
+ };
81
+ }, undefined, import("tailwind-variants").TVReturnType<{
82
+ layout: {
83
+ vertical: string;
84
+ horizontal: string;
85
+ };
86
+ }, undefined, "flex gap-3", unknown, unknown, undefined>>;
87
+ //# sourceMappingURL=OptionCard.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionCard.styles.d.ts","sourceRoot":"","sources":["../../../src/components/OptionGroup/OptionCard.styles.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAuD3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;yDAW5B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { OptionGroupProps } from './OptionGroup.types';
3
+ /**
4
+ * OptionGroup 组件
5
+ *
6
+ * 选项组容器,管理单选/多选逻辑
7
+ * 接收选项列表,渲染 OptionCard 列表
8
+ * 处理点击事件,管理选中状态
9
+ */
10
+ export declare const OptionGroup: React.FC<OptionGroupProps>;
11
+ //# sourceMappingURL=OptionGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionGroup.d.ts","sourceRoot":"","sources":["../../../src/components/OptionGroup/OptionGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,qBAAqB,CAAC;AAI9E;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuFjD,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type React from 'react';
2
+ /**
3
+ * 选项答案项
4
+ */
5
+ export interface OptionAnswerItem {
6
+ id: string;
7
+ content: string;
8
+ contentType?: 'text' | 'formula' | 'image' | 'graph';
9
+ }
10
+ /**
11
+ * 选项项定义
12
+ */
13
+ export interface OptionItem {
14
+ id: string;
15
+ label: React.ReactNode;
16
+ rawContent: string;
17
+ contentType?: 'text' | 'formula' | 'image' | 'graph';
18
+ }
19
+ /**
20
+ * OptionCard 组件 Props
21
+ */
22
+ export interface OptionCardProps {
23
+ /** 选项唯一标识 */
24
+ id: string;
25
+ /** 选项内容 */
26
+ children: React.ReactNode;
27
+ /** 是否选中 */
28
+ selected: boolean;
29
+ /** 是否禁用 */
30
+ disabled?: boolean;
31
+ /** 是否为正确答案 */
32
+ correct?: boolean;
33
+ /** 是否为错误答案 */
34
+ wrong?: boolean;
35
+ /** 变体风格 */
36
+ variant?: 'default' | 'ixl';
37
+ /** 点击回调 */
38
+ onClick: () => void;
39
+ /** 自定义类名 */
40
+ className?: string;
41
+ /** 自定义样式 */
42
+ style?: React.CSSProperties;
43
+ }
44
+ /**
45
+ * OptionGroup 组件 Props
46
+ */
47
+ export interface OptionGroupProps {
48
+ /** 选择类型:单选或多选 */
49
+ type: 'single' | 'multiple';
50
+ /** 选项列表 */
51
+ options: OptionItem[];
52
+ /** 当前选中的值 */
53
+ value: OptionAnswerItem[];
54
+ /** 值变化回调 */
55
+ onChange: (value: OptionAnswerItem[]) => void;
56
+ /** 是否禁用整个选项组 */
57
+ disabled?: boolean;
58
+ /** 是否显示结果状态 */
59
+ showResult?: boolean;
60
+ /** 正确答案 ID 列表 */
61
+ correctAnswers?: string[];
62
+ /** 布局方向 */
63
+ layout?: 'vertical' | 'horizontal';
64
+ /** 变体风格 */
65
+ variant?: 'default' | 'ixl';
66
+ /** 自定义类名 */
67
+ className?: string;
68
+ /** 自定义样式 */
69
+ style?: React.CSSProperties;
70
+ }
71
+ //# sourceMappingURL=OptionGroup.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OptionGroup.types.d.ts","sourceRoot":"","sources":["../../../src/components/OptionGroup/OptionGroup.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa;IACb,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW;IACX,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC5B,WAAW;IACX,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,WAAW;IACX,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa;IACb,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,YAAY;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC9C,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW;IACX,MAAM,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,WAAW;IACX,OAAO,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC5B,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B"}
@@ -0,0 +1,5 @@
1
+ export { OptionCard } from './OptionCard';
2
+ export { OptionGroup } from './OptionGroup';
3
+ export type { OptionAnswerItem, OptionItem, OptionCardProps, OptionGroupProps, } from './OptionGroup.types';
4
+ export { optionCardStyles, optionGroupStyles } from './OptionCard.styles';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/OptionGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}