@dgui/react-shared
Advanced tools
@@ -1,4 +0,4 @@ | ||
| import { type DrawerIndexProviderProps } from '../Types'; | ||
| import { type FunctionComponent } from 'react'; | ||
| import { type FunctionComponent, type PropsWithChildren } from 'react'; | ||
| declare const DrawerIndexProvider: FunctionComponent<DrawerIndexProviderProps>; | ||
| export default DrawerIndexProvider; | ||
| export type DrawerIndexProviderProps = PropsWithChildren<{}>; |
@@ -29,33 +29,16 @@ "use strict"; | ||
| const react_1 = require("react"); | ||
| const DrawerIndexProvider = ({ children, onSelectDrawer, drawerIndex: givenDrawerIndex }) => { | ||
| const DrawerIndexProvider = ({ children }) => { | ||
| const [drawerIndex, setDrawerIndex] = (0, react_1.useState)(DrawerIndexContext_1.defaults.drawerIndex); | ||
| (0, react_1.useEffect)(() => { | ||
| const safeIndex = Number.isSafeInteger(givenDrawerIndex) && | ||
| Number(givenDrawerIndex); | ||
| if (safeIndex) { | ||
| setDrawerIndex(safeIndex); | ||
| } | ||
| }, [ | ||
| givenDrawerIndex | ||
| ]); | ||
| const selectDrawer = (0, react_1.useCallback)((selectedDrawerIndex) => { | ||
| if (onSelectDrawer) { | ||
| onSelectDrawer(selectedDrawerIndex); | ||
| } | ||
| setDrawerIndex(selectedDrawerIndex); | ||
| }, [ | ||
| onSelectDrawer | ||
| ]); | ||
| const value = (0, react_1.useMemo)(() => { | ||
| return { | ||
| drawerIndex, | ||
| selectDrawer | ||
| selectDrawer: setDrawerIndex | ||
| }; | ||
| }, [ | ||
| drawerIndex, | ||
| selectDrawer | ||
| setDrawerIndex, | ||
| drawerIndex | ||
| ]); | ||
| return ((0, jsx_runtime_1.jsx)(DrawerIndexContext_1.default.Provider, Object.assign({ value: value }, { children: children }))); | ||
| return ((0, jsx_runtime_1.jsx)(DrawerIndexContext_1.default.Provider, { value: value, children: children })); | ||
| }; | ||
| DrawerIndexProvider.displayName = 'DrawerIndexProvider'; | ||
| exports.default = DrawerIndexProvider; |
@@ -44,24 +44,10 @@ "use strict"; | ||
| const addDrawer = (0, react_1.useCallback)((drawer, position) => { | ||
| const { drawerId, tabId } = drawer, restOfDrawer = __rest(drawer, ["drawerId", "tabId"]); | ||
| const { drawerId, tabId } = drawer; | ||
| setDrawers((previousDrawers) => { | ||
| const existingDrawer = previousDrawers[drawerId]; | ||
| if (existingDrawer) { | ||
| if (tabId) { | ||
| const newDrawers = Object.assign(Object.assign({}, previousDrawers), { [drawerId]: Object.assign(Object.assign({}, existingDrawer), { tabs: [ | ||
| ...existingDrawer.tabs || [], | ||
| tabId | ||
| ] }) }); | ||
| return newDrawers; | ||
| } | ||
| else { | ||
| return previousDrawers; | ||
| } | ||
| if (tabId && | ||
| previousDrawers[drawerId]) { | ||
| return previousDrawers; | ||
| } | ||
| else if (tabId) { | ||
| return Object.assign(Object.assign({}, previousDrawers), { [drawerId]: Object.assign(Object.assign({ drawerId }, restOfDrawer), { tabs: [ | ||
| tabId | ||
| ] }) }); | ||
| } | ||
| else { | ||
| return Object.assign(Object.assign({}, previousDrawers), { [drawerId]: Object.assign({}, drawer) }); | ||
| return Object.assign(Object.assign({}, previousDrawers), { [drawerId]: drawer }); | ||
| } | ||
@@ -88,24 +74,10 @@ }); | ||
| const removeDrawer = (0, react_1.useCallback)((drawerId) => { | ||
| let emptyDrawer = true; | ||
| setDrawers((previousDrawers) => { | ||
| const tabs = previousDrawers[drawerId].tabs; | ||
| if (tabs && | ||
| tabs.length !== 0) { | ||
| emptyDrawer = false; | ||
| return previousDrawers; | ||
| } | ||
| else { | ||
| const _a = previousDrawers, _b = drawerId, omit = _a[_b], filteredDrawers = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]); | ||
| return filteredDrawers; | ||
| } | ||
| const _a = previousDrawers, _b = drawerId, omit = _a[_b], filteredDrawers = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]); | ||
| return filteredDrawers; | ||
| }); | ||
| setDrawerOrder((previousDrawerOrder) => { | ||
| if (emptyDrawer) { | ||
| return previousDrawerOrder.filter((id) => { | ||
| return id !== drawerId; | ||
| }); | ||
| } | ||
| else { | ||
| return previousDrawerOrder; | ||
| } | ||
| return previousDrawerOrder.filter((id) => { | ||
| return id !== drawerId; | ||
| }); | ||
| }); | ||
@@ -126,5 +98,5 @@ }, []); | ||
| ]); | ||
| return ((0, jsx_runtime_1.jsx)(DrawerContext_1.default.Provider, Object.assign({ value: value }, { children: children }))); | ||
| return ((0, jsx_runtime_1.jsx)(DrawerContext_1.default.Provider, { value: value, children: children })); | ||
| }; | ||
| DrawerProvider.displayName = 'DrawerProvider'; | ||
| exports.default = DrawerProvider; |
@@ -1,4 +0,4 @@ | ||
| import { type DrawerToggleProviderProps } from '../Types'; | ||
| import { type FunctionComponent } from 'react'; | ||
| import { type FunctionComponent, type PropsWithChildren } from 'react'; | ||
| declare const DrawerToggleProvider: FunctionComponent<DrawerToggleProviderProps>; | ||
| export default DrawerToggleProvider; | ||
| export type DrawerToggleProviderProps = PropsWithChildren<{}>; |
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| var desc = Object.getOwnPropertyDescriptor(m, k); | ||
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
| desc = { enumerable: true, get: function() { return m[k]; } }; | ||
| } | ||
| Object.defineProperty(o, k2, desc); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const jsx_runtime_1 = require("react/jsx-runtime"); | ||
| const DrawerToggleContext_1 = __importDefault(require("../Contexts/DrawerToggleContext")); | ||
| const DrawerToggleContext_1 = __importStar(require("../Contexts/DrawerToggleContext")); | ||
| const react_1 = require("react"); | ||
| const DrawerToggleProvider = ({ children, drawerOpen: givenDrawerOpen, onDrawerToggle }) => { | ||
| const [drawerOpen, setDrawerOpen] = (0, react_1.useState)(givenDrawerOpen); | ||
| (0, react_1.useEffect)(() => { | ||
| setDrawerOpen(givenDrawerOpen); | ||
| }, [ | ||
| givenDrawerOpen | ||
| ]); | ||
| const toggleDrawer = (0, react_1.useCallback)((open) => { | ||
| if (open === undefined) { | ||
| setDrawerOpen((currentDrawerOpen) => { | ||
| const toggleOpen = !currentDrawerOpen; | ||
| if (onDrawerToggle) { | ||
| onDrawerToggle(toggleOpen); | ||
| const DrawerToggleProvider = ({ children }) => { | ||
| const [drawerOpen, setDrawerOpen] = (0, react_1.useState)(DrawerToggleContext_1.defaults.drawerOpen); | ||
| const value = (0, react_1.useMemo)(() => { | ||
| return { | ||
| drawerOpen, | ||
| toggleDrawer: (open) => { | ||
| if (open === undefined) { | ||
| setDrawerOpen(!drawerOpen); | ||
| } | ||
| return toggleOpen; | ||
| }); | ||
| } | ||
| else { | ||
| if (onDrawerToggle) { | ||
| onDrawerToggle(open); | ||
| else { | ||
| setDrawerOpen(open); | ||
| } | ||
| } | ||
| setDrawerOpen(open); | ||
| } | ||
| }, [ | ||
| onDrawerToggle | ||
| ]); | ||
| const value = (0, react_1.useMemo)(() => { | ||
| return { | ||
| drawerOpen: Boolean(drawerOpen), | ||
| toggleDrawer | ||
| }; | ||
| }, [ | ||
| drawerOpen, | ||
| toggleDrawer | ||
| setDrawerOpen | ||
| ]); | ||
| return ((0, jsx_runtime_1.jsx)(DrawerToggleContext_1.default.Provider, Object.assign({ value: value }, { children: children }))); | ||
| return ((0, jsx_runtime_1.jsx)(DrawerToggleContext_1.default.Provider, { value: value, children: children })); | ||
| }; | ||
| DrawerToggleProvider.displayName = 'DrawerToggleProvider'; | ||
| exports.default = DrawerToggleProvider; |
@@ -1,4 +0,4 @@ | ||
| import { type ProvidersProps } from '../Types'; | ||
| import { type FunctionComponent } from 'react'; | ||
| import { type FunctionComponent, type PropsWithChildren } from 'react'; | ||
| declare const Providers: FunctionComponent<ProvidersProps>; | ||
| export default Providers; | ||
| export type ProvidersProps = PropsWithChildren<{}>; |
@@ -12,6 +12,6 @@ "use strict"; | ||
| const TabProvider_1 = __importDefault(require("./TabProvider")); | ||
| const Providers = ({ children, drawerIndex, drawerOpen, onDrawerToggle, onSelectDrawer, onSelectTab, tabIndex }) => { | ||
| 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 })) })) }) }) }))); | ||
| const Providers = ({ children }) => { | ||
| 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 }) }) }) }) })); | ||
| }; | ||
| Providers.displayName = 'SharedProviders'; | ||
| exports.default = Providers; |
@@ -1,4 +0,4 @@ | ||
| import { type TabIndexProviderProps } from '../Types'; | ||
| import { type FunctionComponent } from 'react'; | ||
| import { type FunctionComponent, type PropsWithChildren } from 'react'; | ||
| declare const TabIndexProvider: FunctionComponent<TabIndexProviderProps>; | ||
| export default TabIndexProvider; | ||
| export type TabIndexProviderProps = PropsWithChildren<{}>; |
@@ -29,33 +29,16 @@ "use strict"; | ||
| const react_1 = require("react"); | ||
| const TabIndexProvider = ({ children, onSelectTab, tabIndex: givenTabIndex }) => { | ||
| const TabIndexProvider = ({ children }) => { | ||
| const [tabIndex, setTabIndex] = (0, react_1.useState)(TabIndexContext_1.defaults.tabIndex); | ||
| (0, react_1.useEffect)(() => { | ||
| const safeIndex = Number.isSafeInteger(givenTabIndex) && | ||
| Number(givenTabIndex); | ||
| if (safeIndex) { | ||
| setTabIndex(safeIndex); | ||
| } | ||
| }, [ | ||
| givenTabIndex | ||
| ]); | ||
| const selectTab = (0, react_1.useCallback)((selectedTabIndex) => { | ||
| if (onSelectTab) { | ||
| onSelectTab(selectedTabIndex); | ||
| } | ||
| setTabIndex(selectedTabIndex); | ||
| }, [ | ||
| onSelectTab | ||
| ]); | ||
| const value = (0, react_1.useMemo)(() => { | ||
| return { | ||
| selectTab, | ||
| selectTab: setTabIndex, | ||
| tabIndex | ||
| }; | ||
| }, [ | ||
| selectTab, | ||
| setTabIndex, | ||
| tabIndex | ||
| ]); | ||
| return ((0, jsx_runtime_1.jsx)(TabIndexContext_1.default.Provider, Object.assign({ value: value }, { children: children }))); | ||
| return ((0, jsx_runtime_1.jsx)(TabIndexContext_1.default.Provider, { value: value, children: children })); | ||
| }; | ||
| exports.default = TabIndexProvider; | ||
| TabIndexProvider.displayName = 'TabIndexProvider'; |
@@ -126,5 +126,5 @@ "use strict"; | ||
| ]); | ||
| return ((0, jsx_runtime_1.jsx)(TabContext_1.default.Provider, Object.assign({ value: value }, { children: children }))); | ||
| return ((0, jsx_runtime_1.jsx)(TabContext_1.default.Provider, { value: value, children: children })); | ||
| }; | ||
| TabProvider.displayName = 'TabProvider'; | ||
| exports.default = TabProvider; |
+11
-25
@@ -1,6 +0,12 @@ | ||
| import { type PropsWithChildren } from 'react'; | ||
| import { type Dispatch, type PropsWithChildren, type SetStateAction } from 'react'; | ||
| export type DigestProps = { | ||
| drawerIndex?: number; | ||
| onSelectDrawer?: (tabIndex: number) => void; | ||
| onSelectTab?: (tabIndex: number) => void; | ||
| tabIndex?: number; | ||
| }; | ||
| export type DrawerType = { | ||
| drawerId: string; | ||
| swipe?: boolean; | ||
| tabs?: string[]; | ||
| tabId?: string; | ||
| title?: string; | ||
@@ -18,7 +24,7 @@ }; | ||
| drawerIndex: number; | ||
| selectDrawer: (drawerIndex: number) => void; | ||
| selectDrawer: Dispatch<SetStateAction<number>>; | ||
| }; | ||
| export type DrawerToggleContextProps = { | ||
| drawerOpen: boolean; | ||
| toggleDrawer: (open?: boolean | undefined) => void; | ||
| toggleDrawer: (open?: boolean) => void; | ||
| }; | ||
@@ -41,3 +47,3 @@ export type TabType = { | ||
| export type TabIndexContextProps = { | ||
| selectTab: (tabIndex: number) => void; | ||
| selectTab: Dispatch<SetStateAction<number>>; | ||
| tabIndex: number; | ||
@@ -56,21 +62,1 @@ }; | ||
| }; | ||
| export type DrawerIndexProviderProps = PropsWithChildren<{ | ||
| drawerIndex?: number; | ||
| onSelectDrawer?: (tabIndex: number) => void; | ||
| }>; | ||
| export type DrawerToggleProviderProps = PropsWithChildren<{ | ||
| drawerOpen?: boolean; | ||
| onDrawerToggle?: (drawerOpen?: boolean) => void; | ||
| }>; | ||
| export type TabIndexProviderProps = PropsWithChildren<{ | ||
| onSelectTab?: (tabIndex: number) => void; | ||
| tabIndex?: number; | ||
| }>; | ||
| export type ProvidersProps = DrawerIndexProviderProps & DrawerToggleProviderProps & PropsWithChildren<{}> & TabIndexProviderProps; | ||
| export type ReactDigestProps = PropsWithChildren<{}> & ProvidersProps; | ||
| export type ReactDigestDrawerProps = Omit<DrawerType, 'tabs'> & PropsWithChildren<{}> & { | ||
| tabId?: string; | ||
| }; | ||
| export type ReactDigestTabProps = PropsWithChildren<{}> & TabType; | ||
| export type ReactDigestAppBarProps = PropsWithChildren<{}>; | ||
| export type ReactDigestDrawerBarProps = PropsWithChildren<{}>; |
+13
-13
@@ -5,3 +5,3 @@ { | ||
| "license": "LGPL-3.0-or-later", | ||
| "version": "0.3.2-beta.1", | ||
| "version": "1.0.0", | ||
| "private": false, | ||
@@ -47,14 +47,14 @@ "description": "Shared Components for a boilerplate React GUI", | ||
| "devDependencies": { | ||
| "@digest/eslint-config-jest": "^4.2.2", | ||
| "@digest/eslint-config-react": "^4.2.2", | ||
| "@digest/eslint-config-typescript": "^4.2.2", | ||
| "@digest/jest-junit": "^4.2.2", | ||
| "@digest/jest-react": "^4.2.2", | ||
| "@digest/jest-typescript": "^4.2.2", | ||
| "@digest/typescript": "^4.2.2", | ||
| "@types/jest": "^29.5.1", | ||
| "@types/react": "^18.0.38", | ||
| "@digest/eslint-config-jest": "^4.2.5", | ||
| "@digest/eslint-config-react": "^4.2.5", | ||
| "@digest/eslint-config-typescript": "^4.2.5", | ||
| "@digest/jest-junit": "^4.2.5", | ||
| "@digest/jest-react": "^4.2.5", | ||
| "@digest/jest-typescript": "^4.2.5", | ||
| "@digest/typescript": "^4.2.5", | ||
| "@types/jest": "^29.5.3", | ||
| "@types/react": "^18.2.17", | ||
| "@types/react-test-renderer": "^18.0.0", | ||
| "cross-env": "^7.0.3", | ||
| "jest-environment-jsdom": "^29.5.0", | ||
| "jest-environment-jsdom": "^29.6.2", | ||
| "jest-environment-jsdom-global": "^4.0.0", | ||
@@ -64,3 +64,3 @@ "npm-run-all": "^4.1.5", | ||
| "react-test-renderer": "^18.2.0", | ||
| "rimraf": "^5.0.0" | ||
| "rimraf": "^5.0.1" | ||
| }, | ||
@@ -77,3 +77,3 @@ "peerDependencies": { | ||
| ], | ||
| "gitHead": "d7041d722670220288a98743c02810b000cf8020" | ||
| "gitHead": "ac0d0964d66c9c11f50b625d5ca5aec4e20bb72a" | ||
| } |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
0
-100%72426
-3.77%595
-11.06%