@dgui/react-router-shared 1.7.6 → 1.8.0-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.
Files changed (56) hide show
  1. package/dist/cjs/Components/E404/index.js +47 -0
  2. package/dist/cjs/Components/E404/index.js.map +1 -0
  3. package/dist/{Components → cjs/Components}/Tab/BackControl.js +10 -12
  4. package/dist/cjs/Components/Tab/BackControl.js.map +1 -0
  5. package/dist/cjs/Components/Tab/RouteControl.js +53 -0
  6. package/dist/cjs/Components/Tab/RouteControl.js.map +1 -0
  7. package/dist/cjs/Components/Tab/TabRoute.js +7 -0
  8. package/dist/cjs/Components/Tab/TabRoute.js.map +1 -0
  9. package/dist/cjs/Components/Tab/index.js +4 -0
  10. package/dist/cjs/Components/Tab/index.js.map +1 -0
  11. package/dist/cjs/DigestRoute.js +8 -0
  12. package/dist/cjs/DigestRoute.js.map +1 -0
  13. package/dist/cjs/Types.js +2 -0
  14. package/dist/cjs/Types.js.map +1 -0
  15. package/dist/cjs/index.js +4 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/esm/Components/E404/index.js +47 -0
  18. package/dist/esm/Components/E404/index.js.map +1 -0
  19. package/dist/esm/Components/Tab/BackControl.js +36 -0
  20. package/dist/esm/Components/Tab/BackControl.js.map +1 -0
  21. package/dist/esm/Components/Tab/RouteControl.js +53 -0
  22. package/dist/esm/Components/Tab/RouteControl.js.map +1 -0
  23. package/dist/esm/Components/Tab/TabRoute.js +7 -0
  24. package/dist/esm/Components/Tab/TabRoute.js.map +1 -0
  25. package/dist/esm/Components/Tab/index.js +4 -0
  26. package/dist/esm/Components/Tab/index.js.map +1 -0
  27. package/dist/esm/DigestRoute.js +8 -0
  28. package/dist/esm/DigestRoute.js.map +1 -0
  29. package/dist/esm/Types.js +2 -0
  30. package/dist/esm/Types.js.map +1 -0
  31. package/dist/esm/index.js +4 -0
  32. package/dist/esm/index.js.map +1 -0
  33. package/package.json +13 -10
  34. package/dist/Components/E404/index.js +0 -41
  35. package/dist/Components/E404/index.js.map +0 -1
  36. package/dist/Components/Tab/BackControl.js.map +0 -1
  37. package/dist/Components/Tab/RouteControl.js +0 -48
  38. package/dist/Components/Tab/RouteControl.js.map +0 -1
  39. package/dist/Components/Tab/TabRoute.js +0 -9
  40. package/dist/Components/Tab/TabRoute.js.map +0 -1
  41. package/dist/Components/Tab/index.js +0 -13
  42. package/dist/Components/Tab/index.js.map +0 -1
  43. package/dist/DigestRoute.js +0 -10
  44. package/dist/DigestRoute.js.map +0 -1
  45. package/dist/Types.js +0 -3
  46. package/dist/Types.js.map +0 -1
  47. package/dist/index.js +0 -26
  48. package/dist/index.js.map +0 -1
  49. /package/dist/{Components → esm/Components}/E404/index.d.ts +0 -0
  50. /package/dist/{Components → esm/Components}/Tab/BackControl.d.ts +0 -0
  51. /package/dist/{Components → esm/Components}/Tab/RouteControl.d.ts +0 -0
  52. /package/dist/{Components → esm/Components}/Tab/TabRoute.d.ts +0 -0
  53. /package/dist/{Components → esm/Components}/Tab/index.d.ts +0 -0
  54. /package/dist/{DigestRoute.d.ts → esm/DigestRoute.d.ts} +0 -0
  55. /package/dist/{Types.d.ts → esm/Types.d.ts} +0 -0
  56. /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
