@xyo-network/react-appbar 3.0.1 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. package/dist/browser/components/AppBar/Application.d.ts +11 -0
  2. package/dist/browser/components/AppBar/Application.d.ts.map +1 -0
  3. package/dist/browser/components/AppBar/index.d.ts +2 -0
  4. package/dist/browser/components/AppBar/index.d.ts.map +1 -0
  5. package/dist/browser/components/CollapsibleDrawer/CollapseToggle.d.ts +4 -0
  6. package/dist/browser/components/CollapsibleDrawer/CollapseToggle.d.ts.map +1 -0
  7. package/dist/browser/components/CollapsibleDrawer/CollapsibleDrawer.d.ts +5 -0
  8. package/dist/browser/components/CollapsibleDrawer/CollapsibleDrawer.d.ts.map +1 -0
  9. package/dist/browser/components/CollapsibleDrawer/index.d.ts +3 -0
  10. package/dist/browser/components/CollapsibleDrawer/index.d.ts.map +1 -0
  11. package/dist/browser/components/CollapsibleDrawer/storyExampleMenuData.d.ts +4 -0
  12. package/dist/browser/components/CollapsibleDrawer/storyExampleMenuData.d.ts.map +1 -0
  13. package/dist/browser/components/MobileSystemControls/SystemControls.d.ts +5 -0
  14. package/dist/browser/components/MobileSystemControls/SystemControls.d.ts.map +1 -0
  15. package/dist/browser/components/MobileSystemControls/SystemControlsRoot.d.ts +4 -0
  16. package/dist/browser/components/MobileSystemControls/SystemControlsRoot.d.ts.map +1 -0
  17. package/dist/browser/components/MobileSystemControls/SystemControlsType.d.ts +6 -0
  18. package/dist/browser/components/MobileSystemControls/SystemControlsType.d.ts.map +1 -0
  19. package/dist/browser/components/MobileSystemControls/SystemControlsUnstyled.d.ts +11 -0
  20. package/dist/browser/components/MobileSystemControls/SystemControlsUnstyled.d.ts.map +1 -0
  21. package/dist/browser/components/MobileSystemControls/controls/SystemControl.d.ts +11 -0
  22. package/dist/browser/components/MobileSystemControls/controls/SystemControl.d.ts.map +1 -0
  23. package/dist/browser/components/MobileSystemControls/controls/SystemControlText.d.ts +8 -0
  24. package/dist/browser/components/MobileSystemControls/controls/SystemControlText.d.ts.map +1 -0
  25. package/dist/browser/components/MobileSystemControls/controls/index.d.ts +3 -0
  26. package/dist/browser/components/MobileSystemControls/controls/index.d.ts.map +1 -0
  27. package/dist/browser/components/MobileSystemControls/index.d.ts +4 -0
  28. package/dist/browser/components/MobileSystemControls/index.d.ts.map +1 -0
  29. package/dist/browser/components/SearchBar/SearchBar.d.ts +7 -0
  30. package/dist/browser/components/SearchBar/SearchBar.d.ts.map +1 -0
  31. package/dist/browser/components/SearchBar/index.d.ts +2 -0
  32. package/dist/browser/components/SearchBar/index.d.ts.map +1 -0
  33. package/dist/browser/components/SiteMenu/Menu.d.ts +9 -0
  34. package/dist/browser/components/SiteMenu/Menu.d.ts.map +1 -0
  35. package/dist/browser/components/SiteMenu/MenuListItem/MenuListItemContainer.d.ts +11 -0
  36. package/dist/browser/components/SiteMenu/MenuListItem/MenuListItemContainer.d.ts.map +1 -0
  37. package/dist/browser/components/SiteMenu/MenuListItem/index.d.ts +2 -0
  38. package/dist/browser/components/SiteMenu/MenuListItem/index.d.ts.map +1 -0
  39. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.d.ts +7 -0
  40. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.d.ts.map +1 -0
  41. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.d.ts +8 -0
  42. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.d.ts.map +1 -0
  43. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.d.ts +7 -0
  44. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.d.ts.map +1 -0
  45. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/index.d.ts +4 -0
  46. package/dist/browser/components/SiteMenu/MenuListItem/list-item-components/index.d.ts.map +1 -0
  47. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.d.ts +11 -0
  48. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.d.ts.map +1 -0
  49. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.d.ts +9 -0
  50. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.d.ts.map +1 -0
  51. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/index.d.ts +3 -0
  52. package/dist/browser/components/SiteMenu/MenuListItem/sub-nav/index.d.ts.map +1 -0
  53. package/dist/browser/components/SiteMenu/MenuSection.d.ts +11 -0
  54. package/dist/browser/components/SiteMenu/MenuSection.d.ts.map +1 -0
  55. package/dist/browser/components/SiteMenu/hooks/index.d.ts +2 -0
  56. package/dist/browser/components/SiteMenu/hooks/index.d.ts.map +1 -0
  57. package/dist/browser/components/SiteMenu/hooks/useMenuItemsShared.d.ts +7 -0
  58. package/dist/browser/components/SiteMenu/hooks/useMenuItemsShared.d.ts.map +1 -0
  59. package/dist/browser/components/SiteMenu/index.d.ts +6 -0
  60. package/dist/browser/components/SiteMenu/index.d.ts.map +1 -0
  61. package/dist/browser/components/SiteMenu/lib/MenuListItemBase.d.ts +5 -0
  62. package/dist/browser/components/SiteMenu/lib/MenuListItemBase.d.ts.map +1 -0
  63. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.ts +12 -0
  64. package/dist/browser/components/SiteMenu/lib/NavListItemProps.d.ts.map +1 -0
  65. package/dist/browser/components/SiteMenu/lib/index.d.ts +3 -0
  66. package/dist/browser/components/SiteMenu/lib/index.d.ts.map +1 -0
  67. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.ts +9 -0
  68. package/dist/browser/components/Toolbar/Context/ContextToolbar.d.ts.map +1 -0
  69. package/dist/browser/components/Toolbar/Context/Logo.d.ts +3 -0
  70. package/dist/browser/components/Toolbar/Context/Logo.d.ts.map +1 -0
  71. package/dist/browser/components/Toolbar/Context/LogoLinkEx.d.ts +7 -0
  72. package/dist/browser/components/Toolbar/Context/LogoLinkEx.d.ts.map +1 -0
  73. package/dist/browser/components/Toolbar/Context/index.d.ts +2 -0
  74. package/dist/browser/components/Toolbar/Context/index.d.ts.map +1 -0
  75. package/dist/browser/components/Toolbar/System/SystemToolbar.d.ts +16 -0
  76. package/dist/browser/components/Toolbar/System/SystemToolbar.d.ts.map +1 -0
  77. package/dist/browser/components/Toolbar/System/index.d.ts +2 -0
  78. package/dist/browser/components/Toolbar/System/index.d.ts.map +1 -0
  79. package/dist/browser/components/Toolbar/index.d.ts +3 -0
  80. package/dist/browser/components/Toolbar/index.d.ts.map +1 -0
  81. package/dist/browser/components/index.d.ts +7 -0
  82. package/dist/browser/components/index.d.ts.map +1 -0
  83. package/dist/browser/contexts/Collapsible/State.d.ts +9 -0
  84. package/dist/browser/contexts/Collapsible/State.d.ts.map +1 -0
  85. package/dist/browser/contexts/Collapsible/context.d.ts +3 -0
  86. package/dist/browser/contexts/Collapsible/context.d.ts.map +1 -0
  87. package/dist/browser/contexts/Collapsible/index.d.ts +4 -0
  88. package/dist/browser/contexts/Collapsible/index.d.ts.map +1 -0
  89. package/dist/browser/contexts/Collapsible/provider.d.ts +8 -0
  90. package/dist/browser/contexts/Collapsible/provider.d.ts.map +1 -0
  91. package/dist/browser/contexts/Collapsible/use.d.ts +2 -0
  92. package/dist/browser/contexts/Collapsible/use.d.ts.map +1 -0
  93. package/dist/browser/contexts/index.d.ts +2 -0
  94. package/dist/browser/contexts/index.d.ts.map +1 -0
  95. package/dist/browser/index.d.ts +3 -116
  96. package/dist/browser/index.d.ts.map +1 -0
  97. package/dist/browser/index.mjs +5 -15
  98. package/dist/browser/index.mjs.map +1 -1
  99. package/package.json +59 -53
  100. package/src/components/AppBar/Application.stories.tsx +8 -8
  101. package/src/components/AppBar/Application.tsx +8 -4
  102. package/src/components/CollapsibleDrawer/CollapseDrawer.stories.tsx +8 -10
  103. package/src/components/CollapsibleDrawer/CollapseToggle.tsx +5 -2
  104. package/src/components/CollapsibleDrawer/CollapsibleDrawer.tsx +8 -3
  105. package/src/components/CollapsibleDrawer/storyExampleMenuData.tsx +10 -4
  106. package/src/components/MobileSystemControls/SystemControls.stories.tsx +2 -6
  107. package/src/components/MobileSystemControls/SystemControls.tsx +1 -1
  108. package/src/components/MobileSystemControls/SystemControlsRoot.tsx +4 -7
  109. package/src/components/MobileSystemControls/SystemControlsUnstyled.tsx +4 -2
  110. package/src/components/MobileSystemControls/controls/SystemControl.tsx +5 -3
  111. package/src/components/MobileSystemControls/controls/SystemControlText.tsx +2 -1
  112. package/src/components/SearchBar/SearchBar.tsx +24 -5
  113. package/src/components/SiteMenu/Menu.tsx +8 -3
  114. package/src/components/SiteMenu/MenuListItem/MenuListItemContainer.stories.tsx +7 -8
  115. package/src/components/SiteMenu/MenuListItem/MenuListItemContainer.tsx +6 -3
  116. package/src/components/SiteMenu/MenuListItem/list-item-components/ListItemTooltip.tsx +2 -1
  117. package/src/components/SiteMenu/MenuListItem/list-item-components/MenuIcon.tsx +4 -2
  118. package/src/components/SiteMenu/MenuListItem/list-item-components/MenuListItem.tsx +17 -5
  119. package/src/components/SiteMenu/MenuListItem/sub-nav/SubNavListItemCollapse.tsx +7 -4
  120. package/src/components/SiteMenu/MenuListItem/sub-nav/SubNavToggleIconButton.tsx +6 -2
  121. package/src/components/SiteMenu/MenuSection.tsx +7 -3
  122. package/src/components/SiteMenu/hooks/useMenuItemsShared.tsx +5 -5
  123. package/src/components/SiteMenu/lib/NavListItemProps.ts +3 -3
  124. package/src/components/Toolbar/Context/ContextToolbar.stories.tsx +2 -6
  125. package/src/components/Toolbar/Context/ContextToolbar.tsx +6 -3
  126. package/src/components/Toolbar/Context/LogoLinkEx.tsx +5 -2
  127. package/src/components/Toolbar/System/SystemToolbar.stories.tsx +7 -8
  128. package/src/components/Toolbar/System/SystemToolbar.tsx +8 -4
  129. package/src/contexts/Collapsible/State.ts +2 -2
  130. package/src/contexts/Collapsible/context.ts +1 -1
  131. package/src/contexts/Collapsible/provider.tsx +11 -14
  132. package/xy.config.ts +2 -4
