@magmamath/students-features 0.9.105-rc.0 → 0.9.106-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 (259) hide show
  1. package/.editorconfig +15 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc +22 -0
  4. package/.gitattributes +3 -0
  5. package/.github/actions/setup/action.yml +37 -0
  6. package/.github/workflows/ci.yml +73 -0
  7. package/.gitignore +84 -0
  8. package/.idea/.gitignore +8 -0
  9. package/.idea/codeStyles/Project.xml +62 -0
  10. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  11. package/.idea/copilot.data.migration.agent.xml +6 -0
  12. package/.idea/copilot.data.migration.ask.xml +6 -0
  13. package/.idea/copilot.data.migration.ask2agent.xml +6 -0
  14. package/.idea/copilot.data.migration.edit.xml +6 -0
  15. package/.idea/inspectionProfiles/Project_Default.xml +8 -0
  16. package/.idea/jsLinters/eslint.xml +6 -0
  17. package/.idea/modules.xml +8 -0
  18. package/.idea/prettier.xml +7 -0
  19. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_30_12_2025,_11_06_[Changes]/shelved.patch +18 -0
  20. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_30_12_2025,_11_07_[Changes]/shelved.patch +18 -0
  21. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_30_12_2025__11_06__Changes_.xml +4 -0
  22. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_30_12_2025__11_07__Changes_.xml +4 -0
  23. package/.idea/students-features.iml +12 -0
  24. package/.idea/vcs.xml +6 -0
  25. package/.idea/workspace.xml +647 -0
  26. package/.nvmrc +1 -0
  27. package/.prettierrc +11 -0
  28. package/.release-it.json +17 -0
  29. package/.watchmanconfig +1 -0
  30. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +541 -0
  31. package/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +28 -0
  32. package/.yarn/releases/yarn-3.6.1.cjs +874 -0
  33. package/babel.config.js +5 -0
  34. package/bob.config.js +25 -0
  35. package/dist/commonjs/features/feedback/model/model.js.map +1 -1
  36. package/dist/commonjs/features/feedback/model/sockets.js +8 -5
  37. package/dist/commonjs/features/feedback/model/sockets.js.map +1 -1
  38. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +2 -2
  39. package/dist/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  40. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  41. package/dist/commonjs/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  42. package/dist/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.js +4 -4
  43. package/dist/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.js.map +1 -1
  44. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  45. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  46. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js +4 -4
  47. package/dist/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js.map +1 -1
  48. package/dist/commonjs/features/keyboard/components/Keyboard.js +2 -2
  49. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  50. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js +1 -6
  51. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  52. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitTabs.js +1 -1
  53. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +3 -1
  54. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  55. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +27 -6
  56. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  57. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
  58. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  59. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js +1 -0
  60. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  61. package/dist/commonjs/features/keyboard/constants/constants.js +1 -1
  62. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +2 -1
  63. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  64. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +20 -4
  65. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  66. package/dist/commonjs/features/keyboard/helpers.js +7 -0
  67. package/dist/commonjs/features/keyboard/helpers.js.map +1 -1
  68. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +20 -3
  69. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  70. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js +6 -3
  71. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  72. package/dist/commonjs/shared/icons/TimeIcon.js +37 -0
  73. package/dist/commonjs/shared/icons/TimeIcon.js.map +1 -0
  74. package/dist/commonjs/shared/icons/keyboard/CDotIcon/CDotIcon.js +4 -4
  75. package/dist/commonjs/shared/icons/keyboard/CDotIcon/CDotIcon.js.map +1 -1
  76. package/dist/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js +32 -0
  77. package/dist/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js.map +1 -0
  78. package/dist/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js +32 -0
  79. package/dist/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js.map +1 -0
  80. package/dist/commonjs/shared/translation/localization/ca.json +2 -1
  81. package/dist/commonjs/shared/translation/localization/de.json +2 -1
  82. package/dist/commonjs/shared/translation/localization/en.json +2 -1
  83. package/dist/commonjs/shared/translation/localization/gb.json +2 -1
  84. package/dist/commonjs/shared/translation/localization/sct.json +2 -1
  85. package/dist/commonjs/shared/translation/localization/sw.json +2 -1
  86. package/dist/module/features/feedback/model/model.js.map +1 -1
  87. package/dist/module/features/feedback/model/sockets.js +8 -5
  88. package/dist/module/features/feedback/model/sockets.js.map +1 -1
  89. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js +3 -3
  90. package/dist/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.js.map +1 -1
  91. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js +2 -2
  92. package/dist/module/features/keyboard/components/BasicLayout/BasicLayout.js.map +1 -1
  93. package/dist/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.js +4 -4
  94. package/dist/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.js.map +1 -1
  95. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js +2 -2
  96. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.js.map +1 -1
  97. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js +4 -4
  98. package/dist/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.js.map +1 -1
  99. package/dist/module/features/keyboard/components/Keyboard.js +2 -2
  100. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  101. package/dist/module/features/keyboard/components/KeysList/KeysList.js.map +1 -1
  102. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js +2 -7
  103. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -1
  104. package/dist/module/features/keyboard/components/UnitsLayout/UnitTabs.js +1 -1
  105. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +2 -1
  106. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  107. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +27 -6
  108. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  109. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
  110. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  111. package/dist/module/features/keyboard/components/UnitsLayout/types.js +1 -0
  112. package/dist/module/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  113. package/dist/module/features/keyboard/constants/constants.js +1 -1
  114. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +3 -2
  115. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  116. package/dist/module/features/keyboard/constants/keyboardLayouts.js +19 -4
  117. package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  118. package/dist/module/features/keyboard/helpers.js +5 -0
  119. package/dist/module/features/keyboard/helpers.js.map +1 -1
  120. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +20 -3
  121. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  122. package/dist/module/features/keyboard/types/MathKeysGroups/units.js +6 -3
  123. package/dist/module/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  124. package/dist/module/shared/icons/TimeIcon.js +29 -0
  125. package/dist/module/shared/icons/TimeIcon.js.map +1 -0
  126. package/dist/module/shared/icons/keyboard/CDotIcon/CDotIcon.js +4 -4
  127. package/dist/module/shared/icons/keyboard/CDotIcon/CDotIcon.js.map +1 -1
  128. package/dist/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js +24 -0
  129. package/dist/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.js.map +1 -0
  130. package/dist/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js +24 -0
  131. package/dist/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.js.map +1 -0
  132. package/dist/module/shared/translation/localization/ca.json +2 -1
  133. package/dist/module/shared/translation/localization/de.json +2 -1
  134. package/dist/module/shared/translation/localization/en.json +2 -1
  135. package/dist/module/shared/translation/localization/gb.json +2 -1
  136. package/dist/module/shared/translation/localization/sct.json +2 -1
  137. package/dist/module/shared/translation/localization/sw.json +2 -1
  138. package/dist/typescript/commonjs/features/feedback/model/model.d.ts +4 -1
  139. package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
  140. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -1
  141. package/dist/typescript/commonjs/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  142. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusLayout/keyboardGroups.d.ts.map +1 -1
  143. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.d.ts.map +1 -1
  145. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  146. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
  147. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  148. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
  149. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  150. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
  151. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  152. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
  153. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  154. package/dist/typescript/commonjs/features/keyboard/constants/constants.d.ts +1 -1
  155. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  156. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +4 -0
  157. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  158. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts +1 -0
  159. package/dist/typescript/commonjs/features/keyboard/helpers.d.ts.map +1 -1
  160. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +10 -0
  161. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  162. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts +36 -0
  163. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  164. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts +4 -0
  165. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts.map +1 -0
  166. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts +4 -0
  167. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts.map +1 -0
  168. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts +4 -0
  169. package/dist/typescript/commonjs/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts.map +1 -0
  170. package/dist/typescript/commonjs/shared/translation/constants.d.ts +6 -0
  171. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  172. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  173. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  174. package/dist/typescript/module/features/feedback/model/model.d.ts +4 -1
  175. package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
  176. package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -1
  177. package/dist/typescript/module/features/keyboard/components/AlgebraLayout/AlgebraLayout.d.ts.map +1 -1
  178. package/dist/typescript/module/features/keyboard/components/BasicPlusLayout/keyboardGroups.d.ts.map +1 -1
  179. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.d.ts.map +1 -1
  180. package/dist/typescript/module/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.d.ts.map +1 -1
  181. package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -1
  182. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
  183. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  184. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
  185. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  186. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
  187. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  188. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
  189. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  190. package/dist/typescript/module/features/keyboard/constants/constants.d.ts +1 -1
  191. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  192. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +4 -0
  193. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  194. package/dist/typescript/module/features/keyboard/helpers.d.ts +1 -0
  195. package/dist/typescript/module/features/keyboard/helpers.d.ts.map +1 -1
  196. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +10 -0
  197. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  198. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts +36 -0
  199. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  200. package/dist/typescript/module/shared/icons/TimeIcon.d.ts +4 -0
  201. package/dist/typescript/module/shared/icons/TimeIcon.d.ts.map +1 -0
  202. package/dist/typescript/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts +4 -0
  203. package/dist/typescript/module/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.d.ts.map +1 -0
  204. package/dist/typescript/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts +4 -0
  205. package/dist/typescript/module/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.d.ts.map +1 -0
  206. package/dist/typescript/module/shared/translation/constants.d.ts +6 -0
  207. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  208. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  209. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  210. package/example/.expo/README.md +8 -0
  211. package/example/.expo/devices.json +3 -0
  212. package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
  213. package/example/app.json +30 -0
  214. package/example/assets/adaptive-icon.png +0 -0
  215. package/example/assets/favicon.png +0 -0
  216. package/example/assets/icon.png +0 -0
  217. package/example/assets/splash-icon.png +0 -0
  218. package/example/babel.config.js +28 -0
  219. package/example/index.js +8 -0
  220. package/example/metro.config.js +18 -0
  221. package/example/package.json +25 -0
  222. package/example/src/App.tsx +8 -0
  223. package/example/tsconfig.json +6 -0
  224. package/example/yarn.lock +6552 -0
  225. package/package.json +1 -1
  226. package/src/features/feedback/model/model.ts +4 -1
  227. package/src/features/feedback/model/sockets.ts +8 -6
  228. package/src/features/keyboard/components/AlgebraLayout/AlgebraLayout.tsx +4 -3
  229. package/src/features/keyboard/components/BasicLayout/BasicLayout.tsx +2 -2
  230. package/src/features/keyboard/components/BasicPlusLayout/keyboardGroups.ts +27 -17
  231. package/src/features/keyboard/components/BasicPlusPlusLayout/BasicPlusPlusLayout.tsx +3 -2
  232. package/src/features/keyboard/components/BasicPlusPlusLayout/keyboardGroups.ts +30 -24
  233. package/src/features/keyboard/components/Keyboard.tsx +2 -2
  234. package/src/features/keyboard/components/KeysList/KeysList.tsx +1 -1
  235. package/src/features/keyboard/components/MainLayout/MainLayout.tsx +2 -6
  236. package/src/features/keyboard/components/UnitsLayout/UnitTabs.tsx +1 -1
  237. package/src/features/keyboard/components/UnitsLayout/helpers.tsx +3 -0
  238. package/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts +36 -22
  239. package/src/features/keyboard/components/UnitsLayout/keyboardGroups.ts +11 -0
  240. package/src/features/keyboard/components/UnitsLayout/types.ts +7 -0
  241. package/src/features/keyboard/constants/constants.ts +1 -1
  242. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +2 -0
  243. package/src/features/keyboard/constants/keyboardLayouts.ts +18 -1
  244. package/src/features/keyboard/helpers.ts +6 -0
  245. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +15 -3
  246. package/src/features/keyboard/types/MathKeysGroups/units.tsx +3 -0
  247. package/src/shared/icons/TimeIcon.tsx +23 -0
  248. package/src/shared/icons/keyboard/CDotIcon/CDotIcon.tsx +2 -2
  249. package/src/shared/icons/keyboard/RoundBracketLeftIcon/RoundBracketLeftIcon.tsx +18 -0
  250. package/src/shared/icons/keyboard/RoundBracketRightIcon/RoundBracketRightIcon.tsx +18 -0
  251. package/src/shared/translation/localization/ca.json +2 -1
  252. package/src/shared/translation/localization/de.json +2 -1
  253. package/src/shared/translation/localization/en.json +2 -1
  254. package/src/shared/translation/localization/gb.json +2 -1
  255. package/src/shared/translation/localization/sct.json +2 -1
  256. package/src/shared/translation/localization/sw.json +2 -1
  257. package/tsconfig.build.json +4 -0
  258. package/tsconfig.json +34 -0
  259. package/yarn.lock +8623 -0
