@magmamath/students-features 0.9.9 → 0.9.14-rc.10

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 (338) 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_29_12_2025,_13_10_[Changes]/shelved.patch +18 -0
  20. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_11_[Changes]/shelved.patch +19 -0
  21. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025__13_10__Changes_.xml +4 -0
  22. package/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025__13_11__Changes_.xml +4 -0
  23. package/.idea/students-features.iml +12 -0
  24. package/.idea/vcs.xml +6 -0
  25. package/.idea/workspace.xml +643 -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/celebrations/helpers.js +4 -1
  36. package/dist/commonjs/features/celebrations/helpers.js.map +1 -1
  37. package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
  38. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  39. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +8 -6
  40. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  41. package/dist/commonjs/features/chatbot/model/t2s.js +4 -3
  42. package/dist/commonjs/features/chatbot/model/t2s.js.map +1 -1
  43. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  44. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js +3 -2
  45. package/dist/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
  46. package/dist/commonjs/features/feedback/model/model.js.map +1 -1
  47. package/dist/commonjs/features/feedback/model/sockets.js +8 -5
  48. package/dist/commonjs/features/feedback/model/sockets.js.map +1 -1
  49. package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js +5 -1
  50. package/dist/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
  51. package/dist/commonjs/features/keyboard/components/Keyboard.js +24 -9
  52. package/dist/commonjs/features/keyboard/components/Keyboard.js.map +1 -1
  53. package/dist/commonjs/features/keyboard/components/{MainLayout.js → MainLayout/MainLayout.js} +9 -7
  54. package/dist/commonjs/features/keyboard/components/MainLayout/MainLayout.js.map +1 -0
  55. package/dist/commonjs/features/keyboard/components/{constants.js → MainLayout/constants.js} +7 -2
  56. package/dist/commonjs/features/keyboard/components/MainLayout/constants.js.map +1 -0
  57. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +3 -2
  58. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
  59. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +2 -1
  60. package/dist/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -1
  61. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js +2 -1
  62. package/dist/commonjs/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
  63. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +3 -1
  64. package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  65. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +26 -6
  66. package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  67. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
  68. package/dist/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  69. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js +1 -0
  70. package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  71. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js +22 -1
  72. package/dist/commonjs/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  73. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js +7 -0
  74. package/dist/commonjs/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  75. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js +3 -30
  76. package/dist/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  77. package/dist/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.js +27 -0
  78. package/dist/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.js.map +1 -1
  79. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js +18 -3
  80. package/dist/commonjs/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  81. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js +1 -0
  82. package/dist/commonjs/features/keyboard/types/keyboardGroupIds.js.map +1 -1
  83. package/dist/commonjs/lib/helpers/helpers.js +28 -5
  84. package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
  85. package/dist/commonjs/lib/types/requests.js +2 -0
  86. package/dist/commonjs/lib/types/requests.js.map +1 -0
  87. package/dist/commonjs/shared/icons/TimeIcon.js +37 -0
  88. package/dist/commonjs/shared/icons/TimeIcon.js.map +1 -0
  89. package/dist/commonjs/shared/translation/constants.js +3 -1
  90. package/dist/commonjs/shared/translation/constants.js.map +1 -1
  91. package/dist/commonjs/shared/translation/localization/ca.json +7 -6
  92. package/dist/commonjs/shared/translation/localization/de.json +43 -0
  93. package/dist/commonjs/shared/translation/localization/en.json +7 -6
  94. package/dist/commonjs/shared/translation/localization/gb.json +7 -6
  95. package/dist/commonjs/shared/translation/localization/sct.json +7 -6
  96. package/dist/commonjs/shared/translation/localization/sw.json +7 -6
  97. package/dist/commonjs/shared/translation/types.js +1 -0
  98. package/dist/commonjs/shared/translation/types.js.map +1 -1
  99. package/dist/module/features/celebrations/helpers.js +4 -1
  100. package/dist/module/features/celebrations/helpers.js.map +1 -1
  101. package/dist/module/features/chatbot/components/Chatbot.js +2 -2
  102. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  103. package/dist/module/features/chatbot/model/ChatBotModel.js +8 -6
  104. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  105. package/dist/module/features/chatbot/model/t2s.js +4 -3
  106. package/dist/module/features/chatbot/model/t2s.js.map +1 -1
  107. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  108. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js +3 -2
  109. package/dist/module/features/endOfAssignment/ui/PracticeButtonGroup.js.map +1 -1
  110. package/dist/module/features/feedback/model/model.js.map +1 -1
  111. package/dist/module/features/feedback/model/sockets.js +8 -5
  112. package/dist/module/features/feedback/model/sockets.js.map +1 -1
  113. package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js +4 -0
  114. package/dist/module/features/keyboard/components/BasicLayout/keyboardGroups.js.map +1 -1
  115. package/dist/module/features/keyboard/components/Keyboard.js +23 -8
  116. package/dist/module/features/keyboard/components/Keyboard.js.map +1 -1
  117. package/dist/module/features/keyboard/components/KeysList/KeysList.js.map +1 -1
  118. package/dist/module/features/keyboard/components/{MainLayout.js → MainLayout/MainLayout.js} +9 -7
  119. package/dist/module/features/keyboard/components/MainLayout/MainLayout.js.map +1 -0
  120. package/dist/module/features/keyboard/components/{constants.js → MainLayout/constants.js} +6 -1
  121. package/dist/module/features/keyboard/components/MainLayout/constants.js.map +1 -0
  122. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js +3 -2
  123. package/dist/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.js.map +1 -1
  124. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js +2 -1
  125. package/dist/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.js.map +1 -1
  126. package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js +2 -1
  127. package/dist/module/features/keyboard/components/UnitsLayout/UnitsLayout.js.map +1 -1
  128. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +2 -1
  129. package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
  130. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +26 -6
  131. package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
  132. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js +9 -1
  133. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -1
  134. package/dist/module/features/keyboard/components/UnitsLayout/types.js +1 -0
  135. package/dist/module/features/keyboard/components/UnitsLayout/types.js.map +1 -1
  136. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js +24 -3
  137. package/dist/module/features/keyboard/constants/keyboardGroupsByLocale.js.map +1 -1
  138. package/dist/module/features/keyboard/constants/keyboardLayouts.js +6 -0
  139. package/dist/module/features/keyboard/constants/keyboardLayouts.js.map +1 -1
  140. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js +3 -30
  141. package/dist/module/features/keyboard/types/MathKeysGroups/basicOperators.js.map +1 -1
  142. package/dist/module/features/keyboard/types/MathKeysGroups/specialOperators.js +27 -0
  143. package/dist/module/features/keyboard/types/MathKeysGroups/specialOperators.js.map +1 -1
  144. package/dist/module/features/keyboard/types/MathKeysGroups/units.js +18 -3
  145. package/dist/module/features/keyboard/types/MathKeysGroups/units.js.map +1 -1
  146. package/dist/module/features/keyboard/types/keyboardGroupIds.js +1 -0
  147. package/dist/module/features/keyboard/types/keyboardGroupIds.js.map +1 -1
  148. package/dist/module/lib/helpers/helpers.js +28 -5
  149. package/dist/module/lib/helpers/helpers.js.map +1 -1
  150. package/dist/module/lib/types/requests.js +2 -0
  151. package/dist/module/lib/types/requests.js.map +1 -0
  152. package/dist/module/shared/icons/TimeIcon.js +29 -0
  153. package/dist/module/shared/icons/TimeIcon.js.map +1 -0
  154. package/dist/module/shared/translation/constants.js +3 -1
  155. package/dist/module/shared/translation/constants.js.map +1 -1
  156. package/dist/module/shared/translation/localization/ca.json +7 -6
  157. package/dist/module/shared/translation/localization/de.json +43 -0
  158. package/dist/module/shared/translation/localization/en.json +7 -6
  159. package/dist/module/shared/translation/localization/gb.json +7 -6
  160. package/dist/module/shared/translation/localization/sct.json +7 -6
  161. package/dist/module/shared/translation/localization/sw.json +7 -6
  162. package/dist/module/shared/translation/types.js +1 -0
  163. package/dist/module/shared/translation/types.js.map +1 -1
  164. package/dist/typescript/commonjs/features/celebrations/helpers.d.ts.map +1 -1
  165. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +8 -7
  166. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  167. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts +2 -2
  168. package/dist/typescript/commonjs/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
  169. package/dist/typescript/commonjs/features/chatbot/model/t2s.d.ts.map +1 -1
  170. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +11 -1
  171. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  172. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +8 -5
  173. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  174. package/dist/typescript/commonjs/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
  175. package/dist/typescript/commonjs/features/feedback/model/model.d.ts +4 -1
  176. package/dist/typescript/commonjs/features/feedback/model/model.d.ts.map +1 -1
  177. package/dist/typescript/commonjs/features/feedback/model/sockets.d.ts.map +1 -1
  178. package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +1 -0
  179. package/dist/typescript/commonjs/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
  180. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts +3 -2
  181. package/dist/typescript/commonjs/features/keyboard/components/Keyboard.d.ts.map +1 -1
  182. package/dist/typescript/commonjs/features/keyboard/components/{MainLayout.d.ts → MainLayout/MainLayout.d.ts} +1 -1
  183. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -0
  184. package/dist/typescript/{module/features/keyboard/components → commonjs/features/keyboard/components/MainLayout}/constants.d.ts +5 -0
  185. package/dist/typescript/commonjs/features/keyboard/components/MainLayout/constants.d.ts.map +1 -0
  186. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +5 -1
  187. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
  188. package/dist/typescript/commonjs/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -1
  189. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
  190. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  191. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
  192. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  193. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
  194. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  195. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
  196. package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  197. package/dist/typescript/commonjs/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  198. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts +1 -0
  199. package/dist/typescript/commonjs/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  200. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +0 -18
  201. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  202. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.d.ts +18 -0
  203. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/specialOperators.d.ts.map +1 -1
  204. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts +15 -0
  205. package/dist/typescript/commonjs/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  206. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts +1 -0
  207. package/dist/typescript/commonjs/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  208. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
  209. package/dist/typescript/commonjs/lib/types/requests.d.ts +4 -0
  210. package/dist/typescript/commonjs/lib/types/requests.d.ts.map +1 -0
  211. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts +4 -0
  212. package/dist/typescript/commonjs/shared/icons/TimeIcon.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/shared/translation/constants.d.ts +48 -0
  214. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  215. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  216. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  217. package/dist/typescript/commonjs/shared/translation/types.d.ts +2 -1
  218. package/dist/typescript/commonjs/shared/translation/types.d.ts.map +1 -1
  219. package/dist/typescript/module/features/celebrations/helpers.d.ts.map +1 -1
  220. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +8 -7
  221. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  222. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts +2 -2
  223. package/dist/typescript/module/features/chatbot/model/ChatbotApi.d.ts.map +1 -1
  224. package/dist/typescript/module/features/chatbot/model/t2s.d.ts.map +1 -1
  225. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +11 -1
  226. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  227. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +8 -5
  228. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  229. package/dist/typescript/module/features/endOfAssignment/ui/PracticeButtonGroup.d.ts.map +1 -1
  230. package/dist/typescript/module/features/feedback/model/model.d.ts +4 -1
  231. package/dist/typescript/module/features/feedback/model/model.d.ts.map +1 -1
  232. package/dist/typescript/module/features/feedback/model/sockets.d.ts.map +1 -1
  233. package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts +1 -0
  234. package/dist/typescript/module/features/keyboard/components/BasicLayout/keyboardGroups.d.ts.map +1 -1
  235. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts +3 -2
  236. package/dist/typescript/module/features/keyboard/components/Keyboard.d.ts.map +1 -1
  237. package/dist/typescript/module/features/keyboard/components/{MainLayout.d.ts → MainLayout/MainLayout.d.ts} +1 -1
  238. package/dist/typescript/module/features/keyboard/components/MainLayout/MainLayout.d.ts.map +1 -0
  239. package/dist/typescript/{commonjs/features/keyboard/components → module/features/keyboard/components/MainLayout}/constants.d.ts +5 -0
  240. package/dist/typescript/module/features/keyboard/components/MainLayout/constants.d.ts.map +1 -0
  241. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts +5 -1
  242. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.d.ts.map +1 -1
  243. package/dist/typescript/module/features/keyboard/components/UnderlinedLayout/keyboardGroups.d.ts.map +1 -1
  244. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
  245. package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
  246. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +4 -7
  247. package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
  248. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts +1 -0
  249. package/dist/typescript/module/features/keyboard/components/UnitsLayout/keyboardGroups.d.ts.map +1 -1
  250. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts +7 -1
  251. package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
  252. package/dist/typescript/module/features/keyboard/constants/keyboardGroupsByLocale.d.ts.map +1 -1
  253. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts +1 -0
  254. package/dist/typescript/module/features/keyboard/constants/keyboardLayouts.d.ts.map +1 -1
  255. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts +0 -18
  256. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/basicOperators.d.ts.map +1 -1
  257. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/specialOperators.d.ts +18 -0
  258. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/specialOperators.d.ts.map +1 -1
  259. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts +15 -0
  260. package/dist/typescript/module/features/keyboard/types/MathKeysGroups/units.d.ts.map +1 -1
  261. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts +1 -0
  262. package/dist/typescript/module/features/keyboard/types/keyboardGroupIds.d.ts.map +1 -1
  263. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
  264. package/dist/typescript/module/lib/types/requests.d.ts +4 -0
  265. package/dist/typescript/module/lib/types/requests.d.ts.map +1 -0
  266. package/dist/typescript/module/shared/icons/TimeIcon.d.ts +4 -0
  267. package/dist/typescript/module/shared/icons/TimeIcon.d.ts.map +1 -0
  268. package/dist/typescript/module/shared/translation/constants.d.ts +48 -0
  269. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  270. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  271. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  272. package/dist/typescript/module/shared/translation/types.d.ts +2 -1
  273. package/dist/typescript/module/shared/translation/types.d.ts.map +1 -1
  274. package/example/.expo/README.md +8 -0
  275. package/example/.expo/devices.json +3 -0
  276. package/example/.expo/web/cache/production/images/favicon/favicon-24272cdaeff82cc5facdaccd982a6f05b60c4504704bbf94c19a6388659880bb-contain-transparent/favicon-48.png +0 -0
  277. package/example/app.json +30 -0
  278. package/example/assets/adaptive-icon.png +0 -0
  279. package/example/assets/favicon.png +0 -0
  280. package/example/assets/icon.png +0 -0
  281. package/example/assets/splash-icon.png +0 -0
  282. package/example/babel.config.js +28 -0
  283. package/example/index.js +8 -0
  284. package/example/metro.config.js +18 -0
  285. package/example/package.json +25 -0
  286. package/example/src/App.tsx +8 -0
  287. package/example/tsconfig.json +6 -0
  288. package/example/yarn.lock +6552 -0
  289. package/package.json +1 -1
  290. package/src/features/celebrations/helpers.ts +35 -33
  291. package/src/features/chatbot/components/Chatbot.tsx +2 -2
  292. package/src/features/chatbot/model/ChatBotModel.ts +10 -5
  293. package/src/features/chatbot/model/t2s.ts +3 -2
  294. package/src/features/chatbot/types/api.types.ts +14 -1
  295. package/src/features/chatbot/types/model.types.ts +12 -5
  296. package/src/features/endOfAssignment/ui/PracticeButtonGroup.tsx +4 -3
  297. package/src/features/feedback/model/model.ts +4 -1
  298. package/src/features/feedback/model/sockets.ts +8 -6
  299. package/src/features/keyboard/components/BasicLayout/keyboardGroups.ts +4 -0
  300. package/src/features/keyboard/components/Keyboard.tsx +44 -11
  301. package/src/features/keyboard/components/KeysList/KeysList.tsx +1 -1
  302. package/src/features/keyboard/components/{MainLayout.tsx → MainLayout/MainLayout.tsx} +6 -7
  303. package/src/features/keyboard/components/{constants.ts → MainLayout/constants.ts} +6 -1
  304. package/src/features/keyboard/components/UnderlinedLayout/UnderlinedLayout.tsx +7 -2
  305. package/src/features/keyboard/components/UnderlinedLayout/keyboardGroups.ts +5 -3
  306. package/src/features/keyboard/components/UnitsLayout/UnitsLayout.tsx +1 -0
  307. package/src/features/keyboard/components/UnitsLayout/helpers.tsx +3 -0
  308. package/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts +32 -21
  309. package/src/features/keyboard/components/UnitsLayout/keyboardGroups.ts +11 -0
  310. package/src/features/keyboard/components/UnitsLayout/types.ts +7 -0
  311. package/src/features/keyboard/constants/keyboardGroupsByLocale.ts +23 -0
  312. package/src/features/keyboard/constants/keyboardLayouts.ts +11 -0
  313. package/src/features/keyboard/types/MathKeysGroups/basicOperators.tsx +3 -24
  314. package/src/features/keyboard/types/MathKeysGroups/specialOperators.tsx +21 -0
  315. package/src/features/keyboard/types/MathKeysGroups/units.tsx +15 -0
  316. package/src/features/keyboard/types/keyboardGroupIds.ts +1 -0
  317. package/src/lib/helpers/helpers.ts +23 -8
  318. package/src/lib/types/requests.ts +1 -0
  319. package/src/shared/icons/TimeIcon.tsx +23 -0
  320. package/src/shared/translation/constants.ts +2 -0
  321. package/src/shared/translation/localization/ca.json +7 -6
  322. package/src/shared/translation/localization/de.json +43 -0
  323. package/src/shared/translation/localization/en.json +7 -6
  324. package/src/shared/translation/localization/gb.json +7 -6
  325. package/src/shared/translation/localization/sct.json +7 -6
  326. package/src/shared/translation/localization/sw.json +7 -6
  327. package/src/shared/translation/types.ts +4 -0
  328. package/tsconfig.build.json +4 -0
  329. package/tsconfig.json +34 -0
  330. package/yarn.lock +8623 -0
  331. package/dist/commonjs/features/keyboard/components/MainLayout.js.map +0 -1
  332. package/dist/commonjs/features/keyboard/components/constants.js.map +0 -1
  333. package/dist/module/features/keyboard/components/MainLayout.js.map +0 -1
  334. package/dist/module/features/keyboard/components/constants.js.map +0 -1
  335. package/dist/typescript/commonjs/features/keyboard/components/MainLayout.d.ts.map +0 -1
  336. package/dist/typescript/commonjs/features/keyboard/components/constants.d.ts.map +0 -1
  337. package/dist/typescript/module/features/keyboard/components/MainLayout.d.ts.map +0 -1
  338. package/dist/typescript/module/features/keyboard/components/constants.d.ts.map +0 -1
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: src/features/keyboard/types/MathKeysGroups/units.tsx
2
+ IDEA additional info:
3
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4
+ <+>import { KroneIcon } from '../../../../shared/icons/keyboard/KroneIcon/KroneIcon'\nimport { DollarIcon } from '../../../../shared/icons/keyboard/DollarIcon/DollarIcon'\nimport { EuroIcon } from '../../../../shared/icons/keyboard/EuroIcon/EuroIcon'\nimport { PoundIcon } from '../../../../shared/icons/keyboard/PoundIcon/PoundIcon'\nimport { PesoIcon } from '../../../../shared/icons/keyboard/PesoIcon/PesoIcon'\nimport { YenIcon } from '../../../../shared/icons/keyboard/YenIcon/YenIcon'\nimport { CentIcon } from '../../../../shared/icons/keyboard/CentIcon/CentIcon'\nimport { DEFAULT_KEY_ICON_PROPS } from '../../constants/constants'\nimport React from 'react'\nimport { IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui'\nimport { createMathKeysGroup } from './helpers'\n\nconst BASE_TEXT_STYLE = {\n fontSize: 14,\n fontWeight: 700,\n} as const\n\nconst STYLE_PRESETS = {\n SMALL: {\n button: { width: IS_WEB ? 40 : 44 },\n container: IS_MOBILE ? { flexBasis: 48 } : undefined,\n text: BASE_TEXT_STYLE,\n },\n MEDIUM: {\n button: { width: IS_WEB ? 45 : 51 },\n container: IS_MOBILE ? { flexBasis: 55 } : undefined,\n text: BASE_TEXT_STYLE,\n },\n LARGE: {\n button: { width: IS_WEB ? 48 : 55 },\n container: IS_MOBILE ? { flexBasis: 59 } : undefined,\n\n text: BASE_TEXT_STYLE,\n },\n XL: {\n button: { width: IS_WEB ? 52 : 54 },\n container: IS_MOBILE ? { flexBasis: 60 } : undefined,\n text: BASE_TEXT_STYLE,\n },\n}\n\nexport const MATH_CURRENCY_UNITS = createMathKeysGroup({\n KRONE: {\n icon: <KroneIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: 'Kr',\n katexValue: 'Kr',\n },\n DOLLAR: {\n icon: <DollarIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '\\\\$',\n katexValue: '\\$',\n mathQuillValue: '\\\\$',\n },\n EURO: {\n icon: <EuroIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '€',\n katexValue: '€',\n },\n POUND: {\n icon: <PoundIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '£',\n katexValue: '£',\n },\n YEN: {\n icon: <YenIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '¥',\n katexValue: '¥',\n },\n PESO: {\n icon: <PesoIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: 'p',\n katexValue: 'p',\n },\n CENT: {\n icon: <CentIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '¢',\n katexValue: '¢',\n },\n})\n\nexport const MATH_LENGTH_UNITS = createMathKeysGroup({\n KILOMETER: {\n label: 'km',\n mathliveValue: 'km',\n katexValue: 'km',\n style: STYLE_PRESETS.MEDIUM,\n },\n METER: {\n label: 'm',\n mathliveValue: '\\\\mathrm{m}',\n katexValue: 'm',\n style: STYLE_PRESETS.MEDIUM,\n },\n DECIMETER: {\n label: 'dm',\n mathliveValue: '\\\\mathrm{dm}',\n katexValue: 'dm',\n style: STYLE_PRESETS.MEDIUM,\n },\n CENTIMETER: {\n label: 'cm',\n mathliveValue: '\\\\mathrm{cm}',\n katexValue: 'cm',\n style: STYLE_PRESETS.MEDIUM,\n },\n MILLIMETER: {\n label: 'mm',\n mathliveValue: '\\\\mathrm{mm}',\n katexValue: 'mm',\n style: STYLE_PRESETS.MEDIUM,\n },\n HECTARE: {\n label: 'ha',\n mathliveValue: '\\\\mathrm{ha}',\n katexValue: 'ha',\n style: STYLE_PRESETS.MEDIUM,\n },\n INCH: {\n label: 'in',\n mathliveValue: '\\\\mathrm{in}',\n katexValue: 'in',\n mathQuillValue: '\\\\in',\n style: STYLE_PRESETS.SMALL,\n },\n FOOT: {\n label: 'ft',\n mathliveValue: '\\\\mathrm{ft}',\n katexValue: 'ft',\n style: STYLE_PRESETS.SMALL,\n },\n YARD: {\n label: 'yd',\n mathliveValue: '\\\\mathrm{yd}',\n katexValue: 'yd',\n style: STYLE_PRESETS.SMALL,\n },\n YARDS: {\n label: 'yds',\n mathliveValue: '\\\\mathrm{yds}',\n katexValue: 'yds',\n style: STYLE_PRESETS.SMALL,\n },\n MILE: {\n label: 'mi',\n mathliveValue: '\\\\mathrm{mi}',\n katexValue: 'mi',\n style: STYLE_PRESETS.SMALL,\n },\n MILE_SE: {\n label: 'mil',\n mathliveValue: '\\\\mathrm{mil}',\n katexValue: 'mil',\n style: STYLE_PRESETS.MEDIUM,\n },\n})\n\nexport const MATH_AREA_UNITS = createMathKeysGroup({\n SQUARE_KILOMETER: {\n label: 'km²',\n mathliveValue: '\\\\mathrm{km}^2',\n katexValue: 'km^2',\n mathQuillValue: 'km^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_METER: {\n label: 'm²',\n mathliveValue: '\\\\mathrm{m}^2',\n katexValue: 'm^2',\n mathQuillValue: 'm^{2}',\n style: STYLE_PRESETS.MEDIUM,\n },\n SQUARE_DECIMETER: {\n label: 'dm²',\n mathliveValue: '\\\\mathrm{dm}^2',\n katexValue: 'dm^2',\n mathQuillValue: 'dm^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_CENTIMETER: {\n label: 'cm²',\n mathliveValue: '\\\\mathrm{cm}^2',\n katexValue: 'cm^2',\n mathQuillValue: 'cm^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_MILLIMETER: {\n label: 'mm²',\n mathliveValue: '\\\\mathrm{mm}^2',\n katexValue: 'mm^2',\n mathQuillValue: 'mm^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_INCH: {\n label: 'in²',\n mathliveValue: '\\\\mathrm{in}^2',\n katexValue: 'in^2',\n mathQuillValue: 'in^{2}',\n style: STYLE_PRESETS.SMALL,\n },\n SQUARE_FOOT: {\n label: 'ft²',\n mathliveValue: '\\\\mathrm{ft}^2',\n katexValue: 'ft^2',\n mathQuillValue: 'ft^{2}',\n style: STYLE_PRESETS.SMALL,\n },\n SQUARE_MILE: {\n label: 'mi²',\n mathliveValue: '\\\\mathrm{mi}^2',\n katexValue: 'mi^2',\n mathQuillValue: 'mi^{2}',\n style: STYLE_PRESETS.MEDIUM,\n },\n SQUARE_YARD: {\n label: 'yd²',\n mathliveValue: '\\\\mathrm{yd}^2',\n katexValue: 'yd^2',\n mathQuillValue: 'yd^{2}',\n style: STYLE_PRESETS.MEDIUM,\n },\n HECTARE: {\n label: 'ha',\n mathliveValue: '\\\\mathrm{ha}',\n katexValue: 'ha',\n style: STYLE_PRESETS.SMALL,\n },\n})\n\nexport const MATH_VOLUME_UNITS = createMathKeysGroup({\n CUBIC_KILOMETER: {\n label: 'km³',\n mathliveValue: '\\\\mathrm{km}^3',\n katexValue: 'km^3',\n mathQuillValue: 'km^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_METER: {\n label: 'm³',\n mathliveValue: '\\\\mathrm{m}^3',\n katexValue: 'm^3',\n mathQuillValue: 'm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_DECIMETER: {\n label: 'dm³',\n mathliveValue: '\\\\mathrm{dm}^3',\n katexValue: 'dm^3',\n mathQuillValue: 'dm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_CENTIMETER: {\n label: 'cm³',\n mathliveValue: '\\\\mathrm{cm}^3',\n katexValue: 'cm^3',\n mathQuillValue: 'cm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_MILLIMETER: {\n label: 'mm³',\n mathliveValue: '\\\\mathrm{mm}^3',\n katexValue: 'mm^3',\n mathQuillValue: 'mm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_INCH: {\n label: 'in³',\n mathliveValue: '\\\\mathrm{in}^3',\n katexValue: 'in^3',\n mathQuillValue: 'in^{3}',\n style: STYLE_PRESETS.SMALL,\n },\n CUBIC_FOOT: {\n label: 'ft³',\n mathliveValue: '\\\\mathrm{ft}^3',\n katexValue: 'ft^3',\n mathQuillValue: 'ft^{3}',\n style: STYLE_PRESETS.SMALL,\n },\n CUBIC_MILE: {\n label: 'mi³',\n mathliveValue: '\\\\mathrm{mi}^3',\n katexValue: 'mi^3',\n mathQuillValue: 'mi^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_YARD: {\n label: 'yd³',\n mathliveValue: '\\\\mathrm{yd}^3',\n katexValue: 'yd^3',\n mathQuillValue: 'yd^{3}',\n style: STYLE_PRESETS.MEDIUM,\n },\n MILLILITER: {\n label: 'ml',\n mathliveValue: '\\\\mathrm{mL}',\n katexValue: 'ml',\n style: STYLE_PRESETS.SMALL,\n },\n LITER: {\n label: 'L',\n mathliveValue: '\\\\mathrm{L}',\n katexValue: 'L',\n style: STYLE_PRESETS.SMALL,\n },\n MILLILITER_SE: {\n label: 'ml',\n mathliveValue: '\\\\mathrm{ml}',\n katexValue: 'ml',\n style: STYLE_PRESETS.SMALL,\n },\n LITER_SE: {\n label: 'l',\n mathliveValue: '\\\\mathrm{l}',\n katexValue: 'l',\n style: STYLE_PRESETS.SMALL,\n },\n DL: {\n label: 'dl',\n mathliveValue: '\\\\mathrm{dl}',\n katexValue: 'dl',\n style: STYLE_PRESETS.SMALL,\n },\n CUP: {\n label: 'cup',\n mathliveValue: '\\\\mathrm{cup}',\n katexValue: 'cup',\n mathQuillValue: '\\\\cup',\n style: STYLE_PRESETS.LARGE,\n },\n GAL: {\n label: 'gal',\n mathliveValue: '\\\\mathrm{gal}',\n katexValue: 'gal',\n style: STYLE_PRESETS.MEDIUM,\n },\n PINT: {\n label: 'pt',\n mathliveValue: '\\\\mathrm{pt}',\n katexValue: 'pt',\n style: STYLE_PRESETS.LARGE,\n },\n QUART: {\n label: 'qt',\n mathliveValue: '\\\\mathrm{qt}',\n katexValue: 'qt',\n style: STYLE_PRESETS.MEDIUM,\n },\n FLOZ: {\n label: 'floz',\n mathliveValue: '\\\\mathrm{floz}',\n katexValue: 'floz',\n style: STYLE_PRESETS.XL,\n },\n CL: {\n label: 'cl',\n mathliveValue: '\\\\mathrm{cl}',\n katexValue: 'cl',\n style: STYLE_PRESETS.SMALL,\n },\n})\n\nexport const MATH_WEIGHT_UNITS = createMathKeysGroup({\n KG: {\n label: 'kg',\n mathliveValue: '\\\\mathrm{kg}',\n katexValue: 'kg',\n style: STYLE_PRESETS.MEDIUM,\n },\n G: {\n label: 'g',\n mathliveValue: '\\\\mathrm{g}',\n katexValue: 'g',\n style: STYLE_PRESETS.SMALL,\n },\n MG: {\n label: 'mg',\n mathliveValue: '\\\\mathrm{mg}',\n katexValue: 'mg',\n style: STYLE_PRESETS.MEDIUM,\n },\n TON_SE: {\n label: 'ton',\n mathliveValue: '\\\\mathrm{ton}',\n katexValue: 'ton',\n style: STYLE_PRESETS.MEDIUM,\n },\n TON: {\n label: 'T',\n mathliveValue: '\\\\mathrm{T}',\n katexValue: 'T',\n style: STYLE_PRESETS.MEDIUM,\n },\n LB: {\n label: 'lb',\n mathliveValue: '\\\\mathrm{lb}',\n katexValue: 'lb',\n style: STYLE_PRESETS.SMALL,\n },\n OZ: {\n label: 'oz',\n mathliveValue: '\\\\mathrm{oz}',\n katexValue: 'oz',\n style: STYLE_PRESETS.SMALL,\n },\n GAL: {\n label: 'gal',\n mathliveValue: '\\\\mathrm{gal}',\n katexValue: 'gal',\n style: STYLE_PRESETS.MEDIUM,\n },\n HG: {\n label: 'hg',\n mathliveValue: '\\\\mathrm{hg}',\n katexValue: 'hg',\n style: STYLE_PRESETS.MEDIUM,\n },\n T: {\n label: 't',\n mathliveValue: '\\\\mathrm{t}',\n katexValue: 't',\n style: STYLE_PRESETS.MEDIUM,\n },\n})\n\nexport const MATH_TIME_UNITS = createMathKeysGroup({\n S: {\n label: 's',\n mathliveValue: '\\\\mathrm{s}',\n katexValue: 's',\n style: STYLE_PRESETS.LARGE,\n },\n M: {\n label: 'min',\n mathliveValue: '$\\\\mathrm{min}',\n katexValue: 'min',\n style: STYLE_PRESETS.LARGE,\n },\n H: {\n label: 'h',\n mathliveValue: '\\\\mathrm{h}',\n katexValue: 'h',\n style: STYLE_PRESETS.LARGE,\n },\n DAY: {\n label: 'day',\n mathliveValue: '\\\\mathrm{day}',\n katexValue: 'day',\n },\n WEEK: {\n label: 'week',\n mathliveValue: '$\\\\mathrm{week}',\n katexValue: 'week',\n },\n MONTH: {\n label: 'month',\n mathliveValue: '$\\\\mathrm{month}',\n katexValue: 'month',\n },\n YEAR: {\n label: 'year',\n mathliveValue: '$\\\\mathrm{year}',\n katexValue: 'year',\n },\n DAYS: {\n label: 'days',\n mathliveValue: '$\\\\mathrm{days}',\n katexValue: 'days',\n },\n WEEKS: {\n label: 'weeks',\n mathliveValue: '$\\\\mathrm{weeks}',\n katexValue: 'weeks',\n },\n MONTHS: {\n label: 'months',\n mathliveValue: '$\\\\mathrm{months}',\n katexValue: 'months',\n },\n YEARS: {\n label: 'years',\n mathliveValue: '$\\\\mathrm{years}',\n katexValue: 'years',\n },\n AM: {\n label: 'am',\n mathliveValue: '\\\\mathrm{am}',\n katexValue: 'am',\n },\n PM: {\n label: 'pm',\n mathliveValue: '\\\\mathrm{pm}',\n katexValue: 'pm',\n },\n})\n
5
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
6
+ <+>UTF-8
7
+ ===================================================================
8
+ diff --git a/src/features/keyboard/types/MathKeysGroups/units.tsx b/src/features/keyboard/types/MathKeysGroups/units.tsx
9
+ --- a/src/features/keyboard/types/MathKeysGroups/units.tsx (revision 9a8649561caad01ca3e034d3fb31ed5b65918617)
10
+ +++ b/src/features/keyboard/types/MathKeysGroups/units.tsx (date 1767009780900)
11
+ @@ -433,6 +433,7 @@
12
+ label: 'min',
13
+ mathliveValue: '$\\mathrm{min}',
14
+ katexValue: 'min',
15
+ + mathQuillValue: '\\\\min',
16
+ style: STYLE_PRESETS.LARGE,
17
+ },
18
+ H: {
@@ -0,0 +1,19 @@
1
+ Index: src/features/keyboard/types/MathKeysGroups/units.tsx
2
+ IDEA additional info:
3
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4
+ <+>import { KroneIcon } from '../../../../shared/icons/keyboard/KroneIcon/KroneIcon'\nimport { DollarIcon } from '../../../../shared/icons/keyboard/DollarIcon/DollarIcon'\nimport { EuroIcon } from '../../../../shared/icons/keyboard/EuroIcon/EuroIcon'\nimport { PoundIcon } from '../../../../shared/icons/keyboard/PoundIcon/PoundIcon'\nimport { PesoIcon } from '../../../../shared/icons/keyboard/PesoIcon/PesoIcon'\nimport { YenIcon } from '../../../../shared/icons/keyboard/YenIcon/YenIcon'\nimport { CentIcon } from '../../../../shared/icons/keyboard/CentIcon/CentIcon'\nimport { DEFAULT_KEY_ICON_PROPS } from '../../constants/constants'\nimport React from 'react'\nimport { IS_MOBILE, IS_WEB } from '@magmamath/react-native-ui'\nimport { createMathKeysGroup } from './helpers'\n\nconst BASE_TEXT_STYLE = {\n fontSize: 14,\n fontWeight: 700,\n} as const\n\nconst STYLE_PRESETS = {\n SMALL: {\n button: { width: IS_WEB ? 40 : 44 },\n container: IS_MOBILE ? { flexBasis: 48 } : undefined,\n text: BASE_TEXT_STYLE,\n },\n MEDIUM: {\n button: { width: IS_WEB ? 45 : 51 },\n container: IS_MOBILE ? { flexBasis: 55 } : undefined,\n text: BASE_TEXT_STYLE,\n },\n LARGE: {\n button: { width: IS_WEB ? 48 : 55 },\n container: IS_MOBILE ? { flexBasis: 59 } : undefined,\n\n text: BASE_TEXT_STYLE,\n },\n XL: {\n button: { width: IS_WEB ? 52 : 54 },\n container: IS_MOBILE ? { flexBasis: 60 } : undefined,\n text: BASE_TEXT_STYLE,\n },\n}\n\nexport const MATH_CURRENCY_UNITS = createMathKeysGroup({\n KRONE: {\n icon: <KroneIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: 'Kr',\n katexValue: 'Kr',\n },\n DOLLAR: {\n icon: <DollarIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '\\\\$',\n katexValue: '\\$',\n mathQuillValue: '\\\\$',\n },\n EURO: {\n icon: <EuroIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '€',\n katexValue: '€',\n },\n POUND: {\n icon: <PoundIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '£',\n katexValue: '£',\n },\n YEN: {\n icon: <YenIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '¥',\n katexValue: '¥',\n },\n PESO: {\n icon: <PesoIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: 'p',\n katexValue: 'p',\n },\n CENT: {\n icon: <CentIcon {...DEFAULT_KEY_ICON_PROPS} />,\n mathliveValue: '¢',\n katexValue: '¢',\n },\n})\n\nexport const MATH_LENGTH_UNITS = createMathKeysGroup({\n KILOMETER: {\n label: 'km',\n mathliveValue: 'km',\n katexValue: 'km',\n style: STYLE_PRESETS.MEDIUM,\n },\n METER: {\n label: 'm',\n mathliveValue: '\\\\mathrm{m}',\n katexValue: 'm',\n style: STYLE_PRESETS.MEDIUM,\n },\n DECIMETER: {\n label: 'dm',\n mathliveValue: '\\\\mathrm{dm}',\n katexValue: 'dm',\n style: STYLE_PRESETS.MEDIUM,\n },\n CENTIMETER: {\n label: 'cm',\n mathliveValue: '\\\\mathrm{cm}',\n katexValue: 'cm',\n style: STYLE_PRESETS.MEDIUM,\n },\n MILLIMETER: {\n label: 'mm',\n mathliveValue: '\\\\mathrm{mm}',\n katexValue: 'mm',\n style: STYLE_PRESETS.MEDIUM,\n },\n HECTARE: {\n label: 'ha',\n mathliveValue: '\\\\mathrm{ha}',\n katexValue: 'ha',\n style: STYLE_PRESETS.MEDIUM,\n },\n INCH: {\n label: 'in',\n mathliveValue: '\\\\mathrm{in}',\n katexValue: 'in',\n mathQuillValue: '\\\\in',\n style: STYLE_PRESETS.SMALL,\n },\n FOOT: {\n label: 'ft',\n mathliveValue: '\\\\mathrm{ft}',\n katexValue: 'ft',\n style: STYLE_PRESETS.SMALL,\n },\n YARD: {\n label: 'yd',\n mathliveValue: '\\\\mathrm{yd}',\n katexValue: 'yd',\n style: STYLE_PRESETS.SMALL,\n },\n YARDS: {\n label: 'yds',\n mathliveValue: '\\\\mathrm{yds}',\n katexValue: 'yds',\n style: STYLE_PRESETS.SMALL,\n },\n MILE: {\n label: 'mi',\n mathliveValue: '\\\\mathrm{mi}',\n katexValue: 'mi',\n style: STYLE_PRESETS.SMALL,\n },\n MILE_SE: {\n label: 'mil',\n mathliveValue: '\\\\mathrm{mil}',\n katexValue: 'mil',\n style: STYLE_PRESETS.MEDIUM,\n },\n})\n\nexport const MATH_AREA_UNITS = createMathKeysGroup({\n SQUARE_KILOMETER: {\n label: 'km²',\n mathliveValue: '\\\\mathrm{km}^2',\n katexValue: 'km^2',\n mathQuillValue: 'km^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_METER: {\n label: 'm²',\n mathliveValue: '\\\\mathrm{m}^2',\n katexValue: 'm^2',\n mathQuillValue: 'm^{2}',\n style: STYLE_PRESETS.MEDIUM,\n },\n SQUARE_DECIMETER: {\n label: 'dm²',\n mathliveValue: '\\\\mathrm{dm}^2',\n katexValue: 'dm^2',\n mathQuillValue: 'dm^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_CENTIMETER: {\n label: 'cm²',\n mathliveValue: '\\\\mathrm{cm}^2',\n katexValue: 'cm^2',\n mathQuillValue: 'cm^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_MILLIMETER: {\n label: 'mm²',\n mathliveValue: '\\\\mathrm{mm}^2',\n katexValue: 'mm^2',\n mathQuillValue: 'mm^{2}',\n style: STYLE_PRESETS.LARGE,\n },\n SQUARE_INCH: {\n label: 'in²',\n mathliveValue: '\\\\mathrm{in}^2',\n katexValue: 'in^2',\n mathQuillValue: 'in^{2}',\n style: STYLE_PRESETS.SMALL,\n },\n SQUARE_FOOT: {\n label: 'ft²',\n mathliveValue: '\\\\mathrm{ft}^2',\n katexValue: 'ft^2',\n mathQuillValue: 'ft^{2}',\n style: STYLE_PRESETS.SMALL,\n },\n SQUARE_MILE: {\n label: 'mi²',\n mathliveValue: '\\\\mathrm{mi}^2',\n katexValue: 'mi^2',\n mathQuillValue: 'mi^{2}',\n style: STYLE_PRESETS.MEDIUM,\n },\n SQUARE_YARD: {\n label: 'yd²',\n mathliveValue: '\\\\mathrm{yd}^2',\n katexValue: 'yd^2',\n mathQuillValue: 'yd^{2}',\n style: STYLE_PRESETS.MEDIUM,\n },\n HECTARE: {\n label: 'ha',\n mathliveValue: '\\\\mathrm{ha}',\n katexValue: 'ha',\n style: STYLE_PRESETS.SMALL,\n },\n})\n\nexport const MATH_VOLUME_UNITS = createMathKeysGroup({\n CUBIC_KILOMETER: {\n label: 'km³',\n mathliveValue: '\\\\mathrm{km}^3',\n katexValue: 'km^3',\n mathQuillValue: 'km^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_METER: {\n label: 'm³',\n mathliveValue: '\\\\mathrm{m}^3',\n katexValue: 'm^3',\n mathQuillValue: 'm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_DECIMETER: {\n label: 'dm³',\n mathliveValue: '\\\\mathrm{dm}^3',\n katexValue: 'dm^3',\n mathQuillValue: 'dm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_CENTIMETER: {\n label: 'cm³',\n mathliveValue: '\\\\mathrm{cm}^3',\n katexValue: 'cm^3',\n mathQuillValue: 'cm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_MILLIMETER: {\n label: 'mm³',\n mathliveValue: '\\\\mathrm{mm}^3',\n katexValue: 'mm^3',\n mathQuillValue: 'mm^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_INCH: {\n label: 'in³',\n mathliveValue: '\\\\mathrm{in}^3',\n katexValue: 'in^3',\n mathQuillValue: 'in^{3}',\n style: STYLE_PRESETS.SMALL,\n },\n CUBIC_FOOT: {\n label: 'ft³',\n mathliveValue: '\\\\mathrm{ft}^3',\n katexValue: 'ft^3',\n mathQuillValue: 'ft^{3}',\n style: STYLE_PRESETS.SMALL,\n },\n CUBIC_MILE: {\n label: 'mi³',\n mathliveValue: '\\\\mathrm{mi}^3',\n katexValue: 'mi^3',\n mathQuillValue: 'mi^{3}',\n style: STYLE_PRESETS.LARGE,\n },\n CUBIC_YARD: {\n label: 'yd³',\n mathliveValue: '\\\\mathrm{yd}^3',\n katexValue: 'yd^3',\n mathQuillValue: 'yd^{3}',\n style: STYLE_PRESETS.MEDIUM,\n },\n MILLILITER: {\n label: 'ml',\n mathliveValue: '\\\\mathrm{mL}',\n katexValue: 'ml',\n style: STYLE_PRESETS.SMALL,\n },\n LITER: {\n label: 'L',\n mathliveValue: '\\\\mathrm{L}',\n katexValue: 'L',\n style: STYLE_PRESETS.SMALL,\n },\n MILLILITER_SE: {\n label: 'ml',\n mathliveValue: '\\\\mathrm{ml}',\n katexValue: 'ml',\n style: STYLE_PRESETS.SMALL,\n },\n LITER_SE: {\n label: 'l',\n mathliveValue: '\\\\mathrm{l}',\n katexValue: 'l',\n style: STYLE_PRESETS.SMALL,\n },\n DL: {\n label: 'dl',\n mathliveValue: '\\\\mathrm{dl}',\n katexValue: 'dl',\n style: STYLE_PRESETS.SMALL,\n },\n CUP: {\n label: 'cup',\n mathliveValue: '\\\\mathrm{cup}',\n katexValue: 'cup',\n mathQuillValue: '\\\\cup',\n style: STYLE_PRESETS.LARGE,\n },\n GAL: {\n label: 'gal',\n mathliveValue: '\\\\mathrm{gal}',\n katexValue: 'gal',\n style: STYLE_PRESETS.MEDIUM,\n },\n PINT: {\n label: 'pt',\n mathliveValue: '\\\\mathrm{pt}',\n katexValue: 'pt',\n style: STYLE_PRESETS.LARGE,\n },\n QUART: {\n label: 'qt',\n mathliveValue: '\\\\mathrm{qt}',\n katexValue: 'qt',\n style: STYLE_PRESETS.MEDIUM,\n },\n FLOZ: {\n label: 'floz',\n mathliveValue: '\\\\mathrm{floz}',\n katexValue: 'floz',\n style: STYLE_PRESETS.XL,\n },\n CL: {\n label: 'cl',\n mathliveValue: '\\\\mathrm{cl}',\n katexValue: 'cl',\n style: STYLE_PRESETS.SMALL,\n },\n})\n\nexport const MATH_WEIGHT_UNITS = createMathKeysGroup({\n KG: {\n label: 'kg',\n mathliveValue: '\\\\mathrm{kg}',\n katexValue: 'kg',\n style: STYLE_PRESETS.MEDIUM,\n },\n G: {\n label: 'g',\n mathliveValue: '\\\\mathrm{g}',\n katexValue: 'g',\n style: STYLE_PRESETS.SMALL,\n },\n MG: {\n label: 'mg',\n mathliveValue: '\\\\mathrm{mg}',\n katexValue: 'mg',\n style: STYLE_PRESETS.MEDIUM,\n },\n TON_SE: {\n label: 'ton',\n mathliveValue: '\\\\mathrm{ton}',\n katexValue: 'ton',\n style: STYLE_PRESETS.MEDIUM,\n },\n TON: {\n label: 'T',\n mathliveValue: '\\\\mathrm{T}',\n katexValue: 'T',\n style: STYLE_PRESETS.MEDIUM,\n },\n LB: {\n label: 'lb',\n mathliveValue: '\\\\mathrm{lb}',\n katexValue: 'lb',\n style: STYLE_PRESETS.SMALL,\n },\n OZ: {\n label: 'oz',\n mathliveValue: '\\\\mathrm{oz}',\n katexValue: 'oz',\n style: STYLE_PRESETS.SMALL,\n },\n GAL: {\n label: 'gal',\n mathliveValue: '\\\\mathrm{gal}',\n katexValue: 'gal',\n style: STYLE_PRESETS.MEDIUM,\n },\n HG: {\n label: 'hg',\n mathliveValue: '\\\\mathrm{hg}',\n katexValue: 'hg',\n style: STYLE_PRESETS.MEDIUM,\n },\n T: {\n label: 't',\n mathliveValue: '\\\\mathrm{t}',\n katexValue: 't',\n style: STYLE_PRESETS.MEDIUM,\n },\n})\n\nexport const MATH_TIME_UNITS = createMathKeysGroup({\n S: {\n label: 's',\n mathliveValue: '\\\\mathrm{s}',\n katexValue: 's',\n },\n M: {\n label: 'min',\n mathliveValue: '$\\\\mathrm{min}',\n katexValue: 'min',\n },\n H: {\n label: 'h',\n mathliveValue: '\\\\mathrm{h}',\n katexValue: 'h',\n },\n DAY: {\n label: 'day',\n mathliveValue: '\\\\mathrm{day}',\n katexValue: 'day',\n },\n WEEK: {\n label: 'week',\n mathliveValue: '$\\\\mathrm{week}',\n katexValue: 'week',\n },\n MONTH: {\n label: 'month',\n mathliveValue: '$\\\\mathrm{month}',\n katexValue: 'month',\n },\n YEAR: {\n label: 'year',\n mathliveValue: '$\\\\mathrm{year}',\n katexValue: 'year',\n },\n DAYS: {\n label: 'days',\n mathliveValue: '$\\\\mathrm{days}',\n katexValue: 'days',\n },\n WEEKS: {\n label: 'weeks',\n mathliveValue: '$\\\\mathrm{weeks}',\n katexValue: 'weeks',\n },\n MONTHS: {\n label: 'months',\n mathliveValue: '$\\\\mathrm{months}',\n katexValue: 'months',\n },\n YEARS: {\n label: 'years',\n mathliveValue: '$\\\\mathrm{years}',\n katexValue: 'years',\n },\n AM: {\n label: 'am',\n mathliveValue: '\\\\mathrm{am}',\n katexValue: 'am',\n },\n PM: {\n label: 'pm',\n mathliveValue: '\\\\mathrm{pm}',\n katexValue: 'pm',\n },\n})\n
5
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
6
+ <+>UTF-8
7
+ ===================================================================
8
+ diff --git a/src/features/keyboard/types/MathKeysGroups/units.tsx b/src/features/keyboard/types/MathKeysGroups/units.tsx
9
+ --- a/src/features/keyboard/types/MathKeysGroups/units.tsx (revision e8c14858c03a7768a2a264afb68d70bfe3410477)
10
+ +++ b/src/features/keyboard/types/MathKeysGroups/units.tsx (date 1767010270068)
11
+ @@ -432,6 +432,8 @@
12
+ label: 'min',
13
+ mathliveValue: '$\\mathrm{min}',
14
+ katexValue: 'min',
15
+ + mathQuillValue: '\\\\min',
16
+ + style: STYLE_PRESETS.LARGE,
17
+ },
18
+ H: {
19
+ label: 'h',
@@ -0,0 +1,4 @@
1
+ <changelist name="Uncommitted_changes_before_Checkout_at_29_12_2025,_13_10_[Changes]" date="1767010270088" recycled="true" deleted="true">
2
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_10_[Changes]/shelved.patch" />
3
+ <option name="DESCRIPTION" value="Uncommitted changes before Checkout at 29/12/2025, 13:10 [Changes]" />
4
+ </changelist>
@@ -0,0 +1,4 @@
1
+ <changelist name="Uncommitted_changes_before_Checkout_at_29_12_2025,_13_11_[Changes]" date="1767010322796" recycled="true" deleted="true">
2
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Checkout_at_29_12_2025,_13_11_[Changes]/shelved.patch" />
3
+ <option name="DESCRIPTION" value="Uncommitted changes before Checkout at 29/12/2025, 13:11 [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>