@@ -1,6 +1,10 @@
1
1
  import { Divider, useTheme } from '@mui/material'
2
- import { Decorator, Meta, StoryFn } from '@storybook/react'
3
- import { FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'
2
+ import type {
3
+ Decorator, Meta, StoryFn,
4
+ } from '@storybook/react'
5
+ import {
6
+ FlexCol, FlexGrowCol, FlexRow,
7
+ } from '@xylabs/react-flexbox'
4
8
  import React from 'react'
5
9
 
6
10
  import { CollapsibleProvider, useCollapsible } from '../../contexts/index.ts'
@@ -21,11 +25,7 @@ const StorybookEntry = {
21
25
  argTypes: {},
22
26
  component: CollapsibleDrawer,
23
27
  decorators: [CollapseProviderDecorator],
24
- parameters: {
25
- docs: {
26
- page: null,
27
- },
28
- },
28
+ parameters: { docs: { page: null } },
29
29
  title: 'appbar/CollapseDrawer',
30
30
  } as Meta<typeof CollapsibleDrawer>
31
31
 
@@ -48,9 +48,7 @@ const Template: StoryFn<typeof CollapsibleDrawer> = (args) => {
48
48
  }
49
49
 
50
50
  const Default = Template.bind({})
51
- Default.args = {
52
- collapsedSize: '40px',
53
- }
51
+ Default.args = { collapsedSize: '40px' }
54
52
 
55
53
  export { Default }
56
54
 
@@ -1,5 +1,6 @@
1
1
  import { Icon, useTheme } from '@mui/material'
2
- import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
2
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
+ import { FlexRow } from '@xylabs/react-flexbox'
3
4
  import React, { useState } from 'react'
4
5
  // eslint-disable-next-line import-x/no-internal-modules
5
6
  import { VscArrowSmallLeft, VscArrowSmallRight } from 'react-icons/vsc'
@@ -7,7 +8,9 @@ import { VscArrowSmallLeft, VscArrowSmallRight } from 'react-icons/vsc'
7
8
  import { useCollapsible } from '../../contexts/index.ts'
8
9
 
9
10
  export const CollapseToggleFlex: React.FC<FlexBoxProps> = (props) => {
10
- const { collapse, setCollapse, setCollapseEnd } = useCollapsible()
11
+ const {
12
+ collapse, setCollapse, setCollapseEnd,
13
+ } = useCollapsible()
11
14
  const [hover, setHover] = useState(false)
12
15
  const theme = useTheme()
13
16
 
@@ -1,10 +1,15 @@
1
- import { Collapse, CollapseProps, styled, useTheme } from '@mui/material'
2
- import { WithChildren } from '@xylabs/react-shared'
1
+ import type { CollapseProps } from '@mui/material'
2
+ import {
3
+ Collapse, styled, useTheme,
4
+ } from '@mui/material'
5
+ import type { WithChildren } from '@xylabs/react-shared'
3
6
  import React from 'react'
4
7
 
5
8
  import { useCollapsible } from '../../contexts/index.ts'
6
9
 
7
- export const CollapsibleDrawer: React.FC<WithChildren<CollapseProps>> = ({ children, sx, ...props }) => {
10
+ export const CollapsibleDrawer: React.FC<WithChildren<CollapseProps>> = ({
11
+ children, sx, ...props
12
+ }) => {
8
13
  const { collapse, setCollapseEnd } = useCollapsible()
9
14
  const theme = useTheme()
10
15
 
@@ -15,7 +15,7 @@ import {
15
15
  // eslint-disable-next-line import-x/no-internal-modules
16
16
  } from 'react-icons/vsc'
17
17
 
18
- import { MenuListItemProps } from '../SiteMenu/index.ts'
18
+ import type { MenuListItemProps } from '../SiteMenu/index.ts'
19
19
 
20
20
  export const menuDataTop: MenuListItemProps[] = [
21
21
  {
@@ -46,9 +46,15 @@ export const menuDataTop: MenuListItemProps[] = [
46
46
  icon: <VscServer fontSize="body1" />,
47
47
  primary: 'Archives',
48
48
  subNavListItems: [
49
- { icon: <VscDashboard fontSize="body2" />, primary: 'Dashboard', to: '', tooltip: 'View data for all archives on this network.' },
50
- { icon: <VscAdd fontSize="body2" />, primary: 'Create Archive', to: '', tooltip: 'Create a new archive on this network.' },
51
- { icon: <VscTable fontSize="body2" />, primary: 'Archive Table', to: '', tooltip: 'View all archives on this network as a table.' },
49
+ {
50
+ icon: <VscDashboard fontSize="body2" />, primary: 'Dashboard', to: '', tooltip: 'View data for all archives on this network.',
51
+ },
52
+ {
53
+ icon: <VscAdd fontSize="body2" />, primary: 'Create Archive', to: '', tooltip: 'Create a new archive on this network.',
54
+ },
55
+ {
56
+ icon: <VscTable fontSize="body2" />, primary: 'Archive Table', to: '', tooltip: 'View all archives on this network as a table.',
57
+ },
52
58
  ],
53
59
  to: '',
54
60
  tooltip: 'The most recent blocks seen in the in temp archive on your current network.',
@@ -1,4 +1,4 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import { NetworkMemoryProvider } from '@xyo-network/react-network'
3
3
  import React from 'react'
4
4
 
@@ -8,11 +8,7 @@ import { SystemControlsType } from './SystemControlsType.ts'
8
8
  const StorybookEntry: Meta = {
9
9
  argTypes: {},
10
10
  component: SystemControls,
11
- parameters: {
12
- docs: {
13
- page: null,
14
- },
15
- },
11
+ parameters: { docs: { page: null } },
16
12
  title: 'appbar/System/SystemControls',
17
13
  }
18
14
 
@@ -2,7 +2,7 @@ import { FlexCol } from '@xylabs/react-flexbox'
2
2
  import React from 'react'
3
3
 
4
4
  import { SystemControlsRoot } from './SystemControlsRoot.tsx'
5
- import { SystemControlsUnstyledProps } from './SystemControlsUnstyled.tsx'
5
+ import type { SystemControlsUnstyledProps } from './SystemControlsUnstyled.tsx'
6
6
 
7
7
  const SystemControls: React.FC<SystemControlsUnstyledProps> = (props) => {
8
8
  return (
@@ -1,14 +1,13 @@
1
1
  import { styled } from '@mui/material'
2
2
 
3
3
  import { SystemControlsType } from './SystemControlsType.ts'
4
- import { SystemControlsUnstyled, SystemControlsUnstyledProps } from './SystemControlsUnstyled.tsx'
4
+ import type { SystemControlsUnstyledProps } from './SystemControlsUnstyled.tsx'
5
+ import { SystemControlsUnstyled } from './SystemControlsUnstyled.tsx'
5
6
 
6
7
  const SystemControlsRoot = styled(SystemControlsUnstyled, { name: 'SystemControls', slot: 'Root' })<SystemControlsUnstyledProps>(({ theme }) => ({
7
8
  // shared defaults
8
9
  ['&']: {
9
- '.toggle': {
10
- backgroundColor: theme.palette.primary.main,
11
- },
10
+ '.toggle': { backgroundColor: theme.palette.primary.main },
12
11
  'alignItems': 'start',
13
12
  'zIndex': 1,
14
13
  },
@@ -42,9 +41,7 @@ const SystemControlsRoot = styled(SystemControlsUnstyled, { name: 'SystemControl
42
41
  flexDirection: 'column',
43
42
  padding: `${theme.spacing(2)} ${theme.spacing(2.5)}`,
44
43
  },
45
- '.control-wrap': {
46
- marginBottom: `${theme.spacing(2)}`,
47
- },
44
+ '.control-wrap': { marginBottom: `${theme.spacing(2)}` },
48
45
  '.toggle': {
49
46
  borderRadius: '0 5px 5px 0',
50
47
  padding: `${theme.spacing(1)} ${theme.spacing(0.5)}`,
@@ -1,5 +1,7 @@
1
- import { Paper, Theme, useMediaQuery } from '@mui/material'
2
- import { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'
1
+ import type { Theme } from '@mui/material'
2
+ import { Paper, useMediaQuery } from '@mui/material'
3
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
4
+ import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
3
5
  import { NetworkSelectEx } from '@xyo-network/react-network'
4
6
  import React from 'react'
5
7
 
@@ -1,6 +1,8 @@
1
- import { Collapse, CollapseProps } from '@mui/material'
2
- import { FlexBoxProps, FlexCol, FlexRow } from '@xylabs/react-flexbox'
3
- import { WithChildren } from '@xylabs/react-shared'
1
+ import type { CollapseProps } from '@mui/material'
2
+ import { Collapse } from '@mui/material'
3
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
4
+ import { FlexCol, FlexRow } from '@xylabs/react-flexbox'
5
+ import type { WithChildren } from '@xylabs/react-shared'
4
6
  import React, { useState } from 'react'
5
7
 
6
8
  import { SystemControlsType } from '../SystemControlsType.ts'
@@ -1,5 +1,6 @@
1
1
  import { Typography } from '@mui/material'
2
- import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
2
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
+ import { FlexCol } from '@xylabs/react-flexbox'
3
4
  import React from 'react'
4
5
 
5
6
  interface SystemControlTextProps extends FlexBoxProps {
@@ -1,21 +1,35 @@
1
1
  import { Search as SearchIcon } from '@mui/icons-material'
2
2
  import { Paper, TextField } from '@mui/material'
3
3
  import { ButtonEx } from '@xylabs/react-button'
4
- import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
4
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
5
+ import { FlexRow } from '@xylabs/react-flexbox'
5
6
  import React, { useState } from 'react'
6
7
 
7
8
  export interface SearchBarProps extends FlexBoxProps {
8
9
  onSearch?: (term?: string) => void
9
10
  }
10
11
 
11
- export const SearchBar: React.FC<SearchBarProps> = ({ defaultValue, onSearch, ...props }) => {
12
+ export const SearchBar: React.FC<SearchBarProps> = ({
13
+ defaultValue, onSearch, ...props
14
+ }) => {
12
15
  const [term, setTerm] = useState<string>()
13
16
 
14
17
  return (
15
18
  <FlexRow alignItems="stretch" {...props}>
16
- <Paper variant="elevation" elevation={0} style={{ display: 'flex', overflow: 'hidden', width: '100%' }}>
19
+ <Paper
20
+ variant="elevation"
21
+ elevation={0}
22
+ style={{
23
+ display: 'flex', overflow: 'hidden', width: '100%',
24
+ }}
25
+ >
17
26
  <TextField
18
- InputProps={{ color: 'secondary', style: { borderBottomRightRadius: 0, borderTopRightRadius: 0, borderWidth: 0 } }}
27
+ InputProps={{
28
+ color: 'secondary',
29
+ style: {
30
+ borderBottomRightRadius: 0, borderTopRightRadius: 0, borderWidth: 0,
31
+ },
32
+ }}
19
33
  variant="outlined"
20
34
  size="small"
21
35
  defaultValue={defaultValue}
@@ -25,7 +39,12 @@ export const SearchBar: React.FC<SearchBarProps> = ({ defaultValue, onSearch, ..
25
39
  if (event.key === 'Enter') onSearch?.(term)
26
40
  }}
27
41
  />
28
- <ButtonEx variant="contained" style={{ borderRadius: 0, borderTopLeftRadius: 0 }} color="secondary" onClick={() => onSearch?.(term)}>
42
+ <ButtonEx
43
+ variant="contained"
44
+ style={{ borderRadius: 0, borderTopLeftRadius: 0 }}
45
+ color="secondary"
46
+ onClick={() => onSearch?.(term)}
47
+ >
29
48
  <SearchIcon />
30
49
  </ButtonEx>
31
50
  </Paper>
@@ -1,6 +1,9 @@
1
1
  import { Menu as MenuIcon, Settings as SettingsIcon } from '@mui/icons-material'
2
- import { IconButton, List, SwipeableDrawer } from '@mui/material'
3
- import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
2
+ import {
3
+ IconButton, List, SwipeableDrawer,
4
+ } from '@mui/material'
5
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
6
+ import { FlexRow } from '@xylabs/react-flexbox'
4
7
  import React, { useEffect, useState } from 'react'
5
8
 
6
9
  import { MenuListItemContainer } from './MenuListItem/index.ts'
@@ -11,7 +14,9 @@ export interface SiteMenuProps extends FlexBoxProps {
11
14
  side?: 'left' | 'right' | 'top' | 'bottom'
12
15
  }
13
16
 
14
- export const SiteMenu: React.FC<SiteMenuProps> = ({ children, onMenuToggle, side = 'right', ...props }) => {
17
+ export const SiteMenu: React.FC<SiteMenuProps> = ({
18
+ children, onMenuToggle, side = 'right', ...props
19
+ }) => {
15
20
  const [open, setOpen] = useState(false)
16
21
 
17
22
  useEffect(() => {
@@ -1,20 +1,17 @@
1
1
  import { List } from '@mui/material'
2
- import { Meta, StoryFn } from '@storybook/react'
2
+ import type { Meta, StoryFn } from '@storybook/react'
3
3
  import React from 'react'
4
4
  // eslint-disable-next-line import-x/no-internal-modules
5
5
  import { FaGlobeAmericas } from 'react-icons/fa'
6
6
  import { BrowserRouter } from 'react-router-dom'
7
7
 
8
- import { MenuListItemContainer, MenuListItemProps } from './MenuListItemContainer.tsx'
8
+ import type { MenuListItemProps } from './MenuListItemContainer.tsx'
9
+ import { MenuListItemContainer } from './MenuListItemContainer.tsx'
9
10
 
10
11
  const StorybookEntry = {
11
12
  argTypes: {},
12
13
  component: MenuListItemContainer,
13
- parameters: {
14
- docs: {
15
- page: null,
16
- },
17
- },
14
+ parameters: { docs: { page: null } },
18
15
  title: 'appbar/MenuListItemContainer',
19
16
  } as Meta<typeof MenuListItemContainer>
20
17
 
@@ -46,7 +43,9 @@ const WithChildren = Template.bind({})
46
43
  WithChildren.args = {
47
44
  icon: <FaGlobeAmericas />,
48
45
  primary: 'Explore',
49
- subNavListItems: [{ primary: 'Explore', to: '/explore', tooltip: 'View global archivist data on a world map.' }],
46
+ subNavListItems: [{
47
+ primary: 'Explore', to: '/explore', tooltip: 'View global archivist data on a world map.',
48
+ }],
50
49
  tooltip: 'View global archivist data on a world map.',
51
50
  }
52
51
 
@@ -1,11 +1,14 @@
1
- import { ListItemProps, ListItemText, useTheme } from '@mui/material'
1
+ import type { ListItemProps } from '@mui/material'
2
+ import { ListItemText, useTheme } from '@mui/material'
2
3
  import { FlexRow } from '@xylabs/react-flexbox'
3
4
  import { LinkEx } from '@xylabs/react-link'
4
5
  import React, { useState } from 'react'
5
6
 
6
7
  import { useCollapsible } from '../../../contexts/index.ts'
7
- import { MenuListItemBase, NavListItemProps } from '../lib/index.ts'
8
- import { ListItemTooltip, MenuIcon, MenuListItem } from './list-item-components/index.ts'
8
+ import type { MenuListItemBase, NavListItemProps } from '../lib/index.ts'
9
+ import {
10
+ ListItemTooltip, MenuIcon, MenuListItem,
11
+ } from './list-item-components/index.ts'
9
12
  import { SubNavListItemsCollapse, SubNavToggleIconButton } from './sub-nav/index.ts'
10
13
 
11
14
  export interface MenuListItemProps extends NavListItemProps, MenuListItemBase, ListItemProps {
@@ -1,4 +1,5 @@
1
- import { Tooltip, TooltipProps } from '@mui/material'
1
+ import type { TooltipProps } from '@mui/material'
2
+ import { Tooltip } from '@mui/material'
2
3
  import { FlexCol } from '@xylabs/react-flexbox'
3
4
  import React from 'react'
4
5
  // eslint-disable-next-line import-x/no-internal-modules
@@ -1,5 +1,7 @@
1
- import { Typography, TypographyProps } from '@mui/material'
2
- import React, { ReactNode } from 'react'
1
+ import type { TypographyProps } from '@mui/material'
2
+ import { Typography } from '@mui/material'
3
+ import type { ReactNode } from 'react'
4
+ import React from 'react'
3
5
 
4
6
  export interface MenuIconProps extends TypographyProps {
5
7
  icon?: ReactNode
@@ -1,18 +1,30 @@
1
- import { ListItem, ListItemProps } from '@mui/material'
1
+ import type { ListItemProps } from '@mui/material'
2
+ import { ListItem } from '@mui/material'
2
3
  import React from 'react'
3
4
 
4
- import { MenuListItemBase } from '../../lib/index.ts'
5
+ import type { MenuListItemBase } from '../../lib/index.ts'
5
6
 
6
7
  export interface ListItemExProps extends MenuListItemBase, ListItemProps {}
7
8
 
8
- export const MenuListItem: React.FC<ListItemExProps> = ({ iconOnly, collapseEnd, sx, children, dense, ...props }) => {
9
- const listItemSx = iconOnly ? { borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto' } : { width: '100%' }
9
+ export const MenuListItem: React.FC<ListItemExProps> = ({
10
+ iconOnly, collapseEnd, sx, children, dense, ...props
11
+ }) => {
12
+ const listItemSx = iconOnly
13
+ ? {
14
+ borderRadius: '50%', display: 'inline-flex', flexGrow: 0, width: 'auto',
15
+ }
16
+ : { width: '100%' }
10
17
  // wait till collapseEnds to remove the spacing between items
11
18
  const spacingSx = collapseEnd ? { columnGap: 0 } : { columnGap: 1.5 }
12
19
  // adjusts to the paddingY value which does NOT scale along the theme.spacing
13
20
  const paddingSx = dense ? { px: '8px' } : { px: '12px' }
14
21
  return (
15
- <ListItem sx={{ ...listItemSx, ...spacingSx, ...paddingSx, ...sx }} {...props}>
22
+ <ListItem
23
+ sx={{
24
+ ...listItemSx, ...spacingSx, ...paddingSx, ...sx,
25
+ }}
26
+ {...props}
27
+ >
16
28
  {children}
17
29
  </ListItem>
18
30
  )
@@ -1,8 +1,9 @@
1
- import { Collapse, CollapseProps, List } from '@mui/material'
2
- import { WithChildren } from '@xylabs/react-shared'
1
+ import type { CollapseProps } from '@mui/material'
2
+ import { Collapse, List } from '@mui/material'
3
+ import type { WithChildren } from '@xylabs/react-shared'
3
4
  import React from 'react'
4
5
 
5
- import { NavListItemProps } from '../../lib/index.ts'
6
+ import type { NavListItemProps } from '../../lib/index.ts'
6
7
 
7
8
  export interface SubNavListItemsCollapseProps extends WithChildren, CollapseProps {
8
9
  collapse?: boolean
@@ -10,7 +11,9 @@ export interface SubNavListItemsCollapseProps extends WithChildren, CollapseProp
10
11
  subNavListItems?: NavListItemProps[]
11
12
  }
12
13
 
13
- export const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({ collapse, openSubNav, children, ...props }) => {
14
+ export const SubNavListItemsCollapse: React.FC<SubNavListItemsCollapseProps> = ({
15
+ collapse, openSubNav, children, ...props
16
+ }) => {
14
17
  return (
15
18
  <Collapse in={collapse == true ? false : openSubNav} {...props}>
16
19
  <List>{children}</List>
@@ -1,5 +1,9 @@
1
- import { IconButton, IconButtonProps, useTheme } from '@mui/material'
2
- import React, { Dispatch, SetStateAction, SyntheticEvent } from 'react'
1
+ import type { IconButtonProps } from '@mui/material'
2
+ import { IconButton, useTheme } from '@mui/material'
3
+ import type {
4
+ Dispatch, SetStateAction, SyntheticEvent,
5
+ } from 'react'
6
+ import React from 'react'
3
7
  // eslint-disable-next-line import-x/no-internal-modules
4
8
  import { VscChevronDown } from 'react-icons/vsc'
5
9
  export interface SubNavToggleIconButtonProps extends IconButtonProps {
@@ -1,8 +1,10 @@
1
1
  import { Collapse, ListSubheader } from '@mui/material'
2
- import { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'
2
+ import type { FlexBoxProps } from '@xylabs/react-flexbox'
3
+ import { FlexCol } from '@xylabs/react-flexbox'
3
4
  import React from 'react'
4
5
 
5
- import { MenuListItemContainer, MenuListItemProps } from './MenuListItem/index.ts'
6
+ import type { MenuListItemProps } from './MenuListItem/index.ts'
7
+ import { MenuListItemContainer } from './MenuListItem/index.ts'
6
8
 
7
9
  export interface MenuSectionProps extends FlexBoxProps {
8
10
  iconMenuTextSpacing?: string
@@ -11,7 +13,9 @@ export interface MenuSectionProps extends FlexBoxProps {
11
13
  title: string
12
14
  }
13
15
 
14
- export const MenuSection: React.FC<MenuSectionProps> = ({ iconMenuTextSpacing, listItems, showTitle = true, title, ...props }) => {
16
+ export const MenuSection: React.FC<MenuSectionProps> = ({
17
+ iconMenuTextSpacing, listItems, showTitle = true, title, ...props
18
+ }) => {
15
19
  return (
16
20
  <FlexCol alignItems="stretch" {...props}>
17
21
  <Collapse in={showTitle} timeout={700}>
@@ -1,12 +1,14 @@
1
1
  import { useMemo } from 'react'
2
2
 
3
3
  import { useCollapsible } from '../../../contexts/index.ts'
4
- import { MenuListItemProps } from '../MenuListItem/index.ts'
4
+ import type { MenuListItemProps } from '../MenuListItem/index.ts'
5
5
 
6
6
  export type DefaultSiteMenuListItemProps = Pick<MenuListItemProps, 'collapseEnd' | 'dense' | 'iconOnly' | 'sx'>
7
7
 
8
8
  export const useMenuItemsShared = () => {
9
- const { collapse, collapseEnd, setCollapse, setCollapseEnd } = useCollapsible()
9
+ const {
10
+ collapse, collapseEnd, setCollapse, setCollapseEnd,
11
+ } = useCollapsible()
10
12
 
11
13
  const onMenuItemToggle = (open?: boolean) => {
12
14
  setCollapse?.(previous => (open ? false : previous))
@@ -18,9 +20,7 @@ export const useMenuItemsShared = () => {
18
20
  collapseEnd,
19
21
  dense: true,
20
22
  iconOnly: collapse,
21
- sx: {
22
- px: '8px',
23
- },
23
+ sx: { px: '8px' },
24
24
  }),
25
25
  [collapse, collapseEnd],
26
26
  )
@@ -1,6 +1,6 @@
1
- import { ListItemProps, ListItemTextProps } from '@mui/material'
2
- import { ReactNode } from 'react'
3
- import { To } from 'react-router-dom'
1
+ import type { ListItemProps, ListItemTextProps } from '@mui/material'
2
+ import type { ReactNode } from 'react'
3
+ import type { To } from 'react-router-dom'
4
4
 
5
5
  export interface NavListItemProps {
6
6
  href?: string
@@ -1,4 +1,4 @@
1
- import { Meta, StoryFn } from '@storybook/react'
1
+ import type { Meta, StoryFn } from '@storybook/react'
2
2
  import React from 'react'
3
3
  import { BrowserRouter } from 'react-router-dom'
4
4
 
@@ -7,11 +7,7 @@ import { ContextToolbar } from './ContextToolbar.tsx'
7
7
  const StorybookEntry = {
8
8
  argTypes: {},
9
9
  component: ContextToolbar,
10
- parameters: {
11
- docs: {
12
- page: null,
13
- },
14
- },
10
+ parameters: { docs: { page: null } },
15
11
  title: 'appbar/Toolbar/Context',
16
12
  } as Meta<typeof ContextToolbar>
17
13
 
@@ -1,6 +1,7 @@
1
- import { Toolbar, ToolbarProps } from '@mui/material'
1
+ import type { ToolbarProps } from '@mui/material'
2
+ import { Toolbar } from '@mui/material'
2
3
  import React from 'react'
3
- import { To } from 'react-router-dom'
4
+ import type { To } from 'react-router-dom'
4
5
 
5
6
  import { LogoLinkEx } from './LogoLinkEx.tsx'
6
7
 
@@ -9,7 +10,9 @@ export interface ContextToolbarProps extends ToolbarProps {
9
10
  version?: boolean
10
11
  }
11
12
 
12
- export const ContextToolbar: React.FC<ContextToolbarProps> = ({ logoTo = '/', version = false, ...props }) => {
13
+ export const ContextToolbar: React.FC<ContextToolbarProps> = ({
14
+ logoTo = '/', version = false, ...props
15
+ }) => {
13
16
  return (
14
17
  <Toolbar {...props}>
15
18
  <LogoLinkEx version={version} to={logoTo} />
@@ -1,6 +1,7 @@
1
1
  import { Typography, useTheme } from '@mui/material'
2
2
  import { FlexRow } from '@xylabs/react-flexbox'
3
- import { LinkEx, LinkExProps } from '@xylabs/react-link'
3
+ import type { LinkExProps } from '@xylabs/react-link'
4
+ import { LinkEx } from '@xylabs/react-link'
4
5
  import React from 'react'
5
6
 
6
7
  import { Logo } from './Logo.tsx'
@@ -9,7 +10,9 @@ export interface LogoLinkExProps extends LinkExProps {
9
10
  version?: boolean | string
10
11
  }
11
12
 
12
- export const LogoLinkEx: React.FC<LogoLinkExProps> = ({ to = '/', version = false, ...props }) => {
13
+ export const LogoLinkEx: React.FC<LogoLinkExProps> = ({
14
+ to = '/', version = false, ...props
15
+ }) => {
13
16
  const theme = useTheme()
14
17
  return (
15
18
  <LinkEx to={to} {...props}>
@@ -1,8 +1,9 @@
1
1
  import { List } from '@mui/material'
2
- import { Meta, StoryFn } from '@storybook/react'
2
+ import type { Meta, StoryFn } from '@storybook/react'
3
3
  import { NetworkMemoryProvider } from '@xyo-network/react-network'
4
4
  import { TypographyEx } from '@xyo-network/react-shared'
5
- import React, { SyntheticEvent } from 'react'
5
+ import type { SyntheticEvent } from 'react'
6
+ import React from 'react'
6
7
  import { BrowserRouter } from 'react-router-dom'
7
8
 
8
9
  import { MenuListItemContainer } from '../../SiteMenu/index.ts'
@@ -22,11 +23,7 @@ const DefaultMenu = (
22
23
 
23
24
  const StorybookEntry: Meta = {
24
25
  component: SystemToolbar,
25
- parameters: {
26
- docs: {
27
- page: null,
28
- },
29
- },
26
+ parameters: { docs: { page: null } },
30
27
  title: 'appbar/Toolbar/System',
31
28
  }
32
29
 
@@ -56,6 +53,8 @@ WithOnMenuToggle.args = {
56
53
  onMenuToggle: state => console.log(state),
57
54
  }
58
55
 
59
- export { Default, PrecedingChildren, WithOnMenuToggle }
56
+ export {
57
+ Default, PrecedingChildren, WithOnMenuToggle,
58
+ }
60
59
 
61
60
  export default StorybookEntry
@@ -1,10 +1,14 @@
1
- import { Paper, Toolbar, ToolbarProps } from '@mui/material'
1
+ import type { ToolbarProps } from '@mui/material'
2
+ import { Paper, Toolbar } from '@mui/material'
2
3
  import { FlexRow } from '@xylabs/react-flexbox'
3
4
  import { DarkModeIconButton } from '@xyo-network/react-app-settings'
4
- import { NetworkSelectEx, NetworkSelectExProps } from '@xyo-network/react-network'
5
- import React, { ReactNode } from 'react'
5
+ import type { NetworkSelectExProps } from '@xyo-network/react-network'
6
+ import { NetworkSelectEx } from '@xyo-network/react-network'
7
+ import type { ReactNode } from 'react'
8
+ import React from 'react'
6
9
 
7
- import { SiteMenu, SiteMenuProps } from '../../SiteMenu/index.ts'
10
+ import type { SiteMenuProps } from '../../SiteMenu/index.ts'
11
+ import { SiteMenu } from '../../SiteMenu/index.ts'
8
12
 
9
13
  export interface SystemToolbarProps extends ToolbarProps {
10
14
  darkModeButton?: boolean
@@ -1,5 +1,5 @@
1
- import { ContextExState } from '@xyo-network/react-shared'
2
- import { Dispatch, SetStateAction } from 'react'
1
+ import type { ContextExState } from '@xyo-network/react-shared'
2
+ import type { Dispatch, SetStateAction } from 'react'
3
3
 
4
4
  export interface CollapsibleState extends ContextExState {
5
5
  collapse?: boolean
@@ -1,5 +1,5 @@
1
1
  import { createContextEx } from '@xyo-network/react-shared'
2
2
 
3
- import { CollapsibleState } from './State.ts'
3
+ import type { CollapsibleState } from './State.ts'
4
4
 
5
5
  export const CollapsibleContext = createContextEx<CollapsibleState>()