package/.editorconfig ADDED
@@ -0,0 +1,15 @@
1
+ # EditorConfig helps developers define and maintain consistent
2
+ # coding styles between different editors and IDEs
3
+ # editorconfig.org
4
+
5
+ root = true
6
+
7
+ [*]
8
+
9
+ indent_style = space
10
+ indent_size = 2
11
+
12
+ end_of_line = lf
13
+ charset = utf-8
14
+ trim_trailing_whitespace = true
15
+ insert_final_newline = true
package/.eslintignore ADDED
@@ -0,0 +1,2 @@
1
+ node_modules/
2
+ ./lib/
package/.eslintrc ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "env": {
3
+ "browser": true,
4
+ "es2020": true
5
+ },
6
+ "extends": [
7
+ "eslint:recommended",
8
+ "plugin:@typescript-eslint/recommended",
9
+ "plugin:react-hooks/recommended",
10
+ "plugin:storybook/recommended",
11
+ "prettier"
12
+ ],
13
+ "parser": "@typescript-eslint/parser",
14
+ "parserOptions": {
15
+ "ecmaVersion": "latest",
16
+ "sourceType": "module"
17
+ },
18
+ "plugins": ["react-refresh"],
19
+ "rules": {
20
+ "react-refresh/only-export-components": "warn"
21
+ }
22
+ }
package/.gitattributes ADDED
@@ -0,0 +1,3 @@
1
+ *.pbxproj -text
2
+ # specific for windows script files
3
+ *.bat text eol=crlf
@@ -0,0 +1,37 @@
1
+ name: Setup
2
+ description: Setup Node.js and install dependencies
3
+
4
+ inputs:
5
+ npmrc-auth-token:
6
+ required: true
7
+
8
+ runs:
9
+ using: composite
10
+ steps:
11
+ - name: Setup Node.js
12
+ uses: actions/setup-node@v3
13
+ with:
14
+ node-version-file: .nvmrc
15
+
16
+ - name: Create .npmrc
17
+ shell: bash
18
+ run: |
19
+ echo "registry=https://registry.npmjs.org" > .npmrc
20
+ echo "//registry.npmjs.org/:_authToken=${{ inputs.npmrc-auth-token }}" >> .npmrc
21
+
22
+ - name: Cache dependencies
23
+ id: yarn-cache
24
+ uses: actions/cache@v3
25
+ with:
26
+ path: |
27
+ **/node_modules
28
+ .yarn/install-state.gz
29
+ key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}-${{ hashFiles('**/package.json', '!node_modules/**') }}
30
+ restore-keys: |
31
+ ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
32
+ ${{ runner.os }}-yarn-
33
+
34
+ - name: Install dependencies
35
+ if: steps.yarn-cache.outputs.cache-hit != 'true'
36
+ run: yarn install --immutable
37
+ shell: bash
@@ -0,0 +1,73 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ merge_group:
11
+ types:
12
+ - checks_requested
13
+
14
+ jobs:
15
+ lint:
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v3
20
+
21
+ - name: Setup
22
+ uses: ./.github/actions/setup
23
+ with:
24
+ npmrc-auth-token: ${{ secrets.MAGMA_NPMRC_TOKEN }}
25
+
26
+ - name: Lint files
27
+ run: yarn lint
28
+
29
+ - name: Typecheck files
30
+ run: yarn typecheck
31
+
32
+ test:
33
+ runs-on: ubuntu-latest
34
+ steps:
35
+ - name: Checkout
36
+ uses: actions/checkout@v3
37
+
38
+ - name: Setup
39
+ uses: ./.github/actions/setup
40
+ with:
41
+ npmrc-auth-token: ${{ secrets.MAGMA_NPMRC_TOKEN }}
42
+
43
+ - name: Run unit tests
44
+ run: yarn test --maxWorkers=2 --coverage
45
+
46
+ build-library:
47
+ runs-on: ubuntu-latest
48
+ steps:
49
+ - name: Checkout
50
+ uses: actions/checkout@v3
51
+
52
+ - name: Setup
53
+ uses: ./.github/actions/setup
54
+ with:
55
+ npmrc-auth-token: ${{ secrets.MAGMA_NPMRC_TOKEN }}
56
+
57
+ - name: Build package
58
+ run: yarn prepare
59
+
60
+ build-web:
61
+ runs-on: ubuntu-latest
62
+ steps:
63
+ - name: Checkout
64
+ uses: actions/checkout@v3
65
+
66
+ - name: Setup
67
+ uses: ./.github/actions/setup
68
+ with:
69
+ npmrc-auth-token: ${{ secrets.MAGMA_NPMRC_TOKEN }}
70
+
71
+ - name: Build example for Web
72
+ run: |
73
+ yarn example expo export --platform web
package/.gitignore ADDED
@@ -0,0 +1,84 @@
1
+ # OSX
2
+ #
3
+ .DS_Store
4
+
5
+ # XDE
6
+ .expo/
7
+
8
+ # VSCode
9
+ .vscode/
10
+ jsconfig.json
11
+
12
+ # Xcode
13
+ #
14
+ build/
15
+ *.pbxuser
16
+ !default.pbxuser
17
+ *.mode1v3
18
+ !default.mode1v3
19
+ *.mode2v3
20
+ !default.mode2v3
21
+ *.perspectivev3
22
+ !default.perspectivev3
23
+ xcuserdata
24
+ *.xccheckout
25
+ *.moved-aside
26
+ DerivedData
27
+ *.hmap
28
+ *.ipa
29
+ *.xcuserstate
30
+ project.xcworkspace
31
+
32
+ # Android/IJ
33
+ #
34
+ .classpath
35
+ .cxx
36
+ .gradle
37
+ .idea
38
+ .project
39
+ .settings
40
+ local.properties
41
+ android.iml
42
+
43
+ # Cocoapods
44
+ #
45
+ example/ios/Pods
46
+
47
+ # Ruby
48
+ example/vendor/
49
+
50
+ # node.js
51
+ #
52
+ node_modules/
53
+ npm-debug.log
54
+ yarn-debug.log
55
+ yarn-error.log
56
+
57
+ # BUCK
58
+ buck-out/
59
+ \.buckd/
60
+ android/app/libs
61
+ android/keystores/debug.keystore
62
+
63
+ # Yarn
64
+ .yarn/*
65
+ !.yarn/patches
66
+ !.yarn/plugins
67
+ !.yarn/releases
68
+ !.yarn/sdks
69
+ !.yarn/versions
70
+
71
+ # Expo
72
+ .expo/
73
+
74
+ # Turborepo
75
+ .turbo/
76
+
77
+ # generated by bob
78
+ dist/
79
+ !src/lib/
80
+
81
+ # React Native Codegen
82
+ ios/generated
83
+ android/generated
84
+ .npmrc
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
@@ -0,0 +1,62 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <code_scheme name="Project" version="173">
3
+ <option name="LINE_SEPARATOR" value="&#10;" />
4
+ <HTMLCodeStyleSettings>
5
+ <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
6
+ </HTMLCodeStyleSettings>
7
+ <JSCodeStyleSettings version="0">
8
+ <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
9
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
10
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
11
+ <option name="USE_DOUBLE_QUOTES" value="false" />
12
+ <option name="FORCE_QUOTE_STYlE" value="true" />
13
+ <option name="ENFORCE_TRAILING_COMMA" value="WhenMultiline" />
14
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
15
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
16
+ </JSCodeStyleSettings>
17
+ <TypeScriptCodeStyleSettings version="0">
18
+ <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
19
+ <option name="FORCE_SEMICOLON_STYLE" value="true" />
20
+ <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
21
+ <option name="USE_DOUBLE_QUOTES" value="false" />
22
+ <option name="FORCE_QUOTE_STYlE" value="true" />
23
+ <option name="ENFORCE_TRAILING_COMMA" value="WhenMultiline" />
24
+ <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
25
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
26
+ </TypeScriptCodeStyleSettings>
27
+ <VueCodeStyleSettings>
28
+ <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
29
+ <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
30
+ </VueCodeStyleSettings>
31
+ <codeStyleSettings language="HTML">
32
+ <option name="SOFT_MARGINS" value="100" />
33
+ <indentOptions>
34
+ <option name="INDENT_SIZE" value="2" />
35
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
36
+ <option name="TAB_SIZE" value="2" />
37
+ </indentOptions>
38
+ </codeStyleSettings>
39
+ <codeStyleSettings language="JavaScript">
40
+ <option name="SOFT_MARGINS" value="100" />
41
+ <indentOptions>
42
+ <option name="INDENT_SIZE" value="2" />
43
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
44
+ <option name="TAB_SIZE" value="2" />
45
+ </indentOptions>
46
+ </codeStyleSettings>
47
+ <codeStyleSettings language="TypeScript">
48
+ <option name="SOFT_MARGINS" value="100" />
49
+ <indentOptions>
50
+ <option name="INDENT_SIZE" value="2" />
51
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
52
+ <option name="TAB_SIZE" value="2" />
53
+ </indentOptions>
54
+ </codeStyleSettings>
55
+ <codeStyleSettings language="Vue">
56
+ <option name="SOFT_MARGINS" value="100" />
57
+ <indentOptions>
58
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
59
+ </indentOptions>
60
+ </codeStyleSettings>
61
+ </code_scheme>
62
+ </component>
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
+ </state>
5
+ </component>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AskMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Ask2AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="EditMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="EditorConfigUnusedDeclaration" enabled="false" level="WARNING" enabled_by_default="false" />
5
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
6
+ <inspection_tool class="UnusedDefine" enabled="true" level="WARNING" enabled_by_default="true" />
7
+ </profile>
8
+ </component>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="EslintConfiguration">
4
+ <option name="fix-on-save" value="true" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/students-features.iml" filepath="$PROJECT_DIR$/.idea/students-features.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PrettierConfiguration">
4
+ <option name="myConfigurationMode" value="AUTOMATIC" />
5
+ <option name="myRunOnSave" value="true" />
6
+ </component>
7
+ </project>
@@ -0,0 +1,18 @@
1
+ Index: package.json
2
+ IDEA additional info:
3
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4
+ <+>{\n \"name\": \"@magmamath/students-features\",\n \"version\": \"0.9.104-rc.10\",\n \"description\": \"Magmamath features library\",\n \"source\": \"src/index.ts\",\n \"main\": \"src/index.ts\",\n \"react-native\": \"src/index.ts\",\n \"module\": \"dist/module/index.js\",\n \"types\": \"dist/typescript/module/index.d.ts\",\n \"files\": [\n \"src\",\n \"dist\",\n \"!dist/typescript/example\"\n ],\n \"scripts\": {\n \"clean\": \"del-cli dist\",\n \"prepare\": \"bob build\",\n \"release\": \"release-it\"\n },\n \"peerDependencies\": {\n \"@magmamath/react-native-ui\": \"*\",\n \"effector\": \"^23.2.3\",\n \"effector-react\": \"^23.2.1\",\n \"react\": \"*\",\n \"react-native\": \"*\",\n \"react-native-gesture-handler\": \"*\",\n \"react-native-modalfy\": \"*\",\n \"react-native-reanimated\": \">=0.3.16\",\n \"react-native-svg\": \"^15.10.0\"\n },\n \"devDependencies\": {\n \"@magmamath/react-native-ui\": \"0.4.61\",\n \"@react-native/eslint-config\": \"^0.73.1\",\n \"@release-it/conventional-changelog\": \"^9.0.2\",\n \"@types/jest\": \"^29.5.5\",\n \"@types/react\": \"^18.2.44\",\n \"del-cli\": \"^5.1.0\",\n \"effector\": \"^23.2.3\",\n \"effector-react\": \"^23.2.1\",\n \"eslint\": \"^8.51.0\",\n \"eslint-config-prettier\": \"^9.0.0\",\n \"eslint-plugin-prettier\": \"^5.0.1\",\n \"jest\": \"^29.7.0\",\n \"prettier\": \"^3.0.3\",\n \"react\": \"18.3.1\",\n \"react-native\": \"0.76.3\",\n \"react-native-builder-bob\": \"^0.33.3\",\n \"react-native-gesture-handler\": \"^2.28.0\",\n \"react-native-modalfy\": \"^3.7.0\",\n \"react-native-reanimated\": \"^3.17.2\",\n \"react-native-svg\": \"^15.10.0\",\n \"release-it\": \"^17.10.0\",\n \"typescript\": \"^5.2.2\"\n },\n \"resolutions\": {\n \"@types/react\": \"^18.2.44\"\n },\n \"repository\": \"https://github.com/matteappen/magmamath-features.git\",\n \"author\": \"magmamath <magmamath@gmail.com> (https://magmamath.com)\",\n \"publishConfig\": {\n \"access\": \"restricted\"\n },\n \"jest\": {\n \"preset\": \"react-native\",\n \"modulePathIgnorePatterns\": [\n \"<rootDir>/example/node_modules\",\n \"<rootDir>/dist/\"\n ]\n },\n \"commitlint\": {\n \"extends\": [\n \"@commitlint/config-conventional\"\n ]\n },\n \"create-react-native-library\": {\n \"languages\": \"js\",\n \"type\": \"library\",\n \"version\": \"0.44.3\"\n }\n}\n
5
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
6
+ <+>UTF-8
7
+ ===================================================================
8
+ diff --git a/package.json b/package.json
9
+ --- a/package.json (revision df14dcea77671cc4bcaa20dc729207b5a7da555b)
10
+ +++ b/package.json (date 1767088527165)
11
+ @@ -1,6 +1,6 @@
12
+ {
13
+ "name": "@magmamath/students-features",
14
+ - "version": "0.9.104-rc.10",
15
+ + "version": "0.9.14-rc.10",
16
+ "description": "Magmamath features library",
17
+ "source": "src/index.ts",
18
+ "main": "src/index.ts",
@@ -0,0 +1,18 @@
1
+ Index: package.json
2
+ IDEA additional info:
3
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4
+ <+>{\n \"name\": \"@magmamath/students-features\",\n \"version\": \"0.9.14-rc.6\",\n \"description\": \"Magmamath features library\",\n \"source\": \"src/index.ts\",\n \"main\": \"src/index.ts\",\n \"react-native\": \"src/index.ts\",\n \"module\": \"dist/module/index.js\",\n \"types\": \"dist/typescript/module/index.d.ts\",\n \"files\": [\n \"src\",\n \"dist\",\n \"!dist/typescript/example\"\n ],\n \"scripts\": {\n \"clean\": \"del-cli dist\",\n \"prepare\": \"bob build\",\n \"release\": \"release-it\"\n },\n \"peerDependencies\": {\n \"@magmamath/react-native-ui\": \"*\",\n \"effector\": \"^23.2.3\",\n \"effector-react\": \"^23.2.1\",\n \"react\": \"*\",\n \"react-native\": \"*\",\n \"react-native-gesture-handler\": \"*\",\n \"react-native-modalfy\": \"*\",\n \"react-native-reanimated\": \">=0.3.16\",\n \"react-native-svg\": \"^15.10.0\"\n },\n \"devDependencies\": {\n \"@magmamath/react-native-ui\": \"0.4.61\",\n \"@react-native/eslint-config\": \"^0.73.1\",\n \"@release-it/conventional-changelog\": \"^9.0.2\",\n \"@types/jest\": \"^29.5.5\",\n \"@types/react\": \"^18.2.44\",\n \"del-cli\": \"^5.1.0\",\n \"effector\": \"^23.2.3\",\n \"effector-react\": \"^23.2.1\",\n \"eslint\": \"^8.51.0\",\n \"eslint-config-prettier\": \"^9.0.0\",\n \"eslint-plugin-prettier\": \"^5.0.1\",\n \"jest\": \"^29.7.0\",\n \"prettier\": \"^3.0.3\",\n \"react\": \"18.3.1\",\n \"react-native\": \"0.76.3\",\n \"react-native-builder-bob\": \"^0.33.3\",\n \"react-native-gesture-handler\": \"^2.28.0\",\n \"react-native-modalfy\": \"^3.7.0\",\n \"react-native-reanimated\": \"^3.17.2\",\n \"react-native-svg\": \"^15.10.0\",\n \"release-it\": \"^17.10.0\",\n \"typescript\": \"^5.2.2\"\n },\n \"resolutions\": {\n \"@types/react\": \"^18.2.44\"\n },\n \"repository\": \"https://github.com/matteappen/magmamath-features.git\",\n \"author\": \"magmamath <magmamath@gmail.com> (https://magmamath.com)\",\n \"publishConfig\": {\n \"access\": \"restricted\"\n },\n \"jest\": {\n \"preset\": \"react-native\",\n \"modulePathIgnorePatterns\": [\n \"<rootDir>/example/node_modules\",\n \"<rootDir>/dist/\"\n ]\n },\n \"commitlint\": {\n \"extends\": [\n \"@commitlint/config-conventional\"\n ]\n },\n \"create-react-native-library\": {\n \"languages\": \"js\",\n \"type\": \"library\",\n \"version\": \"0.44.3\"\n }\n}\n
5
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
6
+ <+>UTF-8
7
+ ===================================================================
8
+ diff --git a/package.json b/package.json
9
+ --- a/package.json (revision c4c33d0411d1dc03e5c235776e35c58c3e7b767c)
10
+ +++ b/package.json (date 1767089196499)
11
+ @@ -1,6 +1,6 @@
12
+ {
13
+ "name": "@magmamath/students-features",
14
+ - "version": "0.9.14-rc.6",
15
+ + "version": "0.9.14-rc.10",
16
+ "description": "Magmamath features library",
17
+ "source": "src/index.ts",
18
+ "main": "src/index.ts",
@@ -0,0 +1,4 @@
1
+ <changelist name="Uncommitted_changes_before_Checkout_at_30_12_2025,_11_06_[Changes]" date="1767089196557" recycled="true" deleted="true">
2
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Checkout_at_30_12_2025,_11_06_[Changes]/shelved.patch" />
3
+ <option name="DESCRIPTION" value="Uncommitted changes before Checkout at 30/12/2025, 11:06 [Changes]" />
4
+ </changelist>
@@ -0,0 +1,4 @@
1
+ <changelist name="Uncommitted_changes_before_Checkout_at_30_12_2025,_11_07_[Changes]" date="1767089274852" recycled="true" deleted="true">
2
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Checkout_at_30_12_2025,_11_07_[Changes]/shelved.patch" />
3
+ <option name="DESCRIPTION" value="Uncommitted changes before Checkout at 30/12/2025, 11:07 [Changes]" />
4
+ </changelist>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="WEB_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/temp" />
7
+ <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
+ </content>
9
+ <orderEntry type="inheritedJdk" />
10
+ <orderEntry type="sourceFolder" forTests="false" />
11
+ </component>
12
+ </module>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>