@xyo-network/react-appbar 2.35.10 → 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.
Files changed (31) hide show
  1. package/dist/cjs/components/SiteMenu/hooks/index.d.ts +2 -0
  2. package/dist/cjs/components/SiteMenu/hooks/index.d.ts.map +1 -0
  3. package/dist/cjs/components/SiteMenu/hooks/index.js +5 -0
  4. package/dist/cjs/components/SiteMenu/hooks/index.js.map +1 -0
  5. package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.d.ts +8 -0
  6. package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.d.ts.map +1 -0
  7. package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.js +23 -0
  8. package/dist/cjs/components/SiteMenu/hooks/useMenuItemsShared.js.map +1 -0
  9. package/dist/cjs/components/SiteMenu/index.d.ts +1 -0
  10. package/dist/cjs/components/SiteMenu/index.d.ts.map +1 -1
  11. package/dist/cjs/components/SiteMenu/index.js +1 -0
  12. package/dist/cjs/components/SiteMenu/index.js.map +1 -1
  13. package/dist/docs.json +728 -594
  14. package/dist/esm/components/SiteMenu/hooks/index.d.ts +2 -0
  15. package/dist/esm/components/SiteMenu/hooks/index.d.ts.map +1 -0
  16. package/dist/esm/components/SiteMenu/hooks/index.js +2 -0
  17. package/dist/esm/components/SiteMenu/hooks/index.js.map +1 -0
  18. package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.d.ts +8 -0
  19. package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.d.ts.map +1 -0
  20. package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.js +19 -0
  21. package/dist/esm/components/SiteMenu/hooks/useMenuItemsShared.js.map +1 -0
  22. package/dist/esm/components/SiteMenu/index.d.ts +1 -0
  23. package/dist/esm/components/SiteMenu/index.d.ts.map +1 -1
  24. package/dist/esm/components/SiteMenu/index.js +1 -0
  25. package/dist/esm/components/SiteMenu/index.js.map +1 -1
  26. package/package.json +6 -6
  27. package/src/components/CollapsibleDrawer/CollapseDrawer.stories.tsx +64 -0
  28. package/src/components/SiteMenu/MenuItem.stories.tsx +2 -35
  29. package/src/components/SiteMenu/hooks/index.ts +1 -0
  30. package/src/components/SiteMenu/hooks/useMenuItemsShared.tsx +29 -0
  31. package/src/components/SiteMenu/index.ts +1 -0
@@ -0,0 +1,2 @@
1
+ export * from './useMenuItemsShared';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export * from './useMenuItemsShared';
2
+ //# sourceMappingURL=index.js.map
@@ -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,3 +1,4 @@
1
+ export * from './hooks';
1
2
  export * from './Menu';
2
3
  export * from './MenuItems';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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,3 +1,4 @@
1
+ export * from './hooks';
1
2
  export * from './Menu';
2
3
  export * from './MenuItems';
3
4
  //# sourceMappingURL=index.js.map
@@ -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.10",
20
- "@xyo-network/react-archive": "^2.35.10",
21
- "@xyo-network/react-auth-sets": "^2.35.10",
22
- "@xyo-network/react-network": "^2.35.10",
23
- "@xyo-network/react-shared": "^2.35.10",
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.10"
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 { Button, Collapse, Divider, List, useTheme } from '@mui/material'
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, WithCollapse }
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
+ }
@@ -1,2 +1,3 @@
1
+ export * from './hooks'
1
2
  export * from './Menu'
2
3
  export * from './MenuItems'