@dgui/react-shared 0.3.2-beta.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { type DrawerIndexProviderProps } from '../Types';
2
- import { type FunctionComponent } from 'react';
1
+ import { type FunctionComponent, type PropsWithChildren } from 'react';
3
2
  declare const DrawerIndexProvider: FunctionComponent<DrawerIndexProviderProps>;
4
3
  export default DrawerIndexProvider;
4
+ export type DrawerIndexProviderProps = PropsWithChildren<{}>;
@@ -26,35 +26,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const jsx_runtime_1 = require("react/jsx-runtime");
27
27
  const DrawerIndexContext_1 = __importStar(require("../Contexts/DrawerIndexContext"));
28
28
  const react_1 = require("react");
29
- const DrawerIndexProvider = ({ children, onSelectDrawer, drawerIndex: givenDrawerIndex }) => {
29
+ const DrawerIndexProvider = ({ children }) => {
30
30
  const [drawerIndex, setDrawerIndex] = (0, react_1.useState)(DrawerIndexContext_1.defaults.drawerIndex);
31
- (0, react_1.useEffect)(() => {
32
- const safeIndex = Number.isSafeInteger(givenDrawerIndex) &&
33
- Number(givenDrawerIndex);
34
- if (safeIndex) {
35
- setDrawerIndex(safeIndex);
36
- }
37
- }, [
38
- givenDrawerIndex
39
- ]);
40
- const selectDrawer = (0, react_1.useCallback)((selectedDrawerIndex) => {
41
- if (onSelectDrawer) {
42
- onSelectDrawer(selectedDrawerIndex);
43
- }
44
- setDrawerIndex(selectedDrawerIndex);
45
- }, [
46
- onSelectDrawer
47
- ]);
48
31
  const value = (0, react_1.useMemo)(() => {
49
32
  return {
50
33
  drawerIndex,
51
- selectDrawer
34
+ selectDrawer: setDrawerIndex
52
35
  };
53
36
  }, [
54
- drawerIndex,
55
- selectDrawer
37
+ setDrawerIndex,
38
+ drawerIndex
56
39
  ]);
57
- return ((0, jsx_runtime_1.jsx)(DrawerIndexContext_1.default.Provider, Object.assign({ value: value }, { children: children })));
40
+ return ((0, jsx_runtime_1.jsx)(DrawerIndexContext_1.default.Provider, { value: value, children: children }));
58
41
  };
59
42
  DrawerIndexProvider.displayName = 'DrawerIndexProvider';
60
43
  exports.default = DrawerIndexProvider;
@@ -41,28 +41,14 @@ const DrawerProvider = ({ children }) => {
41
41
  const [drawers, setDrawers] = (0, react_1.useState)(DrawerContext_1.defaults.drawers);
42
42
  const [drawerOrder, setDrawerOrder] = (0, react_1.useState)(DrawerContext_1.defaults.drawerOrder);
43
43
  const addDrawer = (0, react_1.useCallback)((drawer, position) => {
44
- const { drawerId, tabId } = drawer, restOfDrawer = __rest(drawer, ["drawerId", "tabId"]);
44
+ const { drawerId, tabId } = drawer;
45
45
  setDrawers((previousDrawers) => {
46
- const existingDrawer = previousDrawers[drawerId];
47
- if (existingDrawer) {
48
- if (tabId) {
49
- const newDrawers = Object.assign(Object.assign({}, previousDrawers), { [drawerId]: Object.assign(Object.assign({}, existingDrawer), { tabs: [
50
- ...existingDrawer.tabs || [],
51
- tabId
52
- ] }) });
53
- return newDrawers;
54
- }
55
- else {
56
- return previousDrawers;
57
- }
58
- }
59
- else if (tabId) {
60
- return Object.assign(Object.assign({}, previousDrawers), { [drawerId]: Object.assign(Object.assign({ drawerId }, restOfDrawer), { tabs: [
61
- tabId
62
- ] }) });
46
+ if (tabId &&
47
+ previousDrawers[drawerId]) {
48
+ return previousDrawers;
63
49
  }
64
50
  else {
65
- return Object.assign(Object.assign({}, previousDrawers), { [drawerId]: Object.assign({}, drawer) });
51
+ return Object.assign(Object.assign({}, previousDrawers), { [drawerId]: drawer });
66
52
  }
67
53
  });
68
54
  setDrawerOrder((previousDrawerOrder) => {
@@ -84,28 +70,14 @@ const DrawerProvider = ({ children }) => {
84
70
  });
85
71
  }, []);
86
72
  const removeDrawer = (0, react_1.useCallback)((drawerId) => {
87
- let emptyDrawer = true;
88
73
  setDrawers((previousDrawers) => {
89
- const tabs = previousDrawers[drawerId].tabs;
90
- if (tabs &&
91
- tabs.length !== 0) {
92
- emptyDrawer = false;
93
- return previousDrawers;
94
- }
95
- else {
96
- const _a = previousDrawers, _b = drawerId, omit = _a[_b], filteredDrawers = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
97
- return filteredDrawers;
98
- }
74
+ const _a = previousDrawers, _b = drawerId, omit = _a[_b], filteredDrawers = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
75
+ return filteredDrawers;
99
76
  });
100
77
  setDrawerOrder((previousDrawerOrder) => {
101
- if (emptyDrawer) {
102
- return previousDrawerOrder.filter((id) => {
103
- return id !== drawerId;
104
- });
105
- }
106
- else {
107
- return previousDrawerOrder;
108
- }
78
+ return previousDrawerOrder.filter((id) => {
79
+ return id !== drawerId;
80
+ });
109
81
  });
110
82
  }, []);
111
83
  const value = (0, react_1.useMemo)(() => {
@@ -121,7 +93,7 @@ const DrawerProvider = ({ children }) => {
121
93
  drawers,
122
94
  removeDrawer
123
95
  ]);
124
- return ((0, jsx_runtime_1.jsx)(DrawerContext_1.default.Provider, Object.assign({ value: value }, { children: children })));
96
+ return ((0, jsx_runtime_1.jsx)(DrawerContext_1.default.Provider, { value: value, children: children }));
125
97
  };
126
98
  DrawerProvider.displayName = 'DrawerProvider';
127
99
  exports.default = DrawerProvider;
@@ -1,4 +1,4 @@
1
- import { type DrawerToggleProviderProps } from '../Types';
2
- import { type FunctionComponent } from 'react';
1
+ import { type FunctionComponent, type PropsWithChildren } from 'react';
3
2
  declare const DrawerToggleProvider: FunctionComponent<DrawerToggleProviderProps>;
4
3
  export default DrawerToggleProvider;
4
+ export type DrawerToggleProviderProps = PropsWithChildren<{}>;
@@ -1,47 +1,50 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  const jsx_runtime_1 = require("react/jsx-runtime");
7
- const DrawerToggleContext_1 = __importDefault(require("../Contexts/DrawerToggleContext"));
27
+ const DrawerToggleContext_1 = __importStar(require("../Contexts/DrawerToggleContext"));
8
28
  const react_1 = require("react");
9
- const DrawerToggleProvider = ({ children, drawerOpen: givenDrawerOpen, onDrawerToggle }) => {
10
- const [drawerOpen, setDrawerOpen] = (0, react_1.useState)(givenDrawerOpen);
11
- (0, react_1.useEffect)(() => {
12
- setDrawerOpen(givenDrawerOpen);
13
- }, [
14
- givenDrawerOpen
15
- ]);
16
- const toggleDrawer = (0, react_1.useCallback)((open) => {
17
- if (open === undefined) {
18
- setDrawerOpen((currentDrawerOpen) => {
19
- const toggleOpen = !currentDrawerOpen;
20
- if (onDrawerToggle) {
21
- onDrawerToggle(toggleOpen);
22
- }
23
- return toggleOpen;
24
- });
25
- }
26
- else {
27
- if (onDrawerToggle) {
28
- onDrawerToggle(open);
29
- }
30
- setDrawerOpen(open);
31
- }
32
- }, [
33
- onDrawerToggle
34
- ]);
29
+ const DrawerToggleProvider = ({ children }) => {
30
+ const [drawerOpen, setDrawerOpen] = (0, react_1.useState)(DrawerToggleContext_1.defaults.drawerOpen);
35
31
  const value = (0, react_1.useMemo)(() => {
36
32
  return {
37
- drawerOpen: Boolean(drawerOpen),
38
- toggleDrawer
33
+ drawerOpen,
34
+ toggleDrawer: (open) => {
35
+ if (open === undefined) {
36
+ setDrawerOpen(!drawerOpen);
37
+ }
38
+ else {
39
+ setDrawerOpen(open);
40
+ }
41
+ }
39
42
  };
40
43
  }, [
41
44
  drawerOpen,
42
- toggleDrawer
45
+ setDrawerOpen
43
46
  ]);
44
- return ((0, jsx_runtime_1.jsx)(DrawerToggleContext_1.default.Provider, Object.assign({ value: value }, { children: children })));
47
+ return ((0, jsx_runtime_1.jsx)(DrawerToggleContext_1.default.Provider, { value: value, children: children }));
45
48
  };
46
49
  DrawerToggleProvider.displayName = 'DrawerToggleProvider';
47
50
  exports.default = DrawerToggleProvider;
@@ -1,4 +1,4 @@
1
- import { type TabIndexProviderProps } from '../Types';
2
- import { type FunctionComponent } from 'react';
1
+ import { type FunctionComponent, type PropsWithChildren } from 'react';
3
2
  declare const TabIndexProvider: FunctionComponent<TabIndexProviderProps>;
4
3
  export default TabIndexProvider;
4
+ export type TabIndexProviderProps = PropsWithChildren<{}>;
@@ -26,35 +26,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const jsx_runtime_1 = require("react/jsx-runtime");
27
27
  const TabIndexContext_1 = __importStar(require("../Contexts/TabIndexContext"));
28
28
  const react_1 = require("react");
29
- const TabIndexProvider = ({ children, onSelectTab, tabIndex: givenTabIndex }) => {
29
+ const TabIndexProvider = ({ children }) => {
30
30
  const [tabIndex, setTabIndex] = (0, react_1.useState)(TabIndexContext_1.defaults.tabIndex);
31
- (0, react_1.useEffect)(() => {
32
- const safeIndex = Number.isSafeInteger(givenTabIndex) &&
33
- Number(givenTabIndex);
34
- if (safeIndex) {
35
- setTabIndex(safeIndex);
36
- }
37
- }, [
38
- givenTabIndex
39
- ]);
40
- const selectTab = (0, react_1.useCallback)((selectedTabIndex) => {
41
- if (onSelectTab) {
42
- onSelectTab(selectedTabIndex);
43
- }
44
- setTabIndex(selectedTabIndex);
45
- }, [
46
- onSelectTab
47
- ]);
48
31
  const value = (0, react_1.useMemo)(() => {
49
32
  return {
50
- selectTab,
33
+ selectTab: setTabIndex,
51
34
  tabIndex
52
35
  };
53
36
  }, [
54
- selectTab,
37
+ setTabIndex,
55
38
  tabIndex
56
39
  ]);
57
- return ((0, jsx_runtime_1.jsx)(TabIndexContext_1.default.Provider, Object.assign({ value: value }, { children: children })));
40
+ return ((0, jsx_runtime_1.jsx)(TabIndexContext_1.default.Provider, { value: value, children: children }));
58
41
  };
59
42
  exports.default = TabIndexProvider;
60
43
  TabIndexProvider.displayName = 'TabIndexProvider';
@@ -123,7 +123,7 @@ const TabProvider = ({ children }) => {
123
123
  removeTab,
124
124
  updateTab
125
125
  ]);
126
- return ((0, jsx_runtime_1.jsx)(TabContext_1.default.Provider, Object.assign({ value: value }, { children: children })));
126
+ return ((0, jsx_runtime_1.jsx)(TabContext_1.default.Provider, { value: value, children: children }));
127
127
  };
128
128
  TabProvider.displayName = 'TabProvider';
129
129
  exports.default = TabProvider;
@@ -1,4 +1,4 @@
1
- import { type ProvidersProps } from '../Types';
2
- import { type FunctionComponent } from 'react';
1
+ import { type FunctionComponent, type PropsWithChildren } from 'react';
3
2
  declare const Providers: FunctionComponent<ProvidersProps>;
4
3
  export default Providers;
4
+ export type ProvidersProps = PropsWithChildren<{}>;
@@ -9,8 +9,8 @@ const DrawerProvider_1 = __importDefault(require("./DrawerProvider"));
9
9
  const DrawerToggleProvider_1 = __importDefault(require("./DrawerToggleProvider"));
10
10
  const TabIndexProvider_1 = __importDefault(require("./TabIndexProvider"));
11
11
  const TabProvider_1 = __importDefault(require("./TabProvider"));
12
- const Providers = ({ children, drawerIndex, drawerOpen, onDrawerToggle, onSelectDrawer, onSelectTab, tabIndex }) => {
13
- return ((0, jsx_runtime_1.jsx)(DrawerToggleProvider_1.default, Object.assign({ drawerOpen: drawerOpen, onDrawerToggle: onDrawerToggle }, { children: (0, jsx_runtime_1.jsx)(DrawerProvider_1.default, { children: (0, jsx_runtime_1.jsx)(TabProvider_1.default, { children: (0, jsx_runtime_1.jsx)(DrawerIndexProvider_1.default, Object.assign({ drawerIndex: drawerIndex, onSelectDrawer: onSelectDrawer }, { children: (0, jsx_runtime_1.jsx)(TabIndexProvider_1.default, Object.assign({ onSelectTab: onSelectTab, tabIndex: tabIndex }, { children: children })) })) }) }) })));
12
+ const Providers = ({ children }) => {
13
+ return ((0, jsx_runtime_1.jsx)(DrawerToggleProvider_1.default, { children: (0, jsx_runtime_1.jsx)(DrawerProvider_1.default, { children: (0, jsx_runtime_1.jsx)(TabProvider_1.default, { children: (0, jsx_runtime_1.jsx)(DrawerIndexProvider_1.default, { children: (0, jsx_runtime_1.jsx)(TabIndexProvider_1.default, { children: children }) }) }) }) }));
14
14
  };
15
15
  Providers.displayName = 'SharedProviders';
16
16
  exports.default = Providers;
package/dist/Types.d.ts CHANGED
@@ -1,8 +1,14 @@
1
- import { type PropsWithChildren } from 'react';
1
+ import { type Dispatch, type PropsWithChildren, type SetStateAction } from 'react';
2
+ export type DigestProps = {
3
+ drawerIndex?: number;
4
+ onSelectDrawer?: (tabIndex: number) => void;
5
+ onSelectTab?: (tabIndex: number) => void;
6
+ tabIndex?: number;
7
+ };
2
8
  export type DrawerType = {
3
9
  drawerId: string;
4
10
  swipe?: boolean;
5
- tabs?: string[];
11
+ tabId?: string;
6
12
  title?: string;
7
13
  };
8
14
  export type DrawerContextProps = {
@@ -15,11 +21,11 @@ export type DrawerContextProps = {
15
21
  };
16
22
  export type DrawerIndexContextProps = {
17
23
  drawerIndex: number;
18
- selectDrawer: (drawerIndex: number) => void;
24
+ selectDrawer: Dispatch<SetStateAction<number>>;
19
25
  };
20
26
  export type DrawerToggleContextProps = {
21
27
  drawerOpen: boolean;
22
- toggleDrawer: (open?: boolean | undefined) => void;
28
+ toggleDrawer: (open?: boolean) => void;
23
29
  };
24
30
  export type TabType = {
25
31
  [key: string]: any;
@@ -37,7 +43,7 @@ export type TabContextProps = {
37
43
  updateTab: (tab: TabType) => void;
38
44
  };
39
45
  export type TabIndexContextProps = {
40
- selectTab: (tabIndex: number) => void;
46
+ selectTab: Dispatch<SetStateAction<number>>;
41
47
  tabIndex: number;
42
48
  };
43
49
  export type CarouselProps = PropsWithChildren<{
@@ -51,23 +57,3 @@ export type GatewayProps = PropsWithChildren<{
51
57
  export type GatewayDestProps = {
52
58
  gatewayId: string;
53
59
  };
54
- export type DrawerIndexProviderProps = PropsWithChildren<{
55
- drawerIndex?: number;
56
- onSelectDrawer?: (tabIndex: number) => void;
57
- }>;
58
- export type DrawerToggleProviderProps = PropsWithChildren<{
59
- drawerOpen?: boolean;
60
- onDrawerToggle?: (drawerOpen?: boolean) => void;
61
- }>;
62
- export type TabIndexProviderProps = PropsWithChildren<{
63
- onSelectTab?: (tabIndex: number) => void;
64
- tabIndex?: number;
65
- }>;
66
- export type ProvidersProps = DrawerIndexProviderProps & DrawerToggleProviderProps & PropsWithChildren<{}> & TabIndexProviderProps;
67
- export type ReactDigestProps = PropsWithChildren<{}> & ProvidersProps;
68
- export type ReactDigestDrawerProps = Omit<DrawerType, 'tabs'> & PropsWithChildren<{}> & {
69
- tabId?: string;
70
- };
71
- export type ReactDigestTabProps = PropsWithChildren<{}> & TabType;
72
- export type ReactDigestAppBarProps = PropsWithChildren<{}>;
73
- export type ReactDigestDrawerBarProps = PropsWithChildren<{}>;
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": "0.3.2-beta.1",
5
+ "version": "1.0.0",
6
6
  "private": false,
7
7
  "description": "Shared Components for a boilerplate React GUI",
8
8
  "author": "wallzero @wallzeroblog (http://wallzero.com)",
@@ -43,23 +43,23 @@
43
43
  "set:version": "npm version --allow-same-version --no-commit-hooks --no-git-tag-version --no-workspaces-update $(npm --silent view $(node -p \"require('./package.json').name\") version)"
44
44
  },
45
45
  "devDependencies": {
46
- "@digest/eslint-config-jest": "^4.2.2",
47
- "@digest/eslint-config-react": "^4.2.2",
48
- "@digest/eslint-config-typescript": "^4.2.2",
49
- "@digest/jest-junit": "^4.2.2",
50
- "@digest/jest-react": "^4.2.2",
51
- "@digest/jest-typescript": "^4.2.2",
52
- "@digest/typescript": "^4.2.2",
53
- "@types/jest": "^29.5.1",
54
- "@types/react": "^18.0.38",
46
+ "@digest/eslint-config-jest": "^4.2.5",
47
+ "@digest/eslint-config-react": "^4.2.5",
48
+ "@digest/eslint-config-typescript": "^4.2.5",
49
+ "@digest/jest-junit": "^4.2.5",
50
+ "@digest/jest-react": "^4.2.5",
51
+ "@digest/jest-typescript": "^4.2.5",
52
+ "@digest/typescript": "^4.2.5",
53
+ "@types/jest": "^29.5.3",
54
+ "@types/react": "^18.2.17",
55
55
  "@types/react-test-renderer": "^18.0.0",
56
56
  "cross-env": "^7.0.3",
57
- "jest-environment-jsdom": "^29.5.0",
57
+ "jest-environment-jsdom": "^29.6.2",
58
58
  "jest-environment-jsdom-global": "^4.0.0",
59
59
  "npm-run-all": "^4.1.5",
60
60
  "react": "^18.2.0",
61
61
  "react-test-renderer": "^18.2.0",
62
- "rimraf": "^5.0.0"
62
+ "rimraf": "^5.0.1"
63
63
  },
64
64
  "peerDependencies": {
65
65
  "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
@@ -71,5 +71,5 @@
71
71
  "reactjs",
72
72
  "typescript"
73
73
  ],
74
- "gitHead": "d7041d722670220288a98743c02810b000cf8020"
74
+ "gitHead": "ac0d0964d66c9c11f50b625d5ca5aec4e20bb72a"
75
75
  }