dinocollab-shared 1.2.12 → 1.2.13
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/auth/profile.js +1 -1
- package/dist/auth/profile.js.map +1 -1
- package/dist/layout-global/index.js +1 -1
- package/dist/layout-global/layout-global-api.js +2 -0
- package/dist/layout-global/layout-global-api.js.map +1 -0
- package/dist/layout-global/sub-menu.js +1 -1
- package/dist/layout-global/sub-menu.js.map +1 -1
- package/dist/types/auth/profile.d.ts +2 -1
- package/dist/types/auth/profile.d.ts.map +1 -1
- package/dist/types/layout-global/index.d.ts +1 -0
- package/dist/types/layout-global/index.d.ts.map +1 -1
- package/dist/types/layout-global/layout-global-api.d.ts +18 -0
- package/dist/types/layout-global/layout-global-api.d.ts.map +1 -0
- package/dist/types/layout-global/sub-menu.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/auth/profile.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{inherits as t,createClass as
|
|
1
|
+
import{inherits as t,createClass as e,objectSpread2 as o,classCallCheck as r,callSuper as l,defineProperty as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as i,jsx as a}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as u,Tooltip as d,IconButton as p,Avatar as h,Menu as m,Typography as f,Divider as v,MenuItem as g,Box as x,ListItemIcon as b,colors as C}from"@mui/material";import{getAvatarProps as k}from"../layout-global/helpers.js";var y={root:"Profile-root",title:"Profile-title",item:"Profile-item"},M=function(t,e){return"".concat("",".").concat(y[t]).concat("")},I=function(){function C(t){var e;return r(this,C),e=l(this,C,[t]),n(e,"toggle",function(){return e.setState({isOpen:!e.state.isOpen})}),n(e,"handleClick",function(t){e.setState({element:t.currentTarget})}),n(e,"handleMenuItemClick",function(t,o){o.onClick&&o.onClick(t),e.setState({element:null})}),n(e,"handleClose",function(){e.setState({element:null})}),e.state={isOpen:!1,element:null},e}return t(C,s),e(C,[{key:"render",value:function(){var t,e=this,r=this.props.profile,l=(null==r?void 0:r.UserName)||"Guest";return i(c,{children:[a(u,{in:!0,children:a(d,{title:"Account settings",children:a(p,{onClick:this.handleClick,size:"small","aria-controls":this.state.element?"account-menu":void 0,"aria-haspopup":"true","aria-expanded":this.state.element?"true":void 0,sx:{flex:0},children:a(h,o({src:null!==(t=null==r?void 0:r.AvatarUrl)&&void 0!==t?t:""},k(l)))})})}),i(m,{anchorEl:this.state.element,id:"account-menu",disableScrollLock:!0,open:!!this.state.element,onClose:this.handleClose,onClick:this.handleClose,MenuListProps:{component:"div"},slotProps:{paper:P(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[i(f,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",l]}),a(v,{variant:"middle",sx:{mb:1}}),this.props.menuConfigs.map(function(t,r){return a(g,{children:i(x,o(o(o({className:y.item,onClick:function(o){return e.handleMenuItemClick(o,t)}},t.href?{component:"a",href:t.href}:{}),t.buttonProps),{},{children:[a(b,{children:t.icon}),t.title]}))},r)})]})]})}}])}(),P=function(){var t="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),e=t?"#fff":"#323234",o=t?"#000":"#fff",r=t?C.blue[600]:"#e78a3f",l=t?C.grey[200]:C.grey[700];return{elevation:0,sx:n(n(n(n(n(n(n({"--color-background":e,"--color-text":o,"--color-text-secondary":r,"--color-divider":l,minWidth:"200px",overflow:"visible",filter:"drop-shadow(0px 2px 8px rgba(0,0,0,0.32))",mt:1.5,bgcolor:"var(--color-background)",color:"var(--color-text)"},M("title"),{marginTop:"-8px",padding:"10px 16px",fontWeight:"600",color:"var(--color-text)"}),M("item"),{display:"flex",alignItems:"center",gap:"8px",color:"currentColor",textDecoration:"none",padding:"6px 16px",flex:1}),"& .MuiAvatar-root",{width:32,height:32,ml:-.5,mr:1,bgcolor:"var(--color-avatar-bg)",color:"var(--color-avatar-text)"}),"& .MuiMenuItem-root",{padding:0,transition:"all 0.3s",color:"var(--color-text)",".MuiSvgIcon-root":{transition:"all 0.2s",transform:"translateX(0px) scale(1)"},"&:hover":{color:"var(--color-text-secondary)",backgroundColor:"var(--color-divider)",".MuiSvgIcon-root":{color:"var(--color-text-secondary)",transform:"translateX(4px) scale(1.2)"}}}),"& .MuiListItemIcon-root",{color:"var(--color-text)"}),"& .MuiDivider-root",{borderColor:"var(--color-divider)"}),"&:before",{content:'""',display:"block",position:"absolute",top:0,right:20,width:10,height:10,bgcolor:"var(--color-background)",transform:"translateY(-50%) rotate(45deg)",zIndex:0})}};export{I as Profile,I as default,y as profileClasses};
|
|
2
2
|
//# sourceMappingURL=profile.js.map
|
package/dist/auth/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sources":["../../src/auth/profile.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport type { PropsWithChildren } from 'react'\r\nimport { Box, MenuItem, Divider, IconButton, Tooltip, colors } from '@mui/material'\r\nimport { Avatar, Fade, ListItemIcon, Menu, PaperProps, Typography } from '@mui/material'\r\nimport { getAvatarProps } from '../layout-global/helpers'\r\nimport type { IIMenuConfigs, IProfile } from './types'\r\n\r\nexport const profileClasses = {\r\n root: 'Profile-root',\r\n title: 'Profile-title',\r\n item: 'Profile-item'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof profileClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${profileClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport interface IAvatarButtonProps extends PropsWithChildren {\r\n profile: IProfile | null\r\n menuConfigs: IIMenuConfigs\r\n theme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IAvatarButtonState {\r\n isOpen: boolean\r\n element: HTMLElement | null\r\n}\r\n\r\nexport class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {\r\n constructor(props: IAvatarButtonProps) {\r\n super(props)\r\n this.state = {\r\n isOpen: false,\r\n element: null\r\n }\r\n }\r\n\r\n toggle = () => this.setState({ isOpen: !this.state.isOpen })\r\n\r\n handleClick = (event: React.MouseEvent<HTMLElement>) => {\r\n this.setState({ element: event.currentTarget })\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ element: null })\r\n }\r\n\r\n render() {\r\n const { profile } = this.props\r\n const userName = profile?.UserName || 'Guest'\r\n return (\r\n <Fragment>\r\n <Fade in>\r\n <Tooltip title='Account settings'>\r\n <IconButton\r\n onClick={this.handleClick}\r\n size='small'\r\n aria-controls={this.state.element ? 'account-menu' : undefined}\r\n aria-haspopup='true'\r\n aria-expanded={this.state.element ? 'true' : undefined}\r\n sx={{ flex: 0 }}\r\n >\r\n <Avatar src={profile?.AvatarUrl ?? ''} {...getAvatarProps(userName)} />\r\n </IconButton>\r\n </Tooltip>\r\n </Fade>\r\n <Menu\r\n anchorEl={this.state.element}\r\n id='account-menu'\r\n disableScrollLock\r\n open={!!this.state.element}\r\n onClose={this.handleClose}\r\n onClick={this.handleClose}\r\n MenuListProps={{ component: 'div' }}\r\n slotProps={{ paper: getStylePaper(this.props.theme) }}\r\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\r\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\r\n >\r\n <Typography\r\n variant='subtitle1'\r\n noWrap\r\n className={profileClasses.title}\r\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => e.stopPropagation()}\r\n >\r\n Hello, {userName}\r\n </Typography>\r\n <Divider variant='middle' sx={{ mb: 1 }} />\r\n {this.props.menuConfigs.map((menuConfig, index) => (\r\n <MenuItem key={index}>\r\n <Box\r\n className={profileClasses.item}\r\n onClick={menuConfig.onClick}\r\n {...(menuConfig.href ? { component: 'a', href: menuConfig.href } : {})}\r\n {...menuConfig.buttonProps}\r\n >\r\n <ListItemIcon>{menuConfig.icon}</ListItemIcon>\r\n {menuConfig.title}\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Fragment>\r\n )\r\n }\r\n}\r\nexport default Profile\r\n\r\nconst getStylePaper = (theme: 'dark' | 'light' = 'dark'): Partial<PaperProps<'div', {}>> => {\r\n const isLightTheme = theme === 'light'\r\n const backgroundColor = isLightTheme ? '#fff' : '#323234'\r\n const textColor = isLightTheme ? '#000' : '#fff'\r\n const textSecondaryColor = isLightTheme ? colors.blue[600] : '#e78a3f'\r\n const dividerColor = isLightTheme ? colors.grey[200] : colors.grey[700]\r\n return {\r\n elevation: 0,\r\n sx: {\r\n '--color-background': backgroundColor,\r\n '--color-text': textColor,\r\n '--color-text-secondary': textSecondaryColor,\r\n '--color-divider': dividerColor,\r\n\r\n minWidth: '200px',\r\n overflow: 'visible',\r\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\r\n mt: 1.5,\r\n bgcolor: 'var(--color-background)', // dark background\r\n color: 'var(--color-text)', // white text,\r\n\r\n [getClasses('title')]: {\r\n marginTop: '-8px',\r\n padding: '10px 16px',\r\n fontWeight: '600',\r\n color: 'var(--color-text)'\r\n },\r\n [getClasses('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n color: 'currentColor',\r\n textDecoration: 'none',\r\n padding: '6px 16px',\r\n flex: 1\r\n },\r\n '& .MuiAvatar-root': {\r\n width: 32,\r\n height: 32,\r\n ml: -0.5,\r\n mr: 1,\r\n bgcolor: 'var(--color-avatar-bg)',\r\n color: 'var(--color-avatar-text)'\r\n },\r\n '& .MuiMenuItem-root': {\r\n padding: 0,\r\n transition: 'all 0.3s',\r\n color: 'var(--color-text)',\r\n '.MuiSvgIcon-root': {\r\n transition: 'all 0.2s',\r\n transform: 'translateX(0px) scale(1)'\r\n },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': {\r\n color: 'var(--color-text-secondary)',\r\n transform: 'translateX(4px) scale(1.2)'\r\n }\r\n }\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiDivider-root': {\r\n borderColor: 'var(--color-divider)'\r\n },\r\n '&:before': {\r\n content: '\"\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n right: 20,\r\n width: 10,\r\n height: 10,\r\n bgcolor: 'var(--color-background)',\r\n transform: 'translateY(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["profileClasses","root","title","item","getClasses","key","options","concat","Profile","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isOpen","state","event","element","currentTarget","_inherits","Component","_createClass","value","_profile$AvatarUrl","profile","this","userName","UserName","_jsxs","Fragment","children","_jsx","Fade","in","Tooltip","IconButton","onClick","handleClick","size","undefined","sx","flex","Avatar","_objectSpread","src","AvatarUrl","getAvatarProps","Menu","anchorEl","id","disableScrollLock","open","onClose","handleClose","MenuListProps","component","slotProps","paper","getStylePaper","theme","transformOrigin","horizontal","vertical","anchorOrigin","Typography","variant","noWrap","className","e","stopPropagation","Divider","mb","menuConfigs","map","menuConfig","index","MenuItem","Box","href","buttonProps","ListItemIcon","icon","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","marginTop","padding","fontWeight","display","alignItems","gap","textDecoration","width","height","ml","mr","transition","transform","borderColor","content","position","top","right","zIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile.js","sources":["../../src/auth/profile.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport type { PropsWithChildren } from 'react'\r\nimport { Box, MenuItem, Divider, IconButton, Tooltip, colors } from '@mui/material'\r\nimport { Avatar, Fade, ListItemIcon, Menu, PaperProps, Typography } from '@mui/material'\r\nimport { getAvatarProps } from '../layout-global/helpers'\r\nimport type { IIMenuConfigs, IMenuConfig, IProfile } from './types'\r\n\r\nexport const profileClasses = {\r\n root: 'Profile-root',\r\n title: 'Profile-title',\r\n item: 'Profile-item'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof profileClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${profileClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport interface IAvatarButtonProps extends PropsWithChildren {\r\n profile: IProfile | null\r\n menuConfigs: IIMenuConfigs\r\n theme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IAvatarButtonState {\r\n isOpen: boolean\r\n element: HTMLElement | null\r\n}\r\n\r\nexport class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {\r\n constructor(props: IAvatarButtonProps) {\r\n super(props)\r\n this.state = {\r\n isOpen: false,\r\n element: null\r\n }\r\n }\r\n\r\n toggle = () => this.setState({ isOpen: !this.state.isOpen })\r\n\r\n handleClick = (event: React.MouseEvent<HTMLElement>) => {\r\n this.setState({ element: event.currentTarget })\r\n }\r\n\r\n handleMenuItemClick = (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, menuConfig: IMenuConfig) => {\r\n if (menuConfig.onClick) {\r\n menuConfig.onClick(event)\r\n }\r\n this.setState({ element: null })\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ element: null })\r\n }\r\n\r\n render() {\r\n const { profile } = this.props\r\n const userName = profile?.UserName || 'Guest'\r\n return (\r\n <Fragment>\r\n <Fade in>\r\n <Tooltip title='Account settings'>\r\n <IconButton\r\n onClick={this.handleClick}\r\n size='small'\r\n aria-controls={this.state.element ? 'account-menu' : undefined}\r\n aria-haspopup='true'\r\n aria-expanded={this.state.element ? 'true' : undefined}\r\n sx={{ flex: 0 }}\r\n >\r\n <Avatar src={profile?.AvatarUrl ?? ''} {...getAvatarProps(userName)} />\r\n </IconButton>\r\n </Tooltip>\r\n </Fade>\r\n <Menu\r\n anchorEl={this.state.element}\r\n id='account-menu'\r\n disableScrollLock\r\n open={!!this.state.element}\r\n onClose={this.handleClose}\r\n onClick={this.handleClose}\r\n MenuListProps={{ component: 'div' }}\r\n slotProps={{ paper: getStylePaper(this.props.theme) }}\r\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\r\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\r\n >\r\n <Typography\r\n variant='subtitle1'\r\n noWrap\r\n className={profileClasses.title}\r\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => e.stopPropagation()}\r\n >\r\n Hello, {userName}\r\n </Typography>\r\n <Divider variant='middle' sx={{ mb: 1 }} />\r\n {this.props.menuConfigs.map((menuConfig, index) => (\r\n <MenuItem key={index}>\r\n <Box\r\n className={profileClasses.item}\r\n onClick={(e) => this.handleMenuItemClick(e, menuConfig)}\r\n {...(menuConfig.href ? { component: 'a', href: menuConfig.href } : {})}\r\n {...menuConfig.buttonProps}\r\n >\r\n <ListItemIcon>{menuConfig.icon}</ListItemIcon>\r\n {menuConfig.title}\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Fragment>\r\n )\r\n }\r\n}\r\n\r\nexport default Profile\r\n\r\nconst getStylePaper = (theme: 'dark' | 'light' = 'dark'): Partial<PaperProps<'div', {}>> => {\r\n const isLightTheme = theme === 'light'\r\n const backgroundColor = isLightTheme ? '#fff' : '#323234'\r\n const textColor = isLightTheme ? '#000' : '#fff'\r\n const textSecondaryColor = isLightTheme ? colors.blue[600] : '#e78a3f'\r\n const dividerColor = isLightTheme ? colors.grey[200] : colors.grey[700]\r\n return {\r\n elevation: 0,\r\n sx: {\r\n '--color-background': backgroundColor,\r\n '--color-text': textColor,\r\n '--color-text-secondary': textSecondaryColor,\r\n '--color-divider': dividerColor,\r\n\r\n minWidth: '200px',\r\n overflow: 'visible',\r\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\r\n mt: 1.5,\r\n bgcolor: 'var(--color-background)', // dark background\r\n color: 'var(--color-text)', // white text,\r\n\r\n [getClasses('title')]: {\r\n marginTop: '-8px',\r\n padding: '10px 16px',\r\n fontWeight: '600',\r\n color: 'var(--color-text)'\r\n },\r\n [getClasses('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n color: 'currentColor',\r\n textDecoration: 'none',\r\n padding: '6px 16px',\r\n flex: 1\r\n },\r\n '& .MuiAvatar-root': {\r\n width: 32,\r\n height: 32,\r\n ml: -0.5,\r\n mr: 1,\r\n bgcolor: 'var(--color-avatar-bg)',\r\n color: 'var(--color-avatar-text)'\r\n },\r\n '& .MuiMenuItem-root': {\r\n padding: 0,\r\n transition: 'all 0.3s',\r\n color: 'var(--color-text)',\r\n '.MuiSvgIcon-root': {\r\n transition: 'all 0.2s',\r\n transform: 'translateX(0px) scale(1)'\r\n },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': {\r\n color: 'var(--color-text-secondary)',\r\n transform: 'translateX(4px) scale(1.2)'\r\n }\r\n }\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiDivider-root': {\r\n borderColor: 'var(--color-divider)'\r\n },\r\n '&:before': {\r\n content: '\"\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n right: 20,\r\n width: 10,\r\n height: 10,\r\n bgcolor: 'var(--color-background)',\r\n transform: 'translateY(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["profileClasses","root","title","item","getClasses","key","options","concat","Profile","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isOpen","state","event","element","currentTarget","menuConfig","onClick","_inherits","Component","_createClass","value","_profile$AvatarUrl","_this2","this","profile","userName","UserName","_jsxs","Fragment","children","_jsx","Fade","in","Tooltip","IconButton","handleClick","size","undefined","sx","flex","Avatar","_objectSpread","src","AvatarUrl","getAvatarProps","Menu","anchorEl","id","disableScrollLock","open","onClose","handleClose","MenuListProps","component","slotProps","paper","getStylePaper","theme","transformOrigin","horizontal","vertical","anchorOrigin","Typography","variant","noWrap","className","e","stopPropagation","Divider","mb","menuConfigs","map","index","MenuItem","Box","handleMenuItemClick","href","buttonProps","ListItemIcon","icon","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","marginTop","padding","fontWeight","display","alignItems","gap","textDecoration","width","height","ml","mr","transition","transform","borderColor","content","position","top","right","zIndex"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";
|
|
1
|
+
export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";export{LayoutGlobalApi,layoutGlobalApi}from"./layout-global-api.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineProperty as e,createClass as o,classCallCheck as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{createObjectSingleton as t}from"dinocollab-core/utils";var n=o(function o(){r(this,o),e(this,"useButtonPropsGetter",function(){return{buttonProps:function(){return console.log("LayoutGlobalApiProviderDefault.buttonProps called"),{}}}}),e(this,"navClicked",function(){console.log("LayoutGlobalApiProviderDefault.navClicked called")})}),l=function(){function l(){r(this,l),e(this,"useButtonPropsGetter",function(){return l.provider.useButtonPropsGetter()}),e(this,"handleNavClicked",function(e,o){l.provider.navClicked(e,o)})}return o(l,null,[{key:"provider",get:function(){var e;return null!==(e=t(l.key_provider).get())&&void 0!==e?e:new n}},{key:"setProvider",value:function(e){t(l.key_provider).set(null!=e?e:new n)}}])}();e(l,"key_provider","__layout_global_key_provider__");var i=new l;export{l as LayoutGlobalApi,i as layoutGlobalApi};
|
|
2
|
+
//# sourceMappingURL=layout-global-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-global-api.js","sources":["../../src/layout-global/layout-global-api.ts"],"sourcesContent":["import { createObjectSingleton } from 'dinocollab-core/utils'\r\nimport { IButtonAnimationProps } from './animated-tabs.units'\r\nimport { INavLink, NavItemClickFunction } from './types'\r\n\r\nexport type ButtonPropsGetterHook = () => { buttonProps: (item: INavLink) => Partial<IButtonAnimationProps> }\r\n\r\nexport interface ILayoutGlobalApiProvider {\r\n useButtonPropsGetter: ButtonPropsGetterHook\r\n navClicked: NavItemClickFunction\r\n}\r\n\r\nclass LayoutGlobalApiProviderDefault implements ILayoutGlobalApiProvider {\r\n useButtonPropsGetter = () => {\r\n return {\r\n buttonProps: () => {\r\n // no default props\r\n console.log('LayoutGlobalApiProviderDefault.buttonProps called')\r\n return {}\r\n }\r\n }\r\n }\r\n navClicked = () => {\r\n // no default action\r\n console.log('LayoutGlobalApiProviderDefault.navClicked called')\r\n }\r\n}\r\n\r\nexport class LayoutGlobalApi {\r\n static key_provider = '__layout_global_key_provider__'\r\n\r\n static get provider(): ILayoutGlobalApiProvider {\r\n const ObjectProvider = createObjectSingleton<ILayoutGlobalApiProvider>(LayoutGlobalApi.key_provider)\r\n return ObjectProvider.get() ?? new LayoutGlobalApiProviderDefault()\r\n }\r\n\r\n static setProvider(provider: ILayoutGlobalApiProvider) {\r\n const ObjectProvider = createObjectSingleton<ILayoutGlobalApiProvider>(LayoutGlobalApi.key_provider)\r\n ObjectProvider.set(provider ?? new LayoutGlobalApiProviderDefault())\r\n }\r\n\r\n useButtonPropsGetter: ButtonPropsGetterHook = () => {\r\n return LayoutGlobalApi.provider.useButtonPropsGetter()\r\n }\r\n\r\n handleNavClicked: NavItemClickFunction = (e, i) => {\r\n LayoutGlobalApi.provider.navClicked(e, i)\r\n }\r\n}\r\n\r\nexport const layoutGlobalApi = new LayoutGlobalApi()\r\n"],"names":["LayoutGlobalApiProviderDefault","_createClass","_classCallCheck","_defineProperty","buttonProps","console","log","LayoutGlobalApi","provider","useButtonPropsGetter","this","e","i","navClicked","key","get","_ObjectProvider$get","createObjectSingleton","key_provider","value","set","layoutGlobalApi"],"mappings":"6KAA6D,IAWvDA,EAA8BC,EAAA,SAAAD,IAAAE,OAAAF,GAAAG,8BACX,WACrB,MAAO,CACLC,YAAa,WAGX,OADAC,QAAQC,IAAI,qDACL,CAAE,CACX,KAEHH,oBACY,WAEXE,QAAQC,IAAI,qDACb,GAGUC,EAAe,WAAA,SAAAA,IAAAL,OAAAK,GAAAJ,8BAaoB,WAC5C,OAAOI,EAAgBC,SAASC,yBACjCN,EAEwCO,KAAA,mBAAA,SAACC,EAAGC,GAC3CL,EAAgBC,SAASK,WAAWF,EAAGC,IACxC,CAAA,OAAAX,EAAAM,EAAA,KAAA,CAAA,CAAAO,IAAA,WAAAC,IAhBD,WAAmB,IAAAC,EAEjB,OAA2BA,QAA3BA,EADuBC,EAAgDV,EAAgBW,cACjEH,iBAAKC,EAAAA,EAAI,IAAIhB,CACrC,GAAC,CAAAc,IAAA,cAAAK,MAED,SAAmBX,GACMS,EAAgDV,EAAgBW,cACxEE,IAAIZ,QAAAA,EAAY,IAAIR,EACrC,IAAC,CAXyB,KAAfO,EAAe,eACJ,sCAqBXc,EAAkB,IAAId"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{inherits as e,createClass as n,classCallCheck as r,callSuper as i,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as o}from"react/jsx-runtime";import{Component as l}from"react";import{Box as
|
|
1
|
+
import{inherits as e,createClass as n,classCallCheck as r,callSuper as i,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as o}from"react/jsx-runtime";import{Component as l}from"react";import{Box as s,Divider as c,alpha as m,colors as d,Stack as u,Typography as p,MenuItem as h}from"@mui/material";import v from"@mui/icons-material/Facebook";import{toArray as f}from"./helpers.js";import{SubMenuWrap as N,SubMenuStyled as k,subMenuClasses as C}from"./sub-menu.styled.js";var g=function(){function g(){var e;r(this,g);for(var n=arguments.length,l=new Array(n),c=0;c<n;c++)l[c]=arguments[c];return e=i(this,g,[].concat(l)),t(e,"renderItem",function(n,r){var i;return a(s,{className:C.group,children:[!1!==n.enableTitle&&o(p,{variant:"h6",className:C.title,children:n.title}),null===(i=n.items)||void 0===i?void 0:i.map(function(n,r){var i,t;return o(h,{className:C.item,component:"a",href:null!==(i=null===(t=n.navLink)||void 0===t?void 0:t.href)&&void 0!==i?i:"/",onClick:function(r){return e.handleNavItemClick(r,n.navLink)},children:a(s,{className:C.itemContent,children:[n.icon&&o("span",{className:C.itemIcon,children:e.renderIcon(n.icon)}),o(p,{component:"div",variant:"body2",className:C.itemText,children:o("span",{children:n.title})})]})},r)})]},r)}),t(e,"renderIcon",function(e){if(!e)return null;var n=e;return"string"==typeof e&&(n=o(s,{component:"span",className:"icon-img",sx:{"--mask-url":"url(".concat(e,")")}})),o("span",{className:"icon-static",children:n})}),t(e,"getMenuData",function(){return f(e.props.menu).filter(function(e){var n;return e.items&&(null===(n=e.items)||void 0===n?void 0:n.length)>0})}),t(e,"handleNavItemClick",function(n,r){e.props.onNavItemClick&&r&&e.props.onNavItemClick(n,r)}),e}return e(g,l),n(g,[{key:"render",value:function(){var e=this.getMenuData();return a(N,{children:[this.props.children,o(k,{className:C.root,children:a("div",{className:C.rootContent,children:[o(s,{className:C.content,children:e.map(this.renderItem)}),!0===this.props.enableSocialLinks&&a("div",{children:[o(c,{variant:"middle",sx:{borderColor:m(d.common.white,.1)}}),a(u,{direction:"row",spacing:1,justifyContent:"flex-end",alignItems:"center",padding:1,children:[o(p,{variant:"body2",children:"Follow us on social media for updates and news!"}),o(v,{})]})]})]})})]})}}])}();export{g as default};
|
|
2
2
|
//# sourceMappingURL=sub-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.js","sources":["../../src/layout-global/sub-menu.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { alpha, Box, colors, Divider, MenuItem, Stack, Typography } from '@mui/material'\r\nimport type { PropsWithChildren, ReactNode } from 'react'\r\nimport FacebookIcon from '@mui/icons-material/Facebook'\r\nimport { toArray } from './helpers'\r\nimport { subMenuClasses, SubMenuStyled, SubMenuWrap } from './sub-menu.styled'\r\nimport type { IAppMenu, INavLink, NavItemClickFunction, SingleOrArray } from './types'\r\n\r\nexport interface ISubMenuProps extends PropsWithChildren {\r\n menu?: SingleOrArray<IAppMenu>\r\n enableSocialLinks?: boolean\r\n onNavItemClick?: NavItemClickFunction\r\n}\r\n\r\nclass SubMenu extends Component<ISubMenuProps> {\r\n render() {\r\n const menu = this.getMenuData()\r\n return (\r\n <SubMenuWrap>\r\n {this.props.children}\r\n <SubMenuStyled className={subMenuClasses.root}>\r\n <div className={subMenuClasses.rootContent}>\r\n {/* Render sub-menu items */}\r\n <Box className={subMenuClasses.content}>{menu.map(this.renderItem)}</Box>\r\n {this.props.enableSocialLinks === true && (\r\n <div>\r\n {/* Optional footer or additional content */}\r\n <Divider variant='middle' sx={{ borderColor: alpha(colors.common.white, 0.1) }} />\r\n <Stack direction='row' spacing={1} justifyContent='flex-end' alignItems='center' padding={1}>\r\n <Typography variant='body2'>Follow us on social media for updates and news!</Typography>\r\n {/* Add social media links or icons here if needed */}\r\n <FacebookIcon />\r\n </Stack>\r\n </div>\r\n )}\r\n </div>\r\n </SubMenuStyled>\r\n </SubMenuWrap>\r\n )\r\n }\r\n\r\n renderItem = (item: IAppMenu, index: number) => (\r\n <Box key={index} className={subMenuClasses.group}>\r\n {item.enableTitle !== false && (\r\n <Typography variant='h6' className={subMenuClasses.title}>\r\n {item.title}\r\n </Typography>\r\n )}\r\n {/* <Divider sx={{ borderColor: alpha(colors.common.white, 0.1), my: 1 }} /> */}\r\n {item.items?.map((item, j) => (\r\n <MenuItem
|
|
1
|
+
{"version":3,"file":"sub-menu.js","sources":["../../src/layout-global/sub-menu.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { alpha, Box, colors, Divider, MenuItem, Stack, Typography } from '@mui/material'\r\nimport type { PropsWithChildren, ReactNode } from 'react'\r\nimport FacebookIcon from '@mui/icons-material/Facebook'\r\nimport { toArray } from './helpers'\r\nimport { subMenuClasses, SubMenuStyled, SubMenuWrap } from './sub-menu.styled'\r\nimport type { IAppMenu, INavLink, NavItemClickFunction, SingleOrArray } from './types'\r\n\r\nexport interface ISubMenuProps extends PropsWithChildren {\r\n menu?: SingleOrArray<IAppMenu>\r\n enableSocialLinks?: boolean\r\n onNavItemClick?: NavItemClickFunction\r\n}\r\n\r\nclass SubMenu extends Component<ISubMenuProps> {\r\n render() {\r\n const menu = this.getMenuData()\r\n return (\r\n <SubMenuWrap>\r\n {this.props.children}\r\n <SubMenuStyled className={subMenuClasses.root}>\r\n <div className={subMenuClasses.rootContent}>\r\n {/* Render sub-menu items */}\r\n <Box className={subMenuClasses.content}>{menu.map(this.renderItem)}</Box>\r\n {this.props.enableSocialLinks === true && (\r\n <div>\r\n {/* Optional footer or additional content */}\r\n <Divider variant='middle' sx={{ borderColor: alpha(colors.common.white, 0.1) }} />\r\n <Stack direction='row' spacing={1} justifyContent='flex-end' alignItems='center' padding={1}>\r\n <Typography variant='body2'>Follow us on social media for updates and news!</Typography>\r\n {/* Add social media links or icons here if needed */}\r\n <FacebookIcon />\r\n </Stack>\r\n </div>\r\n )}\r\n </div>\r\n </SubMenuStyled>\r\n </SubMenuWrap>\r\n )\r\n }\r\n\r\n renderItem = (item: IAppMenu, index: number) => (\r\n <Box key={index} className={subMenuClasses.group}>\r\n {item.enableTitle !== false && (\r\n <Typography variant='h6' className={subMenuClasses.title}>\r\n {item.title}\r\n </Typography>\r\n )}\r\n {/* <Divider sx={{ borderColor: alpha(colors.common.white, 0.1), my: 1 }} /> */}\r\n {item.items?.map((item, j) => (\r\n <MenuItem\r\n key={j}\r\n className={subMenuClasses.item}\r\n component='a'\r\n href={item.navLink?.href ?? '/'}\r\n onClick={(e) => this.handleNavItemClick(e, item.navLink)}\r\n >\r\n <Box className={subMenuClasses.itemContent}>\r\n {item.icon && <span className={subMenuClasses.itemIcon}>{this.renderIcon(item.icon)}</span>}\r\n <Typography component='div' variant='body2' className={subMenuClasses.itemText}>\r\n <span>{item.title}</span>\r\n </Typography>\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Box>\r\n )\r\n\r\n renderIcon = (value: ReactNode) => {\r\n if (!value) return null\r\n let finalIcon = value\r\n if (typeof value === 'string') {\r\n finalIcon = <Box component='span' className='icon-img' sx={{ '--mask-url': `url(${value})` }} />\r\n }\r\n return <span className='icon-static'>{finalIcon}</span>\r\n }\r\n\r\n getMenuData = () => {\r\n const list = toArray<IAppMenu>(this.props.menu)\r\n return list.filter((item) => item.items && item.items?.length > 0)\r\n }\r\n\r\n handleNavItemClick = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>, item?: INavLink) => {\r\n if (!this.props.onNavItemClick || !item) return\r\n this.props.onNavItemClick(event, item)\r\n }\r\n}\r\nexport default SubMenu\r\n"],"names":["SubMenu","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","index","_item$items","_jsxs","Box","className","subMenuClasses","group","children","enableTitle","_jsx","Typography","variant","title","items","map","j","_item$navLink$href","_item$navLink","MenuItem","component","href","navLink","onClick","e","handleNavItemClick","itemContent","icon","itemIcon","renderIcon","itemText","value","finalIcon","sx","toArray","props","menu","filter","_item$items2","event","onNavItemClick","_inherits","Component","_createClass","key","getMenuData","SubMenuWrap","SubMenuStyled","root","rootContent","content","renderItem","enableSocialLinks","Divider","borderColor","alpha","colors","common","white","Stack","direction","spacing","justifyContent","alignItems","padding","FacebookIcon"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component } from 'react';
|
|
2
2
|
import type { PropsWithChildren } from 'react';
|
|
3
|
-
import type { IIMenuConfigs, IProfile } from './types';
|
|
3
|
+
import type { IIMenuConfigs, IMenuConfig, IProfile } from './types';
|
|
4
4
|
export declare const profileClasses: {
|
|
5
5
|
root: string;
|
|
6
6
|
title: string;
|
|
@@ -19,6 +19,7 @@ export declare class Profile extends Component<IAvatarButtonProps, IAvatarButton
|
|
|
19
19
|
constructor(props: IAvatarButtonProps);
|
|
20
20
|
toggle: () => void;
|
|
21
21
|
handleClick: (event: React.MouseEvent<HTMLElement>) => void;
|
|
22
|
+
handleMenuItemClick: (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, menuConfig: IMenuConfig) => void;
|
|
22
23
|
handleClose: () => void;
|
|
23
24
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/auth/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAI9C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/auth/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAI9C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEnE,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAMD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,aAAa,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBAChE,KAAK,EAAE,kBAAkB;IAQrC,MAAM,aAAsD;IAE5D,WAAW,UAAW,gBAAgB,CAAC,WAAW,CAAC,UAElD;IAED,mBAAmB,UAAW,gBAAgB,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,cAAc,WAAW,UAKtH;IAED,WAAW,aAEV;IAED,MAAM;CAyDP;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -9,4 +9,5 @@ export { ENavKey } from './types';
|
|
|
9
9
|
export type { IAppNav, INavLink, INavLinkOptions, NavItemClickFunction } from './types';
|
|
10
10
|
export { ButtonAnimation } from './animated-tabs.units';
|
|
11
11
|
export type { IButtonAnimationProps } from './animated-tabs.units';
|
|
12
|
+
export * from './layout-global-api';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout-global/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout-global/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IButtonAnimationProps } from './animated-tabs.units';
|
|
2
|
+
import { INavLink, NavItemClickFunction } from './types';
|
|
3
|
+
export type ButtonPropsGetterHook = () => {
|
|
4
|
+
buttonProps: (item: INavLink) => Partial<IButtonAnimationProps>;
|
|
5
|
+
};
|
|
6
|
+
export interface ILayoutGlobalApiProvider {
|
|
7
|
+
useButtonPropsGetter: ButtonPropsGetterHook;
|
|
8
|
+
navClicked: NavItemClickFunction;
|
|
9
|
+
}
|
|
10
|
+
export declare class LayoutGlobalApi {
|
|
11
|
+
static key_provider: string;
|
|
12
|
+
static get provider(): ILayoutGlobalApiProvider;
|
|
13
|
+
static setProvider(provider: ILayoutGlobalApiProvider): void;
|
|
14
|
+
useButtonPropsGetter: ButtonPropsGetterHook;
|
|
15
|
+
handleNavClicked: NavItemClickFunction;
|
|
16
|
+
}
|
|
17
|
+
export declare const layoutGlobalApi: LayoutGlobalApi;
|
|
18
|
+
//# sourceMappingURL=layout-global-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-global-api.d.ts","sourceRoot":"","sources":["../../../src/layout-global/layout-global-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,MAAM;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAAE,CAAA;AAE7G,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,qBAAqB,CAAA;IAC3C,UAAU,EAAE,oBAAoB,CAAA;CACjC;AAkBD,qBAAa,eAAe;IAC1B,MAAM,CAAC,YAAY,SAAmC;IAEtD,MAAM,KAAK,QAAQ,IAAI,wBAAwB,CAG9C;IAED,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,wBAAwB;IAKrD,oBAAoB,EAAE,qBAAqB,CAE1C;IAED,gBAAgB,EAAE,oBAAoB,CAErC;CACF;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu.d.ts","sourceRoot":"","sources":["../../../src/layout-global/sub-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEtF,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,IAAI,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,cAAM,OAAQ,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC5C,MAAM;IA0BN,UAAU,SAAU,QAAQ,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"sub-menu.d.ts","sourceRoot":"","sources":["../../../src/layout-global/sub-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEtF,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,IAAI,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,cAAM,OAAQ,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC5C,MAAM;IA0BN,UAAU,SAAU,QAAQ,SAAS,MAAM,6CAyB1C;IAED,UAAU,UAAW,SAAS,oDAO7B;IAED,WAAW,mBAGV;IAED,kBAAkB,UAAW,gBAAgB,CAAC,iBAAiB,EAAE,UAAU,CAAC,SAAS,QAAQ,UAG5F;CACF;AACD,eAAe,OAAO,CAAA"}
|