dinocollab-shared 1.2.39 → 1.2.41

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.
@@ -1,2 +1,2 @@
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};
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:"220px",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
@@ -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, 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
+ {"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 { IMenuItems, IMenuItem, 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: IMenuItems\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: IMenuItem) => {\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: '220px',\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': { transition: 'all 0.2s', transform: 'translateX(0px) scale(1)' },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': { color: 'var(--color-text-secondary)', transform: 'translateX(4px) scale(1.2)' }\r\n }\r\n },\r\n '.MuiListItemIcon-root': { color: 'var(--color-text)' },\r\n '.MuiDivider-root': { borderColor: 'var(--color-divider)' },\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 +1 @@
1
- {"version":3,"file":"service.js","sources":["../../src/auth/service.ts"],"sourcesContent":["import { createObjectSingleton } from 'dinocollab-core/utils'\r\n\r\nexport interface IAuthMetaData {\r\n isAuth?: boolean\r\n token: string\r\n displayName: string\r\n email?: string\r\n avatarUrl?: string\r\n}\r\n\r\nexport interface IAuthProvider {\r\n tryAutoSignIn?: () => Promise<void>\r\n signIn(): Promise<void>\r\n signOut(): Promise<void>\r\n getInfo(): Promise<IAuthMetaData>\r\n}\r\n\r\nclass AuthProviderDefault implements IAuthProvider {\r\n async tryAutoSignIn() {\r\n console.log('Default tryAutoSignIn called')\r\n }\r\n async signIn() {\r\n console.log('Default signIn called')\r\n return Promise.resolve()\r\n }\r\n async signOut() {\r\n console.log('Default signOut called')\r\n return Promise.resolve()\r\n }\r\n async getInfo() {\r\n console.log('Default getInfo called')\r\n return Promise.resolve({ token: '', displayName: 'Guest User' })\r\n }\r\n}\r\n\r\nexport class AuthService {\r\n static key_provider = '__auth_key_provider__'\r\n static get provider(): IAuthProvider {\r\n const ObjectProvider = createObjectSingleton<IAuthProvider>(AuthService.key_provider)\r\n return ObjectProvider.get() ?? new AuthProviderDefault()\r\n }\r\n static setProvider(provider: IAuthProvider) {\r\n const ObjectProvider = createObjectSingleton<IAuthProvider>(AuthService.key_provider)\r\n ObjectProvider.set(provider ?? new AuthProviderDefault())\r\n }\r\n\r\n constructor() {\r\n this.tryAutoSignIn()\r\n }\r\n\r\n tryAutoSignIn() {\r\n return AuthService.provider.tryAutoSignIn?.()\r\n }\r\n signIn() {\r\n return AuthService.provider.signIn()\r\n }\r\n signOut() {\r\n return AuthService.provider.signOut()\r\n }\r\n getInfo() {\r\n return AuthService.provider.getInfo()\r\n }\r\n}\r\n"],"names":["AuthProviderDefault","_createClass","_classCallCheck","key","value","_tryAutoSignIn","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","console","log","a","apply","this","arguments","_signIn","_callee2","_context2","Promise","resolve","_signOut","_callee3","_context3","_getInfo","_callee4","_context4","token","displayName","AuthService","tryAutoSignIn","_AuthService$provider","_AuthService$provider2","provider","call","signIn","signOut","getInfo","get","_ObjectProvider$get","createObjectSingleton","key_provider","set"],"mappings":"oNAA6D,IAiBvDA,EAAmB,WAAA,OAAAC,EAAA,SAAAD,IAAAE,OAAAF,EAAA,EAAA,CAAA,CAAAG,IAAA,gBAAAC,OAAAC,EAAAC,EAAAC,IAAAC,EACvB,SAAAC,IAAA,OAAAF,IAAAG,EAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EACEC,QAAQC,IAAI,gCAA+B,KAAA,EAAA,OAAAH,EAAAI,EAAA,GAAA,EAAAN,MAC5C,WAFkB,OAAAJ,EAAAW,MAAAC,KAAAC,UAAA,IAAA,CAAAf,IAAA,SAAAC,OAAAe,EAAAb,EAAAC,IAAAC,EAGnB,SAAAY,IAAA,OAAAb,IAAAG,EAAA,SAAAW,GAAA,UAAA,IAAAA,EAAAT,EACsC,OAApCC,QAAQC,IAAI,yBAAwBO,EAAAN,EAAA,EAC7BO,QAAQC,UAAS,EAAAH,MACzB,WAHW,OAAAD,EAAAH,MAAAC,KAAAC,UAAA,IAAA,CAAAf,IAAA,UAAAC,OAAAoB,EAAAlB,EAAAC,IAAAC,EAIZ,SAAAiB,IAAA,OAAAlB,IAAAG,EAAA,SAAAgB,GAAA,UAAA,IAAAA,EAAAd,EACuC,OAArCC,QAAQC,IAAI,0BAAyBY,EAAAX,EAAA,EAC9BO,QAAQC,UAAS,EAAAE,MACzB,WAHY,OAAAD,EAAAR,MAAAC,KAAAC,UAAA,IAAA,CAAAf,IAAA,UAAAC,OAAAuB,EAAArB,EAAAC,IAAAC,EAIb,SAAAoB,IAAA,OAAArB,IAAAG,EAAA,SAAAmB,GAAA,UAAA,IAAAA,EAAAjB,EACuC,OAArCC,QAAQC,IAAI,0BAAyBe,EAAAd,IAC9BO,QAAQC,QAAQ,CAAEO,MAAO,GAAIC,YAAa,eAAe,EAAAH,MACjE,WAHY,OAAAD,EAAAX,MAAAC,KAAAC,UAAA,MAJA,IAAAS,EAJDH,EAHOL,EADId,CAYV,CAZU,GAkBZ2B,EAAW,WAWtB,SAAAA,IAAA9B,OAAA8B,GACEf,KAAKgB,eACP,CAAC,OAAAhC,EAAA+B,EAAA,CAAA,CAAA7B,IAAA,gBAAAC,MAED,WAAa,IAAA8B,EAAAC,EACX,OAAyC,QAAzCD,GAAOC,EAAAH,EAAYI,UAASH,qBAArBC,IAAkCA,OAAlCA,EAAAA,EAAAG,KAAAF,EACT,GAAC,CAAAhC,IAAA,SAAAC,MACD,WACE,OAAO4B,EAAYI,SAASE,QAC9B,GAAC,CAAAnC,IAAA,UAAAC,MACD,WACE,OAAO4B,EAAYI,SAASG,SAC9B,GAAC,CAAApC,IAAA,UAAAC,MACD,WACE,OAAO4B,EAAYI,SAASI,SAC9B,IAAC,CAAA,CAAArC,IAAA,WAAAsC,IAxBD,WAAmB,IAAAC,EAEjB,OAA2BA,QAA3BA,EADuBC,EAAqCX,EAAYY,cAClDH,iBAAKC,EAAAA,EAAI,IAAI1C,CACrC,GAAC,CAAAG,IAAA,cAAAC,MACD,SAAmBgC,GACMO,EAAqCX,EAAYY,cACzDC,IAAIT,QAAAA,EAAY,IAAIpC,EACrC,IAAC,CATqB,KAAXgC,EAAW,eACA"}
1
+ {"version":3,"file":"service.js","sources":["../../src/auth/service.ts"],"sourcesContent":["import { createObjectSingleton } from 'dinocollab-core/utils'\r\n\r\nexport interface IAuthMetaData {\r\n isAuth?: boolean\r\n token: string\r\n displayName: string\r\n email?: string\r\n avatarUrl?: string\r\n roles?: string[]\r\n}\r\n\r\nexport interface IAuthProvider {\r\n tryAutoSignIn?: () => Promise<void>\r\n signIn(): Promise<void>\r\n signOut(): Promise<void>\r\n getInfo(): Promise<IAuthMetaData>\r\n}\r\n\r\nclass AuthProviderDefault implements IAuthProvider {\r\n async tryAutoSignIn() {\r\n console.log('Default tryAutoSignIn called')\r\n }\r\n async signIn() {\r\n console.log('Default signIn called')\r\n return Promise.resolve()\r\n }\r\n async signOut() {\r\n console.log('Default signOut called')\r\n return Promise.resolve()\r\n }\r\n async getInfo() {\r\n console.log('Default getInfo called')\r\n return Promise.resolve({ token: '', displayName: 'Guest User' })\r\n }\r\n}\r\n\r\nexport class AuthService {\r\n static key_provider = '__auth_key_provider__'\r\n static get provider(): IAuthProvider {\r\n const ObjectProvider = createObjectSingleton<IAuthProvider>(AuthService.key_provider)\r\n return ObjectProvider.get() ?? new AuthProviderDefault()\r\n }\r\n static setProvider(provider: IAuthProvider) {\r\n const ObjectProvider = createObjectSingleton<IAuthProvider>(AuthService.key_provider)\r\n ObjectProvider.set(provider ?? new AuthProviderDefault())\r\n }\r\n\r\n constructor() {\r\n this.tryAutoSignIn()\r\n }\r\n\r\n tryAutoSignIn() {\r\n return AuthService.provider.tryAutoSignIn?.()\r\n }\r\n signIn() {\r\n return AuthService.provider.signIn()\r\n }\r\n signOut() {\r\n return AuthService.provider.signOut()\r\n }\r\n getInfo() {\r\n return AuthService.provider.getInfo()\r\n }\r\n}\r\n"],"names":["AuthProviderDefault","_createClass","_classCallCheck","key","value","_tryAutoSignIn","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","console","log","a","apply","this","arguments","_signIn","_callee2","_context2","Promise","resolve","_signOut","_callee3","_context3","_getInfo","_callee4","_context4","token","displayName","AuthService","tryAutoSignIn","_AuthService$provider","_AuthService$provider2","provider","call","signIn","signOut","getInfo","get","_ObjectProvider$get","createObjectSingleton","key_provider","set"],"mappings":"oNAA6D,IAkBvDA,EAAmB,WAAA,OAAAC,EAAA,SAAAD,IAAAE,OAAAF,EAAA,EAAA,CAAA,CAAAG,IAAA,gBAAAC,OAAAC,EAAAC,EAAAC,IAAAC,EACvB,SAAAC,IAAA,OAAAF,IAAAG,EAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EACEC,QAAQC,IAAI,gCAA+B,KAAA,EAAA,OAAAH,EAAAI,EAAA,GAAA,EAAAN,MAC5C,WAFkB,OAAAJ,EAAAW,MAAAC,KAAAC,UAAA,IAAA,CAAAf,IAAA,SAAAC,OAAAe,EAAAb,EAAAC,IAAAC,EAGnB,SAAAY,IAAA,OAAAb,IAAAG,EAAA,SAAAW,GAAA,UAAA,IAAAA,EAAAT,EACsC,OAApCC,QAAQC,IAAI,yBAAwBO,EAAAN,EAAA,EAC7BO,QAAQC,UAAS,EAAAH,MACzB,WAHW,OAAAD,EAAAH,MAAAC,KAAAC,UAAA,IAAA,CAAAf,IAAA,UAAAC,OAAAoB,EAAAlB,EAAAC,IAAAC,EAIZ,SAAAiB,IAAA,OAAAlB,IAAAG,EAAA,SAAAgB,GAAA,UAAA,IAAAA,EAAAd,EACuC,OAArCC,QAAQC,IAAI,0BAAyBY,EAAAX,EAAA,EAC9BO,QAAQC,UAAS,EAAAE,MACzB,WAHY,OAAAD,EAAAR,MAAAC,KAAAC,UAAA,IAAA,CAAAf,IAAA,UAAAC,OAAAuB,EAAArB,EAAAC,IAAAC,EAIb,SAAAoB,IAAA,OAAArB,IAAAG,EAAA,SAAAmB,GAAA,UAAA,IAAAA,EAAAjB,EACuC,OAArCC,QAAQC,IAAI,0BAAyBe,EAAAd,IAC9BO,QAAQC,QAAQ,CAAEO,MAAO,GAAIC,YAAa,eAAe,EAAAH,MACjE,WAHY,OAAAD,EAAAX,MAAAC,KAAAC,UAAA,MAJA,IAAAS,EAJDH,EAHOL,EADId,CAYV,CAZU,GAkBZ2B,EAAW,WAWtB,SAAAA,IAAA9B,OAAA8B,GACEf,KAAKgB,eACP,CAAC,OAAAhC,EAAA+B,EAAA,CAAA,CAAA7B,IAAA,gBAAAC,MAED,WAAa,IAAA8B,EAAAC,EACX,OAAyC,QAAzCD,GAAOC,EAAAH,EAAYI,UAASH,qBAArBC,IAAkCA,OAAlCA,EAAAA,EAAAG,KAAAF,EACT,GAAC,CAAAhC,IAAA,SAAAC,MACD,WACE,OAAO4B,EAAYI,SAASE,QAC9B,GAAC,CAAAnC,IAAA,UAAAC,MACD,WACE,OAAO4B,EAAYI,SAASG,SAC9B,GAAC,CAAApC,IAAA,UAAAC,MACD,WACE,OAAO4B,EAAYI,SAASI,SAC9B,IAAC,CAAA,CAAArC,IAAA,WAAAsC,IAxBD,WAAmB,IAAAC,EAEjB,OAA2BA,QAA3BA,EADuBC,EAAqCX,EAAYY,cAClDH,iBAAKC,EAAAA,EAAI,IAAI1C,CACrC,GAAC,CAAAG,IAAA,cAAAC,MACD,SAAmBgC,GACMO,EAAqCX,EAAYY,cACzDC,IAAIT,QAAAA,EAAY,IAAIpC,EACrC,IAAC,CATqB,KAAXgC,EAAW,eACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sources":["../../src/auth/widget.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\r\nimport { ButtonProps } from '@mui/material'\r\nimport Logout from '@mui/icons-material/Logout'\r\nimport LoginIcon from '@mui/icons-material/Login'\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts'\r\nimport { IconButtonOrange } from '../components/buttons'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { IAuthState, IIMenuConfigs } from './types'\r\nimport Profile from './profile'\r\n\r\nexport interface IAuthBaseProps {\r\n baseUrl: IAppSiteBaseUrl\r\n fontSizeScale?: number\r\n // login\r\n hrefLogin?: string\r\n onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n buttonLoginProps?: ButtonProps & { [key: string]: any }\r\n // menu\r\n menu?: IIMenuConfigs\r\n}\r\n\r\nexport interface IAuthWidgetProps extends IAuthState, IAuthBaseProps {}\r\n\r\nexport const AuthWidget: FC<IAuthWidgetProps> = (props) => {\r\n const { isAuthenticated, profile, isLoading } = props\r\n if (isLoading) return null\r\n\r\n if (!isAuthenticated) {\r\n return (\r\n <IconButtonOrange\r\n onClick={props.onLoginClick as any}\r\n {...(props.hrefLogin ? { component: 'a', href: props.hrefLogin ?? '/' } : {})}\r\n {...props.buttonLoginProps}\r\n >\r\n <LoginIcon fontSize='small' />\r\n </IconButtonOrange>\r\n )\r\n // return (\r\n // <ResponsiveDisplay\r\n // xs={\r\n // <IconButtonOrange\r\n // onClick={props.onLoginClick as any}\r\n // {...(props.hrefLogin ? { component: 'a', href: props.hrefLogin ?? '/' } : {})}\r\n // {...props.buttonLoginProps}\r\n // >\r\n // <LoginIcon fontSize='small' />\r\n // </IconButtonOrange>\r\n // }\r\n // md={\r\n // <ButtonOrange\r\n // className='animate-bounce'\r\n // startIcon={<LoginIcon fontSize='small' />}\r\n // onClick={props.onLoginClick as any}\r\n // {...(props.hrefLogin ? { component: 'a', href: props.hrefLogin ?? '/' } : {})}\r\n // {...props.buttonLoginProps}\r\n // >\r\n // {/* <Typography variant='h6' sx={{ fontSize: `${(props.fontSizeScale ?? 1) * 0.9}rem` }}>\r\n // Login\r\n // </Typography> */}\r\n // <Typography variant='h6'>Login</Typography>\r\n // </ButtonOrange>\r\n // }\r\n // />\r\n // )\r\n }\r\n\r\n const menuConfigs = useMemo(() => {\r\n if (!props.menu || props.menu.length === 0) {\r\n return [\r\n { title: 'Manage Profile', icon: <ManageAccountsIcon fontSize='small' /> },\r\n { title: 'Logout', icon: <Logout fontSize='small' /> }\r\n ]\r\n }\r\n return props.menu ?? []\r\n }, [props.menu])\r\n\r\n // If the user is authenticated, display the AuthWidget with user details\r\n return <Profile profile={profile} menuConfigs={menuConfigs} />\r\n}\r\nexport default AuthWidget\r\n\r\nexport const createAuthWidget = (params: IAuthBaseProps) => {\r\n const _AuthWidget: FC<Omit<IAuthWidgetProps, 'baseUrl'>> = (props) => <AuthWidget {...params} {...props} />\r\n _AuthWidget.displayName = 'AuthWidget'\r\n return _AuthWidget\r\n}\r\n"],"names":["AuthWidget","props","_props$hrefLogin","isAuthenticated","profile","isLoading","_jsx","IconButtonOrange","_objectSpread","onClick","onLoginClick","hrefLogin","component","href","buttonLoginProps","children","LoginIcon","fontSize","menuConfigs","useMemo","_props$menu","menu","length","title","icon","ManageAccountsIcon","Logout","Profile","createAuthWidget","params","_AuthWidget","displayName"],"mappings":"6XAuBaA,EAAmC,SAACC,GAC/C,IAGsBC,EAHdC,EAAwCF,EAAxCE,gBAAiBC,EAAuBH,EAAvBG,QACzB,GADgDH,EAAdI,UACnB,OAAO,KAEtB,IAAKF,EACH,OACEG,EAACC,EAAgBC,EAAAA,EAAAA,EAAA,CACfC,QAASR,EAAMS,cACVT,EAAMU,UAAY,CAAEC,UAAW,IAAKC,KAAqBX,QAAjBA,EAAED,EAAMU,iBAAST,IAAAA,EAAAA,EAAI,KAAQ,CAAE,GACxED,EAAMa,kBAAgB,CAAA,EAAA,CAAAC,SAE1BT,EAACU,EAAU,CAAAC,SAAS,aAgC1B,IAAMC,EAAcC,EAAQ,WAAK,IAAAC,EAC/B,OAAKnB,EAAMoB,MAA8B,IAAtBpB,EAAMoB,KAAKC,eAM9BF,EAAOnB,EAAMoB,YAAI,IAAAD,EAAAA,EAAI,GALZ,CACL,CAAEG,MAAO,iBAAkBC,KAAMlB,EAACmB,EAAmB,CAAAR,SAAS,WAC9D,CAAEM,MAAO,SAAUC,KAAMlB,EAACoB,EAAO,CAAAT,SAAS,WAIhD,EAAG,CAAChB,EAAMoB,OAGV,OAAOf,EAACqB,EAAO,CAACvB,QAASA,EAASc,YAAaA,GACjD,EAGaU,EAAmB,SAACC,GAC/B,IAAMC,EAAqD,SAAC7B,GAAK,OAAKK,EAACN,EAAUQ,EAAAA,EAAA,CAAA,EAAKqB,GAAY5B,GAAS,EAE3G,OADA6B,EAAYC,YAAc,aACnBD,CACT"}
1
+ {"version":3,"file":"widget.js","sources":["../../src/auth/widget.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\r\nimport { ButtonProps } from '@mui/material'\r\nimport Logout from '@mui/icons-material/Logout'\r\nimport LoginIcon from '@mui/icons-material/Login'\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts'\r\nimport { IconButtonOrange } from '../components/buttons'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { IAuthState, IMenuItems } from './types'\r\nimport Profile from './profile'\r\n\r\nexport interface IAuthBaseProps {\r\n baseUrl: IAppSiteBaseUrl\r\n fontSizeScale?: number\r\n // login\r\n hrefLogin?: string\r\n onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n buttonLoginProps?: ButtonProps & { [key: string]: any }\r\n // menu\r\n menu?: IMenuItems\r\n}\r\n\r\nexport interface IAuthWidgetProps extends IAuthState, IAuthBaseProps {}\r\n\r\nexport const AuthWidget: FC<IAuthWidgetProps> = (props) => {\r\n const { isAuthenticated, profile, isLoading } = props\r\n if (isLoading) return null\r\n\r\n if (!isAuthenticated) {\r\n return (\r\n <IconButtonOrange\r\n onClick={props.onLoginClick as any}\r\n {...(props.hrefLogin ? { component: 'a', href: props.hrefLogin ?? '/' } : {})}\r\n {...props.buttonLoginProps}\r\n >\r\n <LoginIcon fontSize='small' />\r\n </IconButtonOrange>\r\n )\r\n // return (\r\n // <ResponsiveDisplay\r\n // xs={\r\n // <IconButtonOrange\r\n // onClick={props.onLoginClick as any}\r\n // {...(props.hrefLogin ? { component: 'a', href: props.hrefLogin ?? '/' } : {})}\r\n // {...props.buttonLoginProps}\r\n // >\r\n // <LoginIcon fontSize='small' />\r\n // </IconButtonOrange>\r\n // }\r\n // md={\r\n // <ButtonOrange\r\n // className='animate-bounce'\r\n // startIcon={<LoginIcon fontSize='small' />}\r\n // onClick={props.onLoginClick as any}\r\n // {...(props.hrefLogin ? { component: 'a', href: props.hrefLogin ?? '/' } : {})}\r\n // {...props.buttonLoginProps}\r\n // >\r\n // {/* <Typography variant='h6' sx={{ fontSize: `${(props.fontSizeScale ?? 1) * 0.9}rem` }}>\r\n // Login\r\n // </Typography> */}\r\n // <Typography variant='h6'>Login</Typography>\r\n // </ButtonOrange>\r\n // }\r\n // />\r\n // )\r\n }\r\n\r\n const menuConfigs = useMemo(() => {\r\n if (!props.menu || props.menu.length === 0) {\r\n return [\r\n { title: 'Manage Profile', icon: <ManageAccountsIcon fontSize='small' /> },\r\n { title: 'Logout', icon: <Logout fontSize='small' /> }\r\n ]\r\n }\r\n return props.menu ?? []\r\n }, [props.menu])\r\n\r\n // If the user is authenticated, display the AuthWidget with user details\r\n return <Profile profile={profile} menuConfigs={menuConfigs} />\r\n}\r\nexport default AuthWidget\r\n\r\nexport const createAuthWidget = (params: IAuthBaseProps) => {\r\n const _AuthWidget: FC<Omit<IAuthWidgetProps, 'baseUrl'>> = (props) => <AuthWidget {...params} {...props} />\r\n _AuthWidget.displayName = 'AuthWidget'\r\n return _AuthWidget\r\n}\r\n"],"names":["AuthWidget","props","_props$hrefLogin","isAuthenticated","profile","isLoading","_jsx","IconButtonOrange","_objectSpread","onClick","onLoginClick","hrefLogin","component","href","buttonLoginProps","children","LoginIcon","fontSize","menuConfigs","useMemo","_props$menu","menu","length","title","icon","ManageAccountsIcon","Logout","Profile","createAuthWidget","params","_AuthWidget","displayName"],"mappings":"6XAuBaA,EAAmC,SAACC,GAC/C,IAGsBC,EAHdC,EAAwCF,EAAxCE,gBAAiBC,EAAuBH,EAAvBG,QACzB,GADgDH,EAAdI,UACnB,OAAO,KAEtB,IAAKF,EACH,OACEG,EAACC,EAAgBC,EAAAA,EAAAA,EAAA,CACfC,QAASR,EAAMS,cACVT,EAAMU,UAAY,CAAEC,UAAW,IAAKC,KAAqBX,QAAjBA,EAAED,EAAMU,iBAAST,IAAAA,EAAAA,EAAI,KAAQ,CAAE,GACxED,EAAMa,kBAAgB,CAAA,EAAA,CAAAC,SAE1BT,EAACU,EAAU,CAAAC,SAAS,aAgC1B,IAAMC,EAAcC,EAAQ,WAAK,IAAAC,EAC/B,OAAKnB,EAAMoB,MAA8B,IAAtBpB,EAAMoB,KAAKC,eAM9BF,EAAOnB,EAAMoB,YAAI,IAAAD,EAAAA,EAAI,GALZ,CACL,CAAEG,MAAO,iBAAkBC,KAAMlB,EAACmB,EAAmB,CAAAR,SAAS,WAC9D,CAAEM,MAAO,SAAUC,KAAMlB,EAACoB,EAAO,CAAAT,SAAS,WAIhD,EAAG,CAAChB,EAAMoB,OAGV,OAAOf,EAACqB,EAAO,CAACvB,QAASA,EAASc,YAAaA,GACjD,EAGaU,EAAmB,SAACC,GAC/B,IAAMC,EAAqD,SAAC7B,GAAK,OAAKK,EAACN,EAAUQ,EAAAA,EAAA,CAAA,EAAKqB,GAAY5B,GAAS,EAE3G,OADA6B,EAAYC,YAAc,aACnBD,CACT"}
@@ -1,2 +1,2 @@
1
- import{inherits as n,createClass as e,objectSpread2 as r,classCallCheck as t,callSuper as o,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s,jsxs as i}from"react/jsx-runtime";import{Component as l}from"react";import c from"@mui/icons-material/ExpandMore";import{NavStyled as m,appHeaderClasses as p}from"./app-header.styled.js";import{ButtonAnimation as u}from"./animated-tabs.units.js";import v from"./sub-menu.js";var d=function(){function d(){var n;t(this,d);for(var e=arguments.length,s=new Array(e),i=0;i<e;i++)s[i]=arguments[i];return n=o(this,d,[].concat(s)),a(n,"getButtonNavProps",function(e){var t,o,a=(n.props.slots||{}).navProps,s="function"==typeof a?a(e):null!=a?a:{},i=r({},e.options);e.navLink&&!s.component&&(i.component="a",i.href=null!==(t=null===(o=e.navLink)||void 0===o?void 0:o.href)&&void 0!==t?t:"/",i.onClick=function(r){return n.handleClickNavItem(r,e)});return r(r({},i),s)}),a(n,"handleClickNavItem",function(e,r){null!=r&&r.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,r.navLink)}),n}return n(d,l),e(d,[{key:"render",value:function(){var n,e=this,t=this.props.configs,o=t.navs,a=t.menu;return s(m,{sx:this.props.sx,children:i("ul",{className:p.navItems,children:[o.map(function(n,t){return s("li",{className:p.navItem,children:s(u,r(r({forceTheme:"dark"},e.getButtonNavProps(n)),{},{children:n.title}))},t)}),s("li",{className:p.navItem,children:s(v,{menu:a,onNavItemClick:this.props.onNavItemClick,slots:null===(n=this.props.slots)||void 0===n?void 0:n.subMenuProps,children:s(u,{forceTheme:"dark",endIcon:s(c,{className:p.navItemIcon}),children:"Explore"})})})]})})}}])}();export{d as default};
1
+ import{inherits as n,createClass as e,objectSpread2 as r,classCallCheck as t,callSuper as o,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s,jsxs as i}from"react/jsx-runtime";import{Component as l}from"react";import c from"@mui/icons-material/ExpandMore";import{NavStyled as m,appHeaderClasses as p}from"./app-header.styled.js";import{ButtonAnimation as u}from"./animated-tabs.units.js";import v from"./sub-menu.js";var d=function(){function d(){var n;t(this,d);for(var e=arguments.length,s=new Array(e),i=0;i<e;i++)s[i]=arguments[i];return n=o(this,d,[].concat(s)),a(n,"getButtonNavProps",function(e){var t,o,a=(n.props.slots||{}).navProps,s="function"==typeof a?a(e):null!=a?a:{},i=r({},e.options);e.navLink&&!s.component&&(i.component="a",i.href=null!==(t=null===(o=e.navLink)||void 0===o?void 0:o.href)&&void 0!==t?t:"/",i.onClick=function(r){return n.handleClickNavItem(r,e)});return r(r({},i),s)}),a(n,"handleClickNavItem",function(e,r){null!=r&&r.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,r.navLink)}),n}return n(d,l),e(d,[{key:"render",value:function(){var n,e=this,t=this.props.configs,o=t.navs,a=t.menu;return s(m,{sx:this.props.sx,children:i("ul",{className:p.navItems,children:[o.map(function(n,t){return s("li",{className:p.navItem,children:s(u,r(r({forceTheme:"dark"},e.getButtonNavProps(n)),{},{children:n.title}))},t)}),s("li",{className:p.navItem,children:s(v,{menu:a,onNavItemClick:this.props.onNavItemClick,slots:null===(n=this.props.slots)||void 0===n?void 0:n.subMenuProps,children:s(u,{forceTheme:"dark",endIcon:s(c,{className:p.navItemIcon}),children:"Get Started"})})})]})})}}])}();export{d as default};
2
2
  //# sourceMappingURL=app-header.nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.nav.js","sources":["../../src/layout-global/app-header.nav.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { MouseEvent as RMouseEvent } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport type { IAppMenu, IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu, { ISubMenuSlots } from './sub-menu'\r\n\r\nexport interface IHeaderNavConfigs {\r\n navs: IAppNav[]\r\n menu: IAppMenu[]\r\n}\r\n\r\nexport interface IAppHeaderNavSlots {\r\n navProps?: Partial<IButtonAnimationProps> | ((item: IAppNav) => Partial<IButtonAnimationProps>)\r\n subMenuProps?: ISubMenuSlots\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IHeaderNavConfigs\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps> {\r\n render() {\r\n const { navs, menu } = this.props.configs\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {navs.map((item, index) => (\r\n <li key={index} className={appHeaderClasses.navItem}>\r\n <ButtonAnimation forceTheme='dark' {...this.getButtonNavProps(item)}>\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n <li className={appHeaderClasses.navItem}>\r\n <SubMenu menu={menu} onNavItemClick={this.props.onNavItemClick} slots={this.props.slots?.subMenuProps}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={<ExpandMoreIcon className={appHeaderClasses.navItemIcon} />}\r\n // {...(menu[0]?.items?.[0] ? this.getButtonNavProps(menu[0]?.items?.[0]) : {})}\r\n >\r\n Explore\r\n </ButtonAnimation>\r\n </SubMenu>\r\n </li>\r\n </ul>\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { navProps: buttonNavProps } = this.props.slots || {}\r\n const outsideProps = typeof buttonNavProps === 'function' ? buttonNavProps(item) : (buttonNavProps ?? {})\r\n\r\n // Base props from item\r\n const base: Partial<IButtonAnimationProps & { [key: string]: any }> = { ...item.options }\r\n\r\n // Add link if item has navLink and outside hasn't set it\r\n if (item.navLink && !(outsideProps as any).component) {\r\n base.component = 'a'\r\n base.href = item.navLink?.href ?? '/'\r\n base.onClick = (e: any) => this.handleClickNavItem(e, item)\r\n }\r\n return { ...base, ...outsideProps }\r\n }\r\n\r\n handleClickNavItem = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav?: IAppNav) => {\r\n if (nav?.navLink && this.props.onNavItemClick) {\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","_item$navLink$href","_item$navLink","buttonNavProps","props","slots","navProps","outsideProps","base","_objectSpread","options","navLink","component","href","onClick","e","handleClickNavItem","nav","onNavItemClick","_inherits","Component","_createClass","key","value","_this$props$slots","_this2","_this$props$configs","configs","navs","menu","_jsx","NavStyled","sx","children","_jsxs","className","appHeaderClasses","navItems","map","index","navItem","ButtonAnimation","forceTheme","getButtonNavProps","title","SubMenu","subMenuProps","endIcon","ExpandMoreIcon","navItemIcon"],"mappings":"kcA0BMA,IAAAA,aAAa,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAiDhB,OAjDgBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EA6BG,oBAAA,SAACY,GACnB,IAOsDC,EAAAC,EAPpCC,GAAmBf,EAAKgB,MAAMC,OAAS,CAAE,GAAnDC,SACFC,EAAyC,mBAAnBJ,EAAgCA,EAAeH,GAASG,QAAAA,EAAkB,CAAG,EAGnGK,EAAIC,KAAiET,EAAKU,SAG5EV,EAAKW,UAAaJ,EAAqBK,YACzCJ,EAAKI,UAAY,IACjBJ,EAAKK,aAAIZ,UAAAC,EAAGF,EAAKW,eAAO,IAAAT,OAAA,EAAZA,EAAcW,YAAI,IAAAZ,EAAAA,EAAI,IAClCO,EAAKM,QAAU,SAACC,GAAM,OAAK3B,EAAK4B,mBAAmBD,EAAGf,EAAK,GAE7D,OAAAS,EAAAA,EAAYD,CAAAA,EAAAA,GAASD,KACtBR,EAAAX,EAAA,qBAEoB,SAAC2B,EAA+CE,GAC/DA,SAAAA,EAAKN,SAAWvB,EAAKgB,MAAMc,gBAC7B9B,EAAKgB,MAAMc,eAAeH,EAAGE,EAAIN,WAEpCvB,CAAA,CAAA,OAAA+B,EAAAhC,EAjDwBiC,GAiDxBC,EAAAlC,EAAA,CAAA,CAAAmC,IAAA,SAAAC,MAhDD,WAAM,IAAAC,EAAAC,EAAA5B,KACJ6B,EAAuB7B,KAAKO,MAAMuB,QAA1BC,EAAIF,EAAJE,KAAMC,EAAIH,EAAJG,KACd,OACEC,EAACC,EAAU,CAAAC,GAAInC,KAAKO,MAAM4B,GACxBC,SAAAC,EAAA,KAAA,CAAIC,UAAWC,EAAiBC,SAC7BJ,SAAA,CAAAL,EAAKU,IAAI,SAACtC,EAAMuC,GAAK,OACpBT,EAAgB,KAAA,CAAAK,UAAWC,EAAiBI,QAC1CP,SAAAH,EAACW,EAAehC,EAAAA,EAAA,CAACiC,WAAW,QAAWjB,EAAKkB,kBAAkB3C,IAAK,CAAA,EAAA,CAChEiC,SAAAjC,EAAK4C,UAFDL,EAIJ,GAEPT,EAAI,KAAA,CAAAK,UAAWC,EAAiBI,QAC9BP,SAAAH,EAACe,EAAO,CAAChB,KAAMA,EAAMX,eAAgBrB,KAAKO,MAAMc,eAAgBb,MAAuBmB,QAAlBA,EAAE3B,KAAKO,MAAMC,aAAXmB,IAAgBA,OAAhBA,EAAAA,EAAkBsB,aAAYb,SACnGH,EAACW,EACC,CAAAC,WAAW,OACXK,QAASjB,EAACkB,EAAc,CAACb,UAAWC,EAAiBa,cAIrChB,SAAA,oBAM9B,IAAC"}
