@magmamath/students-features 1.8.0 → 1.8.1-rc.0

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 (428) hide show
  1. package/dist/commonjs/features/fluency/components/FluencySolving.js +2 -2
  2. package/dist/commonjs/features/fluency/components/FluencySolving.js.map +1 -1
  3. package/dist/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js +48 -0
  4. package/dist/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js.map +1 -0
  5. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js +9 -8
  6. package/dist/commonjs/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  7. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +3 -1
  8. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -1
  9. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +63 -10
  10. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  11. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +10 -0
  12. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
  13. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +0 -2
  14. package/dist/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
  15. package/dist/commonjs/features/fluency/index.js +12 -0
  16. package/dist/commonjs/features/fluency/index.js.map +1 -1
  17. package/dist/commonjs/features/fluency/visual-scaffolding/adapter.js +36 -0
  18. package/dist/commonjs/features/fluency/visual-scaffolding/adapter.js.map +1 -0
  19. package/dist/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js +232 -0
  20. package/dist/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js.map +1 -0
  21. package/dist/commonjs/features/fluency/visual-scaffolding/components/Dot.js +51 -0
  22. package/dist/commonjs/features/fluency/visual-scaffolding/components/Dot.js.map +1 -0
  23. package/dist/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.js +104 -0
  24. package/dist/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.js.map +1 -0
  25. package/dist/commonjs/features/fluency/visual-scaffolding/components/FactVisual.js +75 -0
  26. package/dist/commonjs/features/fluency/visual-scaffolding/components/FactVisual.js.map +1 -0
  27. package/dist/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.js +91 -0
  28. package/dist/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.js.map +1 -0
  29. package/dist/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.js +279 -0
  30. package/dist/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.js.map +1 -0
  31. package/dist/commonjs/features/fluency/visual-scaffolding/components/visualColors.js +44 -0
  32. package/dist/commonjs/features/fluency/visual-scaffolding/components/visualColors.js.map +1 -0
  33. package/dist/commonjs/features/fluency/visual-scaffolding/index.js +73 -0
  34. package/dist/commonjs/features/fluency/visual-scaffolding/index.js.map +1 -0
  35. package/dist/commonjs/features/fluency/visual-scaffolding/renderFact.js +276 -0
  36. package/dist/commonjs/features/fluency/visual-scaffolding/renderFact.js.map +1 -0
  37. package/dist/commonjs/features/fluency/visual-scaffolding/types.js +2 -0
  38. package/dist/commonjs/features/fluency/visual-scaffolding/types.js.map +1 -0
  39. package/dist/commonjs/features/fluency-teacher/assets/{DivisionIcon.js → SortDefaultIcon.js} +8 -11
  40. package/dist/commonjs/features/fluency-teacher/assets/SortDefaultIcon.js.map +1 -0
  41. package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js +3 -4
  42. package/dist/commonjs/features/fluency-teacher/components/FluencyTeacher.js.map +1 -1
  43. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js +43 -48
  44. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -1
  45. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +80 -0
  46. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +1 -0
  47. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js +28 -11
  48. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -1
  49. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +44 -27
  50. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -1
  51. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +40 -47
  52. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -1
  53. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js +24 -14
  54. package/dist/commonjs/features/fluency-teacher/components/drawer/DrawerStats.js.map +1 -1
  55. package/dist/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js +6 -6
  56. package/dist/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js.map +1 -1
  57. package/dist/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.js.map +1 -1
  58. package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js +16 -2
  59. package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -1
  60. package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js +2 -1
  61. package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -1
  62. package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js +41 -15
  63. package/dist/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -1
  64. package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js +62 -6
  65. package/dist/commonjs/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -1
  66. package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +40 -42
  67. package/dist/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
  68. package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js +16 -25
  69. package/dist/commonjs/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -1
  70. package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js +40 -30
  71. package/dist/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -1
  72. package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js +72 -59
  73. package/dist/commonjs/features/fluency-teacher/components/table/TableRow.js.map +1 -1
  74. package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js +71 -0
  75. package/dist/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +1 -0
  76. package/dist/commonjs/features/fluency-teacher/context/TeacherFluencyContext.js.map +1 -1
  77. package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js +38 -103
  78. package/dist/commonjs/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -1
  79. package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js +10 -52
  80. package/dist/commonjs/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -1
  81. package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js +2 -3
  82. package/dist/commonjs/features/fluency-teacher/hooks/useDrawerGrid.js.map +1 -1
  83. package/dist/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.js.map +1 -1
  84. package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js +1 -2
  85. package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -1
  86. package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js +0 -9
  87. package/dist/commonjs/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
  88. package/dist/module/features/fluency/components/FluencySolving.js +2 -2
  89. package/dist/module/features/fluency/components/FluencySolving.js.map +1 -1
  90. package/dist/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js +43 -0
  91. package/dist/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.js.map +1 -0
  92. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js +9 -8
  93. package/dist/module/features/fluency/components/fluency-solving/components/EquationContent.js.map +1 -1
  94. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js +3 -1
  95. package/dist/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.js.map +1 -1
  96. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js +64 -11
  97. package/dist/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.js.map +1 -1
  98. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js +10 -0
  99. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.js.map +1 -1
  100. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js +0 -2
  101. package/dist/module/features/fluency/components/fluency-solving/components/FluencySolvingProgress.js.map +1 -1
  102. package/dist/module/features/fluency/index.js +1 -0
  103. package/dist/module/features/fluency/index.js.map +1 -1
  104. package/dist/module/features/fluency/visual-scaffolding/adapter.js +31 -0
  105. package/dist/module/features/fluency/visual-scaffolding/adapter.js.map +1 -0
  106. package/dist/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js +225 -0
  107. package/dist/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.js.map +1 -0
  108. package/dist/module/features/fluency/visual-scaffolding/components/Dot.js +45 -0
  109. package/dist/module/features/fluency/visual-scaffolding/components/Dot.js.map +1 -0
  110. package/dist/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.js +96 -0
  111. package/dist/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.js.map +1 -0
  112. package/dist/module/features/fluency/visual-scaffolding/components/FactVisual.js +69 -0
  113. package/dist/module/features/fluency/visual-scaffolding/components/FactVisual.js.map +1 -0
  114. package/dist/module/features/fluency/visual-scaffolding/components/QuotativeBars.js +83 -0
  115. package/dist/module/features/fluency/visual-scaffolding/components/QuotativeBars.js.map +1 -0
  116. package/dist/module/features/fluency/visual-scaffolding/components/RelationalBlock.js +272 -0
  117. package/dist/module/features/fluency/visual-scaffolding/components/RelationalBlock.js.map +1 -0
  118. package/dist/module/features/fluency/visual-scaffolding/components/visualColors.js +41 -0
  119. package/dist/module/features/fluency/visual-scaffolding/components/visualColors.js.map +1 -0
  120. package/dist/module/features/fluency/visual-scaffolding/index.js +8 -0
  121. package/dist/module/features/fluency/visual-scaffolding/index.js.map +1 -0
  122. package/dist/module/features/fluency/visual-scaffolding/renderFact.js +269 -0
  123. package/dist/module/features/fluency/visual-scaffolding/renderFact.js.map +1 -0
  124. package/dist/module/features/fluency/visual-scaffolding/types.js +2 -0
  125. package/dist/module/features/fluency/visual-scaffolding/types.js.map +1 -0
  126. package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js +23 -0
  127. package/dist/module/features/fluency-teacher/assets/SortDefaultIcon.js.map +1 -0
  128. package/dist/module/features/fluency-teacher/components/FluencyTeacher.js +3 -4
  129. package/dist/module/features/fluency-teacher/components/FluencyTeacher.js.map +1 -1
  130. package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js +44 -49
  131. package/dist/module/features/fluency-teacher/components/drawer/DrawerHeader.js.map +1 -1
  132. package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js +74 -0
  133. package/dist/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.js.map +1 -0
  134. package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js +31 -14
  135. package/dist/module/features/fluency-teacher/components/drawer/DrawerMatrixes.js.map +1 -1
  136. package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js +45 -28
  137. package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.js.map +1 -1
  138. package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js +41 -48
  139. package/dist/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.js.map +1 -1
  140. package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js +27 -17
  141. package/dist/module/features/fluency-teacher/components/drawer/DrawerStats.js.map +1 -1
  142. package/dist/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js +6 -6
  143. package/dist/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.js.map +1 -1
  144. package/dist/module/features/fluency-teacher/components/matrix/DrawerMatrix.js.map +1 -1
  145. package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js +17 -3
  146. package/dist/module/features/fluency-teacher/components/matrix/MatrixCell.js.map +1 -1
  147. package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js +2 -1
  148. package/dist/module/features/fluency-teacher/components/matrix/MatrixRow.js.map +1 -1
  149. package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js +42 -16
  150. package/dist/module/features/fluency-teacher/components/table/AllPupilsTableRow.js.map +1 -1
  151. package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js +63 -7
  152. package/dist/module/features/fluency-teacher/components/table/AverageSortButton.js.map +1 -1
  153. package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js +42 -44
  154. package/dist/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.js.map +1 -1
  155. package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js +16 -25
  156. package/dist/module/features/fluency-teacher/components/table/OperatorBadge.js.map +1 -1
  157. package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js +42 -32
  158. package/dist/module/features/fluency-teacher/components/table/TableColumnSortButton.js.map +1 -1
  159. package/dist/module/features/fluency-teacher/components/table/TableRow.js +75 -62
  160. package/dist/module/features/fluency-teacher/components/table/TableRow.js.map +1 -1
  161. package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js +65 -0
  162. package/dist/module/features/fluency-teacher/components/table/TableRowAverageProgress.js.map +1 -0
  163. package/dist/module/features/fluency-teacher/context/TeacherFluencyContext.js.map +1 -1
  164. package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js +37 -102
  165. package/dist/module/features/fluency-teacher/fluencyTeacher.constants.js.map +1 -1
  166. package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js +8 -43
  167. package/dist/module/features/fluency-teacher/fluencyTeacher.helpers.js.map +1 -1
  168. package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js +2 -3
  169. package/dist/module/features/fluency-teacher/hooks/useDrawerGrid.js.map +1 -1
  170. package/dist/module/features/fluency-teacher/hooks/useDrawerMatrix.js.map +1 -1
  171. package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js +1 -2
  172. package/dist/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.js.map +1 -1
  173. package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js +0 -9
  174. package/dist/module/features/fluency-teacher/model/TeacherFluencyModel.js.map +1 -1
  175. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts +3 -0
  176. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts.map +1 -0
  177. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  178. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -1
  179. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +2 -1
  180. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  181. package/dist/typescript/commonjs/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
  182. package/dist/typescript/commonjs/features/fluency/index.d.ts +1 -0
  183. package/dist/typescript/commonjs/features/fluency/index.d.ts.map +1 -1
  184. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts +2 -0
  185. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts.map +1 -0
  186. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/adapter.d.ts +4 -0
  187. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/adapter.d.ts.map +1 -0
  188. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts +10 -0
  189. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts.map +1 -0
  190. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/Dot.d.ts +10 -0
  191. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/Dot.d.ts.map +1 -0
  192. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts +10 -0
  193. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts.map +1 -0
  194. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/FactVisual.d.ts +10 -0
  195. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/FactVisual.d.ts.map +1 -0
  196. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts +10 -0
  197. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts.map +1 -0
  198. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts +10 -0
  199. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts.map +1 -0
  200. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/visualColors.d.ts +16 -0
  201. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/components/visualColors.d.ts.map +1 -0
  202. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/index.d.ts +6 -0
  203. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/index.d.ts.map +1 -0
  204. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/renderFact.d.ts +23 -0
  205. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/renderFact.d.ts.map +1 -0
  206. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/types.d.ts +103 -0
  207. package/dist/typescript/commonjs/features/fluency/visual-scaffolding/types.d.ts.map +1 -0
  208. package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts +4 -0
  209. package/dist/typescript/commonjs/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +1 -0
  210. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerHeader.d.ts.map +1 -1
  211. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +3 -0
  212. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts.map +1 -1
  214. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +4 -1
  215. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts.map +1 -1
  216. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts +4 -6
  217. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts.map +1 -1
  218. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/DrawerStats.d.ts.map +1 -1
  219. package/dist/typescript/commonjs/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts.map +1 -1
  220. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts +2 -3
  221. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts.map +1 -1
  222. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixCell.d.ts +5 -6
  223. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixCell.d.ts.map +1 -1
  224. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts +1 -2
  225. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -1
  226. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts +3 -5
  227. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixRow.d.ts.map +1 -1
  228. package/dist/typescript/commonjs/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts.map +1 -1
  229. package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts +1 -2
  230. package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageSortButton.d.ts.map +1 -1
  231. package/dist/typescript/commonjs/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -1
  232. package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts +4 -5
  233. package/dist/typescript/commonjs/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -1
  234. package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +6 -7
  235. package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableColumnSortButton.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts +3 -4
  237. package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -1
  238. package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +7 -0
  239. package/dist/typescript/commonjs/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +1 -0
  240. package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts +0 -1
  241. package/dist/typescript/commonjs/features/fluency-teacher/context/TeacherFluencyContext.d.ts.map +1 -1
  242. package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.constants.d.ts +3 -16
  243. package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.constants.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts +4 -11
  245. package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.helpers.d.ts.map +1 -1
  246. package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.types.d.ts +6 -35
  247. package/dist/typescript/commonjs/features/fluency-teacher/fluencyTeacher.types.d.ts.map +1 -1
  248. package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerGrid.d.ts +12 -1
  249. package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerGrid.d.ts.map +1 -1
  250. package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.d.ts +3 -3
  251. package/dist/typescript/commonjs/features/fluency-teacher/hooks/useDrawerMatrix.d.ts.map +1 -1
  252. package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts +0 -1
  253. package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts.map +1 -1
  254. package/dist/typescript/commonjs/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -1
  255. package/dist/typescript/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts +3 -0
  256. package/dist/typescript/module/features/fluency/components/fluency-solving/components/DebugBoxIndicator.d.ts.map +1 -0
  257. package/dist/typescript/module/features/fluency/components/fluency-solving/components/EquationContent.d.ts.map +1 -1
  258. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyCardDeck.d.ts.map +1 -1
  259. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts +2 -1
  260. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencyEquationCard.d.ts.map +1 -1
  261. package/dist/typescript/module/features/fluency/components/fluency-solving/components/FluencySolvingHeader.d.ts.map +1 -1
  262. package/dist/typescript/module/features/fluency/index.d.ts +1 -0
  263. package/dist/typescript/module/features/fluency/index.d.ts.map +1 -1
  264. package/dist/typescript/module/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts +2 -0
  265. package/dist/typescript/module/features/fluency/visual-scaffolding/__tests__/renderFact.test.d.ts.map +1 -0
  266. package/dist/typescript/module/features/fluency/visual-scaffolding/adapter.d.ts +4 -0
  267. package/dist/typescript/module/features/fluency/visual-scaffolding/adapter.d.ts.map +1 -0
  268. package/dist/typescript/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts +10 -0
  269. package/dist/typescript/module/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.d.ts.map +1 -0
  270. package/dist/typescript/module/features/fluency/visual-scaffolding/components/Dot.d.ts +10 -0
  271. package/dist/typescript/module/features/fluency/visual-scaffolding/components/Dot.d.ts.map +1 -0
  272. package/dist/typescript/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts +10 -0
  273. package/dist/typescript/module/features/fluency/visual-scaffolding/components/DynamicNumberLine.d.ts.map +1 -0
  274. package/dist/typescript/module/features/fluency/visual-scaffolding/components/FactVisual.d.ts +10 -0
  275. package/dist/typescript/module/features/fluency/visual-scaffolding/components/FactVisual.d.ts.map +1 -0
  276. package/dist/typescript/module/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts +10 -0
  277. package/dist/typescript/module/features/fluency/visual-scaffolding/components/QuotativeBars.d.ts.map +1 -0
  278. package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts +10 -0
  279. package/dist/typescript/module/features/fluency/visual-scaffolding/components/RelationalBlock.d.ts.map +1 -0
  280. package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts +16 -0
  281. package/dist/typescript/module/features/fluency/visual-scaffolding/components/visualColors.d.ts.map +1 -0
  282. package/dist/typescript/module/features/fluency/visual-scaffolding/index.d.ts +6 -0
  283. package/dist/typescript/module/features/fluency/visual-scaffolding/index.d.ts.map +1 -0
  284. package/dist/typescript/module/features/fluency/visual-scaffolding/renderFact.d.ts +23 -0
  285. package/dist/typescript/module/features/fluency/visual-scaffolding/renderFact.d.ts.map +1 -0
  286. package/dist/typescript/module/features/fluency/visual-scaffolding/types.d.ts +103 -0
  287. package/dist/typescript/module/features/fluency/visual-scaffolding/types.d.ts.map +1 -0
  288. package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts +4 -0
  289. package/dist/typescript/module/features/fluency-teacher/assets/SortDefaultIcon.d.ts.map +1 -0
  290. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerHeader.d.ts.map +1 -1
  291. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts +3 -0
  292. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMasteryLegend.d.ts.map +1 -0
  293. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerMatrixes.d.ts.map +1 -1
  294. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts +4 -1
  295. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorBox.d.ts.map +1 -1
  296. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts +4 -6
  297. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.d.ts.map +1 -1
  298. package/dist/typescript/module/features/fluency-teacher/components/drawer/DrawerStats.d.ts.map +1 -1
  299. package/dist/typescript/module/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.d.ts.map +1 -1
  300. package/dist/typescript/module/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts +2 -3
  301. package/dist/typescript/module/features/fluency-teacher/components/matrix/DrawerMatrix.d.ts.map +1 -1
  302. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixCell.d.ts +5 -6
  303. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixCell.d.ts.map +1 -1
  304. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts +1 -2
  305. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixHeaderRow.d.ts.map +1 -1
  306. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts +3 -5
  307. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixRow.d.ts.map +1 -1
  308. package/dist/typescript/module/features/fluency-teacher/components/table/AllPupilsTableRow.d.ts.map +1 -1
  309. package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts +1 -2
  310. package/dist/typescript/module/features/fluency-teacher/components/table/AverageSortButton.d.ts.map +1 -1
  311. package/dist/typescript/module/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.d.ts.map +1 -1
  312. package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts +4 -5
  313. package/dist/typescript/module/features/fluency-teacher/components/table/OperatorBadge.d.ts.map +1 -1
  314. package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts +6 -7
  315. package/dist/typescript/module/features/fluency-teacher/components/table/TableColumnSortButton.d.ts.map +1 -1
  316. package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts +3 -4
  317. package/dist/typescript/module/features/fluency-teacher/components/table/TableRow.d.ts.map +1 -1
  318. package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts +7 -0
  319. package/dist/typescript/module/features/fluency-teacher/components/table/TableRowAverageProgress.d.ts.map +1 -0
  320. package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts +0 -1
  321. package/dist/typescript/module/features/fluency-teacher/context/TeacherFluencyContext.d.ts.map +1 -1
  322. package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.constants.d.ts +3 -16
  323. package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.constants.d.ts.map +1 -1
  324. package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts +4 -11
  325. package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.helpers.d.ts.map +1 -1
  326. package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.types.d.ts +6 -35
  327. package/dist/typescript/module/features/fluency-teacher/fluencyTeacher.types.d.ts.map +1 -1
  328. package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerGrid.d.ts +12 -1
  329. package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerGrid.d.ts.map +1 -1
  330. package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerMatrix.d.ts +3 -3
  331. package/dist/typescript/module/features/fluency-teacher/hooks/useDrawerMatrix.d.ts.map +1 -1
  332. package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts +0 -1
  333. package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyFiltersModel.d.ts.map +1 -1
  334. package/dist/typescript/module/features/fluency-teacher/model/TeacherFluencyModel.d.ts.map +1 -1
  335. package/package.json +1 -1
  336. package/src/features/fluency/components/FluencySolving.tsx +2 -2
  337. package/src/features/fluency/components/fluency-solving/components/DebugBoxIndicator.tsx +40 -0
  338. package/src/features/fluency/components/fluency-solving/components/EquationContent.tsx +12 -8
  339. package/src/features/fluency/components/fluency-solving/components/FluencyCardDeck.tsx +6 -1
  340. package/src/features/fluency/components/fluency-solving/components/FluencyEquationCard.tsx +63 -11
  341. package/src/features/fluency/components/fluency-solving/components/FluencySolvingHeader.tsx +9 -0
  342. package/src/features/fluency/components/fluency-solving/components/FluencySolvingProgress.tsx +0 -2
  343. package/src/features/fluency/index.ts +1 -0
  344. package/src/features/fluency/visual-scaffolding/__tests__/__snapshots__/renderFact.test.ts.snap +64 -0
  345. package/src/features/fluency/visual-scaffolding/__tests__/renderFact.test.ts +192 -0
  346. package/src/features/fluency/visual-scaffolding/adapter.ts +33 -0
  347. package/src/features/fluency/visual-scaffolding/components/DiscreteCounterGrid.tsx +222 -0
  348. package/src/features/fluency/visual-scaffolding/components/Dot.tsx +36 -0
  349. package/src/features/fluency/visual-scaffolding/components/DynamicNumberLine.tsx +98 -0
  350. package/src/features/fluency/visual-scaffolding/components/FactVisual.tsx +61 -0
  351. package/src/features/fluency/visual-scaffolding/components/QuotativeBars.tsx +92 -0
  352. package/src/features/fluency/visual-scaffolding/components/RelationalBlock.tsx +225 -0
  353. package/src/features/fluency/visual-scaffolding/components/visualColors.ts +45 -0
  354. package/src/features/fluency/visual-scaffolding/index.ts +5 -0
  355. package/src/features/fluency/visual-scaffolding/renderFact.ts +219 -0
  356. package/src/features/fluency/visual-scaffolding/types.ts +108 -0
  357. package/src/features/fluency-teacher/assets/SortDefaultIcon.tsx +10 -0
  358. package/src/features/fluency-teacher/components/FluencyTeacher.tsx +3 -3
  359. package/src/features/fluency-teacher/components/drawer/DrawerHeader.tsx +35 -37
  360. package/src/features/fluency-teacher/components/drawer/DrawerMasteryLegend.tsx +63 -0
  361. package/src/features/fluency-teacher/components/drawer/DrawerMatrixes.tsx +32 -13
  362. package/src/features/fluency-teacher/components/drawer/DrawerOperatorBox.tsx +40 -20
  363. package/src/features/fluency-teacher/components/drawer/DrawerOperatorStatCard.tsx +35 -35
  364. package/src/features/fluency-teacher/components/drawer/DrawerStats.tsx +28 -16
  365. package/src/features/fluency-teacher/components/drawer/FluencyTeacherDrawer.tsx +5 -4
  366. package/src/features/fluency-teacher/components/matrix/DrawerMatrix.tsx +2 -3
  367. package/src/features/fluency-teacher/components/matrix/MatrixCell.tsx +16 -7
  368. package/src/features/fluency-teacher/components/matrix/MatrixHeaderRow.tsx +1 -1
  369. package/src/features/fluency-teacher/components/matrix/MatrixRow.tsx +4 -4
  370. package/src/features/fluency-teacher/components/table/AllPupilsTableRow.tsx +40 -13
  371. package/src/features/fluency-teacher/components/table/AverageSortButton.tsx +62 -8
  372. package/src/features/fluency-teacher/components/table/FluencyTeacherStudentsTable.tsx +35 -49
  373. package/src/features/fluency-teacher/components/table/OperatorBadge.tsx +11 -18
  374. package/src/features/fluency-teacher/components/table/TableColumnSortButton.tsx +49 -28
  375. package/src/features/fluency-teacher/components/table/TableRow.tsx +64 -65
  376. package/src/features/fluency-teacher/components/table/TableRowAverageProgress.tsx +65 -0
  377. package/src/features/fluency-teacher/context/TeacherFluencyContext.ts +0 -1
  378. package/src/features/fluency-teacher/fluencyTeacher.constants.ts +40 -138
  379. package/src/features/fluency-teacher/fluencyTeacher.helpers.ts +10 -82
  380. package/src/features/fluency-teacher/fluencyTeacher.types.ts +6 -39
  381. package/src/features/fluency-teacher/hooks/useDrawerGrid.ts +7 -4
  382. package/src/features/fluency-teacher/hooks/useDrawerMatrix.ts +3 -4
  383. package/src/features/fluency-teacher/model/TeacherFluencyFiltersModel.ts +5 -8
  384. package/src/features/fluency-teacher/model/TeacherFluencyModel.ts +0 -8
  385. package/dist/commonjs/features/fluency-teacher/assets/DivisionIcon.js.map +0 -1
  386. package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.js +0 -83
  387. package/dist/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.js.map +0 -1
  388. package/dist/commonjs/features/fluency-teacher/components/table/AverageCell.js +0 -55
  389. package/dist/commonjs/features/fluency-teacher/components/table/AverageCell.js.map +0 -1
  390. package/dist/commonjs/features/fluency-teacher/components/table/SortOrderCarets.js +0 -40
  391. package/dist/commonjs/features/fluency-teacher/components/table/SortOrderCarets.js.map +0 -1
  392. package/dist/commonjs/features/fluency-teacher/components/table/tableCell.styles.js +0 -45
  393. package/dist/commonjs/features/fluency-teacher/components/table/tableCell.styles.js.map +0 -1
  394. package/dist/module/features/fluency-teacher/assets/DivisionIcon.js +0 -26
  395. package/dist/module/features/fluency-teacher/assets/DivisionIcon.js.map +0 -1
  396. package/dist/module/features/fluency-teacher/components/matrix/MatrixLegend.js +0 -77
  397. package/dist/module/features/fluency-teacher/components/matrix/MatrixLegend.js.map +0 -1
  398. package/dist/module/features/fluency-teacher/components/table/AverageCell.js +0 -49
  399. package/dist/module/features/fluency-teacher/components/table/AverageCell.js.map +0 -1
  400. package/dist/module/features/fluency-teacher/components/table/SortOrderCarets.js +0 -34
  401. package/dist/module/features/fluency-teacher/components/table/SortOrderCarets.js.map +0 -1
  402. package/dist/module/features/fluency-teacher/components/table/tableCell.styles.js +0 -42
  403. package/dist/module/features/fluency-teacher/components/table/tableCell.styles.js.map +0 -1
  404. package/dist/typescript/commonjs/features/fluency-teacher/assets/DivisionIcon.d.ts +0 -4
  405. package/dist/typescript/commonjs/features/fluency-teacher/assets/DivisionIcon.d.ts.map +0 -1
  406. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.d.ts +0 -10
  407. package/dist/typescript/commonjs/features/fluency-teacher/components/matrix/MatrixLegend.d.ts.map +0 -1
  408. package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageCell.d.ts +0 -9
  409. package/dist/typescript/commonjs/features/fluency-teacher/components/table/AverageCell.d.ts.map +0 -1
  410. package/dist/typescript/commonjs/features/fluency-teacher/components/table/SortOrderCarets.d.ts +0 -9
  411. package/dist/typescript/commonjs/features/fluency-teacher/components/table/SortOrderCarets.d.ts.map +0 -1
  412. package/dist/typescript/commonjs/features/fluency-teacher/components/table/tableCell.styles.d.ts +0 -35
  413. package/dist/typescript/commonjs/features/fluency-teacher/components/table/tableCell.styles.d.ts.map +0 -1
  414. package/dist/typescript/module/features/fluency-teacher/assets/DivisionIcon.d.ts +0 -4
  415. package/dist/typescript/module/features/fluency-teacher/assets/DivisionIcon.d.ts.map +0 -1
  416. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixLegend.d.ts +0 -10
  417. package/dist/typescript/module/features/fluency-teacher/components/matrix/MatrixLegend.d.ts.map +0 -1
  418. package/dist/typescript/module/features/fluency-teacher/components/table/AverageCell.d.ts +0 -9
  419. package/dist/typescript/module/features/fluency-teacher/components/table/AverageCell.d.ts.map +0 -1
  420. package/dist/typescript/module/features/fluency-teacher/components/table/SortOrderCarets.d.ts +0 -9
  421. package/dist/typescript/module/features/fluency-teacher/components/table/SortOrderCarets.d.ts.map +0 -1
  422. package/dist/typescript/module/features/fluency-teacher/components/table/tableCell.styles.d.ts +0 -35
  423. package/dist/typescript/module/features/fluency-teacher/components/table/tableCell.styles.d.ts.map +0 -1
  424. package/src/features/fluency-teacher/assets/DivisionIcon.tsx +0 -20
  425. package/src/features/fluency-teacher/components/matrix/MatrixLegend.tsx +0 -81
  426. package/src/features/fluency-teacher/components/table/AverageCell.tsx +0 -45
  427. package/src/features/fluency-teacher/components/table/SortOrderCarets.tsx +0 -37
  428. package/src/features/fluency-teacher/components/table/tableCell.styles.ts +0 -39
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import Svg, { Line, Circle, Text as SvgText } from 'react-native-svg';
6
+ import { COLORS, FONT_FAMILY, BORDER_RADIUS, SPACING, Typography } from '@magmamath/react-native-ui';
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
+ // L2 — shifts focus from absolute counting to relative part-whole structures.
9
+ export const RelationalBlock = ({
10
+ spec,
11
+ colors
12
+ }) => {
13
+ if (spec.model.type === 'bond') {
14
+ return /*#__PURE__*/_jsx(NumberBond, {
15
+ top: spec.model.top,
16
+ bottomLeft: spec.model.bottomLeft,
17
+ bottomRight: spec.model.bottomRight,
18
+ colors: colors
19
+ });
20
+ }
21
+ return /*#__PURE__*/_jsx(AreaModel, {
22
+ top: spec.model.top,
23
+ side: spec.model.side,
24
+ center: spec.model.center,
25
+ colors: colors
26
+ });
27
+ };
28
+
29
+ // ── Number bond (addition / subtraction) ────────────────────────────────────
30
+
31
+ const VB_W = 220;
32
+ const VB_H = 126;
33
+ const R = 28;
34
+ const NODES = {
35
+ top: {
36
+ cx: 110,
37
+ cy: 32
38
+ },
39
+ left: {
40
+ cx: 58,
41
+ cy: 94
42
+ },
43
+ right: {
44
+ cx: 162,
45
+ cy: 94
46
+ }
47
+ };
48
+ const NumberBond = ({
49
+ top,
50
+ bottomLeft,
51
+ bottomRight,
52
+ colors
53
+ }) => {
54
+ return /*#__PURE__*/_jsx(View, {
55
+ style: styles.bondWrapper,
56
+ children: /*#__PURE__*/_jsxs(Svg, {
57
+ width: "100%",
58
+ height: "100%",
59
+ viewBox: `0 0 ${VB_W} ${VB_H}`,
60
+ preserveAspectRatio: "xMidYMid meet",
61
+ children: [/*#__PURE__*/_jsx(Line, {
62
+ x1: NODES.top.cx,
63
+ y1: NODES.top.cy,
64
+ x2: NODES.left.cx,
65
+ y2: NODES.left.cy,
66
+ stroke: colors.mid,
67
+ strokeWidth: 2.5
68
+ }), /*#__PURE__*/_jsx(Line, {
69
+ x1: NODES.top.cx,
70
+ y1: NODES.top.cy,
71
+ x2: NODES.right.cx,
72
+ y2: NODES.right.cy,
73
+ stroke: colors.mid,
74
+ strokeWidth: 2.5
75
+ }), /*#__PURE__*/_jsx(BondNode, {
76
+ pos: NODES.top,
77
+ value: top,
78
+ colors: colors
79
+ }), /*#__PURE__*/_jsx(BondNode, {
80
+ pos: NODES.left,
81
+ value: bottomLeft,
82
+ colors: colors
83
+ }), /*#__PURE__*/_jsx(BondNode, {
84
+ pos: NODES.right,
85
+ value: bottomRight,
86
+ colors: colors
87
+ })]
88
+ })
89
+ });
90
+ };
91
+ const BondNode = ({
92
+ pos,
93
+ value,
94
+ colors
95
+ }) => {
96
+ const isUnknown = value === null;
97
+ return /*#__PURE__*/_jsxs(_Fragment, {
98
+ children: [/*#__PURE__*/_jsx(Circle, {
99
+ cx: pos.cx,
100
+ cy: pos.cy,
101
+ r: R,
102
+ fill: isUnknown ? COLORS.NEUTRAL_1 : colors.bg,
103
+ stroke: colors.accent,
104
+ strokeWidth: 2.5,
105
+ strokeDasharray: isUnknown ? '5 4' : undefined
106
+ }), /*#__PURE__*/_jsx(SvgText, {
107
+ x: pos.cx,
108
+ y: pos.cy + 10,
109
+ fontSize: 28,
110
+ fontWeight: "700",
111
+ fontFamily: FONT_FAMILY.buenosAires,
112
+ fill: isUnknown ? colors.accent : colors.dark,
113
+ textAnchor: "middle",
114
+ children: isUnknown ? '?' : value
115
+ })]
116
+ });
117
+ };
118
+
119
+ // ── Area model (multiplication / division) ──────────────────────────────────
120
+
121
+ // The rectangle is proportional to the factors using ONE shared unit, so the
122
+ // shape is representative: 4×4 is square, and the larger factor always gives
123
+ // the longer side. `unit` grows until either dimension hits its available cap,
124
+ // so most facts fill the height-limited zone; `maxUnit` only bounds very small
125
+ // facts (e.g. 1×1) so they don't balloon to the full box.
126
+ const AREA = {
127
+ availW: 300,
128
+ availH: 52,
129
+ maxUnit: 18,
130
+ minDim: 18,
131
+ divHeight: 44
132
+ };
133
+ const asFactor = value => typeof value === 'number' && value > 0 ? value : null;
134
+ const areaDims = (top, side) => {
135
+ const a = asFactor(top);
136
+ const b = asFactor(side);
137
+ if (a !== null && b !== null) {
138
+ const unit = Math.min(AREA.availW / a, AREA.availH / b, AREA.maxUnit);
139
+ return {
140
+ width: Math.max(AREA.minDim, a * unit),
141
+ height: Math.max(AREA.minDim, b * unit)
142
+ };
143
+ }
144
+ // One dimension unknown (division): scale the known side, leave a neutral height.
145
+ if (a !== null) {
146
+ const unit = Math.min(AREA.availW / a, AREA.maxUnit);
147
+ return {
148
+ width: Math.max(AREA.minDim, a * unit),
149
+ height: AREA.divHeight
150
+ };
151
+ }
152
+ return {
153
+ width: AREA.divHeight,
154
+ height: AREA.divHeight
155
+ };
156
+ };
157
+ const AreaModel = ({
158
+ top,
159
+ side,
160
+ center,
161
+ colors
162
+ }) => {
163
+ const {
164
+ width,
165
+ height
166
+ } = areaDims(top, side);
167
+
168
+ // Two aligned rows with a matched side column on BOTH sides of the rect, so the
169
+ // rect is centered horizontally: the side label sits in the left column, an
170
+ // equal-width spacer balances the right. The top label box matches the rect
171
+ // width so it centers over the rect.
172
+ return /*#__PURE__*/_jsxs(View, {
173
+ style: styles.areaContainer,
174
+ children: [/*#__PURE__*/_jsxs(View, {
175
+ style: styles.areaRow,
176
+ children: [/*#__PURE__*/_jsx(View, {
177
+ style: styles.sideCol
178
+ }), /*#__PURE__*/_jsx(View, {
179
+ style: [styles.topCol, {
180
+ width
181
+ }],
182
+ children: /*#__PURE__*/_jsx(Dimension, {
183
+ value: top,
184
+ colors: colors
185
+ })
186
+ }), /*#__PURE__*/_jsx(View, {
187
+ style: styles.sideCol
188
+ })]
189
+ }), /*#__PURE__*/_jsxs(View, {
190
+ style: styles.areaRow,
191
+ children: [/*#__PURE__*/_jsx(View, {
192
+ style: [styles.sideCol, styles.sideLabel],
193
+ children: /*#__PURE__*/_jsx(Dimension, {
194
+ value: side,
195
+ colors: colors
196
+ })
197
+ }), /*#__PURE__*/_jsx(View, {
198
+ style: [styles.rect, {
199
+ width,
200
+ height,
201
+ borderColor: colors.accent,
202
+ backgroundColor: colors.bg
203
+ }],
204
+ children: /*#__PURE__*/_jsx(Dimension, {
205
+ value: center,
206
+ colors: colors,
207
+ large: true
208
+ })
209
+ }), /*#__PURE__*/_jsx(View, {
210
+ style: styles.sideCol
211
+ })]
212
+ })]
213
+ });
214
+ };
215
+ const Dimension = ({
216
+ value,
217
+ colors,
218
+ large = false
219
+ }) => {
220
+ const isUnknown = value === null;
221
+ return /*#__PURE__*/_jsx(Typography, {
222
+ style: [styles.dimText, large && styles.dimTextLarge, {
223
+ color: isUnknown ? colors.accent : colors.dark
224
+ }],
225
+ children: isUnknown ? '?' : value
226
+ });
227
+ };
228
+ const styles = StyleSheet.create({
229
+ bondWrapper: {
230
+ // Size by HEIGHT so the bond fits the short visual zone (card 260 → flex-4
231
+ // zone ≈104px − padding ≈88px content); width follows the viewBox ratio.
232
+ // Width-driven sizing overshot because the zone is wide but short.
233
+ height: 84,
234
+ aspectRatio: VB_W / VB_H,
235
+ alignSelf: 'center'
236
+ },
237
+ areaContainer: {
238
+ alignItems: 'center',
239
+ justifyContent: 'center',
240
+ gap: SPACING[100]
241
+ },
242
+ areaRow: {
243
+ flexDirection: 'row',
244
+ alignItems: 'center',
245
+ gap: SPACING[200]
246
+ },
247
+ sideCol: {
248
+ width: 32
249
+ },
250
+ sideLabel: {
251
+ alignItems: 'flex-end',
252
+ justifyContent: 'center'
253
+ },
254
+ topCol: {
255
+ alignItems: 'center'
256
+ },
257
+ rect: {
258
+ borderWidth: 2,
259
+ borderRadius: BORDER_RADIUS[200],
260
+ alignItems: 'center',
261
+ justifyContent: 'center'
262
+ },
263
+ dimText: {
264
+ fontSize: 17,
265
+ fontWeight: '700',
266
+ fontFamily: FONT_FAMILY.buenosAires
267
+ },
268
+ dimTextLarge: {
269
+ fontSize: 24
270
+ }
271
+ });
272
+ //# sourceMappingURL=RelationalBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","StyleSheet","Svg","Line","Circle","Text","SvgText","COLORS","FONT_FAMILY","BORDER_RADIUS","SPACING","Typography","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RelationalBlock","spec","colors","model","type","NumberBond","top","bottomLeft","bottomRight","AreaModel","side","center","VB_W","VB_H","R","NODES","cx","cy","left","right","style","styles","bondWrapper","children","width","height","viewBox","preserveAspectRatio","x1","y1","x2","y2","stroke","mid","strokeWidth","BondNode","pos","value","isUnknown","r","fill","NEUTRAL_1","bg","accent","strokeDasharray","undefined","x","y","fontSize","fontWeight","fontFamily","buenosAires","dark","textAnchor","AREA","availW","availH","maxUnit","minDim","divHeight","asFactor","areaDims","a","b","unit","Math","min","max","areaContainer","areaRow","sideCol","topCol","Dimension","sideLabel","rect","borderColor","backgroundColor","large","dimText","dimTextLarge","color","create","aspectRatio","alignSelf","alignItems","justifyContent","gap","flexDirection","borderWidth","borderRadius"],"sourceRoot":"../../../../../../src","sources":["features/fluency/visual-scaffolding/components/RelationalBlock.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import { COLORS } from '@magmamath/react-native-ui';
4
+
5
+ /**
6
+ * Per-operation color set (spec §6):
7
+ * accent → dots / lines / fills
8
+ * bg → the tinted visual-zone background (lightest tint)
9
+ * mid → the "second" quantity (2nd addend, dashed group outline)
10
+ * dark → small text labels (number-line tick/jump captions)
11
+ */
12
+
13
+ export const VISUAL_COLORS = {
14
+ addition: {
15
+ accent: COLORS.PRIMARY_GREEN,
16
+ bg: COLORS.GREEN_1,
17
+ // Second addend: a darker green than the first so the tokens stay legible
18
+ // (GREEN_3 was too light against the frame).
19
+ mid: COLORS.GREEN_6,
20
+ dark: COLORS.GREEN_7
21
+ },
22
+ subtraction: {
23
+ accent: COLORS.PRIMARY_ORANGE,
24
+ bg: COLORS.ORANGE_1,
25
+ mid: COLORS.ORANGE_3,
26
+ dark: COLORS.ORANGE_7
27
+ },
28
+ multiplication: {
29
+ accent: COLORS.PRIMARY_BLUE,
30
+ bg: COLORS.BLUE_1,
31
+ mid: COLORS.BLUE_3,
32
+ dark: COLORS.BLUE_7
33
+ },
34
+ division: {
35
+ accent: COLORS.PRIMARY_PURPLE,
36
+ bg: COLORS.PURPLE_1,
37
+ mid: COLORS.PURPLE_3,
38
+ dark: COLORS.PURPLE_7
39
+ }
40
+ };
41
+ //# sourceMappingURL=visualColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["COLORS","VISUAL_COLORS","addition","accent","PRIMARY_GREEN","bg","GREEN_1","mid","GREEN_6","dark","GREEN_7","subtraction","PRIMARY_ORANGE","ORANGE_1","ORANGE_3","ORANGE_7","multiplication","PRIMARY_BLUE","BLUE_1","BLUE_3","BLUE_7","division","PRIMARY_PURPLE","PURPLE_1","PURPLE_3","PURPLE_7"],"sourceRoot":"../../../../../../src","sources":["features/fluency/visual-scaffolding/components/visualColors.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,4BAA4B;;AAGnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA,OAAO,MAAMC,aAA8C,GAAG;EAC5DC,QAAQ,EAAE;IACRC,MAAM,EAAEH,MAAM,CAACI,aAAa;IAC5BC,EAAE,EAAEL,MAAM,CAACM,OAAO;IAClB;IACA;IACAC,GAAG,EAAEP,MAAM,CAACQ,OAAO;IACnBC,IAAI,EAAET,MAAM,CAACU;EACf,CAAC;EACDC,WAAW,EAAE;IACXR,MAAM,EAAEH,MAAM,CAACY,cAAc;IAC7BP,EAAE,EAAEL,MAAM,CAACa,QAAQ;IACnBN,GAAG,EAAEP,MAAM,CAACc,QAAQ;IACpBL,IAAI,EAAET,MAAM,CAACe;EACf,CAAC;EACDC,cAAc,EAAE;IACdb,MAAM,EAAEH,MAAM,CAACiB,YAAY;IAC3BZ,EAAE,EAAEL,MAAM,CAACkB,MAAM;IACjBX,GAAG,EAAEP,MAAM,CAACmB,MAAM;IAClBV,IAAI,EAAET,MAAM,CAACoB;EACf,CAAC;EACDC,QAAQ,EAAE;IACRlB,MAAM,EAAEH,MAAM,CAACsB,cAAc;IAC7BjB,EAAE,EAAEL,MAAM,CAACuB,QAAQ;IACnBhB,GAAG,EAAEP,MAAM,CAACwB,QAAQ;IACpBf,IAAI,EAAET,MAAM,CAACyB;EACf;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ export * from "./types.js";
4
+ export { renderFact, hasVisual, levelForBox, TEN_FRAME_CAPACITY } from "./renderFact.js";
5
+ export { FactVisual } from "./components/FactVisual.js";
6
+ export { VISUAL_COLORS } from "./components/visualColors.js";
7
+ export { toFactPresentation } from "./adapter.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["renderFact","hasVisual","levelForBox","TEN_FRAME_CAPACITY","FactVisual","VISUAL_COLORS","toFactPresentation"],"sourceRoot":"../../../../../src","sources":["features/fluency/visual-scaffolding/index.ts"],"mappings":";;AAAA,cAAc,YAAS;AACvB,SAASA,UAAU,EAAEC,SAAS,EAAEC,WAAW,EAAEC,kBAAkB,QAAQ,iBAAc;AACrF,SAASC,UAAU,QAAQ,4BAAyB;AACpD,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,kBAAkB,QAAQ,cAAW","ignoreList":[]}
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Pure renderer core for the Unified Math Fact Fluency Visual Engine.
5
+ *
6
+ * box → level (levelForBox)
7
+ * level → component (L1 grid, L2 relational, L3 line, L4/L5 none)
8
+ * operation → component variant + layout data
9
+ *
10
+ * Everything is derived; nothing is persisted. `renderFact` is pure so it can
11
+ * be snapshot-tested in isolation from React.
12
+ */
13
+
14
+ export const TEN_FRAME_CAPACITY = 10;
15
+ const MINUS = '−'; // U+2212
16
+
17
+ /** box → level. Five boxes map one-to-one onto the five engine levels. */
18
+ export function levelForBox(box) {
19
+ switch (box) {
20
+ case 0:
21
+ return 'L1';
22
+ case 1:
23
+ return 'L2';
24
+ case 2:
25
+ return 'L3';
26
+ case 3:
27
+ return 'L4';
28
+ default:
29
+ return 'L5';
30
+ }
31
+ }
32
+
33
+ /** Coerce to a safe non-negative integer for layout math. */
34
+ const toCount = n => Number.isFinite(n) && n > 0 ? Math.floor(n) : 0;
35
+
36
+ /** Multiples of ten strictly between `lo` and `hi`, ascending. */
37
+ const tensBetween = (lo, hi) => {
38
+ const out = [];
39
+ for (let t = Math.floor(lo / TEN_FRAME_CAPACITY) * TEN_FRAME_CAPACITY + TEN_FRAME_CAPACITY; t < hi; t += TEN_FRAME_CAPACITY) {
40
+ out.push(t);
41
+ }
42
+ return out;
43
+ };
44
+
45
+ /** Consecutive [from, to] pairs over a list of stops. */
46
+ const pairs = xs => xs.slice(1).map((x, i) => [xs[i], x]);
47
+ const uniqueAsc = xs => [...new Set(xs)].sort((x, y) => x - y);
48
+ // ── L1: DiscreteCounterGrid ─────────────────────────────────────────────────
49
+
50
+ function buildGrid(operation, left, right, base) {
51
+ const a = toCount(left);
52
+ const b = toCount(right);
53
+ const layout = (() => {
54
+ switch (operation) {
55
+ case 'addition':
56
+ return {
57
+ type: 'tenframes',
58
+ a,
59
+ b,
60
+ capacity: TEN_FRAME_CAPACITY
61
+ };
62
+ case 'subtraction':
63
+ return {
64
+ type: 'tenframes_takeaway',
65
+ total: a,
66
+ removed: Math.min(b, a),
67
+ capacity: TEN_FRAME_CAPACITY
68
+ };
69
+ case 'multiplication':
70
+ // 3×4 shown as 3 groups of 4 (first factor = number of groups), mirroring
71
+ // the division grouping so multiplication also reads as equal groups.
72
+ return {
73
+ type: 'groups',
74
+ groupCount: a,
75
+ perGroup: b
76
+ };
77
+ case 'division':
78
+ // 12 ÷ 4 → 3 clusters of 4: quotient groups, each holding the divisor.
79
+ return {
80
+ type: 'groups',
81
+ groupCount: b > 0 ? Math.floor(a / b) : 0,
82
+ perGroup: b
83
+ };
84
+ }
85
+ })();
86
+ return {
87
+ ...base,
88
+ kind: 'grid',
89
+ layout
90
+ };
91
+ }
92
+
93
+ // ── L2: RelationalBlock ─────────────────────────────────────────────────────
94
+
95
+ function buildRelational(operation, left, right, base) {
96
+ const model = (() => {
97
+ switch (operation) {
98
+ case 'addition':
99
+ // whole (sum) unknown on top; addends below.
100
+ return {
101
+ type: 'bond',
102
+ top: null,
103
+ bottomLeft: left,
104
+ bottomRight: right
105
+ };
106
+ case 'subtraction':
107
+ // minuend whole on top; one part (the difference) unknown.
108
+ return {
109
+ type: 'bond',
110
+ top: left,
111
+ bottomLeft: right,
112
+ bottomRight: null
113
+ };
114
+ case 'multiplication':
115
+ // both dimensions known; product (center) unknown. First factor is the
116
+ // number of rows (vertical side) to match the L1 array — "3×4" = 3 rows
117
+ // of 4, so left drives height (side), right drives width (top).
118
+ return {
119
+ type: 'area',
120
+ top: right,
121
+ side: left,
122
+ center: null
123
+ };
124
+ case 'division':
125
+ // dividend (product) and divisor known; missing side dimension.
126
+ return {
127
+ type: 'area',
128
+ top: right,
129
+ side: null,
130
+ center: left
131
+ };
132
+ }
133
+ })();
134
+ return {
135
+ ...base,
136
+ kind: 'relational',
137
+ model
138
+ };
139
+ }
140
+
141
+ // ── L3: DynamicNumberLine — add/sub bridge through every ten; mult skip-counts ─
142
+
143
+ function buildLine(operation, left, right, base) {
144
+ const a = toCount(left);
145
+ const b = toCount(right);
146
+ if (operation === 'addition') {
147
+ const sum = a + b;
148
+ // Bridge through EVERY ten: 8 + 15 → 8→10→20→23 (make-a-ten, repeated).
149
+ const stops = [a, ...tensBetween(a, sum), sum];
150
+ const jumps = pairs(stops).map(([from, to]) => ({
151
+ from,
152
+ to,
153
+ label: `+${to - from}`
154
+ }));
155
+ const ticks = uniqueAsc([0, ...stops]);
156
+ return {
157
+ ...base,
158
+ kind: 'line',
159
+ lo: 0,
160
+ hi: sum,
161
+ ticks,
162
+ jumps,
163
+ hiddenTick: sum
164
+ };
165
+ }
166
+ if (operation === 'subtraction') {
167
+ const diff = a - b;
168
+ // Step back through every ten: 23 − 15 → 23→20→10→8.
169
+ const stopsDesc = [a, ...tensBetween(diff, a).reverse(), diff];
170
+ const jumps = pairs(stopsDesc).map(([from, to]) => ({
171
+ from,
172
+ to,
173
+ label: `${MINUS}${from - to}`
174
+ }));
175
+ const ticks = uniqueAsc([diff, ...tensBetween(diff, a), a]);
176
+ return {
177
+ ...base,
178
+ kind: 'line',
179
+ lo: diff,
180
+ hi: a,
181
+ ticks,
182
+ jumps,
183
+ hiddenTick: diff
184
+ };
185
+ }
186
+
187
+ // multiplication: skip-count — a hops of b up to the product.
188
+ const total = a * b;
189
+ const jumps = Array.from({
190
+ length: a
191
+ }, (_, i) => ({
192
+ from: i * b,
193
+ to: (i + 1) * b,
194
+ label: `+${b}`
195
+ }));
196
+ const ticks = Array.from({
197
+ length: a + 1
198
+ }, (_, i) => i * b);
199
+ return {
200
+ ...base,
201
+ kind: 'line',
202
+ lo: 0,
203
+ hi: total,
204
+ ticks,
205
+ jumps,
206
+ hiddenTick: total
207
+ };
208
+ }
209
+
210
+ // ── L2 (division): QuotativeBars ─────────────────────────────────────────────
211
+
212
+ // Quotative division: the dividend as a bar split into equal groups of the
213
+ // divisor; the count of groups (quotient) is the answer the student reads off.
214
+ function buildBars(left, right, base) {
215
+ const total = toCount(left);
216
+ const segment = toCount(right);
217
+ const segmentCount = segment > 0 ? Math.floor(total / segment) : 0;
218
+ return {
219
+ ...base,
220
+ kind: 'bars',
221
+ total,
222
+ segment,
223
+ segmentCount
224
+ };
225
+ }
226
+ function buildNone(base) {
227
+ return {
228
+ ...base,
229
+ kind: 'none'
230
+ };
231
+ }
232
+
233
+ /**
234
+ * Single entry point the card calls. Returns the visual spec for the current
235
+ * fact at its current box. The symbolic equation is rendered separately and is
236
+ * always present.
237
+ */
238
+ export function renderFact(p) {
239
+ const level = levelForBox(p.box);
240
+ const base = {
241
+ operation: p.operation,
242
+ left: p.left,
243
+ right: p.right,
244
+ level
245
+ };
246
+ switch (level) {
247
+ case 'L1':
248
+ return buildGrid(p.operation, p.left, p.right, base);
249
+ case 'L2':
250
+ // Division → concrete quotative bar; multiplication → number line
251
+ // (skip-count); addition/subtraction → number bond.
252
+ if (p.operation === 'division') return buildBars(p.left, p.right, base);
253
+ if (p.operation === 'multiplication') return buildLine(p.operation, p.left, p.right, base);
254
+ return buildRelational(p.operation, p.left, p.right, base);
255
+ case 'L3':
256
+ // Addition/subtraction → number line; multiplication/division → area model.
257
+ if (p.operation === 'addition' || p.operation === 'subtraction') return buildLine(p.operation, p.left, p.right, base);
258
+ return buildRelational(p.operation, p.left, p.right, base);
259
+ case 'L4':
260
+ case 'L5':
261
+ return buildNone(base);
262
+ }
263
+ }
264
+
265
+ /** Whether the fact has any visual scaffold at its current box (false at L4/L5). */
266
+ export function hasVisual(p) {
267
+ return renderFact(p).kind !== 'none';
268
+ }
269
+ //# sourceMappingURL=renderFact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TEN_FRAME_CAPACITY","MINUS","levelForBox","box","toCount","n","Number","isFinite","Math","floor","tensBetween","lo","hi","out","t","push","pairs","xs","slice","map","x","i","uniqueAsc","Set","sort","y","buildGrid","operation","left","right","base","a","b","layout","type","capacity","total","removed","min","groupCount","perGroup","kind","buildRelational","model","top","bottomLeft","bottomRight","side","center","buildLine","sum","stops","jumps","from","to","label","ticks","hiddenTick","diff","stopsDesc","reverse","Array","length","_","buildBars","segment","segmentCount","buildNone","renderFact","p","level","hasVisual"],"sourceRoot":"../../../../../src","sources":["features/fluency/visual-scaffolding/renderFact.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["features/fluency/visual-scaffolding/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import Svg, { Path } from 'react-native-svg';
5
+ import { COLORS } from '@magmamath/react-native-ui';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const SortDefaultIcon = ({
8
+ color = COLORS.NEUTRAL_9,
9
+ size = 10
10
+ }) => /*#__PURE__*/_jsxs(Svg, {
11
+ width: size,
12
+ height: size,
13
+ viewBox: "0 0 10 10",
14
+ fill: "none",
15
+ children: [/*#__PURE__*/_jsx(Path, {
16
+ d: "M5 1 L8 4 H2 Z",
17
+ fill: color
18
+ }), /*#__PURE__*/_jsx(Path, {
19
+ d: "M5 9 L2 6 H8 Z",
20
+ fill: color
21
+ })]
22
+ });
23
+ //# sourceMappingURL=SortDefaultIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","jsxs","_jsxs","SortDefaultIcon","color","NEUTRAL_9","size","width","height","viewBox","fill","children","d"],"sourceRoot":"../../../../../src","sources":["features/fluency-teacher/assets/SortDefaultIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAASC,MAAM,QAAmB,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9D,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,KAAK,GAAGN,MAAM,CAACO,SAAS;EAAEC,IAAI,GAAG;AAAc,CAAC,kBAChFJ,KAAA,CAACN,GAAG;EAACW,KAAK,EAAED,IAAK;EAACE,MAAM,EAAEF,IAAK;EAACG,OAAO,EAAC,WAAW;EAACC,IAAI,EAAC,MAAM;EAAAC,QAAA,gBAC7DX,IAAA,CAACH,IAAI;IAACe,CAAC,EAAC,gBAAgB;IAACF,IAAI,EAAEN;EAAM,CAAE,CAAC,eACxCJ,IAAA,CAACH,IAAI;IAACe,CAAC,EAAC,gBAAgB;IAACF,IAAI,EAAEN;EAAM,CAAE,CAAC;AAAA,CACrC,CACN","ignoreList":[]}