@xyo-network/react-appbar 2.35.9 → 2.35.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/SiteMenu/hooks/index.d.ts +2 -0
- package/dist/cjs/components/SiteMenu/hooks/index.d.ts.map +1 -0
- package/dist/cjs/components/SiteMenu/hooks/index.js +5 -0
- package/dist/cjs/components/SiteMenu/hooks/index.js.map +1 -0
- package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.d.ts +8 -0
- package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.d.ts.map +1 -0
- package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.js +23 -0
- package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.js.map +1 -0
- package/dist/cjs/components/SiteMenu/index.d.ts +1 -0
- package/dist/cjs/components/SiteMenu/index.d.ts.map +1 -1
- package/dist/cjs/components/SiteMenu/index.js +1 -0
- package/dist/cjs/components/SiteMenu/index.js.map +1 -1
- package/dist/docs.json +728 -594
- package/dist/esm/components/SiteMenu/hooks/index.d.ts +2 -0
- package/dist/esm/components/SiteMenu/hooks/index.d.ts.map +1 -0
- package/dist/esm/components/SiteMenu/hooks/index.js +2 -0
- package/dist/esm/components/SiteMenu/hooks/index.js.map +1 -0
- package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.d.ts +8 -0
- package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.d.ts.map +1 -0
- package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.js +19 -0
- package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.js.map +1 -0
- package/dist/esm/components/SiteMenu/index.d.ts +1 -0
- package/dist/esm/components/SiteMenu/index.d.ts.map +1 -1
- package/dist/esm/components/SiteMenu/index.js +1 -0
- package/dist/esm/components/SiteMenu/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/CollapsibleDrawer/CollapseDrawer.stories.tsx +64 -0
- package/src/components/SiteMenu/MenuItem.stories.tsx +2 -35
- package/src/components/SiteMenu/hooks/index.ts +1 -0
- package/src/components/SiteMenu/hooks/useMenuItemsShared.tsx +29 -0
- package/src/components/SiteMenu/index.ts +1 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { SiteMenuListItemProps } from '../MenuItems';
|
2
|
+
declare type DefaultSiteMenuListItemProps = Pick<SiteMenuListItemProps, 'collapseEnd' | 'dense' | 'iconOnly' | 'sx'>;
|
3
|
+
export declare const useMenuItemsShared: () => {
|
4
|
+
defaultSiteMenuListItemProps: DefaultSiteMenuListItemProps;
|
5
|
+
onMenuItemToggle: (open?: boolean) => void;
|
6
|
+
};
|
7
|
+
export {};
|
8
|
+
//# sourceMappingURL=useMenuItemsShared.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuItemsShared.d.ts","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/hooks/useMenuItemsShared.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,aAAK,4BAA4B,GAAG,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,CAAA;AAE5G,eAAO,MAAM,kBAAkB;;8BAGI,OAAO;CAkBzC,CAAA"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { useMemo } from 'react';
|
2
|
+
import { useCollapsible } from '../../../contexts';
|
3
|
+
export const useMenuItemsShared = () => {
|
4
|
+
const { collapse, collapseEnd, setCollapse, setCollapseEnd } = useCollapsible();
|
5
|
+
const onMenuItemToggle = (open) => {
|
6
|
+
setCollapse?.((previous) => (open ? false : previous));
|
7
|
+
setCollapseEnd?.((previous) => (open ? false : previous));
|
8
|
+
};
|
9
|
+
const defaultSiteMenuListItemProps = useMemo(() => ({
|
10
|
+
collapseEnd,
|
11
|
+
dense: true,
|
12
|
+
iconOnly: collapse,
|
13
|
+
sx: {
|
14
|
+
px: '8px',
|
15
|
+
},
|
16
|
+
}), [collapse, collapseEnd]);
|
17
|
+
return { defaultSiteMenuListItemProps, onMenuItemToggle };
|
18
|
+
};
|
19
|
+
//# sourceMappingURL=useMenuItemsShared.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuItemsShared.js","sourceRoot":"","sources":["../../../../../src/components/SiteMenu/hooks/useMenuItemsShared.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAKlD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAA;IAE/E,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,EAAE;QAC1C,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtD,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,MAAM,4BAA4B,GAAiC,OAAO,CACxE,GAAG,EAAE,CAAC,CAAC;QACL,WAAW;QACX,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,QAAQ;QAClB,EAAE,EAAE;YACF,EAAE,EAAE,KAAK;SACV;KACF,CAAC,EACF,CAAC,QAAQ,EAAE,WAAW,CAAC,CACxB,CAAA;IAED,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,CAAA;AAC3D,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SiteMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SiteMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SiteMenu/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
|
package/package.json
CHANGED
@@ -16,11 +16,11 @@
|
|
16
16
|
"@xylabs/react-flexbox": "^2.14.20",
|
17
17
|
"@xylabs/react-link": "^2.14.20",
|
18
18
|
"@xylabs/react-shared": "^2.14.20",
|
19
|
-
"@xyo-network/react-app-settings": "^2.35.
|
20
|
-
"@xyo-network/react-archive": "^2.35.
|
21
|
-
"@xyo-network/react-auth-sets": "^2.35.
|
22
|
-
"@xyo-network/react-network": "^2.35.
|
23
|
-
"@xyo-network/react-shared": "^2.35.
|
19
|
+
"@xyo-network/react-app-settings": "^2.35.11",
|
20
|
+
"@xyo-network/react-archive": "^2.35.11",
|
21
|
+
"@xyo-network/react-auth-sets": "^2.35.11",
|
22
|
+
"@xyo-network/react-network": "^2.35.11",
|
23
|
+
"@xyo-network/react-shared": "^2.35.11",
|
24
24
|
"tslib": "^2.4.0"
|
25
25
|
},
|
26
26
|
"peerDependencies": {
|
@@ -76,5 +76,5 @@
|
|
76
76
|
},
|
77
77
|
"sideEffects": false,
|
78
78
|
"types": "dist/esm/index.d.ts",
|
79
|
-
"version": "2.35.
|
79
|
+
"version": "2.35.11"
|
80
80
|
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import PublicRoundedIcon from '@mui/icons-material/PublicRounded'
|
2
|
+
import { Divider, List, useTheme } from '@mui/material'
|
3
|
+
import { ComponentMeta, ComponentStory, DecoratorFn } from '@storybook/react'
|
4
|
+
import { FlexGrowCol } from '@xylabs/react-flexbox'
|
5
|
+
|
6
|
+
import { CollapsibleProvider, useCollapsible } from '../../contexts'
|
7
|
+
import { SiteMenuListItem, SiteMenuListItemProps } from '../SiteMenu'
|
8
|
+
import { CollapseToggleFlex } from './CollapseToggle'
|
9
|
+
import { CollapsibleDrawer } from './CollapsibleDrawer'
|
10
|
+
|
11
|
+
const CollapseProviderDecorator: DecoratorFn = (Story, args) => {
|
12
|
+
return (
|
13
|
+
<CollapsibleProvider>
|
14
|
+
<Story {...args} />
|
15
|
+
</CollapsibleProvider>
|
16
|
+
)
|
17
|
+
}
|
18
|
+
|
19
|
+
const StorybookEntry = {
|
20
|
+
argTypes: {},
|
21
|
+
component: CollapsibleDrawer,
|
22
|
+
decorators: [CollapseProviderDecorator],
|
23
|
+
parameters: {
|
24
|
+
docs: {
|
25
|
+
page: null,
|
26
|
+
},
|
27
|
+
},
|
28
|
+
title: 'appbar/CollapseDrawer',
|
29
|
+
} as ComponentMeta<typeof CollapsibleDrawer>
|
30
|
+
|
31
|
+
const SiteMenuList: React.FC<SiteMenuListItemProps> = (args) => {
|
32
|
+
return (
|
33
|
+
<List>
|
34
|
+
<SiteMenuListItem {...args} />
|
35
|
+
<SiteMenuListItem {...args} />
|
36
|
+
<SiteMenuListItem {...args} />
|
37
|
+
</List>
|
38
|
+
)
|
39
|
+
}
|
40
|
+
|
41
|
+
const Template: ComponentStory<typeof CollapsibleDrawer> = (args) => {
|
42
|
+
const { collapse, setCollapseEnd, collapseEnd } = useCollapsible()
|
43
|
+
const theme = useTheme()
|
44
|
+
return (
|
45
|
+
<>
|
46
|
+
<FlexGrowCol alignItems="start" height="calc(100vh - 2rem)">
|
47
|
+
<CollapsibleDrawer in={!collapse} orientation="horizontal" collapsedSize={theme.spacing(5)} onExited={() => setCollapseEnd?.(true)} {...args}>
|
48
|
+
<SiteMenuList iconOnly={collapse} collapseEnd={collapseEnd} primary="test" icon={<PublicRoundedIcon />} />
|
49
|
+
<FlexGrowCol />
|
50
|
+
<CollapseToggleFlex justifyContent="start" />
|
51
|
+
</CollapsibleDrawer>
|
52
|
+
<Divider orientation="vertical" flexItem />
|
53
|
+
</FlexGrowCol>
|
54
|
+
</>
|
55
|
+
)
|
56
|
+
}
|
57
|
+
|
58
|
+
const Default = Template.bind({})
|
59
|
+
Default.args = {}
|
60
|
+
|
61
|
+
export { Default }
|
62
|
+
|
63
|
+
// eslint-disable-next-line import/no-default-export
|
64
|
+
export default StorybookEntry
|
@@ -1,8 +1,6 @@
|
|
1
1
|
import PublicRoundedIcon from '@mui/icons-material/PublicRounded'
|
2
|
-
import {
|
2
|
+
import { List } from '@mui/material'
|
3
3
|
import { ComponentMeta, ComponentStory } from '@storybook/react'
|
4
|
-
import { FlexRow } from '@xylabs/react-flexbox'
|
5
|
-
import { useState } from 'react'
|
6
4
|
|
7
5
|
import { SiteMenuListItem, SiteMenuListItemProps } from './MenuItems'
|
8
6
|
|
@@ -27,30 +25,6 @@ const SiteMenuList: React.FC<SiteMenuListItemProps> = (args) => {
|
|
27
25
|
)
|
28
26
|
}
|
29
27
|
|
30
|
-
const CollapseTemplate: ComponentStory<typeof SiteMenuListItem> = (args) => {
|
31
|
-
const [collapse, setCollapse] = useState(false)
|
32
|
-
const [onCollapseEnd, setOnCollapseEnd] = useState(false)
|
33
|
-
const theme = useTheme()
|
34
|
-
return (
|
35
|
-
<>
|
36
|
-
<FlexRow justifyContent="start">
|
37
|
-
<Collapse in={!collapse} orientation="horizontal" collapsedSize={theme.spacing(5)} onExited={() => setOnCollapseEnd(true)}>
|
38
|
-
<SiteMenuList {...args} iconOnly={collapse} collapseEnd={onCollapseEnd} />
|
39
|
-
</Collapse>
|
40
|
-
<Divider orientation="vertical" flexItem />
|
41
|
-
</FlexRow>
|
42
|
-
<Button
|
43
|
-
onClick={() => {
|
44
|
-
setOnCollapseEnd((previous) => (previous ? false : previous))
|
45
|
-
setCollapse(!collapse)
|
46
|
-
}}
|
47
|
-
>
|
48
|
-
Toggle
|
49
|
-
</Button>
|
50
|
-
</>
|
51
|
-
)
|
52
|
-
}
|
53
|
-
|
54
28
|
const Template: ComponentStory<typeof SiteMenuListItem> = (args) => {
|
55
29
|
return <SiteMenuList {...args} />
|
56
30
|
}
|
@@ -61,13 +35,6 @@ Default.args = {
|
|
61
35
|
primary: 'Test',
|
62
36
|
}
|
63
37
|
|
64
|
-
const WithCollapse = CollapseTemplate.bind({})
|
65
|
-
WithCollapse.args = {
|
66
|
-
dense: true,
|
67
|
-
icon: <PublicRoundedIcon />,
|
68
|
-
primary: 'Test',
|
69
|
-
}
|
70
|
-
|
71
38
|
const WithChildren = Template.bind({})
|
72
39
|
WithChildren.args = {
|
73
40
|
children: (
|
@@ -79,7 +46,7 @@ WithChildren.args = {
|
|
79
46
|
primary: 'Test',
|
80
47
|
}
|
81
48
|
|
82
|
-
export { Default, WithChildren
|
49
|
+
export { Default, WithChildren }
|
83
50
|
|
84
51
|
// eslint-disable-next-line import/no-default-export
|
85
52
|
export default StorybookEntry
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useMenuItemsShared'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { useMemo } from 'react'
|
2
|
+
|
3
|
+
import { useCollapsible } from '../../../contexts'
|
4
|
+
import { SiteMenuListItemProps } from '../MenuItems'
|
5
|
+
|
6
|
+
type DefaultSiteMenuListItemProps = Pick<SiteMenuListItemProps, 'collapseEnd' | 'dense' | 'iconOnly' | 'sx'>
|
7
|
+
|
8
|
+
export const useMenuItemsShared = () => {
|
9
|
+
const { collapse, collapseEnd, setCollapse, setCollapseEnd } = useCollapsible()
|
10
|
+
|
11
|
+
const onMenuItemToggle = (open?: boolean) => {
|
12
|
+
setCollapse?.((previous) => (open ? false : previous))
|
13
|
+
setCollapseEnd?.((previous) => (open ? false : previous))
|
14
|
+
}
|
15
|
+
|
16
|
+
const defaultSiteMenuListItemProps: DefaultSiteMenuListItemProps = useMemo(
|
17
|
+
() => ({
|
18
|
+
collapseEnd,
|
19
|
+
dense: true,
|
20
|
+
iconOnly: collapse,
|
21
|
+
sx: {
|
22
|
+
px: '8px',
|
23
|
+
},
|
24
|
+
}),
|
25
|
+
[collapse, collapseEnd],
|
26
|
+
)
|
27
|
+
|
28
|
+
return { defaultSiteMenuListItemProps, onMenuItemToggle }
|
29
|
+
}
|