@@ -0,0 +1,47 @@
1
+ import { useTabOrder, useTabs } from '@dgui/react-shared';
2
+ import { useEffect, useRef } from 'react';
3
+ import { generatePath, useLocation, useNavigate } from 'react-router';
4
+ const E404 = ({ defaultTab }) => {
5
+ const hasRendered = useRef(false);
6
+ const navigate = useNavigate();
7
+ const location = useLocation();
8
+ const tabOrder = useTabOrder();
9
+ const tabs = useTabs();
10
+ useEffect(() => {
11
+ if (hasRendered.current &&
12
+ Object.keys(tabs).length !== 0 &&
13
+ !Object.values(tabs).some((tab) => {
14
+ const path = generatePath(tab['tabPath'], {
15
+ tabId: tab?.tabId
16
+ });
17
+ return `${location.pathname}/`.includes(`${path}/`);
18
+ })) {
19
+ const tabId = tabOrder[defaultTab];
20
+ const firstTabId = tabOrder[0];
21
+ const tab = tabId &&
22
+ tabs[tabId] ?
23
+ tabs[tabId] :
24
+ (firstTabId &&
25
+ tabs[firstTabId] ?
26
+ tabs[firstTabId] :
27
+ undefined);
28
+ const generatedPath = tab ?
29
+ generatePath(tab['tabPath'], {
30
+ tabId: tab?.tabId
31
+ }) :
32
+ '';
33
+ navigate('/' + generatedPath, {
34
+ relative: 'route'
35
+ });
36
+ }
37
+ }, [
38
+ tabs
39
+ ]);
40
+ useEffect(() => {
41
+ hasRendered.current = true;
42
+ }, []);
43
+ return null;
44
+ };
45
+ E404.displayName = 'E404';
46
+ export default E404;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Components/E404/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,SAAS,EACT,MAAM,EACP,MAAM,OAAO,CAAC;AACf,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,MAAM,IAAI,GAAiC,CAAC,EAC1C,UAAU,EACX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,SAAS,CACP,GAAG,EAAE;QACH,IACE,WAAW,CAAC,OAAO;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CACvB,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,IAAI,GAAG,YAAY,CACvB,GAAG,CAAC,SAAS,CAAC,EACd;oBACE,KAAK,EAAE,GAAG,EAAE,KAAK;iBAClB,CACF,CAAC;gBAEF,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACtD,CAAC,CACF,EACD,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,GAAG,GAAG,KAAK;gBACf,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEb,CACE,UAAU;oBACV,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAClB,SAAS,CACZ,CAAC;YAEJ,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC;gBACzB,YAAY,CACV,GAAG,CAAC,SAAS,CAAC,EACd;oBACE,KAAK,EAAE,GAAG,EAAE,KAAK;iBAClB,CACF,CAAC,CAAC;gBACH,EAAE,CAAC;YAEL,QAAQ,CACN,GAAG,GAAG,aAAa,EACnB;gBACE,QAAQ,EAAE,OAAO;aAClB,CACF,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,IAAI;KACL,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE1B,eAAe,IAAI,CAAC"}
@@ -1,14 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_shared_1 = require("@dgui/react-shared");
4
- const react_1 = require("react");
5
- const react_router_1 = require("react-router");
1
+ import { useSelectedTabID, useSelectTab, useTabOrder } from '@dgui/react-shared';
2
+ import { memo, useEffect } from 'react';
3
+ import { useParams } from 'react-router';
6
4
  const BackControl = ({ tabId }) => {
7
- const { tabId: routeId } = (0, react_router_1.useParams)();
8
- const selectedTabID = (0, react_shared_1.useSelectedTabID)();
9
- const tabOrder = (0, react_shared_1.useTabOrder)();
10
- const selectTab = (0, react_shared_1.useSelectTab)();
11
- (0, react_1.useEffect)(() => {
5
+ const { tabId: routeId } = useParams();
6
+ const selectedTabID = useSelectedTabID();
7
+ const tabOrder = useTabOrder();
8
+ const selectTab = useSelectTab();
9
+ useEffect(() => {
12
10
  if (tabId === selectedTabID) {
13
11
  const index = routeId ? tabOrder.indexOf(routeId) : false;
14
12
  const routeTabIndex = index === -1 ? false : index;
@@ -17,7 +15,7 @@ const BackControl = ({ tabId }) => {
17
15
  }
18
16
  }
19
17
  }, []);
20
- (0, react_1.useEffect)(() => {
18
+ useEffect(() => {
21
19
  if (tabId === selectedTabID &&
22
20
  routeId &&
23
21
  tabId !== routeId) {
@@ -34,5 +32,5 @@ const BackControl = ({ tabId }) => {
34
32
  ]);
35
33
  return null;
36
34
  };
37
- exports.default = (0, react_1.memo)(BackControl);
35
+ export default memo(BackControl);
38
36
  //# sourceMappingURL=BackControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackControl.js","sourceRoot":"","sources":["../../../../src/Components/Tab/BackControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,IAAI,EACJ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,GAAwC,CAAC,EACxD,KAAK,EACN,EAAE,EAAE;IACH,MAAM,EACJ,KAAK,EAAE,OAAO,EACf,GAAG,SAAS,EAAE,CAAC;IAEhB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,SAAS,CACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa,EACvB,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1D,MAAM,aAAa,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAEnD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa;YACvB,OAAO;YACP,KAAK,KAAK,OAAO,EACjB,CAAC;YACD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhD,IACE,aAAa,KAAK,CAAC,CAAC,EACpB,CAAC;YAEH,CAAC;iBAAM,IACL,eAAe,KAAK,aAAa,EACjC,CAAC;gBACD,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,EAED;QACE,OAAO;KACR,CACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { useTabIndex, useTabOrder, useTabs } from '@dgui/react-shared';
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import { generatePath, useLocation, useNavigate, useParams } from 'react-router';
4
+ const RouteControl = ({ tabId }) => {
5
+ const hasRendered = useRef(false);
6
+ const { tabId: routeId } = useParams();
7
+ const navigate = useNavigate();
8
+ const location = useLocation();
9
+ const tabIndex = useTabIndex();
10
+ const tabOrder = useTabOrder();
11
+ const tabs = useTabs();
12
+ const { tabId: selectedTabId, tabPath: selectedTabPath } = useMemo(() => {
13
+ const id = tabOrder[tabIndex];
14
+ return id &&
15
+ tabs[id] ?
16
+ tabs[id] :
17
+ {
18
+ tabId: undefined,
19
+ tabPath: undefined
20
+ };
21
+ }, [
22
+ tabIndex,
23
+ tabOrder,
24
+ tabs
25
+ ]);
26
+ useEffect(() => {
27
+ if (tabId === selectedTabId &&
28
+ hasRendered.current &&
29
+ routeId) {
30
+ const indexChange = tabIndex !== tabOrder.indexOf(routeId);
31
+ if (indexChange) {
32
+ const generatedPath = generatePath(selectedTabPath, {
33
+ tabId: selectedTabId
34
+ });
35
+ if (!`${location.pathname}/`.includes(`${generatedPath}/`)) {
36
+ navigate('/' + generatedPath, {
37
+ relative: 'path'
38
+ });
39
+ }
40
+ }
41
+ }
42
+ }, [
43
+ tabIndex
44
+ ]);
45
+ useEffect(() => {
46
+ setTimeout(() => {
47
+ hasRendered.current = true;
48
+ }, 100);
49
+ }, []);
50
+ return null;
51
+ };
52
+ export default RouteControl;
53
+ //# sourceMappingURL=RouteControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteControl.js","sourceRoot":"","sources":["../../../../src/Components/Tab/RouteControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,SAAS,EACT,OAAO,EACP,MAAM,EACP,MAAM,OAAO,CAAC;AACf,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,YAAY,GAAyC,CAAC,EAC1D,KAAK,EACN,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,EACJ,KAAK,EAAE,OAAO,EACf,GAAG,SAAS,EAAE,CAAC;IAEhB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,EACJ,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,EACzB,GAAG,OAAO,CACT,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,EAAE;YACP,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACV;gBACE,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB,CAAC;IACN,CAAC,EACD;QACE,QAAQ;QACR,QAAQ;QACR,IAAI;KACL,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa;YACvB,WAAW,CAAC,OAAO;YACnB,OAAO,EACP,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE3D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,YAAY,CAChC,eAAe,EACf;oBACE,KAAK,EAAE,aAAa;iBACrB,CACF,CAAC;gBAEF,IACE,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,CAAC,EACtD,CAAC;oBACD,QAAQ,CACN,GAAG,GAAG,aAAa,EACnB;wBACE,QAAQ,EAAE,MAAM;qBACjB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QAEH,UAAU,CACR,GAAG,EAAE;YACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Outlet, Route, Routes } from 'react-router';
3
+ const TabRoute = ({ children, tabPath }) => {
4
+ return (_jsxs(_Fragment, { children: [_jsx(Routes, { children: _jsx(Route, { element: children, path: tabPath }) }), _jsx(Outlet, {})] }));
5
+ };
6
+ export default TabRoute;
7
+ //# sourceMappingURL=TabRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabRoute.js","sourceRoot":"","sources":["../../../../src/Components/Tab/TabRoute.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACP,MAAM,cAAc,CAAC;AAEtB,MAAM,QAAQ,GAAqC,CAAC,EAClD,QAAQ,EACR,OAAO,EACR,EAAE,EAAE;IACH,OAAO,CACL,8BACE,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,OAAO,GACb,GACK,EACT,KAAC,MAAM,KAAG,IACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { default as BackControl } from './BackControl';
2
+ export { default as RouteControl } from './RouteControl';
3
+ export { default as TabRoute } from './TabRoute';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Components/Tab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,OAAO,IAAI,YAAY,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,IAAI,QAAQ,EAEpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Route, Routes } from 'react-router';
3
+ const DigestRoute = ({ children }) => {
4
+ return (_jsx(Routes, { children: _jsx(Route, { element: children, path: '*' }) }));
5
+ };
6
+ DigestRoute.displayName = 'DigestRoute';
7
+ export default DigestRoute;
8
+ //# sourceMappingURL=DigestRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DigestRoute.js","sourceRoot":"","sources":["../../src/DigestRoute.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,KAAK,EACL,MAAM,EACP,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,GAAwC,CAAC,EACxD,QAAQ,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAC,GAAG,GACR,GACK,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,eAAe,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/Types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { default as E404 } from './Components/E404';
2
+ export * from './Components/Tab';
3
+ export { default as DigestRoute } from './DigestRoute';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,IAAI,EAEhB,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,OAAO,IAAI,WAAW,EAEvB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { useTabOrder, useTabs } from '@dgui/react-shared';
2
+ import { useEffect, useRef } from 'react';
3
+ import { generatePath, useLocation, useNavigate } from 'react-router';
4
+ const E404 = ({ defaultTab }) => {
5
+ const hasRendered = useRef(false);
6
+ const navigate = useNavigate();
7
+ const location = useLocation();
8
+ const tabOrder = useTabOrder();
9
+ const tabs = useTabs();
10
+ useEffect(() => {
11
+ if (hasRendered.current &&
12
+ Object.keys(tabs).length !== 0 &&
13
+ !Object.values(tabs).some((tab) => {
14
+ const path = generatePath(tab['tabPath'], {
15
+ tabId: tab?.tabId
16
+ });
17
+ return `${location.pathname}/`.includes(`${path}/`);
18
+ })) {
19
+ const tabId = tabOrder[defaultTab];
20
+ const firstTabId = tabOrder[0];
21
+ const tab = tabId &&
22
+ tabs[tabId] ?
23
+ tabs[tabId] :
24
+ (firstTabId &&
25
+ tabs[firstTabId] ?
26
+ tabs[firstTabId] :
27
+ undefined);
28
+ const generatedPath = tab ?
29
+ generatePath(tab['tabPath'], {
30
+ tabId: tab?.tabId
31
+ }) :
32
+ '';
33
+ navigate('/' + generatedPath, {
34
+ relative: 'route'
35
+ });
36
+ }
37
+ }, [
38
+ tabs
39
+ ]);
40
+ useEffect(() => {
41
+ hasRendered.current = true;
42
+ }, []);
43
+ return null;
44
+ };
45
+ E404.displayName = 'E404';
46
+ export default E404;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Components/E404/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,SAAS,EACT,MAAM,EACP,MAAM,OAAO,CAAC;AACf,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB,MAAM,IAAI,GAAiC,CAAC,EAC1C,UAAU,EACX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,SAAS,CACP,GAAG,EAAE;QACH,IACE,WAAW,CAAC,OAAO;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CACvB,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,IAAI,GAAG,YAAY,CACvB,GAAG,CAAC,SAAS,CAAC,EACd;oBACE,KAAK,EAAE,GAAG,EAAE,KAAK;iBAClB,CACF,CAAC;gBAEF,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACtD,CAAC,CACF,EACD,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,GAAG,GAAG,KAAK;gBACf,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEb,CACE,UAAU;oBACV,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;oBAClB,SAAS,CACZ,CAAC;YAEJ,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC;gBACzB,YAAY,CACV,GAAG,CAAC,SAAS,CAAC,EACd;oBACE,KAAK,EAAE,GAAG,EAAE,KAAK;iBAClB,CACF,CAAC,CAAC;gBACH,EAAE,CAAC;YAEL,QAAQ,CACN,GAAG,GAAG,aAAa,EACnB;gBACE,QAAQ,EAAE,OAAO;aAClB,CACF,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,IAAI;KACL,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE1B,eAAe,IAAI,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { useSelectedTabID, useSelectTab, useTabOrder } from '@dgui/react-shared';
2
+ import { memo, useEffect } from 'react';
3
+ import { useParams } from 'react-router';
4
+ const BackControl = ({ tabId }) => {
5
+ const { tabId: routeId } = useParams();
6
+ const selectedTabID = useSelectedTabID();
7
+ const tabOrder = useTabOrder();
8
+ const selectTab = useSelectTab();
9
+ useEffect(() => {
10
+ if (tabId === selectedTabID) {
11
+ const index = routeId ? tabOrder.indexOf(routeId) : false;
12
+ const routeTabIndex = index === -1 ? false : index;
13
+ if (routeTabIndex) {
14
+ selectTab(routeTabIndex);
15
+ }
16
+ }
17
+ }, []);
18
+ useEffect(() => {
19
+ if (tabId === selectedTabID &&
20
+ routeId &&
21
+ tabId !== routeId) {
22
+ const currentTabIndex = tabOrder.indexOf(tabId);
23
+ const routeTabIndex = tabOrder.indexOf(routeId);
24
+ if (routeTabIndex === -1) {
25
+ }
26
+ else if (currentTabIndex !== routeTabIndex) {
27
+ selectTab(routeTabIndex);
28
+ }
29
+ }
30
+ }, [
31
+ routeId
32
+ ]);
33
+ return null;
34
+ };
35
+ export default memo(BackControl);
36
+ //# sourceMappingURL=BackControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackControl.js","sourceRoot":"","sources":["../../../../src/Components/Tab/BackControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,IAAI,EACJ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,GAAwC,CAAC,EACxD,KAAK,EACN,EAAE,EAAE;IACH,MAAM,EACJ,KAAK,EAAE,OAAO,EACf,GAAG,SAAS,EAAE,CAAC;IAEhB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,SAAS,CACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa,EACvB,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1D,MAAM,aAAa,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAEnD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa;YACvB,OAAO;YACP,KAAK,KAAK,OAAO,EACjB,CAAC;YACD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhD,IACE,aAAa,KAAK,CAAC,CAAC,EACpB,CAAC;YAEH,CAAC;iBAAM,IACL,eAAe,KAAK,aAAa,EACjC,CAAC;gBACD,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,EAED;QACE,OAAO;KACR,CACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { useTabIndex, useTabOrder, useTabs } from '@dgui/react-shared';
2
+ import { useEffect, useMemo, useRef } from 'react';
3
+ import { generatePath, useLocation, useNavigate, useParams } from 'react-router';
4
+ const RouteControl = ({ tabId }) => {
5
+ const hasRendered = useRef(false);
6
+ const { tabId: routeId } = useParams();
7
+ const navigate = useNavigate();
8
+ const location = useLocation();
9
+ const tabIndex = useTabIndex();
10
+ const tabOrder = useTabOrder();
11
+ const tabs = useTabs();
12
+ const { tabId: selectedTabId, tabPath: selectedTabPath } = useMemo(() => {
13
+ const id = tabOrder[tabIndex];
14
+ return id &&
15
+ tabs[id] ?
16
+ tabs[id] :
17
+ {
18
+ tabId: undefined,
19
+ tabPath: undefined
20
+ };
21
+ }, [
22
+ tabIndex,
23
+ tabOrder,
24
+ tabs
25
+ ]);
26
+ useEffect(() => {
27
+ if (tabId === selectedTabId &&
28
+ hasRendered.current &&
29
+ routeId) {
30
+ const indexChange = tabIndex !== tabOrder.indexOf(routeId);
31
+ if (indexChange) {
32
+ const generatedPath = generatePath(selectedTabPath, {
33
+ tabId: selectedTabId
34
+ });
35
+ if (!`${location.pathname}/`.includes(`${generatedPath}/`)) {
36
+ navigate('/' + generatedPath, {
37
+ relative: 'path'
38
+ });
39
+ }
40
+ }
41
+ }
42
+ }, [
43
+ tabIndex
44
+ ]);
45
+ useEffect(() => {
46
+ setTimeout(() => {
47
+ hasRendered.current = true;
48
+ }, 100);
49
+ }, []);
50
+ return null;
51
+ };
52
+ export default RouteControl;
53
+ //# sourceMappingURL=RouteControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteControl.js","sourceRoot":"","sources":["../../../../src/Components/Tab/RouteControl.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,SAAS,EACT,OAAO,EACP,MAAM,EACP,MAAM,OAAO,CAAC;AACf,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,MAAM,YAAY,GAAyC,CAAC,EAC1D,KAAK,EACN,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,EACJ,KAAK,EAAE,OAAO,EACf,GAAG,SAAS,EAAE,CAAC;IAEhB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,EACJ,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,EACzB,GAAG,OAAO,CACT,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,EAAE;YACP,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACV;gBACE,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,SAAS;aACnB,CAAC;IACN,CAAC,EACD;QACE,QAAQ;QACR,QAAQ;QACR,IAAI;KACL,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa;YACvB,WAAW,CAAC,OAAO;YACnB,OAAO,EACP,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE3D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,YAAY,CAChC,eAAe,EACf;oBACE,KAAK,EAAE,aAAa;iBACrB,CACF,CAAC;gBAEF,IACE,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,CAAC,EACtD,CAAC;oBACD,QAAQ,CACN,GAAG,GAAG,aAAa,EACnB;wBACE,QAAQ,EAAE,MAAM;qBACjB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QAEH,UAAU,CACR,GAAG,EAAE;YACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Outlet, Route, Routes } from 'react-router';
3
+ const TabRoute = ({ children, tabPath }) => {
4
+ return (_jsxs(_Fragment, { children: [_jsx(Routes, { children: _jsx(Route, { element: children, path: tabPath }) }), _jsx(Outlet, {})] }));
5
+ };
6
+ export default TabRoute;
7
+ //# sourceMappingURL=TabRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabRoute.js","sourceRoot":"","sources":["../../../../src/Components/Tab/TabRoute.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACP,MAAM,cAAc,CAAC;AAEtB,MAAM,QAAQ,GAAqC,CAAC,EAClD,QAAQ,EACR,OAAO,EACR,EAAE,EAAE;IACH,OAAO,CACL,8BACE,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,OAAO,GACb,GACK,EACT,KAAC,MAAM,KAAG,IACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { default as BackControl } from './BackControl';
2
+ export { default as RouteControl } from './RouteControl';
3
+ export { default as TabRoute } from './TabRoute';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Components/Tab/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,EAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,OAAO,IAAI,YAAY,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,OAAO,IAAI,QAAQ,EAEpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Route, Routes } from 'react-router';
3
+ const DigestRoute = ({ children }) => {
4
+ return (_jsx(Routes, { children: _jsx(Route, { element: children, path: '*' }) }));
5
+ };
6
+ DigestRoute.displayName = 'DigestRoute';
7
+ export default DigestRoute;
8
+ //# sourceMappingURL=DigestRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DigestRoute.js","sourceRoot":"","sources":["../../src/DigestRoute.tsx"],"names":[],"mappings":";AAIA,OAAO,EACL,KAAK,EACL,MAAM,EACP,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,GAAwC,CAAC,EACxD,QAAQ,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAC,GAAG,GACR,GACK,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,eAAe,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/Types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { default as E404 } from './Components/E404';
2
+ export * from './Components/Tab';
3
+ export { default as DigestRoute } from './DigestRoute';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,IAAI,EAEhB,MAAM,mBAAmB,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,OAAO,IAAI,WAAW,EAEvB,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@dgui/react-router-shared",
3
3
  "title": "Digested React GUI Shared Router Components",
4
4
  "license": "LGPL-3.0-or-later",
5
- "version": "1.7.6",
5
+ "version": "1.8.0-next.1",
6
6
  "private": false,
7
7
  "description": "Shared Router Components for a boilerplate React GUI",
8
8
  "author": "wallzero @wallzeroblog (http://wallzero.com)",
@@ -13,8 +13,9 @@
13
13
  "position": "Initial and Lead Developer"
14
14
  }
15
15
  ],
16
- "main": "dist/index.js",
17
- "types": "dist/index.d.ts",
16
+ "main": "dist/cjs/index.js",
17
+ "module": "dist/esm/index.js",
18
+ "types": "dist/esm/index.d.ts",
18
19
  "files": [
19
20
  "dist/",
20
21
  "COPYING.md",
@@ -30,7 +31,9 @@
30
31
  },
31
32
  "scripts": {
32
33
  "build": "run-s clean:dist build:prod",
33
- "build:prod": "tsc -p ./tsconfig.json",
34
+ "build:prod": "run-p build:cjs:prod build:esm:prod",
35
+ "build:cjs:prod": "tsc -p ./tsconfig.cjs.json",
36
+ "build:esm:prod": "tsc -p ./tsconfig.json",
34
37
  "build:watch": "tsc -p ./tsconfig.json --watch --pretty --preserveWatchOutput",
35
38
  "----------------------------------------------------------------": "",
36
39
  "build:prod:config": "",
@@ -50,19 +53,19 @@
50
53
  "@digest/jest-typescript": "^4.14.14",
51
54
  "@digest/typescript": "^4.14.14",
52
55
  "@types/jest": "^30.0.0",
53
- "@types/react": "^19.2.7",
56
+ "@types/react": "^19.2.13",
54
57
  "@types/react-test-renderer": "^19.1.0",
55
58
  "cross-env": "^10.1.0",
56
59
  "jest-environment-jsdom": "^30.2.0",
57
60
  "jest-environment-jsdom-global": "^4.0.0",
58
61
  "npm-run-all": "^4.1.5",
59
- "react": "^19.2.3",
60
- "react-router": "^6.30.2",
61
- "react-test-renderer": "^19.2.3",
62
+ "react": "^19.2.4",
63
+ "react-router": "^6.30.3",
64
+ "react-test-renderer": "^19.2.4",
62
65
  "rimraf": "^6.1.2"
63
66
  },
64
67
  "dependencies": {
65
- "@dgui/react-shared": "1.7.6"
68
+ "@dgui/react-shared": "1.8.0-next.1"
66
69
  },
67
70
  "peerDependencies": {
68
71
  "react": "^18.0.0 || ^19.0.0",
@@ -76,5 +79,5 @@
76
79
  "react-router",
77
80
  "typescript"
78
81
  ],
79
- "gitHead": "864501301de458311da44d7b3043c7488ce6096c"
82
+ "gitHead": "8c988440fbced187ef0eb3b458b429666ba85415"
80
83
  }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_shared_1 = require("@dgui/react-shared");
4
- const react_1 = require("react");
5
- const react_router_1 = require("react-router");
6
- const E404 = ({ defaultTab }) => {
7
- const hasRendered = (0, react_1.useRef)(false);
8
- const navigate = (0, react_router_1.useNavigate)();
9
- const location = (0, react_router_1.useLocation)();
10
- const tabOrder = (0, react_shared_1.useTabOrder)();
11
- const tabs = (0, react_shared_1.useTabs)();
12
- (0, react_1.useEffect)(() => {
13
- var _a;
14
- if (hasRendered.current &&
15
- Object.keys(tabs).length !== 0 &&
16
- !Object.values(tabs).some((tab) => {
17
- var _a;
18
- const path = (0, react_router_1.generatePath)((_a = tab === null || tab === void 0 ? void 0 : tab.tabPath) !== null && _a !== void 0 ? _a : '', {
19
- tabId: tab === null || tab === void 0 ? void 0 : tab.tabId
20
- });
21
- return `${location.pathname}/`.includes(`${path}/`);
22
- })) {
23
- const tab = tabs[tabOrder[defaultTab]] || tabs[tabOrder[0]];
24
- const generatedPath = (0, react_router_1.generatePath)((_a = tab === null || tab === void 0 ? void 0 : tab.tabPath) !== null && _a !== void 0 ? _a : '', {
25
- tabId: tab === null || tab === void 0 ? void 0 : tab.tabId
26
- });
27
- navigate('/' + generatedPath, {
28
- relative: 'route'
29
- });
30
- }
31
- }, [
32
- tabs
33
- ]);
34
- (0, react_1.useEffect)(() => {
35
- hasRendered.current = true;
36
- }, []);
37
- return null;
38
- };
39
- E404.displayName = 'E404';
40
- exports.default = E404;
41
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Components/E404/index.tsx"],"names":[],"mappings":";;AAAA,qDAG4B;AAC5B,iCAIe;AACf,+CAIsB;AAEtB,MAAM,IAAI,GAAiC,CAAC,EAC1C,UAAU,EACX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAA,sBAAO,GAAE,CAAC;IAEvB,IAAA,iBAAS,EACP,GAAG,EAAE;;QACH,IACE,WAAW,CAAC,OAAO;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAC9B,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CACvB,CAAC,GAAG,EAAE,EAAE;;gBACN,MAAM,IAAI,GAAG,IAAA,2BAAY,EACvB,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,EAAE,EAClB;oBACE,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK;iBAClB,CACF,CAAC;gBAEF,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;YACtD,CAAC,CACF,EACD,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5D,MAAM,aAAa,GAAG,IAAA,2BAAY,EAChC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,EAAE,EAClB;gBACE,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK;aAClB,CACF,CAAC;YAEF,QAAQ,CACN,GAAG,GAAG,aAAa,EACnB;gBACE,QAAQ,EAAE,OAAO;aAClB,CACF,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,IAAI;KACL,CACF,CAAC;IAEF,IAAA,iBAAS,EACP,GAAG,EAAE;QACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;IAC7B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAE1B,kBAAe,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BackControl.js","sourceRoot":"","sources":["../../../src/Components/Tab/BackControl.tsx"],"names":[],"mappings":";;AAAA,qDAI4B;AAC5B,iCAIe;AACf,+CAEsB;AAEtB,MAAM,WAAW,GAAwC,CAAC,EACxD,KAAK,EACN,EAAE,EAAE;IACH,MAAM,EACJ,KAAK,EAAE,OAAO,EACf,GAAG,IAAA,wBAAS,GAAE,CAAC;IAEhB,MAAM,aAAa,GAAG,IAAA,+BAAgB,GAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;IAEjC,IAAA,iBAAS,EACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa,EACvB,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1D,MAAM,aAAa,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAEnD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,IAAA,iBAAS,EACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa;YACvB,OAAO;YACP,KAAK,KAAK,OAAO,EACjB,CAAC;YACD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhD,IACE,aAAa,KAAK,CAAC,CAAC,EACpB,CAAC;YAEH,CAAC;iBAAM,IACL,eAAe,KAAK,aAAa,EACjC,CAAC;gBACD,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,EAED;QACE,OAAO;KACR,CACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,IAAA,YAAI,EAAC,WAAW,CAAC,CAAC"}
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_shared_1 = require("@dgui/react-shared");
4
- const react_1 = require("react");
5
- const react_router_1 = require("react-router");
6
- const RouteControl = ({ tabId }) => {
7
- const hasRendered = (0, react_1.useRef)(false);
8
- const { tabId: routeId } = (0, react_router_1.useParams)();
9
- const navigate = (0, react_router_1.useNavigate)();
10
- const location = (0, react_router_1.useLocation)();
11
- const tabIndex = (0, react_shared_1.useTabIndex)();
12
- const tabOrder = (0, react_shared_1.useTabOrder)();
13
- const tabs = (0, react_shared_1.useTabs)();
14
- const { tabId: selectedTabId, tabPath: selectedTabPath } = (0, react_1.useMemo)(() => {
15
- return tabs[tabOrder[tabIndex]] || {};
16
- }, [
17
- tabIndex,
18
- tabOrder,
19
- tabs
20
- ]);
21
- (0, react_1.useEffect)(() => {
22
- if (tabId === selectedTabId &&
23
- hasRendered.current &&
24
- routeId) {
25
- const indexChange = tabIndex !== tabOrder.indexOf(routeId);
26
- if (indexChange) {
27
- const generatedPath = (0, react_router_1.generatePath)(selectedTabPath, {
28
- tabId: selectedTabId
29
- });
30
- if (!`${location.pathname}/`.includes(`${generatedPath}/`)) {
31
- navigate('/' + generatedPath, {
32
- relative: 'path'
33
- });
34
- }
35
- }
36
- }
37
- }, [
38
- tabIndex
39
- ]);
40
- (0, react_1.useEffect)(() => {
41
- setTimeout(() => {
42
- hasRendered.current = true;
43
- }, 100);
44
- }, []);
45
- return null;
46
- };
47
- exports.default = RouteControl;
48
- //# sourceMappingURL=RouteControl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RouteControl.js","sourceRoot":"","sources":["../../../src/Components/Tab/RouteControl.tsx"],"names":[],"mappings":";;AAAA,qDAI4B;AAC5B,iCAKe;AACf,+CAKsB;AAEtB,MAAM,YAAY,GAAyC,CAAC,EAC1D,KAAK,EACN,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAElC,MAAM,EACJ,KAAK,EAAE,OAAO,EACf,GAAG,IAAA,wBAAS,GAAE,CAAC;IAEhB,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAA,sBAAO,GAAE,CAAC;IAEvB,MAAM,EACJ,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,EACzB,GAAG,IAAA,eAAO,EACT,GAAG,EAAE;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC,EACD;QACE,QAAQ;QACR,QAAQ;QACR,IAAI;KACL,CACF,CAAC;IAEF,IAAA,iBAAS,EACP,GAAG,EAAE;QACH,IAEE,KAAK,KAAK,aAAa;YACvB,WAAW,CAAC,OAAO;YACnB,OAAO,EACP,CAAC;YACD,MAAM,WAAW,GAAG,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE3D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,IAAA,2BAAY,EAChC,eAAe,EACf;oBACE,KAAK,EAAE,aAAa;iBACrB,CACF,CAAC;gBAEF,IACE,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,CAAC,EACtD,CAAC;oBACD,QAAQ,CACN,GAAG,GAAG,aAAa,EACnB;wBACE,QAAQ,EAAE,MAAM;qBACjB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,IAAA,iBAAS,EACP,GAAG,EAAE;QAEH,UAAU,CACR,GAAG,EAAE;YACH,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_router_1 = require("react-router");
5
- const TabRoute = ({ children, tabPath }) => {
6
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_router_1.Routes, { children: (0, jsx_runtime_1.jsx)(react_router_1.Route, { element: children, path: tabPath }) }), (0, jsx_runtime_1.jsx)(react_router_1.Outlet, {})] }));
7
- };
8
- exports.default = TabRoute;
9
- //# sourceMappingURL=TabRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabRoute.js","sourceRoot":"","sources":["../../../src/Components/Tab/TabRoute.tsx"],"names":[],"mappings":";;;AAIA,+CAIsB;AAEtB,MAAM,QAAQ,GAAqC,CAAC,EAClD,QAAQ,EACR,OAAO,EACR,EAAE,EAAE;IACH,OAAO,CACL,6DACE,uBAAC,qBAAM,cACL,uBAAC,oBAAK,IACJ,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,OAAO,GACb,GACK,EACT,uBAAC,qBAAM,KAAG,IACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TabRoute = exports.RouteControl = exports.BackControl = void 0;
7
- var BackControl_1 = require("./BackControl");
8
- Object.defineProperty(exports, "BackControl", { enumerable: true, get: function () { return __importDefault(BackControl_1).default; } });
9
- var RouteControl_1 = require("./RouteControl");
10
- Object.defineProperty(exports, "RouteControl", { enumerable: true, get: function () { return __importDefault(RouteControl_1).default; } });
11
- var TabRoute_1 = require("./TabRoute");
12
- Object.defineProperty(exports, "TabRoute", { enumerable: true, get: function () { return __importDefault(TabRoute_1).default; } });
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Components/Tab/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAGuB;AAFrB,2HAAA,OAAO,OAAe;AAGxB,+CAGwB;AAFtB,6HAAA,OAAO,OAAgB;AAGzB,uCAGoB;AAFlB,qHAAA,OAAO,OAAY"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_router_1 = require("react-router");
5
- const DigestRoute = ({ children }) => {
6
- return ((0, jsx_runtime_1.jsx)(react_router_1.Routes, { children: (0, jsx_runtime_1.jsx)(react_router_1.Route, { element: children, path: '*' }) }));
7
- };
8
- DigestRoute.displayName = 'DigestRoute';
9
- exports.default = DigestRoute;
10
- //# sourceMappingURL=DigestRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DigestRoute.js","sourceRoot":"","sources":["../src/DigestRoute.tsx"],"names":[],"mappings":";;;AAIA,+CAGsB;AAEtB,MAAM,WAAW,GAAwC,CAAC,EACxD,QAAQ,EACT,EAAE,EAAE;IACH,OAAO,CACL,uBAAC,qBAAM,cACL,uBAAC,oBAAK,IACJ,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAC,GAAG,GACR,GACK,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,kBAAe,WAAW,CAAC"}
package/dist/Types.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Types.js.map
package/dist/Types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Types.js","sourceRoot":"","sources":["../src/Types.ts"],"names":[],"mappings":""}
package/dist/index.js DELETED
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.DigestRoute = exports.E404 = void 0;
21
- var E404_1 = require("./Components/E404");
22
- Object.defineProperty(exports, "E404", { enumerable: true, get: function () { return __importDefault(E404_1).default; } });
23
- __exportStar(require("./Components/Tab"), exports);
24
- var DigestRoute_1 = require("./DigestRoute");
25
- Object.defineProperty(exports, "DigestRoute", { enumerable: true, get: function () { return __importDefault(DigestRoute_1).default; } });
26
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,0CAG2B;AAFzB,6GAAA,OAAO,OAAQ;AAGjB,mDAAiC;AACjC,6CAGuB;AAFrB,2HAAA,OAAO,OAAe"}
File without changes
File without changes
File without changes