1
+ {"version":3,"file":"app-header.nav.js","sources":["../../src/layout-global/app-header.nav.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { MouseEvent as RMouseEvent } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport type { IAppMenu, IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu, { ISubMenuSlots } from './sub-menu'\r\n\r\nexport interface IHeaderNavConfigs {\r\n navs: IAppNav[]\r\n menu: IAppMenu[]\r\n}\r\n\r\nexport interface IAppHeaderNavSlots {\r\n navProps?: Partial<IButtonAnimationProps> | ((item: IAppNav) => Partial<IButtonAnimationProps>)\r\n subMenuProps?: ISubMenuSlots\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IHeaderNavConfigs\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps> {\r\n render() {\r\n const { navs, menu } = this.props.configs\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {navs.map((item, index) => (\r\n <li key={index} className={appHeaderClasses.navItem}>\r\n <ButtonAnimation forceTheme='dark' {...this.getButtonNavProps(item)}>\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n <li className={appHeaderClasses.navItem}>\r\n <SubMenu menu={menu} onNavItemClick={this.props.onNavItemClick} slots={this.props.slots?.subMenuProps}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={<ExpandMoreIcon className={appHeaderClasses.navItemIcon} />}\r\n // {...(menu[0]?.items?.[0] ? this.getButtonNavProps(menu[0]?.items?.[0]) : {})}\r\n >\r\n Get Started\r\n </ButtonAnimation>\r\n </SubMenu>\r\n </li>\r\n </ul>\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { navProps: buttonNavProps } = this.props.slots || {}\r\n const outsideProps = typeof buttonNavProps === 'function' ? buttonNavProps(item) : (buttonNavProps ?? {})\r\n\r\n // Base props from item\r\n const base: Partial<IButtonAnimationProps & { [key: string]: any }> = { ...item.options }\r\n\r\n // Add link if item has navLink and outside hasn't set it\r\n if (item.navLink && !(outsideProps as any).component) {\r\n base.component = 'a'\r\n base.href = item.navLink?.href ?? '/'\r\n base.onClick = (e: any) => this.handleClickNavItem(e, item)\r\n }\r\n return { ...base, ...outsideProps }\r\n }\r\n\r\n handleClickNavItem = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav?: IAppNav) => {\r\n if (nav?.navLink && this.props.onNavItemClick) {\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","_item$navLink$href","_item$navLink","buttonNavProps","props","slots","navProps","outsideProps","base","_objectSpread","options","navLink","component","href","onClick","e","handleClickNavItem","nav","onNavItemClick","_inherits","Component","_createClass","key","value","_this$props$slots","_this2","_this$props$configs","configs","navs","menu","_jsx","NavStyled","sx","children","_jsxs","className","appHeaderClasses","navItems","map","index","navItem","ButtonAnimation","forceTheme","getButtonNavProps","title","SubMenu","subMenuProps","endIcon","ExpandMoreIcon","navItemIcon"],"mappings":"kcA0BMA,IAAAA,aAAa,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAiDhB,OAjDgBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EA6BG,oBAAA,SAACY,GACnB,IAOsDC,EAAAC,EAPpCC,GAAmBf,EAAKgB,MAAMC,OAAS,CAAE,GAAnDC,SACFC,EAAyC,mBAAnBJ,EAAgCA,EAAeH,GAASG,QAAAA,EAAkB,CAAG,EAGnGK,EAAIC,KAAiET,EAAKU,SAG5EV,EAAKW,UAAaJ,EAAqBK,YACzCJ,EAAKI,UAAY,IACjBJ,EAAKK,aAAIZ,UAAAC,EAAGF,EAAKW,eAAO,IAAAT,OAAA,EAAZA,EAAcW,YAAI,IAAAZ,EAAAA,EAAI,IAClCO,EAAKM,QAAU,SAACC,GAAM,OAAK3B,EAAK4B,mBAAmBD,EAAGf,EAAK,GAE7D,OAAAS,EAAAA,EAAYD,CAAAA,EAAAA,GAASD,KACtBR,EAAAX,EAAA,qBAEoB,SAAC2B,EAA+CE,GAC/DA,SAAAA,EAAKN,SAAWvB,EAAKgB,MAAMc,gBAC7B9B,EAAKgB,MAAMc,eAAeH,EAAGE,EAAIN,WAEpCvB,CAAA,CAAA,OAAA+B,EAAAhC,EAjDwBiC,GAiDxBC,EAAAlC,EAAA,CAAA,CAAAmC,IAAA,SAAAC,MAhDD,WAAM,IAAAC,EAAAC,EAAA5B,KACJ6B,EAAuB7B,KAAKO,MAAMuB,QAA1BC,EAAIF,EAAJE,KAAMC,EAAIH,EAAJG,KACd,OACEC,EAACC,EAAU,CAAAC,GAAInC,KAAKO,MAAM4B,GACxBC,SAAAC,EAAA,KAAA,CAAIC,UAAWC,EAAiBC,SAC7BJ,SAAA,CAAAL,EAAKU,IAAI,SAACtC,EAAMuC,GAAK,OACpBT,EAAgB,KAAA,CAAAK,UAAWC,EAAiBI,QAC1CP,SAAAH,EAACW,EAAehC,EAAAA,EAAA,CAACiC,WAAW,QAAWjB,EAAKkB,kBAAkB3C,IAAK,CAAA,EAAA,CAChEiC,SAAAjC,EAAK4C,UAFDL,EAIJ,GAEPT,EAAI,KAAA,CAAAK,UAAWC,EAAiBI,QAC9BP,SAAAH,EAACe,EAAO,CAAChB,KAAMA,EAAMX,eAAgBrB,KAAKO,MAAMc,eAAgBb,MAAuBmB,QAAlBA,EAAE3B,KAAKO,MAAMC,aAAXmB,IAAgBA,OAAhBA,EAAAA,EAAkBsB,aAAYb,SACnGH,EAACW,EACC,CAAAC,WAAW,OACXK,QAASjB,EAACkB,EAAc,CAACb,UAAWC,EAAiBa,cAIrChB,SAAA,wBAM9B,IAAC"}
@@ -1,4 +1,4 @@
1
- export type { IProfile, IAuthState } from './types';
1
+ export type { IProfile, IAuthState, IMenuItems, IMenuItem } from './types';
2
2
  export * from './widget';
