@dgui/react-shared 1.8.0 → 1.8.1-next.1

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.
@@ -3,8 +3,20 @@ import { DrawerContext, drawerDefaults } from '../Contexts';
3
3
  import { useCallback, useMemo, useState } from 'react';
4
4
  const DrawerProvider = ({ children }) => {
5
5
  const [drawers, setDrawers] = useState(drawerDefaults.drawers);
6
+ const [drawerIndexes, setDrawerIndexes] = useState({});
6
7
  const [drawerOrder, setDrawerOrder] = useState(drawerDefaults.drawerOrder);
7
- const addDrawer = useCallback((drawer, position) => {
8
+ const resetDrawerOrder = useCallback((updatedDrawerIndexes) => {
9
+ setDrawerOrder(() => {
10
+ const ids = Object.keys(updatedDrawerIndexes);
11
+ ids.sort((drawer1, drawer2) => {
12
+ return updatedDrawerIndexes[drawer1] > updatedDrawerIndexes[drawer2] ?
13
+ 1 :
14
+ -1;
15
+ });
16
+ return ids;
17
+ });
18
+ }, []);
19
+ const addDrawer = useCallback((drawer) => {
8
20
  const { drawerId, tabId, ...restOfDrawer } = drawer;
9
21
  setDrawers((previousDrawers) => {
10
22
  const existingDrawer = previousDrawers[drawerId];
@@ -47,21 +59,26 @@ const DrawerProvider = ({ children }) => {
47
59
  };
48
60
  }
49
61
  });
50
- setDrawerOrder((previousDrawerOrder) => {
51
- if (previousDrawerOrder.includes(drawerId)) {
52
- return previousDrawerOrder;
62
+ setDrawerIndexes((previousDrawerIndexes) => {
63
+ if (previousDrawerIndexes[drawerId] !== undefined) {
64
+ return previousDrawerIndexes;
53
65
  }
54
- else if (Number.isSafeInteger(position) &&
55
- Number(position) > 0) {
56
- return [
57
- ...previousDrawerOrder
58
- ].splice(Number(position), 0, drawerId);
66
+ else if (Number.isSafeInteger(drawer.position) &&
67
+ Number(drawer.position) > 0) {
68
+ const newDrawerIndexes = {
69
+ ...previousDrawerIndexes,
70
+ [drawerId]: drawer.position ?? Object.keys(previousDrawerIndexes).length
71
+ };
72
+ resetDrawerOrder(newDrawerIndexes);
73
+ return newDrawerIndexes;
59
74
  }
60
75
  else {
61
- return [
62
- ...previousDrawerOrder,
63
- drawerId
64
- ];
76
+ const newDrawerIndexes = {
77
+ ...previousDrawerIndexes,
78
+ [drawerId]: Object.keys(previousDrawerIndexes).length
79
+ };
80
+ resetDrawerOrder(newDrawerIndexes);
81
+ return newDrawerIndexes;
65
82
  }
66
83
  });
67
84
  }, []);
@@ -79,14 +96,14 @@ const DrawerProvider = ({ children }) => {
79
96
  return filteredDrawers;
80
97
  }
81
98
  });
82
- setDrawerOrder((previousDrawerOrder) => {
99
+ setDrawerIndexes((previousDrawerIndexes) => {
83
100
  if (emptyDrawer) {
84
- return previousDrawerOrder.filter((id) => {
85
- return id !== drawerId;
86
- });
101
+ const { [drawerId]: omit, ...filteredDrawerIndexes } = previousDrawerIndexes;
102
+ resetDrawerOrder(filteredDrawerIndexes);
103
+ return filteredDrawerIndexes;
87
104
  }
88
105
  else {
89
- return previousDrawerOrder;
106
+ return previousDrawerIndexes;
90
107
  }
91
108
  });
92
109
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerProvider.js","sourceRoot":"","sources":["../../../src/Providers/DrawerProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawerProvider.js","sourceRoot":"","sources":["../../../src/Providers/DrawerProvider.tsx"],"names":[],"mappings":"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"}
@@ -4,8 +4,20 @@ import { useCallback, useContext, useMemo, useState } from 'react';
4
4
  const TabProvider = ({ children }) => {
5
5
  const { selectTab, tabIndex } = useContext(TabIndexContext);
6
6
  const [tabs, setTabs] = useState(tabDefaults.tabs);
7
+ const [tabIndexes, setTabIndexes] = useState({});
7
8
  const [tabOrder, setTabOrder] = useState(tabDefaults.tabOrder);
8
- const addTab = useCallback((tab, goto, position) => {
9
+ const resetTabOrder = useCallback((updatedTabIndexes) => {
10
+ setTabOrder(() => {
11
+ const ids = Object.keys(updatedTabIndexes);
12
+ ids.sort((drawer1, drawer2) => {
13
+ return (updatedTabIndexes[drawer1] ?? 0) > (updatedTabIndexes[drawer2] ?? 0) ?
14
+ 1 :
15
+ -1;
16
+ });
17
+ return ids;
18
+ });
19
+ }, []);
20
+ const addTab = useCallback((tab, goto) => {
9
21
  const { tabId } = tab;
10
22
  setTabs((previousTabs) => {
11
23
  return {
@@ -13,28 +25,34 @@ const TabProvider = ({ children }) => {
13
25
  [tabId]: tab
14
26
  };
15
27
  });
16
- const index = Number.isSafeInteger(position) && Number(position);
17
28
  let goToIndex = null;
18
- setTabOrder((previousTabOrder) => {
19
- if (index &&
20
- index > 0) {
21
- const newTabOrder = [
22
- ...previousTabOrder
23
- ].splice(index, 0, tabId);
29
+ setTabIndexes((previousTabIndexes) => {
30
+ const index = Number.isSafeInteger(tab.position) && Number(tab.position);
31
+ if (previousTabIndexes[tabId] !== undefined) {
32
+ return previousTabIndexes;
33
+ }
34
+ else if (index) {
35
+ const newDrawerIndexes = {
36
+ ...previousTabIndexes,
37
+ [tabId]: index ?? Object.keys(previousTabIndexes).length
38
+ };
39
+ resetTabOrder(newDrawerIndexes);
24
40
  if (goto) {
25
41
  goToIndex = index;
26
42
  }
27
- return newTabOrder;
43
+ return newDrawerIndexes;
28
44
  }
29
45
  else {
30
- const newTabOrder = [
31
- ...previousTabOrder,
32
- tabId
33
- ];
46
+ const length = Object.keys(previousTabIndexes).length;
47
+ const newDrawerIndexes = {
48
+ ...previousTabIndexes,
49
+ [tabId]: length
50
+ };
51
+ resetTabOrder(newDrawerIndexes);
34
52
  if (goto) {
35
- goToIndex = newTabOrder.length - 1;
53
+ goToIndex = length;
36
54
  }
37
- return newTabOrder;
55
+ return newDrawerIndexes;
38
56
  }
39
57
  });
40
58
  if (goToIndex) {
@@ -62,12 +80,15 @@ const TabProvider = ({ children }) => {
62
80
  }, []);
63
81
  const removeTab = useCallback((tabId) => {
64
82
  let newTabOrderLength = null;
65
- setTabOrder((previousTabOrder) => {
66
- const newTabOrder = previousTabOrder.filter((id) => {
67
- return id !== tabId;
68
- });
69
- newTabOrderLength = newTabOrder.length;
70
- return newTabOrder;
83
+ setTabIndexes((previousTabIndexes) => {
84
+ const { [tabId]: omit, ...filteredTabIndexes } = previousTabIndexes;
85
+ const previousLength = Object.keys(previousTabIndexes).length;
86
+ const newLength = Object.keys(filteredTabIndexes).length;
87
+ newTabOrderLength = previousLength === newLength ?
88
+ null :
89
+ newLength;
90
+ resetTabOrder(filteredTabIndexes);
91
+ return filteredTabIndexes;
71
92
  });
72
93
  if (newTabOrderLength !== null) {
73
94
  selectTab((currentTabIndex) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TabProvider.js","sourceRoot":"","sources":["../../../src/Providers/TabProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabProvider.js","sourceRoot":"","sources":["../../../src/Providers/TabProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,eAAe,EAChB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAGL,WAAW,EACX,UAAU,EACV,OAAO,EACP,QAAQ,EACT,MAAM,OAAO,CAAC;AAMf,MAAM,WAAW,GAAwC,CAAC,EACxD,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,EACJ,SAAS,EACT,QAAQ,EACT,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEhC,MAAM,CACJ,IAAI,EACJ,OAAO,CACR,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,CAIJ,UAAU,EACV,aAAa,CACd,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IAE7B,MAAM,CACJ,QAAQ,EACR,WAAW,CACZ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,WAAW,CAC/B,CACE,iBAA6B,EAC7B,EAAE;QACF,WAAW,CACT,GAAG,EAAE;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE3C,GAAG,CAAC,IAAI,CACN,CACE,OAAO,EACP,OAAO,EACP,EAAE;gBACF,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5E,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,CAAC;YACP,CAAC,CACF,CAAC;YAEF,OAAO,GAAG,CAAC;QACb,CAAC,CACF,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,CACE,GAAwB,EACxB,IAAc,EACd,EAAE;QACF,MAAM,EACJ,KAAK,EACN,GAAG,GAAG,CAAC;QAER,OAAO,CACL,CAAC,YAAY,EAAE,EAAE;YACf,OAAO;gBACL,GAAG,YAAY;gBACf,CAAC,KAAK,CAAC,EAAE,GAAG;aACb,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,aAAa,CACX,CAAC,kBAAkB,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEzE,IACE,kBAAkB,CAAC,KAAK,CAAC,KAAK,SAAS,EACvC,CAAC;gBACD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;iBAAM,IACL,KAAK,EACL,CAAC;gBACD,MAAM,gBAAgB,GAAG;oBACvB,GAAG,kBAAkB;oBACrB,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM;iBACzD,CAAC;gBAEF,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAEhC,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;gBAED,OAAO,gBAAgB,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;gBAEtD,MAAM,gBAAgB,GAAG;oBACvB,GAAG,kBAAkB;oBACrB,CAAC,KAAK,CAAC,EAAE,MAAM;iBAChB,CAAC;gBAEF,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBAEhC,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,GAAG,MAAM,CAAC;gBACrB,CAAC;gBAED,OAAO,gBAAgB,CAAC;YAC1B,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EACD;QACE,SAAS;KACV,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CACE,EACE,KAAK,EACL,GAAG,aAAa,EACI,EACtB,EAAE;QACF,OAAO,CACL,CAAC,YAAY,EAAE,EAAE;YACf,IACE,YAAY,CAAC,KAAK,CAAC,EACnB,CAAC;gBACD,MAAM,WAAW,GAAG;oBAClB,GAAG,YAAY;oBACf,CAAC,KAAK,CAAC,EAAE;wBACP,GAAG,YAAY,CAAC,KAAK,CAAC;wBACtB,GAAG,aAAa;qBACjB;iBACF,CAAC;gBAEF,OAAO,WAAW,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CACE,KAAa,EACb,EAAE;QACF,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAE5C,aAAa,CACX,CAAC,kBAAkB,EAAE,EAAE;YACrB,MAAM,EAEJ,CAAC,KAAK,CAAC,EAAE,IAAI,EACb,GAAG,kBAAkB,EACtB,GAAG,kBAAkB,CAAC;YAEvB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC;YAEzD,iBAAiB,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC;gBACN,SAAS,CAAC;YAEZ,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAElC,OAAO,kBAAkB,CAAC;QAC5B,CAAC,CACF,CAAC;QAEF,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,SAAS,CACP,CAAC,eAAe,EAAE,EAAE;gBAClB,IACE,iBAAiB,KAAK,eAAe,EACrC,CAAC;oBACD,OAAO,eAAe,GAAG,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,OAAO,eAAe,CAAC;gBACzB,CAAC;YACH,CAAC,CACF,CAAC;YAEF,OAAO,CACL,CAAC,YAAY,EAAE,EAAE;gBACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,EAEJ,CAAC,KAAK,CAAC,EAAE,IAAI,EACb,GAAG,YAAY,EAChB,GAAG,YAAY,CAAC;oBAEjB,OAAO,YAAY,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,OAAO,YAAY,CAAC;gBACtB,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,SAAS;KACV,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACf,CAAC,EACD;QACE,QAAQ;QACR,QAAQ;QACR,IAAI;KACL,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO;YACL,MAAM;YACN,SAAS;YACT,aAAa;YACb,QAAQ;YACR,IAAI;YACJ,SAAS;SACV,CAAC;IACJ,CAAC,EACD;QACE,MAAM;QACN,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,SAAS;KACV,CACF,CAAC;IAEF,OAAO,CACL,KAAC,UAAU,CAAC,QAAQ,IAClB,KAAK,EAAE,KAAK,YAEX,QAAQ,GACW,CACvB,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,eAAe,WAAW,CAAC"}
@@ -3,8 +3,20 @@ import { DrawerContext, drawerDefaults } from '../Contexts';
3
3
  import { useCallback, useMemo, useState } from 'react';
4
4
  const DrawerProvider = ({ children }) => {
5
5
  const [drawers, setDrawers] = useState(drawerDefaults.drawers);
6
+ const [drawerIndexes, setDrawerIndexes] = useState({});
6
7
  const [drawerOrder, setDrawerOrder] = useState(drawerDefaults.drawerOrder);
7
- const addDrawer = useCallback((drawer, position) => {
8
+ const resetDrawerOrder = useCallback((updatedDrawerIndexes) => {
9
+ setDrawerOrder(() => {
10
+ const ids = Object.keys(updatedDrawerIndexes);
11
+ ids.sort((drawer1, drawer2) => {
12
+ return updatedDrawerIndexes[drawer1] > updatedDrawerIndexes[drawer2] ?
13
+ 1 :
14
+ -1;
15
+ });
16
+ return ids;
17
+ });
18
+ }, []);
19
+ const addDrawer = useCallback((drawer) => {
8
20
  const { drawerId, tabId, ...restOfDrawer } = drawer;
9
21
  setDrawers((previousDrawers) => {
10
22
  const existingDrawer = previousDrawers[drawerId];
@@ -47,21 +59,26 @@ const DrawerProvider = ({ children }) => {
47
59
  };
48
60
  }
49
61
  });
50
- setDrawerOrder((previousDrawerOrder) => {
51
- if (previousDrawerOrder.includes(drawerId)) {
52
- return previousDrawerOrder;
62
+ setDrawerIndexes((previousDrawerIndexes) => {
63
+ if (previousDrawerIndexes[drawerId] !== undefined) {
64
+ return previousDrawerIndexes;
53
65
  }
54
- else if (Number.isSafeInteger(position) &&
55
- Number(position) > 0) {
56
- return [
57
- ...previousDrawerOrder
58
- ].splice(Number(position), 0, drawerId);
66
+ else if (Number.isSafeInteger(drawer.position) &&
67
+ Number(drawer.position) > 0) {
68
+ const newDrawerIndexes = {
69
+ ...previousDrawerIndexes,
70
+ [drawerId]: drawer.position ?? Object.keys(previousDrawerIndexes).length
71
+ };
72
+ resetDrawerOrder(newDrawerIndexes);
73
+ return newDrawerIndexes;
59
74
  }
60
75
  else {
61
- return [
62
- ...previousDrawerOrder,
63
- drawerId
64
- ];
76
+ const newDrawerIndexes = {
77
+ ...previousDrawerIndexes,
78
+ [drawerId]: Object.keys(previousDrawerIndexes).length
79
+ };
80
+ resetDrawerOrder(newDrawerIndexes);
81
+ return newDrawerIndexes;
65
82
  }
66
83
  });
67
84
  }, []);
@@ -79,14 +96,14 @@ const DrawerProvider = ({ children }) => {
79
96
  return filteredDrawers;
80
97
  }
81
98
  });
82
- setDrawerOrder((previousDrawerOrder) => {
99
+ setDrawerIndexes((previousDrawerIndexes) => {
83
100
  if (emptyDrawer) {
84
- return previousDrawerOrder.filter((id) => {
85
- return id !== drawerId;
86
- });
101
+ const { [drawerId]: omit, ...filteredDrawerIndexes } = previousDrawerIndexes;
102
+ resetDrawerOrder(filteredDrawerIndexes);
103
+ return filteredDrawerIndexes;
87
104
  }
88
105
  else {
89
- return previousDrawerOrder;
106
+ return previousDrawerIndexes;
90
107
  }
91
108
  });
92
109
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerProvider.js","sourceRoot":"","sources":["../../../src/Providers/DrawerProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawerProvider.js","sourceRoot":"","sources":["../../../src/Providers/DrawerProvider.tsx"],"names":[],"mappings":"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"}
@@ -4,8 +4,20 @@ import { useCallback, useContext, useMemo, useState } from 'react';
4
4
  const TabProvider = ({ children }) => {
5
5
  const { selectTab, tabIndex } = useContext(TabIndexContext);
6
6
  const [tabs, setTabs] = useState(tabDefaults.tabs);
7
+ const [tabIndexes, setTabIndexes] = useState({});
7
8
  const [tabOrder, setTabOrder] = useState(tabDefaults.tabOrder);
8
- const addTab = useCallback((tab, goto, position) => {
9
+ const resetTabOrder = useCallback((updatedTabIndexes) => {
10
+ setTabOrder(() => {
11
+ const ids = Object.keys(updatedTabIndexes);
12
+ ids.sort((drawer1, drawer2) => {
13
+ return (updatedTabIndexes[drawer1] ?? 0) > (updatedTabIndexes[drawer2] ?? 0) ?
14
+ 1 :
15
+ -1;
16
+ });
17
+ return ids;
18
+ });
19
+ }, []);
20
+ const addTab = useCallback((tab, goto) => {
9
21
  const { tabId } = tab;
10
22
  setTabs((previousTabs) => {
11
23
  return {
@@ -13,28 +25,34 @@ const TabProvider = ({ children }) => {
13
25
  [tabId]: tab
14
26
  };
15
27
  });
16
- const index = Number.isSafeInteger(position) && Number(position);
17
28
  let goToIndex = null;
18
- setTabOrder((previousTabOrder) => {
19
- if (index &&
20
- index > 0) {
21
- const newTabOrder = [
22
- ...previousTabOrder
23
- ].splice(index, 0, tabId);
29
+ setTabIndexes((previousTabIndexes) => {
30
+ const index = Number.isSafeInteger(tab.position) && Number(tab.position);
31
+ if (previousTabIndexes[tabId] !== undefined) {
32
+ return previousTabIndexes;
33
+ }
34
+ else if (index) {
35
+ const newDrawerIndexes = {
36
+ ...previousTabIndexes,
37
+ [tabId]: index ?? Object.keys(previousTabIndexes).length
38
+ };
39
+ resetTabOrder(newDrawerIndexes);
24
40
  if (goto) {
25
41
  goToIndex = index;
26
42
  }
27
- return newTabOrder;
43
+ return newDrawerIndexes;
28
44
  }
29
45
  else {
30
- const newTabOrder = [
31
- ...previousTabOrder,
32
- tabId
33
- ];
46
+ const length = Object.keys(previousTabIndexes).length;
47
+ const newDrawerIndexes = {
48
+ ...previousTabIndexes,
49
+ [tabId]: length
50
+ };
51
+ resetTabOrder(newDrawerIndexes);
34
52
  if (goto) {
35
- goToIndex = newTabOrder.length - 1;
53
+ goToIndex = length;
36
54
  }
37
- return newTabOrder;
55
+ return newDrawerIndexes;
38
56
  }
39
57
  });
40
58
  if (goToIndex) {
@@ -62,12 +80,15 @@ const TabProvider = ({ children }) => {
62
80
  }, []);
63
81
  const removeTab = useCallback((tabId) => {
64
82
  let newTabOrderLength = null;
65
- setTabOrder((previousTabOrder) => {
66
- const newTabOrder = previousTabOrder.filter((id) => {
67
- return id !== tabId;
68
- });
69
- newTabOrderLength = newTabOrder.length;
70
- return newTabOrder;
83
+ setTabIndexes((previousTabIndexes) => {
84
+ const { [tabId]: omit, ...filteredTabIndexes } = previousTabIndexes;
85
+ const previousLength = Object.keys(previousTabIndexes).length;
86
+ const newLength = Object.keys(filteredTabIndexes).length;
87
+ newTabOrderLength = previousLength === newLength ?
88
+ null :
89
+ newLength;
90
+ resetTabOrder(filteredTabIndexes);
91
+ return filteredTabIndexes;
71
92
  });
72
93
  if (newTabOrderLength !== null) {
73
94
  selectTab((currentTabIndex) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TabProvider.js","sourceRoot":"","sources":["../../../src/Providers/TabProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TabProvider.js","sourceRoot":"","sources":["../../../src/Providers/TabProvider.tsx"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ export type ProvidersProps = DrawerIndexProviderProps & DrawerToggleProviderProp
51
51
  export type ReactDigestAppBarProps = PropsWithChildren<object>;
52
52
  export type ReactDigestDrawerBarProps = PropsWithChildren<object>;
53
53
  export type ReactDigestDrawerProps = Omit<DrawerType, 'tabs'> & PropsWithChildren<object> & {
54
+ readonly position?: number;
54
55
  readonly tabId?: string;
55
56
  };
56
57
  export type ReactDigestDrawersProps = {
@@ -89,6 +90,7 @@ export type TabIndexProviderProps = PropsWithChildren<{
89
90
  }>;
90
91
  export type TabType = {
91
92
  [key: string]: any;
93
+ position?: number;
92
94
  swipe?: boolean;
93
95
  tabId: string;
94
96
  title?: string;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@dgui/react-shared",
3
3
  "title": "Digested React GUI Shared Components",
4
4
  "license": "LGPL-3.0-or-later",
5
- "version": "1.8.0",
5
+ "version": "1.8.1-next.1",
6
6
  "private": false,
7
7
  "description": "Shared Components for a boilerplate React GUI",
8
8
  "author": "wallzero @wallzeroblog (http://wallzero.com)",
@@ -73,5 +73,5 @@
73
73
  "reactjs",
74
74
  "typescript"
75
75
  ],
76
- "gitHead": "95e59233ca83f31132d06237305b05e188666974"
76
+ "gitHead": "ddf08bd013b53316636216630b00acf94acf2ab8"
77
77
  }