@magmamath/students-features 0.9.103-rc.0 → 0.9.103
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.
- package/.idea/workspace.xml +43 -43
- package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js +3 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +13 -11
- package/dist/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
- package/dist/commonjs/features/keyboard/components/UnitsLayout/types.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/helpers.js +2 -1
- package/dist/module/features/keyboard/components/UnitsLayout/helpers.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js +14 -12
- package/dist/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.js.map +1 -1
- package/dist/module/features/keyboard/components/UnitsLayout/types.js.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +3 -6
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts +5 -0
- package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts +1 -0
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/helpers.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts +3 -6
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map +1 -1
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts +5 -0
- package/dist/typescript/module/features/keyboard/components/UnitsLayout/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/keyboard/components/UnitsLayout/helpers.tsx +3 -0
- package/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts +26 -40
- package/src/features/keyboard/components/UnitsLayout/types.ts +6 -0
package/.idea/workspace.xml
CHANGED
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
5
|
</component>
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
|
-
<list default="true" id="ce1b67e5-e42c-4dab-8d84-832433eb9fe4" name="Changes" comment="
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts" afterDir="false" />
|
|
9
|
-
</list>
|
|
7
|
+
<list default="true" id="ce1b67e5-e42c-4dab-8d84-832433eb9fe4" name="Changes" comment="fix: added new mobile breakpoints for basic and algebra layout" />
|
|
10
8
|
<option name="SHOW_DIALOG" value="false" />
|
|
11
9
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
12
10
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
@@ -23,7 +21,7 @@
|
|
|
23
21
|
<component name="Git.Settings">
|
|
24
22
|
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
|
25
23
|
<map>
|
|
26
|
-
<entry key="$PROJECT_DIR$" value="
|
|
24
|
+
<entry key="$PROJECT_DIR$" value="feature/3307-keyboard-breakpoints" />
|
|
27
25
|
</map>
|
|
28
26
|
</option>
|
|
29
27
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
@@ -192,39 +190,9 @@
|
|
|
192
190
|
<workItem from="1765907874976" duration="1725000" />
|
|
193
191
|
<workItem from="1765997348478" duration="98000" />
|
|
194
192
|
<workItem from="1765997880566" duration="9660000" />
|
|
195
|
-
<workItem from="1766415953458" duration="
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
<option name="closed" value="true" />
|
|
199
|
-
<created>1759751740841</created>
|
|
200
|
-
<option name="number" value="00044" />
|
|
201
|
-
<option name="presentableId" value="LOCAL-00044" />
|
|
202
|
-
<option name="project" value="LOCAL" />
|
|
203
|
-
<updated>1759751740841</updated>
|
|
204
|
-
</task>
|
|
205
|
-
<task id="LOCAL-00045" summary="feat: added mobile layout for units">
|
|
206
|
-
<option name="closed" value="true" />
|
|
207
|
-
<created>1759754017450</created>
|
|
208
|
-
<option name="number" value="00045" />
|
|
209
|
-
<option name="presentableId" value="LOCAL-00045" />
|
|
210
|
-
<option name="project" value="LOCAL" />
|
|
211
|
-
<updated>1759754017450</updated>
|
|
212
|
-
</task>
|
|
213
|
-
<task id="LOCAL-00046" summary="feat: added mobile basic layout">
|
|
214
|
-
<option name="closed" value="true" />
|
|
215
|
-
<created>1759758990849</created>
|
|
216
|
-
<option name="number" value="00046" />
|
|
217
|
-
<option name="presentableId" value="LOCAL-00046" />
|
|
218
|
-
<option name="project" value="LOCAL" />
|
|
219
|
-
<updated>1759758990849</updated>
|
|
220
|
-
</task>
|
|
221
|
-
<task id="LOCAL-00047" summary="chore: version update">
|
|
222
|
-
<option name="closed" value="true" />
|
|
223
|
-
<created>1759762164134</created>
|
|
224
|
-
<option name="number" value="00047" />
|
|
225
|
-
<option name="presentableId" value="LOCAL-00047" />
|
|
226
|
-
<option name="project" value="LOCAL" />
|
|
227
|
-
<updated>1759762164134</updated>
|
|
193
|
+
<workItem from="1766415953458" duration="2436000" />
|
|
194
|
+
<workItem from="1766487717021" duration="4617000" />
|
|
195
|
+
<workItem from="1766498143970" duration="4657000" />
|
|
228
196
|
</task>
|
|
229
197
|
<task id="LOCAL-00048" summary="feat: updated mobile numpad padding for advanced characters">
|
|
230
198
|
<option name="closed" value="true" />
|
|
@@ -586,7 +554,39 @@
|
|
|
586
554
|
<option name="project" value="LOCAL" />
|
|
587
555
|
<updated>1766048046880</updated>
|
|
588
556
|
</task>
|
|
589
|
-
<
|
|
557
|
+
<task id="LOCAL-00093" summary="feat: added breakpoints for tabs keyboard">
|
|
558
|
+
<option name="closed" value="true" />
|
|
559
|
+
<created>1766418763276</created>
|
|
560
|
+
<option name="number" value="00093" />
|
|
561
|
+
<option name="presentableId" value="LOCAL-00093" />
|
|
562
|
+
<option name="project" value="LOCAL" />
|
|
563
|
+
<updated>1766418763276</updated>
|
|
564
|
+
</task>
|
|
565
|
+
<task id="LOCAL-00094" summary="chore: code refactoring">
|
|
566
|
+
<option name="closed" value="true" />
|
|
567
|
+
<created>1766497346123</created>
|
|
568
|
+
<option name="number" value="00094" />
|
|
569
|
+
<option name="presentableId" value="LOCAL-00094" />
|
|
570
|
+
<option name="project" value="LOCAL" />
|
|
571
|
+
<updated>1766497346123</updated>
|
|
572
|
+
</task>
|
|
573
|
+
<task id="LOCAL-00095" summary="fix: import fix">
|
|
574
|
+
<option name="closed" value="true" />
|
|
575
|
+
<created>1766497738723</created>
|
|
576
|
+
<option name="number" value="00095" />
|
|
577
|
+
<option name="presentableId" value="LOCAL-00095" />
|
|
578
|
+
<option name="project" value="LOCAL" />
|
|
579
|
+
<updated>1766497738723</updated>
|
|
580
|
+
</task>
|
|
581
|
+
<task id="LOCAL-00096" summary="fix: added new mobile breakpoints for basic and algebra layout">
|
|
582
|
+
<option name="closed" value="true" />
|
|
583
|
+
<created>1766502402788</created>
|
|
584
|
+
<option name="number" value="00096" />
|
|
585
|
+
<option name="presentableId" value="LOCAL-00096" />
|
|
586
|
+
<option name="project" value="LOCAL" />
|
|
587
|
+
<updated>1766502402788</updated>
|
|
588
|
+
</task>
|
|
589
|
+
<option name="localTasksCounter" value="97" />
|
|
590
590
|
<servers />
|
|
591
591
|
</component>
|
|
592
592
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -604,9 +604,6 @@
|
|
|
604
604
|
</option>
|
|
605
605
|
</component>
|
|
606
606
|
<component name="VcsManagerConfiguration">
|
|
607
|
-
<MESSAGE value="chore: algebra layout refactored" />
|
|
608
|
-
<MESSAGE value="chore: numpad refactoring" />
|
|
609
|
-
<MESSAGE value="chore: unitTabs refactoring" />
|
|
610
607
|
<MESSAGE value="feat: added rn styles updates" />
|
|
611
608
|
<MESSAGE value="chore: code refactoring for localization" />
|
|
612
609
|
<MESSAGE value="fix: removed basic plus mobile layout" />
|
|
@@ -621,7 +618,6 @@
|
|
|
621
618
|
<MESSAGE value="feat: added new spreadsheet buttons animation" />
|
|
622
619
|
<MESSAGE value="chore: version change" />
|
|
623
620
|
<MESSAGE value="fix: passed props correctly" />
|
|
624
|
-
<MESSAGE value="chore: code refactoring" />
|
|
625
621
|
<MESSAGE value="chore: changed version" />
|
|
626
622
|
<MESSAGE value="feat: added slash to spreadsheet keyboard layout" />
|
|
627
623
|
<MESSAGE value="chore: updated imports" />
|
|
@@ -629,7 +625,11 @@
|
|
|
629
625
|
<MESSAGE value="fix: updated mathfield value for square brackets" />
|
|
630
626
|
<MESSAGE value="feat: added time layout to units" />
|
|
631
627
|
<MESSAGE value="chore: version update" />
|
|
632
|
-
<
|
|
628
|
+
<MESSAGE value="feat: added breakpoints for tabs keyboard" />
|
|
629
|
+
<MESSAGE value="chore: code refactoring" />
|
|
630
|
+
<MESSAGE value="fix: import fix" />
|
|
631
|
+
<MESSAGE value="fix: added new mobile breakpoints for basic and algebra layout" />
|
|
632
|
+
<option name="LAST_COMMIT_MESSAGE" value="fix: added new mobile breakpoints for basic and algebra layout" />
|
|
633
633
|
</component>
|
|
634
634
|
<component name="github-copilot-workspace">
|
|
635
635
|
<instructionFileLocations>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getSelectOptions = void 0;
|
|
6
|
+
exports.isKeyboardUnitsGroupType = exports.getSelectOptions = void 0;
|
|
7
7
|
var _reactNativeUi = require("@magmamath/react-native-ui");
|
|
8
8
|
var _keyboardGroups = require("./keyboardGroups.js");
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -43,4 +43,6 @@ const getSelectOptions = ({
|
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
45
|
exports.getSelectOptions = getSelectOptions;
|
|
46
|
+
const isKeyboardUnitsGroupType = k => Object.values(_types.KeyboardUnitsGroupType).includes(k);
|
|
47
|
+
exports.isKeyboardUnitsGroupType = isKeyboardUnitsGroupType;
|
|
46
48
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeUi","require","_keyboardGroups","_react","_interopRequireDefault","_types","_AlgebraIcon","_jsxRuntime","e","__esModule","default","getSelectOptions","activeTabKey","selectedLayout","setSelectedLayout","onLayoutChange","SelectedIcon","UNITS_KEYBOARD_GROUPS","get","icon","RulerIcon","key","SelectedLayout","ALGEBRA","title","jsx","AlgebraIcon","color","COLORS","NEUTRAL_1","NEUTRAL_9","size","onPressIn","UNITS","exports"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/helpers.tsx"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAkE,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS3D,MAAMG,gBAAgB,GAAGA,CAAC;EAC/BC,YAAY;EACZC,cAAc;EACdC,iBAAiB;EACjBC;AAC2B,CAAC,KAAK;EACjC;IACE,MAAMC,YAAY,GAAGC,qCAAqB,CAACC,GAAG,CAACN,YAAY,CAAC,EAAEO,IAAI,IAAIC,wBAAS;IAE/E,OAAO,CACL;MACEC,GAAG,EAAEC,qBAAc,CAACC,OAAO;MAC3BC,KAAK,eACH,IAAAjB,WAAA,CAAAkB,GAAA,EAACnB,YAAA,CAAAoB,WAAW;QACVC,KAAK,EAAEd,cAAc,KAAKS,qBAAc,CAACC,OAAO,GAAGK,qBAAM,CAACC,SAAS,GAAGD,qBAAM,CAACE,SAAU;QACvFC,IAAI,EAAE;MAAG,CACV,CACF;MACDC,SAAS,EAAEA,CAAA,KAAM;QACflB,iBAAiB,CAACQ,qBAAc,CAACC,OAAO,CAAC;QACzCR,cAAc,GAAG,KAAK,CAAC;MACzB;IACF,CAAC,EACD;MACEM,GAAG,EAAEC,qBAAc,CAACW,KAAK;MACzBT,KAAK,eACH,IAAAjB,WAAA,CAAAkB,GAAA,EAACT,YAAY;QACXW,KAAK,EAAEd,cAAc,KAAKS,qBAAc,CAACW,KAAK,GAAGL,qBAAM,CAACC,SAAS,GAAGD,qBAAM,CAACE,SAAU;QACrFC,IAAI,EAAE;MAAG,CACV,CACF;MACDC,SAAS,EAAEA,CAAA,KAAM;QACflB,iBAAiB,CAACQ,qBAAc,CAACW,KAAK,CAAC;QACvClB,cAAc,GAAG,IAAI,CAAC;MACxB;IACF,CAAC,CACF;EACH;AACF,CAAC;AAAAmB,OAAA,CAAAvB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNativeUi","require","_keyboardGroups","_react","_interopRequireDefault","_types","_AlgebraIcon","_jsxRuntime","e","__esModule","default","getSelectOptions","activeTabKey","selectedLayout","setSelectedLayout","onLayoutChange","SelectedIcon","UNITS_KEYBOARD_GROUPS","get","icon","RulerIcon","key","SelectedLayout","ALGEBRA","title","jsx","AlgebraIcon","color","COLORS","NEUTRAL_1","NEUTRAL_9","size","onPressIn","UNITS","exports","isKeyboardUnitsGroupType","k","Object","values","KeyboardUnitsGroupType","includes"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/helpers.tsx"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAkE,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAS3D,MAAMG,gBAAgB,GAAGA,CAAC;EAC/BC,YAAY;EACZC,cAAc;EACdC,iBAAiB;EACjBC;AAC2B,CAAC,KAAK;EACjC;IACE,MAAMC,YAAY,GAAGC,qCAAqB,CAACC,GAAG,CAACN,YAAY,CAAC,EAAEO,IAAI,IAAIC,wBAAS;IAE/E,OAAO,CACL;MACEC,GAAG,EAAEC,qBAAc,CAACC,OAAO;MAC3BC,KAAK,eACH,IAAAjB,WAAA,CAAAkB,GAAA,EAACnB,YAAA,CAAAoB,WAAW;QACVC,KAAK,EAAEd,cAAc,KAAKS,qBAAc,CAACC,OAAO,GAAGK,qBAAM,CAACC,SAAS,GAAGD,qBAAM,CAACE,SAAU;QACvFC,IAAI,EAAE;MAAG,CACV,CACF;MACDC,SAAS,EAAEA,CAAA,KAAM;QACflB,iBAAiB,CAACQ,qBAAc,CAACC,OAAO,CAAC;QACzCR,cAAc,GAAG,KAAK,CAAC;MACzB;IACF,CAAC,EACD;MACEM,GAAG,EAAEC,qBAAc,CAACW,KAAK;MACzBT,KAAK,eACH,IAAAjB,WAAA,CAAAkB,GAAA,EAACT,YAAY;QACXW,KAAK,EAAEd,cAAc,KAAKS,qBAAc,CAACW,KAAK,GAAGL,qBAAM,CAACC,SAAS,GAAGD,qBAAM,CAACE,SAAU;QACrFC,IAAI,EAAE;MAAG,CACV,CACF;MACDC,SAAS,EAAEA,CAAA,KAAM;QACflB,iBAAiB,CAACQ,qBAAc,CAACW,KAAK,CAAC;QACvClB,cAAc,GAAG,IAAI,CAAC;MACxB;IACF,CAAC,CACF;EACH;AACF,CAAC;AAAAmB,OAAA,CAAAvB,gBAAA,GAAAA,gBAAA;AAEM,MAAMwB,wBAAwB,GAAIC,CAAS,IAC/CC,MAAM,CAACC,MAAM,CAACC,6BAAsB,CAAC,CAAcC,QAAQ,CAACJ,CAAC,CAAC;AAAAF,OAAA,CAAAC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _index = require("../../../../../shared/translation/index.js");
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _types = require("../types.js");
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
|
+
var _helpers = require("../helpers.js");
|
|
11
12
|
const useUnitTabs = () => {
|
|
12
13
|
const t = (0, _index.useText)();
|
|
13
14
|
const {
|
|
@@ -15,8 +16,7 @@ const useUnitTabs = () => {
|
|
|
15
16
|
} = (0, _reactNative.useWindowDimensions)();
|
|
16
17
|
const allTabs = (0, _react.useMemo)(() => [{
|
|
17
18
|
title: t('keyboard.length'),
|
|
18
|
-
key: _types.KeyboardUnitsGroupType.LENGTH
|
|
19
|
-
minWidth: 1005
|
|
19
|
+
key: _types.KeyboardUnitsGroupType.LENGTH
|
|
20
20
|
}, {
|
|
21
21
|
title: t('keyboard.area'),
|
|
22
22
|
key: _types.KeyboardUnitsGroupType.AREA,
|
|
@@ -24,7 +24,7 @@ const useUnitTabs = () => {
|
|
|
24
24
|
}, {
|
|
25
25
|
title: t('keyboard.volume'),
|
|
26
26
|
key: _types.KeyboardUnitsGroupType.VOLUME,
|
|
27
|
-
minWidth:
|
|
27
|
+
minWidth: 1060
|
|
28
28
|
}, {
|
|
29
29
|
title: t('keyboard.weight'),
|
|
30
30
|
key: _types.KeyboardUnitsGroupType.WEIGHT,
|
|
@@ -34,17 +34,19 @@ const useUnitTabs = () => {
|
|
|
34
34
|
key: _types.KeyboardUnitsGroupType.TIME,
|
|
35
35
|
minWidth: 1125
|
|
36
36
|
}], [t]);
|
|
37
|
-
const tabs = (0, _react.useMemo)(() => allTabs.filter(tab => width >= tab.minWidth), [allTabs, width]);
|
|
38
|
-
const [
|
|
39
|
-
(0, _react.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (!stillVisible) setActiveTab(tabs[0]);
|
|
43
|
-
}, [tabs, activeTab?.key]);
|
|
37
|
+
const tabs = (0, _react.useMemo)(() => allTabs.filter(tab => tab.minWidth === undefined || width >= tab.minWidth), [allTabs, width]);
|
|
38
|
+
const [activeKey, setActiveKey] = (0, _react.useState)(() => tabs[0]?.key);
|
|
39
|
+
const activeTab = (0, _react.useMemo)(() => {
|
|
40
|
+
return tabs.find(t => t?.key && t.key === activeKey) ?? tabs[0];
|
|
41
|
+
}, [tabs, activeKey]);
|
|
44
42
|
return {
|
|
45
43
|
tabs,
|
|
46
44
|
activeTab,
|
|
47
|
-
setActiveTab
|
|
45
|
+
setActiveTab: tab => {
|
|
46
|
+
if ((0, _helpers.isKeyboardUnitsGroupType)(tab.key)) {
|
|
47
|
+
setActiveKey(tab.key);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
48
50
|
};
|
|
49
51
|
};
|
|
50
52
|
exports.useUnitTabs = useUnitTabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_react","_types","_reactNative","useUnitTabs","t","useText","width","useWindowDimensions","allTabs","useMemo","title","key","KeyboardUnitsGroupType","LENGTH","
|
|
1
|
+
{"version":3,"names":["_index","require","_react","_types","_reactNative","_helpers","useUnitTabs","t","useText","width","useWindowDimensions","allTabs","useMemo","title","key","KeyboardUnitsGroupType","LENGTH","AREA","minWidth","VOLUME","WEIGHT","TIME","tabs","filter","tab","undefined","activeKey","setActiveKey","useState","activeTab","find","setActiveTab","isKeyboardUnitsGroupType","exports"],"sourceRoot":"../../../../../../../src","sources":["features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AAEO,MAAMK,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAMC,CAAC,GAAG,IAAAC,cAAO,EAAC,CAAC;EACnB,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAEvC,MAAMC,OAAO,GAAG,IAAAC,cAAO,EACrB,MAAM,CACJ;IAAEC,KAAK,EAAEN,CAAC,CAAC,iBAAiB,CAAC;IAAEO,GAAG,EAAEC,6BAAsB,CAACC;EAAO,CAAC,EACnE;IAAEH,KAAK,EAAEN,CAAC,CAAC,eAAe,CAAC;IAAEO,GAAG,EAAEC,6BAAsB,CAACE,IAAI;IAAEC,QAAQ,EAAE;EAAK,CAAC,EAC/E;IAAEL,KAAK,EAAEN,CAAC,CAAC,iBAAiB,CAAC;IAAEO,GAAG,EAAEC,6BAAsB,CAACI,MAAM;IAAED,QAAQ,EAAE;EAAK,CAAC,EACnF;IAAEL,KAAK,EAAEN,CAAC,CAAC,iBAAiB,CAAC;IAAEO,GAAG,EAAEC,6BAAsB,CAACK,MAAM;IAAEF,QAAQ,EAAE;EAAK,CAAC,EACnF;IAAEL,KAAK,EAAEN,CAAC,CAAC,eAAe,CAAC;IAAEO,GAAG,EAAEC,6BAAsB,CAACM,IAAI;IAAEH,QAAQ,EAAE;EAAK,CAAC,CAChF,EACD,CAACX,CAAC,CACJ,CAAC;EAED,MAAMe,IAAI,GAAG,IAAAV,cAAO,EAClB,MAAMD,OAAO,CAACY,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACN,QAAQ,KAAKO,SAAS,IAAIhB,KAAK,IAAIe,GAAG,CAACN,QAAQ,CAAC,EAClF,CAACP,OAAO,EAAEF,KAAK,CACjB,CAAC;EAED,MAAM,CAACiB,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAqC,MAAMN,IAAI,CAAC,CAAC,CAAC,EAAER,GAAG,CAAC;EAElG,MAAMe,SAAS,GAAG,IAAAjB,cAAO,EAAC,MAAM;IAC9B,OAAOU,IAAI,CAACQ,IAAI,CAAEvB,CAAC,IAAKA,CAAC,EAAEO,GAAG,IAAIP,CAAC,CAACO,GAAG,KAAKY,SAAS,CAAC,IAAIJ,IAAI,CAAC,CAAC,CAAC;EACnE,CAAC,EAAE,CAACA,IAAI,EAAEI,SAAS,CAAC,CAAC;EAErB,OAAO;IACLJ,IAAI;IACJO,SAAS;IACTE,YAAY,EAAGP,GAAmB,IAAK;MACrC,IAAI,IAAAQ,iCAAwB,EAACR,GAAG,CAACV,GAAG,CAAC,EAAE;QACrCa,YAAY,CAACH,GAAG,CAACV,GAAG,CAAC;MACvB;IACF;EACF,CAAC;AACH,CAAC;AAAAmB,OAAA,CAAA3B,WAAA,GAAAA,WAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SelectedLayout","exports","KeyboardUnitsGroupType"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/types.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["SelectedLayout","exports","KeyboardUnitsGroupType"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/types.ts"],"mappings":";;;;;;IAGYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAAA,IAKdE,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { COLORS, RulerIcon } from '@magmamath/react-native-ui';
|
|
4
4
|
import { UNITS_KEYBOARD_GROUPS } from "./keyboardGroups.js";
|
|
5
5
|
import React from 'react';
|
|
6
|
-
import { SelectedLayout } from "./types.js";
|
|
6
|
+
import { KeyboardUnitsGroupType, SelectedLayout } from "./types.js";
|
|
7
7
|
import { AlgebraIcon } from "../../../../shared/icons/AlgebraIcon.js";
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
export const getSelectOptions = ({
|
|
@@ -37,4 +37,5 @@ export const getSelectOptions = ({
|
|
|
37
37
|
}];
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
+
export const isKeyboardUnitsGroupType = k => Object.values(KeyboardUnitsGroupType).includes(k);
|
|
40
41
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["COLORS","RulerIcon","UNITS_KEYBOARD_GROUPS","React","SelectedLayout","AlgebraIcon","jsx","_jsx","getSelectOptions","activeTabKey","selectedLayout","setSelectedLayout","onLayoutChange","SelectedIcon","get","icon","key","ALGEBRA","title","color","NEUTRAL_1","NEUTRAL_9","size","onPressIn","UNITS"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/helpers.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,4BAA4B;AAC9D,SAASC,qBAAqB,QAAQ,qBAAkB;AACxD,OAAOC,KAAK,MAAM,OAAO;AACzB,
|
|
1
|
+
{"version":3,"names":["COLORS","RulerIcon","UNITS_KEYBOARD_GROUPS","React","KeyboardUnitsGroupType","SelectedLayout","AlgebraIcon","jsx","_jsx","getSelectOptions","activeTabKey","selectedLayout","setSelectedLayout","onLayoutChange","SelectedIcon","get","icon","key","ALGEBRA","title","color","NEUTRAL_1","NEUTRAL_9","size","onPressIn","UNITS","isKeyboardUnitsGroupType","k","Object","values","includes"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/helpers.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,4BAA4B;AAC9D,SAASC,qBAAqB,QAAQ,qBAAkB;AACxD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,sBAAsB,EAAEC,cAAc,QAAQ,YAAS;AAChE,SAASC,WAAW,QAAQ,yCAAsC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AASlE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,YAAY;EACZC,cAAc;EACdC,iBAAiB;EACjBC;AAC2B,CAAC,KAAK;EACjC;IACE,MAAMC,YAAY,GAAGZ,qBAAqB,CAACa,GAAG,CAACL,YAAY,CAAC,EAAEM,IAAI,IAAIf,SAAS;IAE/E,OAAO,CACL;MACEgB,GAAG,EAAEZ,cAAc,CAACa,OAAO;MAC3BC,KAAK,eACHX,IAAA,CAACF,WAAW;QACVc,KAAK,EAAET,cAAc,KAAKN,cAAc,CAACa,OAAO,GAAGlB,MAAM,CAACqB,SAAS,GAAGrB,MAAM,CAACsB,SAAU;QACvFC,IAAI,EAAE;MAAG,CACV,CACF;MACDC,SAAS,EAAEA,CAAA,KAAM;QACfZ,iBAAiB,CAACP,cAAc,CAACa,OAAO,CAAC;QACzCL,cAAc,GAAG,KAAK,CAAC;MACzB;IACF,CAAC,EACD;MACEI,GAAG,EAAEZ,cAAc,CAACoB,KAAK;MACzBN,KAAK,eACHX,IAAA,CAACM,YAAY;QACXM,KAAK,EAAET,cAAc,KAAKN,cAAc,CAACoB,KAAK,GAAGzB,MAAM,CAACqB,SAAS,GAAGrB,MAAM,CAACsB,SAAU;QACrFC,IAAI,EAAE;MAAG,CACV,CACF;MACDC,SAAS,EAAEA,CAAA,KAAM;QACfZ,iBAAiB,CAACP,cAAc,CAACoB,KAAK,CAAC;QACvCZ,cAAc,GAAG,IAAI,CAAC;MACxB;IACF,CAAC,CACF;EACH;AACF,CAAC;AAED,OAAO,MAAMa,wBAAwB,GAAIC,CAAS,IAC/CC,MAAM,CAACC,MAAM,CAACzB,sBAAsB,CAAC,CAAc0B,QAAQ,CAACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useText } from "../../../../../shared/translation/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { useMemo, useState } from 'react';
|
|
5
5
|
import { KeyboardUnitsGroupType } from "../types.js";
|
|
6
6
|
import { useWindowDimensions } from 'react-native';
|
|
7
|
+
import { isKeyboardUnitsGroupType } from "../helpers.js";
|
|
7
8
|
export const useUnitTabs = () => {
|
|
8
9
|
const t = useText();
|
|
9
10
|
const {
|
|
@@ -11,8 +12,7 @@ export const useUnitTabs = () => {
|
|
|
11
12
|
} = useWindowDimensions();
|
|
12
13
|
const allTabs = useMemo(() => [{
|
|
13
14
|
title: t('keyboard.length'),
|
|
14
|
-
key: KeyboardUnitsGroupType.LENGTH
|
|
15
|
-
minWidth: 1005
|
|
15
|
+
key: KeyboardUnitsGroupType.LENGTH
|
|
16
16
|
}, {
|
|
17
17
|
title: t('keyboard.area'),
|
|
18
18
|
key: KeyboardUnitsGroupType.AREA,
|
|
@@ -20,7 +20,7 @@ export const useUnitTabs = () => {
|
|
|
20
20
|
}, {
|
|
21
21
|
title: t('keyboard.volume'),
|
|
22
22
|
key: KeyboardUnitsGroupType.VOLUME,
|
|
23
|
-
minWidth:
|
|
23
|
+
minWidth: 1060
|
|
24
24
|
}, {
|
|
25
25
|
title: t('keyboard.weight'),
|
|
26
26
|
key: KeyboardUnitsGroupType.WEIGHT,
|
|
@@ -30,17 +30,19 @@ export const useUnitTabs = () => {
|
|
|
30
30
|
key: KeyboardUnitsGroupType.TIME,
|
|
31
31
|
minWidth: 1125
|
|
32
32
|
}], [t]);
|
|
33
|
-
const tabs = useMemo(() => allTabs.filter(tab => width >= tab.minWidth), [allTabs, width]);
|
|
34
|
-
const [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (!stillVisible) setActiveTab(tabs[0]);
|
|
39
|
-
}, [tabs, activeTab?.key]);
|
|
33
|
+
const tabs = useMemo(() => allTabs.filter(tab => tab.minWidth === undefined || width >= tab.minWidth), [allTabs, width]);
|
|
34
|
+
const [activeKey, setActiveKey] = useState(() => tabs[0]?.key);
|
|
35
|
+
const activeTab = useMemo(() => {
|
|
36
|
+
return tabs.find(t => t?.key && t.key === activeKey) ?? tabs[0];
|
|
37
|
+
}, [tabs, activeKey]);
|
|
40
38
|
return {
|
|
41
39
|
tabs,
|
|
42
40
|
activeTab,
|
|
43
|
-
setActiveTab
|
|
41
|
+
setActiveTab: tab => {
|
|
42
|
+
if (isKeyboardUnitsGroupType(tab.key)) {
|
|
43
|
+
setActiveKey(tab.key);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
44
46
|
};
|
|
45
47
|
};
|
|
46
48
|
//# sourceMappingURL=useUnitTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useText","
|
|
1
|
+
{"version":3,"names":["useText","useMemo","useState","KeyboardUnitsGroupType","useWindowDimensions","isKeyboardUnitsGroupType","useUnitTabs","t","width","allTabs","title","key","LENGTH","AREA","minWidth","VOLUME","WEIGHT","TIME","tabs","filter","tab","undefined","activeKey","setActiveKey","activeTab","find","setActiveTab"],"sourceRoot":"../../../../../../../src","sources":["features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,4CAAmC;AAC3D,SAASC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACzC,SAASC,sBAAsB,QAAiB,aAAU;AAC1D,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,wBAAwB,QAAQ,eAAY;AAErD,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAMC,CAAC,GAAGP,OAAO,CAAC,CAAC;EACnB,MAAM;IAAEQ;EAAM,CAAC,GAAGJ,mBAAmB,CAAC,CAAC;EAEvC,MAAMK,OAAO,GAAGR,OAAO,CACrB,MAAM,CACJ;IAAES,KAAK,EAAEH,CAAC,CAAC,iBAAiB,CAAC;IAAEI,GAAG,EAAER,sBAAsB,CAACS;EAAO,CAAC,EACnE;IAAEF,KAAK,EAAEH,CAAC,CAAC,eAAe,CAAC;IAAEI,GAAG,EAAER,sBAAsB,CAACU,IAAI;IAAEC,QAAQ,EAAE;EAAK,CAAC,EAC/E;IAAEJ,KAAK,EAAEH,CAAC,CAAC,iBAAiB,CAAC;IAAEI,GAAG,EAAER,sBAAsB,CAACY,MAAM;IAAED,QAAQ,EAAE;EAAK,CAAC,EACnF;IAAEJ,KAAK,EAAEH,CAAC,CAAC,iBAAiB,CAAC;IAAEI,GAAG,EAAER,sBAAsB,CAACa,MAAM;IAAEF,QAAQ,EAAE;EAAK,CAAC,EACnF;IAAEJ,KAAK,EAAEH,CAAC,CAAC,eAAe,CAAC;IAAEI,GAAG,EAAER,sBAAsB,CAACc,IAAI;IAAEH,QAAQ,EAAE;EAAK,CAAC,CAChF,EACD,CAACP,CAAC,CACJ,CAAC;EAED,MAAMW,IAAI,GAAGjB,OAAO,CAClB,MAAMQ,OAAO,CAACU,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAACN,QAAQ,KAAKO,SAAS,IAAIb,KAAK,IAAIY,GAAG,CAACN,QAAQ,CAAC,EAClF,CAACL,OAAO,EAAED,KAAK,CACjB,CAAC;EAED,MAAM,CAACc,SAAS,EAAEC,YAAY,CAAC,GAAGrB,QAAQ,CAAqC,MAAMgB,IAAI,CAAC,CAAC,CAAC,EAAEP,GAAG,CAAC;EAElG,MAAMa,SAAS,GAAGvB,OAAO,CAAC,MAAM;IAC9B,OAAOiB,IAAI,CAACO,IAAI,CAAElB,CAAC,IAAKA,CAAC,EAAEI,GAAG,IAAIJ,CAAC,CAACI,GAAG,KAAKW,SAAS,CAAC,IAAIJ,IAAI,CAAC,CAAC,CAAC;EACnE,CAAC,EAAE,CAACA,IAAI,EAAEI,SAAS,CAAC,CAAC;EAErB,OAAO;IACLJ,IAAI;IACJM,SAAS;IACTE,YAAY,EAAGN,GAAmB,IAAK;MACrC,IAAIf,wBAAwB,CAACe,GAAG,CAACT,GAAG,CAAC,EAAE;QACrCY,YAAY,CAACH,GAAG,CAACT,GAAG,CAAC;MACvB;IACF;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SelectedLayout","KeyboardUnitsGroupType"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/types.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["SelectedLayout","KeyboardUnitsGroupType"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/types.ts"],"mappings":";;AAGA,WAAYA,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAK1B,WAAYC,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA","ignoreList":[]}
|
|
@@ -11,5 +11,6 @@ export declare const getSelectOptions: ({ activeTabKey, selectedLayout, setSelec
|
|
|
11
11
|
title: React.JSX.Element;
|
|
12
12
|
onPressIn: () => void;
|
|
13
13
|
}[];
|
|
14
|
+
export declare const isKeyboardUnitsGroupType: (k: string) => k is KeyboardUnitsGroupType;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/helpers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGhE,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,sBAAsB,CAAA;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IACnD,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,eAAO,MAAM,gBAAgB,yEAK1B,2BAA2B;;;;GAiC7B,CAAA"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/helpers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGhE,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,sBAAsB,CAAA;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IACnD,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,eAAO,MAAM,gBAAgB,yEAK1B,2BAA2B;;;;GAiC7B,CAAA;AAED,eAAO,MAAM,wBAAwB,MAAO,MAAM,KAAG,CAAC,IAAI,sBACO,CAAA"}
|
package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
+
import { UnitTab } from '../types';
|
|
1
2
|
import { TabOptionProps } from '@magmamath/react-native-ui';
|
|
2
|
-
type UnitTab = TabOptionProps & {
|
|
3
|
-
minWidth: number;
|
|
4
|
-
};
|
|
5
3
|
export declare const useUnitTabs: () => {
|
|
6
4
|
tabs: UnitTab[];
|
|
7
|
-
activeTab:
|
|
8
|
-
setActiveTab:
|
|
5
|
+
activeTab: UnitTab;
|
|
6
|
+
setActiveTab: (tab: TabOptionProps) => void;
|
|
9
7
|
};
|
|
10
|
-
export {};
|
|
11
8
|
//# sourceMappingURL=useUnitTabs.d.ts.map
|
package/dist/typescript/commonjs/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnitTabs.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"useUnitTabs.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,eAAO,MAAM,WAAW;;;wBA6BA,cAAc;CAMrC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { KeyboardGroup, KeyboardKey } from '@magmamath/students-features';
|
|
2
|
+
import { TabOptionProps } from '@magmamath/react-native-ui';
|
|
2
3
|
export declare enum SelectedLayout {
|
|
3
4
|
ALGEBRA = "algebra",
|
|
4
5
|
UNITS = "units"
|
|
@@ -13,4 +14,8 @@ export declare enum KeyboardUnitsGroupType {
|
|
|
13
14
|
export type UnitKeyboardGroups = {
|
|
14
15
|
keys: KeyboardKey[][];
|
|
15
16
|
} & Omit<KeyboardGroup, 'keys'>;
|
|
17
|
+
export type UnitTab = Omit<TabOptionProps, 'key'> & {
|
|
18
|
+
key: KeyboardUnitsGroupType;
|
|
19
|
+
minWidth?: number;
|
|
20
|
+
};
|
|
16
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,WAAW,EAAE,EAAE,CAAA;CACtB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAE/B,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG;IAClD,GAAG,EAAE,sBAAsB,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
|
@@ -11,5 +11,6 @@ export declare const getSelectOptions: ({ activeTabKey, selectedLayout, setSelec
|
|
|
11
11
|
title: React.JSX.Element;
|
|
12
12
|
onPressIn: () => void;
|
|
13
13
|
}[];
|
|
14
|
+
export declare const isKeyboardUnitsGroupType: (k: string) => k is KeyboardUnitsGroupType;
|
|
14
15
|
export {};
|
|
15
16
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/helpers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGhE,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,sBAAsB,CAAA;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IACnD,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,eAAO,MAAM,gBAAgB,yEAK1B,2BAA2B;;;;GAiC7B,CAAA"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/helpers.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGhE,KAAK,2BAA2B,GAAG;IACjC,YAAY,EAAE,sBAAsB,CAAA;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;IACnD,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,eAAO,MAAM,gBAAgB,yEAK1B,2BAA2B;;;;GAiC7B,CAAA;AAED,eAAO,MAAM,wBAAwB,MAAO,MAAM,KAAG,CAAC,IAAI,sBACO,CAAA"}
|
package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
+
import { UnitTab } from '../types';
|
|
1
2
|
import { TabOptionProps } from '@magmamath/react-native-ui';
|
|
2
|
-
type UnitTab = TabOptionProps & {
|
|
3
|
-
minWidth: number;
|
|
4
|
-
};
|
|
5
3
|
export declare const useUnitTabs: () => {
|
|
6
4
|
tabs: UnitTab[];
|
|
7
|
-
activeTab:
|
|
8
|
-
setActiveTab:
|
|
5
|
+
activeTab: UnitTab;
|
|
6
|
+
setActiveTab: (tab: TabOptionProps) => void;
|
|
9
7
|
};
|
|
10
|
-
export {};
|
|
11
8
|
//# sourceMappingURL=useUnitTabs.d.ts.map
|
package/dist/typescript/module/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnitTabs.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"useUnitTabs.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/keyboard/components/UnitsLayout/hooks/useUnitTabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,eAAO,MAAM,WAAW;;;wBA6BA,cAAc;CAMrC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { KeyboardGroup, KeyboardKey } from '@magmamath/students-features';
|
|
2
|
+
import { TabOptionProps } from '@magmamath/react-native-ui';
|
|
2
3
|
export declare enum SelectedLayout {
|
|
3
4
|
ALGEBRA = "algebra",
|
|
4
5
|
UNITS = "units"
|
|
@@ -13,4 +14,8 @@ export declare enum KeyboardUnitsGroupType {
|
|
|
13
14
|
export type UnitKeyboardGroups = {
|
|
14
15
|
keys: KeyboardKey[][];
|
|
15
16
|
} & Omit<KeyboardGroup, 'keys'>;
|
|
17
|
+
export type UnitTab = Omit<TabOptionProps, 'key'> & {
|
|
18
|
+
key: KeyboardUnitsGroupType;
|
|
19
|
+
minWidth?: number;
|
|
20
|
+
};
|
|
16
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/keyboard/components/UnitsLayout/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAE3D,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,WAAW,EAAE,EAAE,CAAA;CACtB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAE/B,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG;IAClD,GAAG,EAAE,sBAAsB,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { useText } from '../../../../../shared/translation'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { KeyboardUnitsGroupType } from '../types'
|
|
2
|
+
import { useMemo, useState } from 'react'
|
|
3
|
+
import { KeyboardUnitsGroupType, UnitTab } from '../types'
|
|
5
4
|
import { useWindowDimensions } from 'react-native'
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
minWidth: number
|
|
9
|
-
}
|
|
5
|
+
import { TabOptionProps } from '@magmamath/react-native-ui'
|
|
6
|
+
import { isKeyboardUnitsGroupType } from '../helpers'
|
|
10
7
|
|
|
11
8
|
export const useUnitTabs = () => {
|
|
12
9
|
const t = useText()
|
|
@@ -14,44 +11,33 @@ export const useUnitTabs = () => {
|
|
|
14
11
|
|
|
15
12
|
const allTabs = useMemo<UnitTab[]>(
|
|
16
13
|
() => [
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
title: t('keyboard.area'),
|
|
24
|
-
key: KeyboardUnitsGroupType.AREA,
|
|
25
|
-
minWidth: 1005,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
title: t('keyboard.volume'),
|
|
29
|
-
key: KeyboardUnitsGroupType.VOLUME,
|
|
30
|
-
minWidth: 1005,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
title: t('keyboard.weight'),
|
|
34
|
-
key: KeyboardUnitsGroupType.WEIGHT,
|
|
35
|
-
minWidth: 1060,
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
title: t('keyboard.time'),
|
|
39
|
-
key: KeyboardUnitsGroupType.TIME,
|
|
40
|
-
minWidth: 1125,
|
|
41
|
-
},
|
|
14
|
+
{ title: t('keyboard.length'), key: KeyboardUnitsGroupType.LENGTH },
|
|
15
|
+
{ title: t('keyboard.area'), key: KeyboardUnitsGroupType.AREA, minWidth: 1005 },
|
|
16
|
+
{ title: t('keyboard.volume'), key: KeyboardUnitsGroupType.VOLUME, minWidth: 1060 },
|
|
17
|
+
{ title: t('keyboard.weight'), key: KeyboardUnitsGroupType.WEIGHT, minWidth: 1060 },
|
|
18
|
+
{ title: t('keyboard.time'), key: KeyboardUnitsGroupType.TIME, minWidth: 1125 },
|
|
42
19
|
],
|
|
43
20
|
[t],
|
|
44
21
|
)
|
|
45
22
|
|
|
46
|
-
const tabs = useMemo(
|
|
23
|
+
const tabs = useMemo(
|
|
24
|
+
() => allTabs.filter((tab) => tab.minWidth === undefined || width >= tab.minWidth),
|
|
25
|
+
[allTabs, width],
|
|
26
|
+
)
|
|
47
27
|
|
|
48
|
-
const [
|
|
28
|
+
const [activeKey, setActiveKey] = useState<KeyboardUnitsGroupType | undefined>(() => tabs[0]?.key)
|
|
49
29
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (!stillVisible) setActiveTab(tabs[0])
|
|
54
|
-
}, [tabs, activeTab?.key])
|
|
30
|
+
const activeTab = useMemo(() => {
|
|
31
|
+
return tabs.find((t) => t?.key && t.key === activeKey) ?? tabs[0]
|
|
32
|
+
}, [tabs, activeKey])
|
|
55
33
|
|
|
56
|
-
return {
|
|
34
|
+
return {
|
|
35
|
+
tabs,
|
|
36
|
+
activeTab,
|
|
37
|
+
setActiveTab: (tab: TabOptionProps) => {
|
|
38
|
+
if (isKeyboardUnitsGroupType(tab.key)) {
|
|
39
|
+
setActiveKey(tab.key)
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
}
|
|
57
43
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { KeyboardGroup, KeyboardKey } from '@magmamath/students-features'
|
|
2
|
+
import { TabOptionProps } from '@magmamath/react-native-ui'
|
|
2
3
|
|
|
3
4
|
export enum SelectedLayout {
|
|
4
5
|
ALGEBRA = 'algebra',
|
|
@@ -16,3 +17,8 @@ export enum KeyboardUnitsGroupType {
|
|
|
16
17
|
export type UnitKeyboardGroups = {
|
|
17
18
|
keys: KeyboardKey[][]
|
|
18
19
|
} & Omit<KeyboardGroup, 'keys'>
|
|
20
|
+
|
|
21
|
+
export type UnitTab = Omit<TabOptionProps, 'key'> & {
|
|
22
|
+
key: KeyboardUnitsGroupType
|
|
23
|
+
minWidth?: number
|
|
24
|
+
}
|