3
3
  export * from './service';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEnD,cAAc,UAAU,CAAA;AAExB,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE1E,cAAc,UAAU,CAAA;AAExB,cAAc,WAAW,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Component } from 'react';
2
2
  import type { PropsWithChildren } from 'react';
3
- import type { IIMenuConfigs, IMenuConfig, IProfile } from './types';
3
+ import type { IMenuItems, IMenuItem, IProfile } from './types';
4
4
  export declare const profileClasses: {
5
5
  root: string;
6
6
  title: string;
@@ -8,7 +8,7 @@ export declare const profileClasses: {
8
8
  };
9
9
  export interface IAvatarButtonProps extends PropsWithChildren {
10
10
  profile: IProfile | null;
11
- menuConfigs: IIMenuConfigs;
11
+ menuConfigs: IMenuItems;
12
12
  theme?: 'dark' | 'light';
13
13
  }
14
14
  export interface IAvatarButtonState {
@@ -19,7 +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
+ handleMenuItemClick: (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, menuConfig: IMenuItem) => void;
23
23
  handleClose: () => void;
24
24
  render(): import("react/jsx-runtime").JSX.Element;
25
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,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"}
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,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE9D,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAMD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,UAAU,CAAA;IACvB,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,SAAS,UAKpH;IAED,WAAW,aAEV;IAED,MAAM;CAyDP;AAED,eAAe,OAAO,CAAA"}
@@ -4,6 +4,7 @@ export interface IAuthMetaData {
4
4
  displayName: string;
5
5
  email?: string;
6
6
  avatarUrl?: string;
7
+ roles?: string[];
7
8
  }
8
9
  export interface IAuthProvider {
9
10
  tryAutoSignIn?: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/auth/service.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAA;CAClC;AAoBD,qBAAa,WAAW;IACtB,MAAM,CAAC,YAAY,SAA0B;IAC7C,MAAM,KAAK,QAAQ,IAAI,aAAa,CAGnC;IACD,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa;;IAS1C,aAAa;IAGb,MAAM;IAGN,OAAO;IAGP,OAAO;CAGR"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/auth/service.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAA;CAClC;AAoBD,qBAAa,WAAW;IACtB,MAAM,CAAC,YAAY,SAA0B;IAC7C,MAAM,KAAK,QAAQ,IAAI,aAAa,CAGnC;IACD,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa;;IAS1C,aAAa;IAGb,MAAM;IAGN,OAAO;IAGP,OAAO;CAGR"}
@@ -9,7 +9,7 @@ export interface IAuthState {
9
9
  isAuthenticated?: boolean;
10
10
  isLoading?: boolean;
11
11
  }
12
- export interface IMenuConfig {
12
+ export interface IMenuItem {
13
13
  title: string;
14
14
  icon: ReactNode;
15
15
  href?: string;
@@ -18,5 +18,5 @@ export interface IMenuConfig {
18
18
  [key: string]: any;
19
19
  };
20
20
  }
21
- export type IIMenuConfigs = IMenuConfig[];
21
+ export type IMenuItems = IMenuItem[];
22
22
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC3F,WAAW,CAAC,EAAE,QAAQ,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAChD;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC3F,WAAW,CAAC,EAAE,QAAQ,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAChD;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,EAAE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { ButtonProps } from '@mui/material';
3
3
  import type { IAppSiteBaseUrl } from '../types';
4
- import type { IAuthState, IIMenuConfigs } from './types';
4
+ import type { IAuthState, IMenuItems } from './types';
5
5
  export interface IAuthBaseProps {
6
6
  baseUrl: IAppSiteBaseUrl;
7
7
  fontSizeScale?: number;
@@ -10,7 +10,7 @@ export interface IAuthBaseProps {
10
10
  buttonLoginProps?: ButtonProps & {
11
11
  [key: string]: any;
12
12
  };
13
- menu?: IIMenuConfigs;
13
+ menu?: IMenuItems;
14
14
  }
15
15
  export interface IAuthWidgetProps extends IAuthState, IAuthBaseProps {
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/auth/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAK3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGxD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC5F,gBAAgB,CAAC,EAAE,WAAW,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAEvD,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU,EAAE,cAAc;CAAG;AAEvE,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAuD3C,CAAA;AACD,eAAe,UAAU,CAAA;AAEzB,eAAO,MAAM,gBAAgB,WAAY,cAAc,0CAItD,CAAA"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/auth/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAK3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGrD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC5F,gBAAgB,CAAC,EAAE,WAAW,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAEvD,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU,EAAE,cAAc;CAAG;AAEvE,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAuD3C,CAAA;AACD,eAAe,UAAU,CAAA;AAEzB,eAAO,MAAM,gBAAgB,WAAY,cAAc,0CAItD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.2.39",
3
+ "version": "1.2.41",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",