dinocollab-shared 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/auth/profile.js +1 -1
  2. package/dist/auth/profile.js.map +1 -1
  3. package/dist/auth/widget.js +1 -1
  4. package/dist/auth/widget.js.map +1 -1
  5. package/dist/cart/cart-store.js +1 -1
  6. package/dist/cart/cart-store.js.map +1 -1
  7. package/dist/cart/styled.js +1 -1
  8. package/dist/cart/styled.js.map +1 -1
  9. package/dist/cart/widget.js +1 -1
  10. package/dist/cart/widget.js.map +1 -1
  11. package/dist/layout-global/app-header.js +1 -1
  12. package/dist/layout-global/app-header.js.map +1 -1
  13. package/dist/layout-global/app-header.nav.js +1 -1
  14. package/dist/layout-global/app-header.nav.js.map +1 -1
  15. package/dist/layout-global/app-header.styled.js +1 -1
  16. package/dist/layout-global/app-header.styled.js.map +1 -1
  17. package/dist/layout-global/configs.js +1 -1
  18. package/dist/layout-global/configs.js.map +1 -1
  19. package/dist/layout-global/index.js +1 -1
  20. package/dist/layout-global/types.js.map +1 -1
  21. package/dist/layout-global/ui.units.js.map +1 -1
  22. package/dist/types/auth/profile.d.ts.map +1 -1
  23. package/dist/types/auth/types.d.ts +4 -0
  24. package/dist/types/auth/types.d.ts.map +1 -1
  25. package/dist/types/auth/widget.d.ts +6 -5
  26. package/dist/types/auth/widget.d.ts.map +1 -1
  27. package/dist/types/cart/cart-store.d.ts.map +1 -1
  28. package/dist/types/cart/styled.d.ts.map +1 -1
  29. package/dist/types/cart/widget.d.ts +4 -0
  30. package/dist/types/cart/widget.d.ts.map +1 -1
  31. package/dist/types/layout-global/app-header.d.ts +6 -1
  32. package/dist/types/layout-global/app-header.d.ts.map +1 -1
  33. package/dist/types/layout-global/app-header.nav.d.ts +8 -1
  34. package/dist/types/layout-global/app-header.nav.d.ts.map +1 -1
  35. package/dist/types/layout-global/configs.d.ts.map +1 -1
  36. package/dist/types/layout-global/index.d.ts +4 -0
  37. package/dist/types/layout-global/index.d.ts.map +1 -1
  38. package/dist/types/layout-global/types.d.ts +5 -0
  39. package/dist/types/layout-global/types.d.ts.map +1 -1
  40. package/dist/types/layout-global/ui.units.d.ts +9 -3
  41. package/dist/types/layout-global/ui.units.d.ts.map +1 -1
  42. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{inherits as t,createClass as o,objectSpread2 as r,defineProperty as e,classCallCheck as l,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as a}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as d,Tooltip as p,IconButton as u,Avatar as h,Menu as m,Typography as v,Divider as f,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,o){return"".concat("",".").concat(y[t]).concat("")},P=function(){function C(t){var o;return l(this,C),o=i(this,C,[t]),e(o,"toggle",function(){return o.setState({isOpen:!o.state.isOpen})}),e(o,"handleClick",function(t){o.setState({element:t.currentTarget})}),e(o,"handleClose",function(){o.setState({element:null})}),o.state={isOpen:!1,element:null},o}return t(C,s),o(C,[{key:"render",value:function(){var t,o=this.props.profile,e=(null==o?void 0:o.UserName)||"Guest";return n(c,{children:[a(d,{in:!0,children:a(p,{title:"Account settings",children:a(u,{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,children:a(h,r({src:null!==(t=null==o?void 0:o.AvatarUrl)&&void 0!==t?t:""},k(e)))})})}),n(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:S(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[n(v,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",e]}),a(f,{variant:"middle",sx:{mb:1}}),this.props.menuConfigs.map(function(t,o){return a(g,{children:n(x,r(r({className:y.item},t.href?{component:"a",href:t.href}:{}),{},{onClick:t.onClick,children:[a(b,{children:t.icon}),t.title]}))},o)})]})]})}}])}(),S=function(){var t="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),o=t?"#fff":"#323234",r=t?"#000":"#fff",l=t?C.blue[600]:"#e78a3f",i=t?C.grey[200]:C.grey[700];return{elevation:0,sx:e(e(e(e(e(e(e({"--color-background":o,"--color-text":r,"--color-text-secondary":l,"--color-divider":i,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"),{padding:"6px 16px",textDecoration:"none",color:"currentColor",display:"flex",alignItems:"center",gap:"8px"}),"& .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{P as Profile,P as default,y as profileClasses};
1
+ import{inherits as t,createClass as o,objectSpread2 as r,defineProperty as e,classCallCheck as l,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as a}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as d,Tooltip as p,IconButton as u,Avatar as h,Menu as m,Typography as v,Divider as f,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"},P=function(t,o){return"".concat("",".").concat(y[t]).concat("")},M=function(){function C(t){var o;return l(this,C),o=i(this,C,[t]),e(o,"toggle",function(){return o.setState({isOpen:!o.state.isOpen})}),e(o,"handleClick",function(t){o.setState({element:t.currentTarget})}),e(o,"handleClose",function(){o.setState({element:null})}),o.state={isOpen:!1,element:null},o}return t(C,s),o(C,[{key:"render",value:function(){var t,o=this.props.profile,e=(null==o?void 0:o.UserName)||"Guest";return n(c,{children:[a(d,{in:!0,children:a(p,{title:"Account settings",children:a(u,{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,children:a(h,r({src:null!==(t=null==o?void 0:o.AvatarUrl)&&void 0!==t?t:""},k(e)))})})}),n(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:S(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[n(v,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",e]}),a(f,{variant:"middle",sx:{mb:1}}),this.props.menuConfigs.map(function(t,o){return a(g,{children:n(x,r(r(r({className:y.item,onClick:t.onClick},t.href?{component:"a",href:t.href}:{}),t.buttonProps),{},{children:[a(b,{children:t.icon}),t.title]}))},o)})]})]})}}])}(),S=function(){var t="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),o=t?"#fff":"#323234",r=t?"#000":"#fff",l=t?C.blue[600]:"#e78a3f",i=t?C.grey[200]:C.grey[700];return{elevation:0,sx:e(e(e(e(e(e(e({"--color-background":o,"--color-text":r,"--color-text-secondary":l,"--color-divider":i,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)"},P("title"),{marginTop:"-8px",padding:"10px 16px",fontWeight:"600",color:"var(--color-text)"}),P("item"),{padding:"6px 16px",textDecoration:"none",color:"currentColor",display:"flex",alignItems:"center",gap:"8px"}),"& .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{M as Profile,M 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, 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 >\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 {...(menuConfig.href ? { component: 'a', href: menuConfig.href } : {})}\r\n onClick={menuConfig.onClick}\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 padding: '6px 16px',\r\n textDecoration: 'none',\r\n color: 'currentColor',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px'\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","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","sx","mb","menuConfigs","map","menuConfig","index","MenuItem","Box","href","ListItemIcon","icon","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","marginTop","padding","fontWeight","textDecoration","display","alignItems","gap","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, 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 >\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 padding: '6px 16px',\r\n textDecoration: 'none',\r\n color: 'currentColor',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px'\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","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","sx","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","textDecoration","display","alignItems","gap","width","height","ml","mr","transition","transform","borderColor","content","position","top","right","zIndex"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import{Typography as n}from"@mui/material";import r from"@mui/icons-material/Logout";import e from"@mui/icons-material/Login";import t from"@mui/icons-material/ManageAccounts";import{AppButtonOrange as l,AppIconButtonOrange as a}from"../layout-global/ui.units.js";import{Profile as m}from"./profile.js";import f from"../components/responsive-display.js";var c=function(c){var u,s,p=c.isAuthenticated,g=c.profile;return c.isLoading?null:p?i(m,{profile:g,menuConfigs:[{title:"Manage Profile",icon:i(t,{fontSize:"small"}),href:c.hrefProfile,onClick:c.onProfileClick},{title:"Logout",icon:i(r,{fontSize:"small"}),href:c.hrefLogout,onClick:c.onLogoutClick}]}):i(f,{xs:i(a,o(o({},{component:"a",href:null!==(u=c.hrefLogin)&&void 0!==u?u:"/"}),{},{onClick:c.onLoginClick,children:i(e,{fontSize:"small"})})),md:i(l,o(o({className:"animate-bounce",startIcon:i(e,{fontSize:"small"})},{component:"a",href:null!==(s=c.hrefLogin)&&void 0!==s?s:"/"}),{},{onClick:c.onLoginClick,children:i(n,{variant:"h6",children:"Login"})}))})},u=function(n){var r=function(r){return i(c,o(o({},n),r))};return r.displayName="AuthWidget",r};export{c as AuthWidget,u as createAuthWidget,c as default};
1
+ import{objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import{useMemo as n}from"react";import{Typography as r}from"@mui/material";import t from"@mui/icons-material/Logout";import e from"@mui/icons-material/Login";import l from"@mui/icons-material/ManageAccounts";import{AppButtonOrange as a,AppIconButtonOrange as m}from"../layout-global/ui.units.js";import{Profile as u}from"./profile.js";import f from"../components/responsive-display.js";var s=function(s){var c,p,g=s.isAuthenticated,d=s.profile;if(s.isLoading)return null;if(!g)return i(f,{xs:i(m,o(o(o({onClick:s.onLoginClick},s.hrefLogin?{component:"a",href:null!==(c=s.hrefLogin)&&void 0!==c?c:"/"}:{}),s.buttonLoginProps),{},{children:i(e,{fontSize:"small"})})),md:i(a,o(o(o({className:"animate-bounce",startIcon:i(e,{fontSize:"small"}),onClick:s.onLoginClick},s.hrefLogin?{component:"a",href:null!==(p=s.hrefLogin)&&void 0!==p?p:"/"}:{}),s.buttonLoginProps),{},{children:i(r,{variant:"h6",children:"Login"})}))});var h=n(function(){var o;return s.menu&&0!==s.menu.length?null!==(o=s.menu)&&void 0!==o?o:[]:[{title:"Manage Profile",icon:i(l,{fontSize:"small"})},{title:"Logout",icon:i(t,{fontSize:"small"})}]},[s.menu]);return i(u,{profile:d,menuConfigs:h})},c=function(n){var r=function(r){return i(s,o(o({},n),r))};return r.displayName="AuthWidget",r};export{s as AuthWidget,c as createAuthWidget,s as default};
2
2
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sources":["../../src/auth/widget.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { Typography } 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 { AppButtonOrange, AppIconButtonOrange } from '../layout-global/ui.units'\r\nimport type { IAuthState } from './types'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport Profile from './profile'\r\nimport ResponsiveDisplay from '../components/responsive-display'\r\n\r\nexport interface ICreateAuthBase {\r\n baseUrl: IAppSiteBaseUrl\r\n hrefProfile?: string\r\n onProfileClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n hrefLogin?: string\r\n onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n hrefLogout?: string\r\n onLogoutClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n}\r\n\r\nexport interface IAuthWidgetProps extends IAuthState, ICreateAuthBase {}\r\n\r\n// interface IAuthWidgetBaseProps extends IAuthWidgetProps {}\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 <ResponsiveDisplay\r\n xs={\r\n <AppIconButtonOrange {...{ component: 'a', href: props.hrefLogin ?? '/' }} onClick={props.onLoginClick as any}>\r\n <LoginIcon fontSize='small' />\r\n </AppIconButtonOrange>\r\n }\r\n md={\r\n <AppButtonOrange\r\n className='animate-bounce'\r\n startIcon={<LoginIcon fontSize='small' />}\r\n {...{ component: 'a', href: props.hrefLogin ?? '/' }}\r\n onClick={props.onLoginClick as any}\r\n >\r\n <Typography variant='h6'>Login</Typography>\r\n </AppButtonOrange>\r\n }\r\n />\r\n )\r\n }\r\n\r\n // If the user is authenticated, display the AuthWidget with user details\r\n return (\r\n <Profile\r\n profile={profile}\r\n menuConfigs={[\r\n {\r\n title: 'Manage Profile',\r\n icon: <ManageAccountsIcon fontSize='small' />,\r\n href: props.hrefProfile,\r\n onClick: props.onProfileClick\r\n },\r\n { title: 'Logout', icon: <Logout fontSize='small' />, href: props.hrefLogout, onClick: props.onLogoutClick }\r\n ]}\r\n />\r\n )\r\n}\r\n\r\n// const AuthWidget: FC<IAuthWidgetProps> = (props) => {\r\n// const { profile, isAuthenticated, isLoading, ...otherProps } = props\r\n// const authState: IAuthState = { profile, isAuthenticated, isLoading }\r\n// const currentAuth = useAuth()\r\n// const { setState } = useAuthActions()\r\n\r\n// useEffect(() => {\r\n// setState(authState)\r\n// return () => {}\r\n// }, [JSON.stringify(authState)])\r\n\r\n// return <AuthWidgetBase profile={currentAuth.profile} {...otherProps} />\r\n// }\r\n\r\nexport default AuthWidget\r\n\r\nexport const createAuthWidget = (params: ICreateAuthBase) => {\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","_props$hrefLogin2","isAuthenticated","profile","isLoading","_jsx","Profile","menuConfigs","title","icon","ManageAccountsIcon","fontSize","href","hrefProfile","onClick","onProfileClick","Logout","hrefLogout","onLogoutClick","ResponsiveDisplay","xs","AppIconButtonOrange","_objectSpread","component","hrefLogin","onLoginClick","LoginIcon","md","AppButtonOrange","className","startIcon","children","Typography","variant","createAuthWidget","params","_AuthWidget","displayName"],"mappings":"udAyBaA,EAAmC,SAACC,GAC/C,IAGsBC,EAAAC,EAHdC,EAAwCH,EAAxCG,gBAAiBC,EAAuBJ,EAAvBI,QACzB,OADgDJ,EAAdK,UACZ,KAEjBF,EAwBHG,EAACC,EAAO,CACNH,QAASA,EACTI,YAAa,CACX,CACEC,MAAO,iBACPC,KAAMJ,EAACK,GAAmBC,SAAS,UACnCC,KAAMb,EAAMc,YACZC,QAASf,EAAMgB,gBAEjB,CAAEP,MAAO,SAAUC,KAAMJ,EAACW,EAAO,CAAAL,SAAS,UAAYC,KAAMb,EAAMkB,WAAYH,QAASf,EAAMmB,kBA/B/Fb,EAACc,GACCC,GACEf,EAACgB,EAAmBC,EAAAA,EAAK,CAAA,EAAA,CAAEC,UAAW,IAAKX,KAAqBZ,QAAjBA,EAAED,EAAMyB,iBAASxB,IAAAA,EAAAA,EAAI,MAAK,CAAA,EAAA,CAAEc,QAASf,EAAM0B,sBACxFpB,EAACqB,GAAUf,SAAS,aAGxBgB,GACEtB,EAACuB,EAAeN,EAAAA,EAAA,CACdO,UAAU,iBACVC,UAAWzB,EAACqB,GAAUf,SAAS,WAC3B,CAAEY,UAAW,IAAKX,KAAqBX,QAAjBA,EAAEF,EAAMyB,iBAASvB,IAAAA,EAAAA,EAAI,MAAK,CAAA,EAAA,CACpDa,QAASf,EAAM0B,aAAmBM,SAElC1B,EAAC2B,EAAU,CAACC,QAAQ,4BAsBhC,EAkBaC,EAAmB,SAACC,GAC/B,IAAMC,EAAqD,SAACrC,GAAK,OAAKM,EAACP,EAAUwB,EAAAA,EAAA,CAAA,EAAKa,GAAYpC,GAAS,EAE3G,OADAqC,EAAYC,YAAc,aACnBD,CACT"}
1
+ {"version":3,"file":"widget.js","sources":["../../src/auth/widget.tsx"],"sourcesContent":["import { FC, useMemo } from 'react'\r\nimport { ButtonProps, Typography } 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 { AppButtonOrange, AppIconButtonOrange } from '../layout-global/ui.units'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { IAuthState, IIMenuConfigs } from './types'\r\nimport Profile from './profile'\r\nimport ResponsiveDisplay from '../components/responsive-display'\r\n\r\nexport interface ICreateAuthBase {\r\n baseUrl: IAppSiteBaseUrl\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, ICreateAuthBase {}\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 <ResponsiveDisplay\r\n xs={\r\n <AppIconButtonOrange\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 </AppIconButtonOrange>\r\n }\r\n md={\r\n <AppButtonOrange\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'>Login</Typography>\r\n </AppButtonOrange>\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: ICreateAuthBase) => {\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","_props$hrefLogin2","isAuthenticated","profile","isLoading","_jsx","ResponsiveDisplay","xs","AppIconButtonOrange","_objectSpread","onClick","onLoginClick","hrefLogin","component","href","buttonLoginProps","children","LoginIcon","fontSize","md","AppButtonOrange","className","startIcon","Typography","variant","menuConfigs","useMemo","_props$menu","menu","length","title","icon","ManageAccountsIcon","Logout","Profile","createAuthWidget","params","_AuthWidget","displayName"],"mappings":"ufAuBaA,EAAmC,SAACC,GAC/C,IAGsBC,EAAAC,EAHdC,EAAwCH,EAAxCG,gBAAiBC,EAAuBJ,EAAvBI,QACzB,GADgDJ,EAAdK,UACnB,OAAO,KAEtB,IAAKF,EACH,OACEG,EAACC,EACC,CAAAC,GACEF,EAACG,EAAmBC,EAAAA,EAAAA,EAAA,CAClBC,QAASX,EAAMY,cACVZ,EAAMa,UAAY,CAAEC,UAAW,IAAKC,KAAqBd,QAAjBA,EAAED,EAAMa,iBAASZ,IAAAA,EAAAA,EAAI,KAAQ,CAAE,GACxED,EAAMgB,kBAAgB,CAAA,EAAA,CAAAC,SAE1BX,EAACY,EAAU,CAAAC,SAAS,aAGxBC,GACEd,EAACe,EAAeX,EAAAA,EAAAA,EAAA,CACdY,UAAU,iBACVC,UAAWjB,EAACY,EAAS,CAACC,SAAS,UAC/BR,QAASX,EAAMY,cACVZ,EAAMa,UAAY,CAAEC,UAAW,IAAKC,KAAqBb,QAAjBA,EAAEF,EAAMa,iBAASX,IAAAA,EAAAA,EAAI,KAAQ,CAAE,GACxEF,EAAMgB,kBAAgB,CAAA,EAAA,CAAAC,SAE1BX,EAACkB,EAAW,CAAAC,QAAQ,KAAuBR,SAAA,eAOrD,IAAMS,EAAcC,EAAQ,WAAK,IAAAC,EAC/B,OAAK5B,EAAM6B,MAA8B,IAAtB7B,EAAM6B,KAAKC,eAM9BF,EAAO5B,EAAM6B,YAAI,IAAAD,EAAAA,EAAI,GALZ,CACL,CAAEG,MAAO,iBAAkBC,KAAM1B,EAAC2B,EAAmB,CAAAd,SAAS,WAC9D,CAAEY,MAAO,SAAUC,KAAM1B,EAAC4B,EAAO,CAAAf,SAAS,WAIhD,EAAG,CAACnB,EAAM6B,OAGV,OAAOvB,EAAC6B,EAAO,CAAC/B,QAASA,EAASsB,YAAaA,GACjD,EAGaU,EAAmB,SAACC,GAC/B,IAAMC,EAAqD,SAACtC,GAAK,OAAKM,EAACP,EAAUW,EAAAA,EAAA,CAAA,EAAK2B,GAAYrC,GAAS,EAE3G,OADAsC,EAAYC,YAAc,aACnBD,CACT"}
@@ -1,2 +1,2 @@
1
- import{createClass as e,objectSpread2 as t,typeof as i,classCallCheck as a,defineProperty as r,inherits as n,superPropGet as o,callSuper as s}from"../_virtual/_rollupPluginBabelHelpers.js";import l from"events";var u=function(){function t(){var e;return a(this,t),e=s(this,t),r(e,"_createWrapListener",function(e){return function(){try{e.apply(void 0,arguments)}catch(e){console.error("Error in MfeBridge listener:",e)}}}),e}return n(t,l),e(t,[{key:"subscribe",value:function(e,i){var a=this,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(i):i;return o(t,"addListener",this)([e,r]),function(){o(t,"removeListener",a)([e,r])}}}])}();function c(){return void 0===("undefined"==typeof globalThis?"undefined":i(globalThis))?null:(void 0===globalThis.CartEventStore&&(globalThis.CartEventStore=new u),globalThis.CartEventStore)}var h=function(){return e(function e(t){var i=this;a(this,e),r(this,"initialize",function(){var e=c();null==e||e.subscribe("requestState",function(){null==e||e.emit("stateChange",{items:i.getState()})})}),r(this,"destroy",function(){var e=c();null==e||e.removeAllListeners("requestState")}),this.configs=t,this.configs.localStorageKey||(this.configs.localStorageKey="cartItems"),this.initialize()},[{key:"emitStateChange",value:function(e){var t=c();this.saveToLocalStorage(e),null==t||t.emit("stateChange",{items:e,options:{message:"Cart items updated"}})}},{key:"add",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.getState();return!t&&this.configs.idGetter(e)in i||(i[this.configs.idGetter(e)]=e),this.emitStateChange(i),this}},{key:"addMany",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.getState();return e.forEach(function(e){!i&&t.configs.idGetter(e)in a||(a[t.configs.idGetter(e)]=e)}),this.emitStateChange(a),this}},{key:"updateOrAdd",value:function(e,i){var a=this.getState(),r=a[e];return a[e]=r?t(t({},r),i):i,this.emitStateChange(a),this}},{key:"remove",value:function(e){var t=this.getState();return e in t&&(delete t[e],this.emitStateChange(t)),this}},{key:"clear",value:function(){return this.emitStateChange({}),this}},{key:"getState",value:function(){return this.loadFromLocalStorage()||{}}},{key:"getItems",value:function(){var e=this.getState();return Array.isArray(e)?e:Object.values(e)}},{key:"loadFromLocalStorage",value:function(){if("undefined"!=typeof globalThis&&globalThis.localStorage){var e=localStorage.getItem(this.configs.localStorageKey||"cartItems");if(e)return JSON.parse(e)}}},{key:"saveToLocalStorage",value:function(e){"undefined"!=typeof globalThis&&globalThis.localStorage&&(this.configs.localStorageKey?localStorage.setItem(this.configs.localStorageKey,JSON.stringify(e)):console.warn("No localStorageKey provided, skipping storage"))}}])}();export{u as CartEventStore,h as MfeCartStore,c as getCartEventStore};
1
+ import{createClass as e,objectSpread2 as t,typeof as i,classCallCheck as a,defineProperty as r,inherits as n,superPropGet as o,callSuper as s}from"../_virtual/_rollupPluginBabelHelpers.js";import l from"events";var u=function(){function t(){var e;return a(this,t),e=s(this,t),r(e,"_createWrapListener",function(e){return function(){try{e.apply(void 0,arguments)}catch(e){console.error("Error in MfeBridge listener:",e)}}}),e}return n(t,l),e(t,[{key:"subscribe",value:function(e,i){var a=this,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(i):i;return o(t,"addListener",this)([e,r]),function(){o(t,"removeListener",a)([e,r])}}}])}();function c(){if(void 0===("undefined"==typeof globalThis?"undefined":i(globalThis)))return null;void 0===globalThis.CartEventStore&&(globalThis.CartEventStore=new u);var e=globalThis.CartEventStore;return e.setMaxListeners(50),e}var h=function(){return e(function e(t){var i=this;a(this,e),r(this,"initialize",function(){var e=c();null==e||e.subscribe("requestState",function(){null==e||e.emit("stateChange",{items:i.getState()})})}),r(this,"destroy",function(){var e=c();null==e||e.removeAllListeners("requestState")}),this.configs=t,this.configs.localStorageKey||(this.configs.localStorageKey="cartItems"),this.initialize()},[{key:"emitStateChange",value:function(e){var t=c();this.saveToLocalStorage(e),null==t||t.emit("stateChange",{items:e,options:{message:"Cart items updated"}})}},{key:"add",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.getState();return!t&&this.configs.idGetter(e)in i||(i[this.configs.idGetter(e)]=e),this.emitStateChange(i),this}},{key:"addMany",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.getState();return e.forEach(function(e){!i&&t.configs.idGetter(e)in a||(a[t.configs.idGetter(e)]=e)}),this.emitStateChange(a),this}},{key:"updateOrAdd",value:function(e,i){var a=this.getState(),r=a[e];return a[e]=r?t(t({},r),i):i,this.emitStateChange(a),this}},{key:"remove",value:function(e){var t=this.getState();return e in t&&(delete t[e],this.emitStateChange(t)),this}},{key:"clear",value:function(){return this.emitStateChange({}),this}},{key:"getState",value:function(){return this.loadFromLocalStorage()||{}}},{key:"getItems",value:function(){var e=this.getState();return Array.isArray(e)?e:Object.values(e)}},{key:"loadFromLocalStorage",value:function(){if("undefined"!=typeof globalThis&&globalThis.localStorage){var e=localStorage.getItem(this.configs.localStorageKey||"cartItems");if(e)return JSON.parse(e)}}},{key:"saveToLocalStorage",value:function(e){"undefined"!=typeof globalThis&&globalThis.localStorage&&(this.configs.localStorageKey?localStorage.setItem(this.configs.localStorageKey,JSON.stringify(e)):console.warn("No localStorageKey provided, skipping storage"))}}])}();export{u as CartEventStore,h as MfeCartStore,c as getCartEventStore};
2
2
  //# sourceMappingURL=cart-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-store.js","sources":["../../src/cart/cart-store.ts"],"sourcesContent":["import EventEmitter from 'events'\r\n\r\nexport type IIdGetter<T = any> = (item: T) => string\r\n\r\ntype IItem = Record<string, any>\r\n\r\ninterface IEventOptions {\r\n message?: string\r\n}\r\n\r\nexport interface ICartEventConfigs {\r\n stateChange: [{ items: IItem; options?: IEventOptions }]\r\n requestState: [{ options?: IEventOptions }]\r\n}\r\n\r\nexport class CartEventStore extends EventEmitter<ICartEventConfigs> {\r\n constructor() {\r\n super()\r\n }\r\n /**\r\n * Subscribe to a specific channel\r\n * @param channel The channel to subscribe to\r\n * @param callback Function to call when an event occurs on this channel\r\n * @returns Unsubscribe function to remove the event listener\r\n */\r\n _createWrapListener = (callback: (...payload: any[]) => void) => {\r\n return (...payload: any[]) => {\r\n try {\r\n callback(...payload)\r\n } catch (error) {\r\n console.error('Error in MfeBridge listener:', error)\r\n }\r\n }\r\n }\r\n subscribe<K extends keyof ICartEventConfigs>(\r\n eventName: K,\r\n listener: K extends keyof ICartEventConfigs ? (ICartEventConfigs[K] extends unknown[] ? (...args: ICartEventConfigs[K]) => void : never) : never,\r\n isTry: boolean = true\r\n ) {\r\n const action = isTry ? this._createWrapListener(listener) : listener\r\n super.addListener(eventName, action as any)\r\n return () => {\r\n super.removeListener(eventName, action as any)\r\n }\r\n }\r\n}\r\n\r\nexport function getCartEventStore() {\r\n if (typeof globalThis === undefined) return null\r\n\r\n if (typeof (globalThis as any).CartEventStore === 'undefined') {\r\n // If CartEventStore is not defined globally, define it\r\n // This allows it to be used in other parts of the application\r\n // without needing to import it explicitly\r\n ;(globalThis as any).CartEventStore = new CartEventStore()\r\n }\r\n return (globalThis as any).CartEventStore as CartEventStore\r\n}\r\n\r\nexport interface ICartStoreConfigs {\r\n idGetter: IIdGetter\r\n localStorageKey?: string\r\n}\r\n\r\nexport class MfeCartStore {\r\n private configs: ICartStoreConfigs\r\n constructor(config: ICartStoreConfigs) {\r\n this.configs = config\r\n if (!this.configs.localStorageKey) {\r\n this.configs.localStorageKey = 'cartItems'\r\n }\r\n this.initialize()\r\n }\r\n\r\n initialize = () => {\r\n const eventStore = getCartEventStore()\r\n eventStore?.subscribe('requestState', () => {\r\n eventStore?.emit('stateChange', { items: this.getState() })\r\n })\r\n }\r\n\r\n destroy = () => {\r\n const eventStore = getCartEventStore()\r\n eventStore?.removeAllListeners('requestState')\r\n }\r\n\r\n emitStateChange(items: IItem) {\r\n const eventStore = getCartEventStore()\r\n this.saveToLocalStorage(items)\r\n eventStore?.emit('stateChange', { items, options: { message: 'Cart items updated' } })\r\n }\r\n\r\n add(item: any, overwrite: boolean = false) {\r\n const items = this.getState()\r\n if (overwrite || !(this.configs.idGetter(item) in items)) {\r\n items[this.configs.idGetter(item)] = item\r\n }\r\n this.emitStateChange(items)\r\n return this\r\n }\r\n\r\n addMany(items: any[], overwrite: boolean = false) {\r\n const currentItems = this.getState()\r\n items.forEach((item) => {\r\n if (overwrite || !(this.configs.idGetter(item) in currentItems)) {\r\n currentItems[this.configs.idGetter(item)] = item\r\n }\r\n })\r\n this.emitStateChange(currentItems)\r\n return this\r\n }\r\n\r\n updateOrAdd(id: string, updates: Partial<any>) {\r\n const items = this.getState()\r\n const item = items[id]\r\n if (item) {\r\n items[id] = { ...item, ...updates }\r\n } else {\r\n items[id] = updates\r\n }\r\n this.emitStateChange(items)\r\n return this\r\n }\r\n\r\n remove(id: string) {\r\n const items = this.getState()\r\n if (id in items) {\r\n delete items[id]\r\n this.emitStateChange(items)\r\n }\r\n return this\r\n }\r\n\r\n clear() {\r\n this.emitStateChange({})\r\n return this\r\n }\r\n\r\n getState(): IItem {\r\n return this.loadFromLocalStorage() || {}\r\n }\r\n\r\n getItems(): any[] {\r\n const items = this.getState()\r\n const item = Array.isArray(items) ? items : Object.values(items)\r\n return item\r\n }\r\n\r\n private loadFromLocalStorage() {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n const storedItems = localStorage.getItem(this.configs.localStorageKey || 'cartItems')\r\n if (storedItems) {\r\n return JSON.parse(storedItems)\r\n }\r\n }\r\n }\r\n\r\n private saveToLocalStorage(items: IItem) {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n if (this.configs.localStorageKey) {\r\n localStorage.setItem(this.configs.localStorageKey, JSON.stringify(items))\r\n } else {\r\n console.warn('No localStorageKey provided, skipping storage')\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["CartEventStore","_this","_classCallCheck","_callSuper","this","_defineProperty","callback","apply","arguments","error","console","_inherits","EventEmitter","_createClass","key","value","eventName","listener","_this2","action","_createWrapListener","_superPropGet","getCartEventStore","undefined","globalThis","_typeof","MfeCartStore","config","_this3","eventStore","subscribe","emit","items","getState","removeAllListeners","configs","localStorageKey","initialize","saveToLocalStorage","options","message","item","overwrite","length","idGetter","emitStateChange","_this4","currentItems","forEach","id","updates","_objectSpread","loadFromLocalStorage","Array","isArray","Object","values","localStorage","storedItems","getItem","JSON","parse","setItem","stringify","warn"],"mappings":"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"}
1
+ {"version":3,"file":"cart-store.js","sources":["../../src/cart/cart-store.ts"],"sourcesContent":["import EventEmitter from 'events'\r\n\r\nexport type IIdGetter<T = any> = (item: T) => string\r\n\r\ntype IItem = Record<string, any>\r\n\r\ninterface IEventOptions {\r\n message?: string\r\n}\r\n\r\nexport interface ICartEventConfigs {\r\n stateChange: [{ items: IItem; options?: IEventOptions }]\r\n requestState: [{ options?: IEventOptions }]\r\n}\r\n\r\nexport class CartEventStore extends EventEmitter<ICartEventConfigs> {\r\n constructor() {\r\n super()\r\n }\r\n /**\r\n * Subscribe to a specific channel\r\n * @param channel The channel to subscribe to\r\n * @param callback Function to call when an event occurs on this channel\r\n * @returns Unsubscribe function to remove the event listener\r\n */\r\n _createWrapListener = (callback: (...payload: any[]) => void) => {\r\n return (...payload: any[]) => {\r\n try {\r\n callback(...payload)\r\n } catch (error) {\r\n console.error('Error in MfeBridge listener:', error)\r\n }\r\n }\r\n }\r\n subscribe<K extends keyof ICartEventConfigs>(\r\n eventName: K,\r\n listener: K extends keyof ICartEventConfigs ? (ICartEventConfigs[K] extends unknown[] ? (...args: ICartEventConfigs[K]) => void : never) : never,\r\n isTry: boolean = true\r\n ) {\r\n const action = isTry ? this._createWrapListener(listener) : listener\r\n super.addListener(eventName, action as any)\r\n return () => {\r\n super.removeListener(eventName, action as any)\r\n }\r\n }\r\n}\r\n\r\nexport function getCartEventStore() {\r\n if (typeof globalThis === undefined) return null\r\n\r\n if (typeof (globalThis as any).CartEventStore === 'undefined') {\r\n // If CartEventStore is not defined globally, define it\r\n // This allows it to be used in other parts of the application\r\n // without needing to import it explicitly\r\n ;(globalThis as any).CartEventStore = new CartEventStore()\r\n }\r\n const eventEmitter = (globalThis as any).CartEventStore as CartEventStore\r\n eventEmitter.setMaxListeners(50)\r\n return eventEmitter\r\n}\r\n\r\nexport interface ICartStoreConfigs {\r\n idGetter: IIdGetter\r\n localStorageKey?: string\r\n}\r\n\r\nexport class MfeCartStore {\r\n private configs: ICartStoreConfigs\r\n constructor(config: ICartStoreConfigs) {\r\n this.configs = config\r\n if (!this.configs.localStorageKey) {\r\n this.configs.localStorageKey = 'cartItems'\r\n }\r\n this.initialize()\r\n }\r\n\r\n initialize = () => {\r\n const eventStore = getCartEventStore()\r\n eventStore?.subscribe('requestState', () => {\r\n eventStore?.emit('stateChange', { items: this.getState() })\r\n })\r\n }\r\n\r\n destroy = () => {\r\n const eventStore = getCartEventStore()\r\n eventStore?.removeAllListeners('requestState')\r\n }\r\n\r\n emitStateChange(items: IItem) {\r\n const eventStore = getCartEventStore()\r\n this.saveToLocalStorage(items)\r\n eventStore?.emit('stateChange', { items, options: { message: 'Cart items updated' } })\r\n }\r\n\r\n add(item: any, overwrite: boolean = false) {\r\n const items = this.getState()\r\n if (overwrite || !(this.configs.idGetter(item) in items)) {\r\n items[this.configs.idGetter(item)] = item\r\n }\r\n this.emitStateChange(items)\r\n return this\r\n }\r\n\r\n addMany(items: any[], overwrite: boolean = false) {\r\n const currentItems = this.getState()\r\n items.forEach((item) => {\r\n if (overwrite || !(this.configs.idGetter(item) in currentItems)) {\r\n currentItems[this.configs.idGetter(item)] = item\r\n }\r\n })\r\n this.emitStateChange(currentItems)\r\n return this\r\n }\r\n\r\n updateOrAdd(id: string, updates: Partial<any>) {\r\n const items = this.getState()\r\n const item = items[id]\r\n if (item) {\r\n items[id] = { ...item, ...updates }\r\n } else {\r\n items[id] = updates\r\n }\r\n this.emitStateChange(items)\r\n return this\r\n }\r\n\r\n remove(id: string) {\r\n const items = this.getState()\r\n if (id in items) {\r\n delete items[id]\r\n this.emitStateChange(items)\r\n }\r\n return this\r\n }\r\n\r\n clear() {\r\n this.emitStateChange({})\r\n return this\r\n }\r\n\r\n getState(): IItem {\r\n return this.loadFromLocalStorage() || {}\r\n }\r\n\r\n getItems(): any[] {\r\n const items = this.getState()\r\n const item = Array.isArray(items) ? items : Object.values(items)\r\n return item\r\n }\r\n\r\n private loadFromLocalStorage() {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n const storedItems = localStorage.getItem(this.configs.localStorageKey || 'cartItems')\r\n if (storedItems) {\r\n return JSON.parse(storedItems)\r\n }\r\n }\r\n }\r\n\r\n private saveToLocalStorage(items: IItem) {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n if (this.configs.localStorageKey) {\r\n localStorage.setItem(this.configs.localStorageKey, JSON.stringify(items))\r\n } else {\r\n console.warn('No localStorageKey provided, skipping storage')\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["CartEventStore","_this","_classCallCheck","_callSuper","this","_defineProperty","callback","apply","arguments","error","console","_inherits","EventEmitter","_createClass","key","value","eventName","listener","_this2","action","_createWrapListener","_superPropGet","getCartEventStore","undefined","globalThis","_typeof","eventEmitter","setMaxListeners","MfeCartStore","config","_this3","eventStore","subscribe","emit","items","getState","removeAllListeners","configs","localStorageKey","initialize","saveToLocalStorage","options","message","item","overwrite","length","idGetter","emitStateChange","_this4","currentItems","forEach","id","updates","_objectSpread","loadFromLocalStorage","Array","isArray","Object","values","localStorage","storedItems","getItem","JSON","parse","setItem","stringify","warn"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{styled as e,Menu as o,Box as i,alpha as r}from"@mui/material";var a=e(o)(function(t){var e=t.theme;return{"--color-bg":"#ffffff","--color-text":e.palette.common.black,marginTop:"45px",".MuiPaper-root":{overflow:"visible",backgroundColor:"var(--color-bg, #000000)",borderRadius:e.shape.borderRadius,minWidth:"280px",maxWidth:"550px",boxShadow:"0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)",animation:"fadeInDown 0.3s ease-out",marginTop:"8px",color:"var(--color-text, #000000)",display:"flex","@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}},"&::before":{content:'""',position:"absolute",backgroundColor:"var(--color-bg, #ffffff)",width:"10px",height:"10px",top:"-4px",right:e.spacing(1),transform:"translateX(-50%) rotate(45deg)",zIndex:0}},".MuiBackdrop-root":{backgroundColor:"transparent"},".MuiList-root":{padding:0}}}),n={root:"CartContent-root",header:"CartContent-header",footer:"CartContent-footer",items:"CartContent-items",item:"CartContent-item",itemContent:"CartContent-itemContent",itemImg:"CartContent-itemImg",itemTitle:"CartContent-itemTitle",itemPrice:"CartContent-itemPrice",itemTag:"CartContent-itemTag"},p=function(t,e){return"".concat((null==e?void 0:e.prefix)||"",".").concat(n[t]).concat((null==e?void 0:e.suffix)||"")},l=e(i)(function(e){var o=e.theme;return t(t(t(t(t(t(t(t(t({"--height-item":"80px"},p("root",{prefix:"&"}),{height:"100%"}),p("header"),{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"}),p("footer"),{padding:"6px 12px",display:"flex",justifyContent:"flex-end",position:"relative"}),p("items"),{padding:"8px",overflowY:"auto",height:"100%"}),p("item"),{display:"flex",alignItems:"center",padding:"0 9px",transition:"0.3s",height:"var(--height-item)","& a":{textDecoration:"none"},"&:hover":{background:"#fafafa"},"&:hover a":{textDecoration:"underline"}}),p("itemImg"),{width:"60px",height:"60px",borderRadius:"6px",objectFit:"cover",marginRight:"12px",flex:"0 0 auto",backgroundColor:r(o.palette.grey[400],.2)}),p("itemContent"),{flex:1,display:"flex",alignItems:"center",minWidth:0,position:"relative"}),p("itemTitle"),{color:"var(--color-body)",fontWeight:600,flex:1,width:"100%",margin:"0 12px",padding:"15px 0",minWidth:0,maxWidth:"300px"}),p("itemTag"),{position:"absolute",top:0,left:"12px",fontWeight:600})});export{l as CartContentStyled,a as MenuStyled,n as cartContentClasses};
1
+ import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{styled as e,Menu as o,Box as i,alpha as r}from"@mui/material";var a=e(o)(function(t){var e=t.theme;return{"--color-bg":"#ffffff","--color-text":e.palette.common.black,marginTop:"45px",".MuiPaper-root":{overflow:"visible",backgroundColor:"var(--color-bg, #000000)",borderRadius:e.shape.borderRadius,minWidth:"280px",maxWidth:"550px",boxShadow:"0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)",animation:"fadeInDown 0.3s ease-out",marginTop:"8px",color:"var(--color-text, #000000)",display:"flex","@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}},"&::before":{content:'""',position:"absolute",backgroundColor:"var(--color-bg, #ffffff)",width:"10px",height:"10px",top:"-4px",right:e.spacing(1),transform:"translateX(-50%) rotate(45deg)",zIndex:0}},".MuiBackdrop-root":{backgroundColor:"transparent"},".MuiList-root":{padding:0}}}),n={root:"CartContent-root",header:"CartContent-header",footer:"CartContent-footer",items:"CartContent-items",item:"CartContent-item",itemContent:"CartContent-itemContent",itemImg:"CartContent-itemImg",itemTitle:"CartContent-itemTitle",itemPrice:"CartContent-itemPrice",itemTag:"CartContent-itemTag"},p=function(t,e){return"".concat((null==e?void 0:e.prefix)||"",".").concat(n[t]).concat((null==e?void 0:e.suffix)||"")},l=e(i)(function(e){var o=e.theme;return t(t(t(t(t(t(t(t(t({"--height-item":"80px"},p("root",{prefix:"&"}),{height:"100%"}),p("header"),{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center",gap:o.spacing(5)}),p("footer"),{padding:"6px 12px",display:"flex",justifyContent:"flex-end",position:"relative"}),p("items"),{padding:"8px",overflowY:"auto",height:"100%"}),p("item"),{display:"flex",alignItems:"center",padding:"0 9px",transition:"0.3s",height:"var(--height-item)","& a":{textDecoration:"none"},"&:hover":{background:"#fafafa"},"&:hover a":{textDecoration:"underline"}}),p("itemImg"),{width:"60px",height:"60px",borderRadius:"6px",objectFit:"cover",marginRight:"12px",flex:"0 0 auto",backgroundColor:r(o.palette.grey[400],.2)}),p("itemContent"),{flex:1,display:"flex",alignItems:"center",minWidth:0,position:"relative"}),p("itemTitle"),{color:"var(--color-body)",fontWeight:600,flex:1,width:"100%",margin:"0 12px",padding:"15px 0",minWidth:0,maxWidth:"300px"}),p("itemTag"),{position:"absolute",top:0,left:"12px",fontWeight:600})});export{l as CartContentStyled,a as MenuStyled,n as cartContentClasses};
2
2
  //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../src/cart/styled.tsx"],"sourcesContent":["import { alpha, Box, Menu, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps, MenuProps } from '@mui/material'\r\n\r\nexport const MenuStyled: ComponentType<MenuProps> = styled(Menu)(({ theme }) => ({\r\n // dark mode\r\n // '--color-bg': '#323234',\r\n // \"--color-text\": theme.palette.common.white,\r\n\r\n // light mode\r\n '--color-bg': '#ffffff',\r\n '--color-text': theme.palette.common.black,\r\n\r\n marginTop: '45px',\r\n '.MuiPaper-root': {\r\n overflow: 'visible',\r\n backgroundColor: 'var(--color-bg, #000000)',\r\n borderRadius: theme.shape.borderRadius,\r\n minWidth: '280px',\r\n maxWidth: '550px',\r\n boxShadow: `0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)`,\r\n animation: 'fadeInDown 0.3s ease-out',\r\n marginTop: '8px',\r\n color: 'var(--color-text, #000000)',\r\n display: 'flex',\r\n\r\n '@keyframes fadeInDown': {\r\n '0%': { opacity: 0, transform: 'translateY(-10px)' },\r\n '100%': { opacity: 1, transform: 'translateY(0)' }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n backgroundColor: 'var(--color-bg, #ffffff)',\r\n width: '10px',\r\n height: '10px',\r\n top: '-4px',\r\n right: theme.spacing(1),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n '.MuiBackdrop-root': { backgroundColor: 'transparent' },\r\n '.MuiList-root': { padding: 0 }\r\n}))\r\n\r\nexport const cartContentClasses = {\r\n root: 'CartContent-root',\r\n header: 'CartContent-header',\r\n footer: 'CartContent-footer',\r\n items: 'CartContent-items',\r\n item: 'CartContent-item',\r\n itemContent: 'CartContent-itemContent',\r\n itemImg: 'CartContent-itemImg',\r\n itemTitle: 'CartContent-itemTitle',\r\n itemPrice: 'CartContent-itemPrice',\r\n itemTag: 'CartContent-itemTag'\r\n}\r\n\r\nconst getCartContentClasses = (key: keyof typeof cartContentClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${cartContentClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const CartContentStyled: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n '--height-item': '80px',\r\n [getCartContentClasses('root', { prefix: '&' })]: {\r\n height: '100%'\r\n },\r\n [getCartContentClasses('header')]: {\r\n padding: '12px 16px',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center'\r\n },\r\n [getCartContentClasses('footer')]: {\r\n padding: '6px 12px',\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n position: 'relative'\r\n },\r\n [getCartContentClasses('items')]: {\r\n padding: '8px',\r\n overflowY: 'auto',\r\n height: '100%'\r\n },\r\n [getCartContentClasses('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 9px',\r\n transition: '0.3s',\r\n height: 'var(--height-item)',\r\n '& a': {\r\n textDecoration: 'none'\r\n },\r\n '&:hover': {\r\n background: '#fafafa'\r\n },\r\n '&:hover a': {\r\n textDecoration: 'underline'\r\n }\r\n },\r\n [getCartContentClasses('itemImg')]: {\r\n width: '60px',\r\n height: '60px',\r\n borderRadius: '6px',\r\n objectFit: 'cover',\r\n marginRight: '12px',\r\n flex: '0 0 auto',\r\n backgroundColor: alpha(theme.palette.grey[400], 0.2)\r\n },\r\n [getCartContentClasses('itemContent')]: {\r\n flex: 1,\r\n display: 'flex',\r\n alignItems: 'center',\r\n minWidth: 0,\r\n position: 'relative'\r\n },\r\n [getCartContentClasses('itemTitle')]: {\r\n color: 'var(--color-body)',\r\n fontWeight: 600,\r\n flex: 1,\r\n width: '100%',\r\n margin: '0 12px',\r\n padding: '15px 0',\r\n minWidth: 0,\r\n maxWidth: '300px'\r\n },\r\n [getCartContentClasses('itemTag')]: {\r\n position: 'absolute',\r\n top: 0,\r\n left: '12px',\r\n fontWeight: 600\r\n }\r\n}))\r\n"],"names":["MenuStyled","styled","Menu","_ref","theme","palette","common","black","marginTop","overflow","backgroundColor","borderRadius","shape","minWidth","maxWidth","boxShadow","animation","color","display","opacity","transform","content","position","width","height","top","right","spacing","zIndex","padding","cartContentClasses","root","header","footer","items","item","itemContent","itemImg","itemTitle","itemPrice","itemTag","getCartContentClasses","key","options","concat","prefix","suffix","CartContentStyled","Box","_ref2","_defineProperty","justifyContent","alignItems","overflowY","transition","textDecoration","background","objectFit","marginRight","flex","alpha","grey","fontWeight","margin","left"],"mappings":"+IAIO,IAAMA,EAAuCC,EAAOC,EAAPD,CAAa,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAM/E,aAAc,UACd,eAAgBA,EAAMC,QAAQC,OAAOC,MAErCC,UAAW,OACX,iBAAkB,CAChBC,SAAU,UACVC,gBAAiB,2BACjBC,aAAcP,EAAMQ,MAAMD,aAC1BE,SAAU,QACVC,SAAU,QACVC,UAAsI,4HACtIC,UAAW,2BACXR,UAAW,MACXS,MAAO,6BACPC,QAAS,OAET,wBAAyB,CACvB,KAAM,CAAEC,QAAS,EAAGC,UAAW,qBAC/B,OAAQ,CAAED,QAAS,EAAGC,UAAW,kBAGnC,YAAa,CACXC,QAAS,KACTC,SAAU,WACVZ,gBAAiB,2BACjBa,MAAO,OACPC,OAAQ,OACRC,IAAK,OACLC,MAAOtB,EAAMuB,QAAQ,GACrBP,UAAW,iCACXQ,OAAQ,IAGZ,oBAAqB,CAAElB,gBAAiB,eACxC,gBAAiB,CAAEmB,QAAS,GAC7B,GAEYC,EAAqB,CAChCC,KAAM,mBACNC,OAAQ,qBACRC,OAAQ,qBACRC,MAAO,oBACPC,KAAM,mBACNC,YAAa,0BACbC,QAAS,sBACTC,UAAW,wBACXC,UAAW,wBACXC,QAAS,uBAGLC,EAAwB,SAACC,EAAsCC,GACnE,MAAA,GAAAC,QAAUD,aAAAA,EAAAA,EAASE,SAAU,QAAED,OAAId,EAAmBY,IAAIE,QAAGD,aAAAA,EAAAA,EAASG,SAAU,GAClF,EAEaC,EAA6C9C,EAAO+C,EAAP/C,CAAY,SAAAgD,GAAA,IAAG7C,EAAK6C,EAAL7C,MAAK,OAAA8C,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CAC5E,gBAAiB,QAChBT,EAAsB,OAAQ,CAAEI,OAAQ,MAAS,CAChDrB,OAAQ,SAETiB,EAAsB,UAAY,CACjCZ,QAAS,YACTX,QAAS,OACTiC,eAAgB,gBAChBC,WAAY,WAEbX,EAAsB,UAAY,CACjCZ,QAAS,WACTX,QAAS,OACTiC,eAAgB,WAChB7B,SAAU,aAEXmB,EAAsB,SAAW,CAChCZ,QAAS,MACTwB,UAAW,OACX7B,OAAQ,SAETiB,EAAsB,QAAU,CAC/BvB,QAAS,OACTkC,WAAY,SACZvB,QAAS,QACTyB,WAAY,OACZ9B,OAAQ,qBACR,MAAO,CACL+B,eAAgB,QAElB,UAAW,CACTC,WAAY,WAEd,YAAa,CACXD,eAAgB,eAGnBd,EAAsB,WAAa,CAClClB,MAAO,OACPC,OAAQ,OACRb,aAAc,MACd8C,UAAW,QACXC,YAAa,OACbC,KAAM,WACNjD,gBAAiBkD,EAAMxD,EAAMC,QAAQwD,KAAK,KAAM,MAEjDpB,EAAsB,eAAiB,CACtCkB,KAAM,EACNzC,QAAS,OACTkC,WAAY,SACZvC,SAAU,EACVS,SAAU,aAEXmB,EAAsB,aAAe,CACpCxB,MAAO,oBACP6C,WAAY,IACZH,KAAM,EACNpC,MAAO,OACPwC,OAAQ,SACRlC,QAAS,SACThB,SAAU,EACVC,SAAU,UAEX2B,EAAsB,WAAa,CAClCnB,SAAU,WACVG,IAAK,EACLuC,KAAM,OACNF,WAAY,KACb"}
1
+ {"version":3,"file":"styled.js","sources":["../../src/cart/styled.tsx"],"sourcesContent":["import { alpha, Box, Menu, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps, MenuProps } from '@mui/material'\r\n\r\nexport const MenuStyled: ComponentType<MenuProps> = styled(Menu)(({ theme }) => ({\r\n // dark mode\r\n // '--color-bg': '#323234',\r\n // \"--color-text\": theme.palette.common.white,\r\n\r\n // light mode\r\n '--color-bg': '#ffffff',\r\n '--color-text': theme.palette.common.black,\r\n\r\n marginTop: '45px',\r\n '.MuiPaper-root': {\r\n overflow: 'visible',\r\n backgroundColor: 'var(--color-bg, #000000)',\r\n borderRadius: theme.shape.borderRadius,\r\n minWidth: '280px',\r\n maxWidth: '550px',\r\n boxShadow: `0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)`,\r\n animation: 'fadeInDown 0.3s ease-out',\r\n marginTop: '8px',\r\n color: 'var(--color-text, #000000)',\r\n display: 'flex',\r\n\r\n '@keyframes fadeInDown': {\r\n '0%': { opacity: 0, transform: 'translateY(-10px)' },\r\n '100%': { opacity: 1, transform: 'translateY(0)' }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n backgroundColor: 'var(--color-bg, #ffffff)',\r\n width: '10px',\r\n height: '10px',\r\n top: '-4px',\r\n right: theme.spacing(1),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n '.MuiBackdrop-root': { backgroundColor: 'transparent' },\r\n '.MuiList-root': { padding: 0 }\r\n}))\r\n\r\nexport const cartContentClasses = {\r\n root: 'CartContent-root',\r\n header: 'CartContent-header',\r\n footer: 'CartContent-footer',\r\n items: 'CartContent-items',\r\n item: 'CartContent-item',\r\n itemContent: 'CartContent-itemContent',\r\n itemImg: 'CartContent-itemImg',\r\n itemTitle: 'CartContent-itemTitle',\r\n itemPrice: 'CartContent-itemPrice',\r\n itemTag: 'CartContent-itemTag'\r\n}\r\n\r\nconst getCartContentClasses = (key: keyof typeof cartContentClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${cartContentClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const CartContentStyled: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n '--height-item': '80px',\r\n [getCartContentClasses('root', { prefix: '&' })]: {\r\n height: '100%'\r\n },\r\n [getCartContentClasses('header')]: {\r\n padding: '12px 16px',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n gap: theme.spacing(5)\r\n },\r\n [getCartContentClasses('footer')]: {\r\n padding: '6px 12px',\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n position: 'relative'\r\n },\r\n [getCartContentClasses('items')]: {\r\n padding: '8px',\r\n overflowY: 'auto',\r\n height: '100%'\r\n },\r\n [getCartContentClasses('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 9px',\r\n transition: '0.3s',\r\n height: 'var(--height-item)',\r\n '& a': {\r\n textDecoration: 'none'\r\n },\r\n '&:hover': {\r\n background: '#fafafa'\r\n },\r\n '&:hover a': {\r\n textDecoration: 'underline'\r\n }\r\n },\r\n [getCartContentClasses('itemImg')]: {\r\n width: '60px',\r\n height: '60px',\r\n borderRadius: '6px',\r\n objectFit: 'cover',\r\n marginRight: '12px',\r\n flex: '0 0 auto',\r\n backgroundColor: alpha(theme.palette.grey[400], 0.2)\r\n },\r\n [getCartContentClasses('itemContent')]: {\r\n flex: 1,\r\n display: 'flex',\r\n alignItems: 'center',\r\n minWidth: 0,\r\n position: 'relative'\r\n },\r\n [getCartContentClasses('itemTitle')]: {\r\n color: 'var(--color-body)',\r\n fontWeight: 600,\r\n flex: 1,\r\n width: '100%',\r\n margin: '0 12px',\r\n padding: '15px 0',\r\n minWidth: 0,\r\n maxWidth: '300px'\r\n },\r\n [getCartContentClasses('itemTag')]: {\r\n position: 'absolute',\r\n top: 0,\r\n left: '12px',\r\n fontWeight: 600\r\n }\r\n}))\r\n"],"names":["MenuStyled","styled","Menu","_ref","theme","palette","common","black","marginTop","overflow","backgroundColor","borderRadius","shape","minWidth","maxWidth","boxShadow","animation","color","display","opacity","transform","content","position","width","height","top","right","spacing","zIndex","padding","cartContentClasses","root","header","footer","items","item","itemContent","itemImg","itemTitle","itemPrice","itemTag","getCartContentClasses","key","options","concat","prefix","suffix","CartContentStyled","Box","_ref2","_defineProperty","justifyContent","alignItems","gap","overflowY","transition","textDecoration","background","objectFit","marginRight","flex","alpha","grey","fontWeight","margin","left"],"mappings":"+IAIO,IAAMA,EAAuCC,EAAOC,EAAPD,CAAa,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAM/E,aAAc,UACd,eAAgBA,EAAMC,QAAQC,OAAOC,MAErCC,UAAW,OACX,iBAAkB,CAChBC,SAAU,UACVC,gBAAiB,2BACjBC,aAAcP,EAAMQ,MAAMD,aAC1BE,SAAU,QACVC,SAAU,QACVC,UAAsI,4HACtIC,UAAW,2BACXR,UAAW,MACXS,MAAO,6BACPC,QAAS,OAET,wBAAyB,CACvB,KAAM,CAAEC,QAAS,EAAGC,UAAW,qBAC/B,OAAQ,CAAED,QAAS,EAAGC,UAAW,kBAGnC,YAAa,CACXC,QAAS,KACTC,SAAU,WACVZ,gBAAiB,2BACjBa,MAAO,OACPC,OAAQ,OACRC,IAAK,OACLC,MAAOtB,EAAMuB,QAAQ,GACrBP,UAAW,iCACXQ,OAAQ,IAGZ,oBAAqB,CAAElB,gBAAiB,eACxC,gBAAiB,CAAEmB,QAAS,GAC7B,GAEYC,EAAqB,CAChCC,KAAM,mBACNC,OAAQ,qBACRC,OAAQ,qBACRC,MAAO,oBACPC,KAAM,mBACNC,YAAa,0BACbC,QAAS,sBACTC,UAAW,wBACXC,UAAW,wBACXC,QAAS,uBAGLC,EAAwB,SAACC,EAAsCC,GACnE,MAAA,GAAAC,QAAUD,aAAAA,EAAAA,EAASE,SAAU,QAAED,OAAId,EAAmBY,IAAIE,QAAGD,aAAAA,EAAAA,EAASG,SAAU,GAClF,EAEaC,EAA6C9C,EAAO+C,EAAP/C,CAAY,SAAAgD,GAAA,IAAG7C,EAAK6C,EAAL7C,MAAK,OAAA8C,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CAC5E,gBAAiB,QAChBT,EAAsB,OAAQ,CAAEI,OAAQ,MAAS,CAChDrB,OAAQ,SAETiB,EAAsB,UAAY,CACjCZ,QAAS,YACTX,QAAS,OACTiC,eAAgB,gBAChBC,WAAY,SACZC,IAAKjD,EAAMuB,QAAQ,KAEpBc,EAAsB,UAAY,CACjCZ,QAAS,WACTX,QAAS,OACTiC,eAAgB,WAChB7B,SAAU,aAEXmB,EAAsB,SAAW,CAChCZ,QAAS,MACTyB,UAAW,OACX9B,OAAQ,SAETiB,EAAsB,QAAU,CAC/BvB,QAAS,OACTkC,WAAY,SACZvB,QAAS,QACT0B,WAAY,OACZ/B,OAAQ,qBACR,MAAO,CACLgC,eAAgB,QAElB,UAAW,CACTC,WAAY,WAEd,YAAa,CACXD,eAAgB,eAGnBf,EAAsB,WAAa,CAClClB,MAAO,OACPC,OAAQ,OACRb,aAAc,MACd+C,UAAW,QACXC,YAAa,OACbC,KAAM,WACNlD,gBAAiBmD,EAAMzD,EAAMC,QAAQyD,KAAK,KAAM,MAEjDrB,EAAsB,eAAiB,CACtCmB,KAAM,EACN1C,QAAS,OACTkC,WAAY,SACZvC,SAAU,EACVS,SAAU,aAEXmB,EAAsB,aAAe,CACpCxB,MAAO,oBACP8C,WAAY,IACZH,KAAM,EACNrC,MAAO,OACPyC,OAAQ,SACRnC,QAAS,SACThB,SAAU,EACVC,SAAU,UAEX2B,EAAsB,WAAa,CAClCnB,SAAU,WACVG,IAAK,EACLwC,KAAM,OACNF,WAAY,KACb"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,classCallCheck as t,callSuper as n,defineProperty as o,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as l}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{ImageWithFallback as d}from"dinocollab-core/components";import{Badge as m,Typography as u,Divider as p,Button as h,Box as f,IconButton as v}from"@mui/material";import C from"@mui/icons-material/Remove";import g from"@mui/icons-material/ShoppingCartOutlined";import x from"@mui/icons-material/ShoppingCartCheckout";import{MenuStyled as y,CartContentStyled as b,cartContentClasses as k}from"./styled.js";import{getTotalData as N}from"./helpers.js";import{DarkIconButton as P}from"../components/buttons.js";import{NoDataPanel as S}from"../components/no-data-panel.js";var j=function(){function j(r){var e;return t(this,j),e=n(this,j,[r]),o(e,"render",function(){var r;return a(c,{children:[l(P,{onClick:function(r){return e.onOpen(r.currentTarget)},children:l(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:l(g,{})})}),l(y,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),o(e,"renderContent",function(){var r,t=N(e.carts);return a(b,{children:[a("div",{className:k.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=t.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",t.price.toFixed(2)]})]}),l(p,{}),a("div",{className:k.items,children:[e.carts.map(function(r,t){return l(c,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&l(S,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%"}})]}),l(p,{}),l("div",{className:k.footer,children:l(h,i(i({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onCartClick&&e.props.onCartClick(r)},disabled:e.carts.length<1,children:"Show in cart"}))})]})}),o(e,"renderItem",function(r){var t,n,o,i,c;return a("div",{className:k.item,children:[l(d,{className:k.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),a("div",{className:k.itemContent,children:[l(u,{className:k.itemTag,variant:"caption",sx:{color:null!==(t=r.PriceColor)&&void 0!==t?t:"#000"},children:null!==(n=r.PriceName)&&void 0!==n?n:"Unknown Price"}),l(u,{className:k.itemTitle,noWrap:!0,variant:"subtitle1",children:null!==(o=r.ProductName)&&void 0!==o?o:"Unknown Product"}),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(i=r.Price)&&void 0!==i?i:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(c=r.Amount)&&void 0!==c?c:0," urls"]})]})]}),l(v,{size:"small",onClick:function(){var t,n;return null===(t=(n=e.props).onRemoveCart)||void 0===t?void 0:t.call(n,r)},sx:{color:"#818181"},children:l(C,{})})]})}),o(e,"onOpen",function(r){e.setState({anchorEl:r})}),o(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(j,s),e(j,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),E=function(r){var e=function(e){return l(j,i(i({},r),e))};return e.displayName="CartWidget",e};export{j as CartWidget,E as createCartWidget};
1
+ import{inherits as r,createClass as e,classCallCheck as t,callSuper as n,defineProperty as o,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as l}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{ImageWithFallback as d}from"dinocollab-core/components";import{Badge as m,Typography as u,Divider as p,Button as h,Box as f,IconButton as v}from"@mui/material";import C from"@mui/icons-material/Remove";import g from"@mui/icons-material/ShoppingCartOutlined";import x from"@mui/icons-material/ShoppingCartCheckout";import{MenuStyled as b,CartContentStyled as y,cartContentClasses as k}from"./styled.js";import{getTotalData as P}from"./helpers.js";import{DarkIconButton as N}from"../components/buttons.js";import{NoDataPanel as S}from"../components/no-data-panel.js";var j=function(){function j(r){var e;return t(this,j),e=n(this,j,[r]),o(e,"render",function(){var r;return a(c,{children:[l(N,{onClick:function(r){return e.onOpen(r.currentTarget)},children:l(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:l(g,{})})}),l(b,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),o(e,"renderContent",function(){var r,t=P(e.carts);return a(y,{children:[a("div",{className:k.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=t.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",t.price.toFixed(2)]})]}),l(p,{}),a("div",{className:k.items,children:[e.carts.map(function(r,t){return l(c,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&l(S,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%"}})]}),l(p,{}),l("div",{className:k.footer,children:l(h,i(i(i({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onCartClick&&e.props.onCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),o(e,"renderItem",function(r){var t,n,o,i,c;return a("div",{className:k.item,children:[l(d,{className:k.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),a("div",{className:k.itemContent,children:[l(u,{className:k.itemTag,variant:"caption",sx:{color:null!==(t=r.PriceColor)&&void 0!==t?t:"#000"},children:null!==(n=r.PriceName)&&void 0!==n?n:"Unknown Price"}),l(u,{className:k.itemTitle,noWrap:!0,variant:"subtitle1",children:null!==(o=r.ProductName)&&void 0!==o?o:"Unknown Product"}),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(i=r.Price)&&void 0!==i?i:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(c=r.Amount)&&void 0!==c?c:0," urls"]})]})]}),l(v,{size:"small",onClick:function(){var t,n;return null===(t=(n=e.props).onRemoveCart)||void 0===t?void 0:t.call(n,r)},sx:{color:"#818181"},children:l(C,{})})]})}),o(e,"onOpen",function(r){e.setState({anchorEl:r})}),o(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(j,s),e(j,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),T=function(r){var e=function(e){return l(j,i(i({},r),e))};return e.displayName="CartWidget",e};export{j as CartWidget,T as createCartWidget};
2
2
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sources":["../../src/cart/widget.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport { ImageWithFallback } from 'dinocollab-core/components'\r\nimport { Badge, Box, Button, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\r\nimport RemoveIcon from '@mui/icons-material/Remove'\r\nimport ShoppingCartOutlinedIcon from '@mui/icons-material/ShoppingCartOutlined'\r\nimport ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout'\r\nimport { ICartItem } from './types'\r\nimport { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\nimport { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { DarkIconButton, NoDataPanel } from '../components'\r\n\r\ninterface ICartWidgetProps {\r\n baseUrl: IAppSiteBaseUrl\r\n carts?: ICartItem[]\r\n hrefCart?: string\r\n storageKey?: string\r\n onRemoveCart?: (item: ICartItem) => void\r\n onCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\r\n}\r\n\r\ninterface ICartWidgetState {\r\n anchorEl: HTMLElement | null\r\n hydrated: boolean\r\n}\r\n\r\nexport class CartWidget extends Component<ICartWidgetProps, ICartWidgetState> {\r\n constructor(props: ICartWidgetProps) {\r\n super(props)\r\n this.state = { anchorEl: null, hydrated: false }\r\n }\r\n\r\n get carts() {\r\n return this.props.carts ?? []\r\n }\r\n\r\n componentDidMount() {\r\n // When mounted on the client, set hydrated = true\r\n this.setState({ hydrated: true })\r\n }\r\n\r\n render = () => (\r\n <Fragment>\r\n <DarkIconButton onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon />\r\n </Badge>\r\n </DarkIconButton>\r\n <MenuStyled\r\n disableScrollLock\r\n anchorEl={this.state.anchorEl}\r\n open={Boolean(this.state.anchorEl)}\r\n onClose={this.onClose}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n {this.renderContent()}\r\n </MenuStyled>\r\n </Fragment>\r\n )\r\n\r\n renderContent = () => {\r\n const totalData = getTotalData(this.carts)\r\n return (\r\n <CartContentStyled>\r\n <div className={cartContentClasses.header}>\r\n <Typography variant='h6' component='span' sx={{ flex: 1 }}>\r\n Your Cart ({totalData.quantity ?? 0} items)\r\n </Typography>\r\n <Typography variant='h6' component='span'>\r\n Total: $ {totalData.price.toFixed(2)}\r\n </Typography>\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.items}>\r\n {this.carts.map((x, i) => (\r\n <Fragment key={'key' + i}>{this.renderItem(x)}</Fragment>\r\n ))}\r\n {this.carts.length < 1 && <NoDataPanel title='Your cart is empty' subTitle='Try adding some products' sx={{ height: '100%' }} />}\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.footer}>\r\n <Button\r\n {...(this.props.hrefCart ? { component: 'a', href: this.props.hrefCart } : {})}\r\n color='inherit'\r\n endIcon={<ShoppingCartCheckoutIcon />}\r\n onClick={(event) => {\r\n this.onClose()\r\n if (this.props.onCartClick) {\r\n this.props.onCartClick(event as React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>)\r\n }\r\n }}\r\n disabled={this.carts.length < 1}\r\n >\r\n Show in cart\r\n </Button>\r\n </div>\r\n </CartContentStyled>\r\n )\r\n }\r\n\r\n renderItem = (item: ICartItem) => (\r\n <div className={cartContentClasses.item}>\r\n <ImageWithFallback\r\n className={cartContentClasses.itemImg}\r\n src={item?.PictureUrl}\r\n title={item?.PictureUrl}\r\n fallbackSrc='images/default-video.webp'\r\n alt='product-picture'\r\n />\r\n <div className={cartContentClasses.itemContent}>\r\n <Typography className={cartContentClasses.itemTag} variant='caption' sx={{ color: item.PriceColor ?? '#000' }}>\r\n {item.PriceName ?? 'Unknown Price'}\r\n </Typography>\r\n <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1'>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\r\n <Box sx={{ display: 'flex', alignItems: 'flex-end', gap: '2px', justifyContent: 'flex-end' }}>\r\n <Typography variant='subtitle1'>$ {item.Price ?? 0}</Typography>\r\n <Typography variant='body1' sx={{ fontSize: '14px', mb: '3px', color: '#818181' }}>\r\n x{item.Amount ?? 0} urls\r\n </Typography>\r\n </Box>\r\n </div>\r\n <IconButton size='small' onClick={() => this.props.onRemoveCart?.(item)} sx={{ color: '#818181' }}>\r\n <RemoveIcon />\r\n </IconButton>\r\n </div>\r\n )\r\n\r\n onOpen = (target: HTMLElement) => {\r\n this.setState({ anchorEl: target })\r\n }\r\n\r\n onClose = () => {\r\n this.setState({ anchorEl: null })\r\n }\r\n}\r\n\r\nexport const createCartWidget = (params: ICartWidgetProps) => {\r\n const _CartWidget: FC<Partial<ICartWidgetProps>> = (props) => <CartWidget {...params} {...props} />\r\n _CartWidget.displayName = 'CartWidget'\r\n return _CartWidget\r\n}\r\n"],"names":["CartWidget","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$carts$length","_jsxs","Fragment","children","_jsx","DarkIconButton","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","MenuStyled","disableScrollLock","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","renderContent","_totalData$quantity","totalData","getTotalData","CartContentStyled","className","cartContentClasses","header","Typography","variant","sx","flex","quantity","price","toFixed","Divider","items","map","x","i","renderItem","NoDataPanel","title","subTitle","height","footer","Button","_objectSpread","hrefCart","href","endIcon","ShoppingCartCheckoutIcon","event","onCartClick","disabled","item","_item$PriceColor","_item$PriceName","_item$ProductName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","itemTitle","noWrap","ProductName","Box","display","alignItems","gap","justifyContent","Price","fontSize","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props","onRemoveCart","call","RemoveIcon","target","setState","_inherits","Component","_createClass","key","get","_this$props$carts","this","value","createCartWidget","params","_CartWidget","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"widget.js","sources":["../../src/cart/widget.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport { ImageWithFallback } from 'dinocollab-core/components'\r\nimport { Badge, Box, Button, ButtonProps, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\r\nimport RemoveIcon from '@mui/icons-material/Remove'\r\nimport ShoppingCartOutlinedIcon from '@mui/icons-material/ShoppingCartOutlined'\r\nimport ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout'\r\nimport { ICartItem } from './types'\r\nimport { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\nimport { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { DarkIconButton, NoDataPanel } from '../components'\r\n\r\ninterface ICartWidgetProps {\r\n baseUrl: IAppSiteBaseUrl\r\n carts?: ICartItem[]\r\n hrefCart?: string\r\n buttonMoveToCartProps?: ButtonProps & { [key: string]: any }\r\n storageKey?: string\r\n onRemoveCart?: (item: ICartItem) => void\r\n onCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\r\n}\r\n\r\ninterface ICartWidgetState {\r\n anchorEl: HTMLElement | null\r\n hydrated: boolean\r\n}\r\n\r\nexport class CartWidget extends Component<ICartWidgetProps, ICartWidgetState> {\r\n constructor(props: ICartWidgetProps) {\r\n super(props)\r\n this.state = { anchorEl: null, hydrated: false }\r\n }\r\n\r\n get carts() {\r\n return this.props.carts ?? []\r\n }\r\n\r\n componentDidMount() {\r\n // When mounted on the client, set hydrated = true\r\n this.setState({ hydrated: true })\r\n }\r\n\r\n render = () => (\r\n <Fragment>\r\n <DarkIconButton onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon />\r\n </Badge>\r\n </DarkIconButton>\r\n <MenuStyled\r\n disableScrollLock\r\n anchorEl={this.state.anchorEl}\r\n open={Boolean(this.state.anchorEl)}\r\n onClose={this.onClose}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n {this.renderContent()}\r\n </MenuStyled>\r\n </Fragment>\r\n )\r\n\r\n renderContent = () => {\r\n const totalData = getTotalData(this.carts)\r\n return (\r\n <CartContentStyled>\r\n <div className={cartContentClasses.header}>\r\n <Typography variant='h6' component='span' sx={{ flex: 1 }}>\r\n Your Cart ({totalData.quantity ?? 0} items)\r\n </Typography>\r\n <Typography variant='h6' component='span'>\r\n Total: $ {totalData.price.toFixed(2)}\r\n </Typography>\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.items}>\r\n {this.carts.map((x, i) => (\r\n <Fragment key={'key' + i}>{this.renderItem(x)}</Fragment>\r\n ))}\r\n {this.carts.length < 1 && <NoDataPanel title='Your cart is empty' subTitle='Try adding some products' sx={{ height: '100%' }} />}\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.footer}>\r\n <Button\r\n {...(this.props.hrefCart ? { component: 'a', href: this.props.hrefCart } : {})}\r\n color='inherit'\r\n endIcon={<ShoppingCartCheckoutIcon />}\r\n onClick={(event) => {\r\n this.onClose()\r\n if (this.props.onCartClick) {\r\n this.props.onCartClick(event as React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>)\r\n }\r\n }}\r\n disabled={this.carts.length < 1}\r\n {...this.props.buttonMoveToCartProps}\r\n >\r\n Show in cart\r\n </Button>\r\n </div>\r\n </CartContentStyled>\r\n )\r\n }\r\n\r\n renderItem = (item: ICartItem) => (\r\n <div className={cartContentClasses.item}>\r\n <ImageWithFallback\r\n className={cartContentClasses.itemImg}\r\n src={item?.PictureUrl}\r\n title={item?.PictureUrl}\r\n fallbackSrc='images/default-video.webp'\r\n alt='product-picture'\r\n />\r\n <div className={cartContentClasses.itemContent}>\r\n <Typography className={cartContentClasses.itemTag} variant='caption' sx={{ color: item.PriceColor ?? '#000' }}>\r\n {item.PriceName ?? 'Unknown Price'}\r\n </Typography>\r\n <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1'>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\r\n <Box sx={{ display: 'flex', alignItems: 'flex-end', gap: '2px', justifyContent: 'flex-end' }}>\r\n <Typography variant='subtitle1'>$ {item.Price ?? 0}</Typography>\r\n <Typography variant='body1' sx={{ fontSize: '14px', mb: '3px', color: '#818181' }}>\r\n x{item.Amount ?? 0} urls\r\n </Typography>\r\n </Box>\r\n </div>\r\n <IconButton size='small' onClick={() => this.props.onRemoveCart?.(item)} sx={{ color: '#818181' }}>\r\n <RemoveIcon />\r\n </IconButton>\r\n </div>\r\n )\r\n\r\n onOpen = (target: HTMLElement) => {\r\n this.setState({ anchorEl: target })\r\n }\r\n\r\n onClose = () => {\r\n this.setState({ anchorEl: null })\r\n }\r\n}\r\n\r\nexport const createCartWidget = (params: ICartWidgetProps) => {\r\n const _CartWidget: FC<Partial<ICartWidgetProps>> = (props) => <CartWidget {...params} {...props} />\r\n _CartWidget.displayName = 'CartWidget'\r\n return _CartWidget\r\n}\r\n"],"names":["CartWidget","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$carts$length","_jsxs","Fragment","children","_jsx","DarkIconButton","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","MenuStyled","disableScrollLock","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","renderContent","_totalData$quantity","totalData","getTotalData","CartContentStyled","className","cartContentClasses","header","Typography","variant","sx","flex","quantity","price","toFixed","Divider","items","map","x","i","renderItem","NoDataPanel","title","subTitle","height","footer","Button","_objectSpread","hrefCart","href","endIcon","ShoppingCartCheckoutIcon","event","onCartClick","disabled","buttonMoveToCartProps","item","_item$PriceColor","_item$PriceName","_item$ProductName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","itemTitle","noWrap","ProductName","Box","display","alignItems","gap","justifyContent","Price","fontSize","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props","onRemoveCart","call","RemoveIcon","target","setState","_inherits","Component","_createClass","key","get","_this$props$carts","this","value","createCartWidget","params","_CartWidget","displayName"],"mappings":"6zBA4BaA,IAAAA,aACX,SAAAA,EAAYC,GAAuB,IAAAC,EAEe,OAFfC,OAAAH,GACjCE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAaL,SAAA,WAAA,IAAAI,EAAA,OACPC,EAACC,EAAQ,CAAAC,SAAA,CACPC,EAACC,EAAe,CAAAC,QAAS,SAACC,GAAC,OAAKX,EAAKY,OAAOD,EAAEE,cAAc,EAC1DN,SAAAC,EAACM,EAAM,CAAAC,aAAcf,EAAKgB,MAAMC,UAA4Bb,QAApBA,EAAGJ,EAAKkB,MAAMC,kBAAMf,EAAAA,EAAQ,EAAGgB,MAAM,QAAOb,SAClFC,EAACa,EAA2B,CAAA,OAGhCb,EAACc,EAAU,CACTC,mBAAiB,EACjBC,SAAUxB,EAAKgB,MAAMQ,SACrBC,KAAMC,QAAQ1B,EAAKgB,MAAMQ,UACzBG,QAAS3B,EAAK2B,QACdC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7CC,gBAAiB,CAAEF,SAAU,MAAOC,WAAY,SAChDE,cAAe,CAAEC,UAAW,OAAO1B,SAElCP,EAAKkC,uBAGX/B,EAAAH,EAAA,gBAEe,WAAK,IAAAmC,EACbC,EAAYC,EAAarC,EAAKkB,OACpC,OACEb,EAACiC,aACCjC,EAAK,MAAA,CAAAkC,UAAWC,EAAmBC,OACjClC,SAAA,CAAAF,EAACqC,EAAW,CAAAC,QAAQ,KAAKV,UAAU,OAAOW,GAAI,CAAEC,KAAM,GAAGtC,SAAA,CAAA,cACzB,QADyB4B,EAC3CC,EAAUU,gBAAQX,IAAAA,EAAAA,EAAI,EAAC,aAErC9B,EAACqC,GAAWC,QAAQ,KAAKV,UAAU,OAAM1B,SAAA,CAAA,YAC7B6B,EAAUW,MAAMC,QAAQ,SAGtCxC,EAACyC,EAAU,CAAA,GACX5C,SAAKkC,UAAWC,EAAmBU,gBAChClD,EAAKkB,MAAMiC,IAAI,SAACC,EAAGC,GAAC,OACnB7C,EAACF,EAAQ,CAAAC,SAAkBP,EAAKsD,WAAWF,IAA5B,MAAQC,EAAkC,GAE1DrD,EAAKkB,MAAMC,OAAS,GAAKX,EAAC+C,GAAYC,MAAM,qBAAqBC,SAAS,2BAA2Bb,GAAI,CAAEc,OAAQ,aAEtHlD,EAACyC,MACDzC,EAAA,MAAA,CAAK+B,UAAWC,EAAmBmB,OAAMpD,SACvCC,EAACoD,EAAMC,EAAAA,EAAAA,KACA7D,EAAKD,MAAM+D,SAAW,CAAE7B,UAAW,IAAK8B,KAAM/D,EAAKD,MAAM+D,UAAa,CAAA,GAAE,GAAA,CAC7E1C,MAAM,UACN4C,QAASxD,EAACyD,MACVvD,QAAS,SAACwD,GACRlE,EAAK2B,UACD3B,EAAKD,MAAMoE,aACbnE,EAAKD,MAAMoE,YAAYD,EAE1B,EACDE,SAAUpE,EAAKkB,MAAMC,OAAS,GAC1BnB,EAAKD,MAAMsE,uBAAqB,CAAA,EAAA,mCAO7ClE,EAAAH,EAEY,aAAA,SAACsE,GAAe,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAC3BtE,EAAK,MAAA,CAAAkC,UAAWC,EAAmB8B,KAAI/D,SAAA,CACrCC,EAACoE,EAAiB,CAChBrC,UAAWC,EAAmBqC,QAC9BC,IAAKR,aAAAA,EAAAA,EAAMS,WACXvB,MAAOc,aAAAA,EAAAA,EAAMS,WACbC,YAAY,4BACZC,IAAI,oBAEN5E,SAAKkC,UAAWC,EAAmB0C,YAAW3E,SAAA,CAC5CC,EAACkC,EAAU,CAACH,UAAWC,EAAmB2C,QAASxC,QAAQ,UAAUC,GAAI,CAAExB,MAAsBmD,QAAjBA,EAAED,EAAKc,kBAAUb,IAAAA,EAAAA,EAAI,QAAQhE,SAC5FiE,QAD4FA,EAC1GF,EAAKe,iBAASb,IAAAA,EAAAA,EAAI,kBAErBhE,EAACkC,EAAW,CAAAH,UAAWC,EAAmB8C,UAAWC,QAAM,EAAC5C,QAAQ,YAAWpC,SAC5DkE,QAD4DA,EAC5EH,EAAKkB,mBAAWf,IAAAA,EAAAA,EAAI,oBAEvBpE,EAACoF,EAAG,CAAC7C,GAAI,CAAE8C,QAAS,OAAQC,WAAY,WAAYC,IAAK,MAAOC,eAAgB,YAC9EtF,SAAA,CAAAF,EAACqC,EAAU,CAACC,QAAQ,2BAAyB+B,UAAVJ,EAAKwB,aAAKpB,IAAAA,EAAAA,EAAI,KACjDrE,EAACqC,GAAWC,QAAQ,QAAQC,GAAI,CAAEmD,SAAU,OAAQC,GAAI,MAAO5E,MAAO,yBACvD,UAAXkD,EAAK2B,cAAMtB,IAAAA,EAAAA,EAAI,EAAC,iBAIxBnE,EAAC0F,EAAW,CAAAC,KAAK,QAAQzF,QAAS,WAAF,IAAA0F,EAAAC,EAAA,eAAAD,GAAQC,EAAArG,EAAKD,OAAMuG,oBAAY,IAAAF,OAAA,EAAvBA,EAAAG,KAAAF,EAA0B/B,EAAK,EAAE1B,GAAI,CAAExB,MAAO,WACpFb,SAAAC,EAACgG,EAAa,CAAA,UAGnBrG,EAAAH,EAEQ,SAAA,SAACyG,GACRzG,EAAK0G,SAAS,CAAElF,SAAUiF,MAC3BtG,EAAAH,EAAA,UAES,WACRA,EAAK0G,SAAS,CAAElF,SAAU,SA5G1BxB,EAAKgB,MAAQ,CAAEQ,SAAU,KAAMP,UAAU,GAAOjB,CAClD,CAAC,OAAA2G,EAAA7G,EAJ6B8G,GAI7BC,EAAA/G,EAAA,CAAA,CAAAgH,IAAA,QAAAC,IAED,WAAS,IAAAC,EACP,OAAuB,QAAvBA,EAAOC,KAAKlH,MAAMmB,aAAK,IAAA8F,EAAAA,EAAI,EAC7B,GAAC,CAAAF,IAAA,oBAAAI,MAED,WAEED,KAAKP,SAAS,CAAEzF,UAAU,GAC5B,IAAC,IAsGUkG,EAAmB,SAACC,GAC/B,IAAMC,EAA6C,SAACtH,GAAK,OAAKS,EAACV,EAAU+D,EAAAA,EAAA,CAAA,EAAKuD,GAAYrH,GAAS,EAEnG,OADAsH,EAAYC,YAAc,aACnBD,CACT"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,classCallCheck as s,callSuper as i,objectSpread2 as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as a}from"react/jsx-runtime";import{Component as n}from"react";import{CssBaseline as l,Container as p,Stack as m}from"@mui/material";import{AppLogo as c}from"./app-logo.js";import{AppThemeProvider as f}from"./app-theme-provider.js";import{appLogoUrl as d,getHeaderNavConfigs as h}from"./configs.js";import{HeaderStyled as u,appHeaderClasses as x}from"./app-header.styled.js";import g from"./mobile-menu.js";import j from"./app-header.nav.js";var v=function(){function t(r){var e;return s(this,t),(e=i(this,t,[r])).configs=h(r.baseUrl),e}return r(t,n),e(t,[{key:"render",value:function(){return o(f,{children:[a(l,{}),a(u,{className:x.root,children:a("div",{className:x.rootFixed,children:o(p,{maxWidth:!1,className:x.content,sx:{height:"100%"},children:[a(c,{src:d,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),o(m,{direction:"row",alignItems:"center",spacing:2,children:[a(j,{onNavItemClick:this.props.onNavItemClick,configs:this.configs,sx:{display:{xs:"none",md:"flex"}}}),o(m,{direction:"row",spacing:.5,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,a(g,{baseUrl:this.props.baseUrl})]})]})]})})})]})}}])}(),b=function(r){var e=function(e){return a(v,t(t({},r),e))};return e.displayName="AppHeader",e};export{v as AppHeader,b as createAppHeader,v as default};
1
+ import{inherits as r,createClass as e,classCallCheck as s,callSuper as i,objectSpread2 as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as a}from"react/jsx-runtime";import{Component as n}from"react";import{CssBaseline as l,Container as p,Stack as m}from"@mui/material";import{AppLogo as c}from"./app-logo.js";import{AppThemeProvider as d}from"./app-theme-provider.js";import{appLogoUrl as f,getHeaderNavConfigs as h}from"./configs.js";import{HeaderStyled as u,appHeaderClasses as v}from"./app-header.styled.js";import x from"./mobile-menu.js";import g from"./app-header.nav.js";var j=function(){function t(r){var e;return s(this,t),(e=i(this,t,[r])).configs=h(r.baseUrl),e}return r(t,n),e(t,[{key:"render",value:function(){var r;return o(d,{children:[a(l,{}),a(u,{className:v.root,children:a("div",{className:v.rootFixed,children:o(p,{maxWidth:!1,className:v.content,sx:{height:"100%"},children:[a(c,{src:f,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),o(m,{direction:"row",alignItems:"center",spacing:2,children:[a(g,{onNavItemClick:this.props.onNavItemClick,configs:this.configs,sx:{display:{xs:"none",md:"flex"}},slots:null===(r=this.props.slots)||void 0===r?void 0:r.navItem}),o(m,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,a(x,{baseUrl:this.props.baseUrl})]})]})]})})})]})}}])}(),b=function(r){var e=function(e){return a(j,t(t({},r),e))};return e.displayName="AppHeader",e};export{j as AppHeader,b as createAppHeader,j as default};
2
2
  //# sourceMappingURL=app-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.js","sources":["../../src/layout-global/app-header.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { Container, CssBaseline, Stack } from '@mui/material'\r\nimport type { ComponentType, FC, ReactNode } from 'react'\r\nimport { AppLogo } from './app-logo'\r\nimport { AppThemeProvider } from './app-theme-provider'\r\nimport { appLogoUrl, getHeaderNavConfigs } from './configs'\r\nimport { appHeaderClasses, HeaderStyled } from './app-header.styled'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport MobileMenu from './mobile-menu'\r\nimport AppHeaderNav from './app-header.nav'\r\nimport { IAppNav, NavItemClickFunction } from './types'\r\n\r\nexport interface IAppHeaderProps {\r\n baseUrl: IAppSiteBaseUrl\r\n onNavItemClick?: NavItemClickFunction\r\n actions?: ReactNode\r\n}\r\n\r\nexport class AppHeader extends Component<IAppHeaderProps> {\r\n private configs: IAppNav[]\r\n constructor(props: IAppHeaderProps) {\r\n super(props)\r\n this.configs = getHeaderNavConfigs(props.baseUrl)\r\n }\r\n\r\n render() {\r\n return (\r\n <AppThemeProvider>\r\n {/* The AppThemeProvider provides a consistent theme across the application */}\r\n {/* It uses the light theme with Roboto and Oswald fonts */}\r\n {/* The primary font is Roboto and the secondary font is Oswald */}\r\n {/* The theme is applied globally using MUI's ThemeProvider and CssBaseline */}\r\n <CssBaseline />\r\n <HeaderStyled className={appHeaderClasses.root}>\r\n <div className={appHeaderClasses.rootFixed}>\r\n <Container maxWidth={false} className={appHeaderClasses.content} sx={{ height: '100%' }}>\r\n {/* The AppLogo component displays the application logo */}\r\n <AppLogo src={appLogoUrl} href={this.props.baseUrl.home} sx={{ mb: '-12px' }} />\r\n <Stack direction='row' alignItems='center' spacing={2}>\r\n <AppHeaderNav onNavItemClick={this.props.onNavItemClick} configs={this.configs} sx={{ display: { xs: 'none', md: 'flex' } }} />\r\n <Stack direction='row' spacing={0.5} sx={{ justifyContent: 'flex-end', alignItems: 'center' }}>\r\n {this.props.actions}\r\n {/* MobileMenu is a responsive menu for smaller screens */}\r\n {/* It provides a hamburger menu icon that toggles the navigation items */}\r\n <MobileMenu baseUrl={this.props.baseUrl} />\r\n </Stack>\r\n </Stack>\r\n </Container>\r\n </div>\r\n </HeaderStyled>\r\n </AppThemeProvider>\r\n )\r\n }\r\n}\r\nexport default AppHeader\r\n\r\nexport const createAppHeader = (params: IAppHeaderProps): ComponentType<Partial<IAppHeaderProps>> => {\r\n const _AppHeader: FC<Partial<IAppHeaderProps>> = (props) => <AppHeader {...params} {...props} />\r\n _AppHeader.displayName = 'AppHeader'\r\n return _AppHeader\r\n}\r\n"],"names":["AppHeader","props","_this","_classCallCheck","_callSuper","configs","getHeaderNavConfigs","baseUrl","_inherits","Component","_createClass","key","value","_jsxs","AppThemeProvider","children","_jsx","CssBaseline","HeaderStyled","className","appHeaderClasses","root","rootFixed","Container","maxWidth","content","sx","height","AppLogo","src","appLogoUrl","href","this","home","mb","Stack","direction","alignItems","spacing","AppHeaderNav","onNavItemClick","display","xs","md","justifyContent","actions","MobileMenu","createAppHeader","params","_AppHeader","_objectSpread","displayName"],"mappings":"0lBAkBaA,IAAAA,aAEX,SAAAA,EAAYC,GAAsB,IAAAC,EAEiB,OAFjBC,OAAAH,IAChCE,EAAAE,EAAAJ,KAAAA,GAAMC,KACDI,QAAUC,EAAoBL,EAAMM,SAAQL,CACnD,CAAC,OAAAM,EAAAR,EAL4BS,GAK5BC,EAAAV,EAAA,CAAA,CAAAW,IAAA,SAAAC,MAED,WACE,OACEC,EAACC,EAKC,CAAAC,SAAA,CAAAC,EAACC,EAAc,CAAA,GACfD,EAACE,GAAaC,UAAWC,EAAiBC,cACxCL,EAAK,MAAA,CAAAG,UAAWC,EAAiBE,UAASP,SACxCF,EAACU,GAAUC,UAAU,EAAOL,UAAWC,EAAiBK,QAASC,GAAI,CAAEC,OAAQ,QAAQZ,SAAA,CAErFC,EAACY,GAAQC,IAAKC,EAAYC,KAAMC,KAAK/B,MAAMM,QAAQ0B,KAAMP,GAAI,CAAEQ,GAAI,WACnErB,EAACsB,EAAK,CAACC,UAAU,MAAMC,WAAW,SAASC,QAAS,YAClDtB,EAACuB,EAAa,CAAAC,eAAgBR,KAAK/B,MAAMuC,eAAgBnC,QAAS2B,KAAK3B,QAASqB,GAAI,CAAEe,QAAS,CAAEC,GAAI,OAAQC,GAAI,WACjH9B,EAACsB,EAAK,CAACC,UAAU,MAAME,QAAS,GAAKZ,GAAI,CAAEkB,eAAgB,WAAYP,WAAY,UAChFtB,SAAA,CAAAiB,KAAK/B,MAAM4C,QAGZ7B,EAAC8B,EAAU,CAACvC,QAASyB,KAAK/B,MAAMM,yBAQhD,IAAC,IAIUwC,EAAkB,SAACC,GAC9B,IAAMC,EAA2C,SAAChD,GAAK,OAAKe,EAAChB,EAASkD,EAAAA,EAAA,CAAA,EAAKF,GAAY/C,GAAS,EAEhG,OADAgD,EAAWE,YAAc,YAClBF,CACT"}
1
+ {"version":3,"file":"app-header.js","sources":["../../src/layout-global/app-header.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { Container, CssBaseline, Stack } from '@mui/material'\r\nimport type { ComponentType, FC, ReactNode } from 'react'\r\nimport { AppLogo } from './app-logo'\r\nimport { AppThemeProvider } from './app-theme-provider'\r\nimport { IAppNav, NavItemClickFunction } from './types'\r\nimport { appLogoUrl, getHeaderNavConfigs } from './configs'\r\nimport { appHeaderClasses, HeaderStyled } from './app-header.styled'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { IAppHeaderNavSlots } from './app-header.nav'\r\nimport MobileMenu from './mobile-menu'\r\nimport AppHeaderNav from './app-header.nav'\r\n\r\nexport interface IAppHeaderSlots {\r\n navItem?: IAppHeaderNavSlots\r\n}\r\n\r\nexport interface IAppHeaderProps {\r\n baseUrl: IAppSiteBaseUrl\r\n onNavItemClick?: NavItemClickFunction\r\n actions?: ReactNode\r\n slots?: IAppHeaderSlots\r\n}\r\n\r\nexport class AppHeader extends Component<IAppHeaderProps> {\r\n private configs: IAppNav[]\r\n constructor(props: IAppHeaderProps) {\r\n super(props)\r\n this.configs = getHeaderNavConfigs(props.baseUrl)\r\n }\r\n\r\n render() {\r\n return (\r\n <AppThemeProvider>\r\n {/* The AppThemeProvider provides a consistent theme across the application */}\r\n {/* It uses the light theme with Roboto and Oswald fonts */}\r\n {/* The primary font is Roboto and the secondary font is Oswald */}\r\n {/* The theme is applied globally using MUI's ThemeProvider and CssBaseline */}\r\n <CssBaseline />\r\n <HeaderStyled className={appHeaderClasses.root}>\r\n <div className={appHeaderClasses.rootFixed}>\r\n <Container maxWidth={false} className={appHeaderClasses.content} sx={{ height: '100%' }}>\r\n {/* The AppLogo component displays the application logo */}\r\n <AppLogo src={appLogoUrl} href={this.props.baseUrl.home} sx={{ mb: '-12px' }} />\r\n <Stack direction='row' alignItems='center' spacing={2}>\r\n <AppHeaderNav\r\n onNavItemClick={this.props.onNavItemClick}\r\n configs={this.configs}\r\n sx={{ display: { xs: 'none', md: 'flex' } }}\r\n slots={this.props.slots?.navItem}\r\n />\r\n <Stack direction='row' gap={1} sx={{ justifyContent: 'flex-end', alignItems: 'center' }}>\r\n {this.props.actions}\r\n {/* MobileMenu is a responsive menu for smaller screens */}\r\n {/* It provides a hamburger menu icon that toggles the navigation items */}\r\n <MobileMenu baseUrl={this.props.baseUrl} />\r\n </Stack>\r\n </Stack>\r\n </Container>\r\n </div>\r\n </HeaderStyled>\r\n </AppThemeProvider>\r\n )\r\n }\r\n}\r\nexport default AppHeader\r\n\r\nexport const createAppHeader = (params: IAppHeaderProps): ComponentType<Partial<IAppHeaderProps>> => {\r\n const _AppHeader: FC<Partial<IAppHeaderProps>> = (props) => <AppHeader {...params} {...props} />\r\n _AppHeader.displayName = 'AppHeader'\r\n return _AppHeader\r\n}\r\n"],"names":["AppHeader","props","_this","_classCallCheck","_callSuper","configs","getHeaderNavConfigs","baseUrl","_inherits","Component","_createClass","key","value","_this$props$slots","_jsxs","AppThemeProvider","_jsx","CssBaseline","HeaderStyled","className","appHeaderClasses","root","children","rootFixed","Container","maxWidth","content","sx","height","AppLogo","src","appLogoUrl","href","this","home","mb","Stack","direction","alignItems","spacing","AppHeaderNav","onNavItemClick","display","xs","md","slots","navItem","gap","justifyContent","actions","MobileMenu","createAppHeader","params","_AppHeader","_objectSpread","displayName"],"mappings":"0lBAwBaA,IAAAA,aAEX,SAAAA,EAAYC,GAAsB,IAAAC,EAEiB,OAFjBC,OAAAH,IAChCE,EAAAE,EAAAJ,KAAAA,GAAMC,KACDI,QAAUC,EAAoBL,EAAMM,SAAQL,CACnD,CAAC,OAAAM,EAAAR,EAL4BS,GAK5BC,EAAAV,EAAA,CAAA,CAAAW,IAAA,SAAAC,MAED,WAAM,IAAAC,EACJ,OACEC,EAACC,aAKCC,EAACC,MACDD,EAACE,EAAY,CAACC,UAAWC,EAAiBC,KAAIC,SAC5CN,SAAKG,UAAWC,EAAiBG,UAC/BD,SAAAR,EAACU,EAAU,CAAAC,UAAU,EAAON,UAAWC,EAAiBM,QAASC,GAAI,CAAEC,OAAQ,QAAQN,SAAA,CAErFN,EAACa,EAAO,CAACC,IAAKC,EAAYC,KAAMC,KAAKhC,MAAMM,QAAQ2B,KAAMP,GAAI,CAAEQ,GAAI,WACnErB,EAACsB,GAAMC,UAAU,MAAMC,WAAW,SAASC,QAAS,YAClDvB,EAACwB,EACC,CAAAC,eAAgBR,KAAKhC,MAAMwC,eAC3BpC,QAAS4B,KAAK5B,QACdsB,GAAI,CAAEe,QAAS,CAAEC,GAAI,OAAQC,GAAI,SACjCC,MAAuBhC,QAAlBA,EAAEoB,KAAKhC,MAAM4C,aAAXhC,IAAgBA,OAAhBA,EAAAA,EAAkBiC,UAE3BhC,EAACsB,EAAK,CAACC,UAAU,MAAMU,IAAK,EAAGpB,GAAI,CAAEqB,eAAgB,WAAYV,WAAY,UAAUhB,SAAA,CACpFW,KAAKhC,MAAMgD,QAGZjC,EAACkC,GAAW3C,QAAS0B,KAAKhC,MAAMM,yBAQhD,IAAC,IAIU4C,EAAkB,SAACC,GAC9B,IAAMC,EAA2C,SAACpD,GAAK,OAAKe,EAAChB,EAASsD,EAAAA,EAAA,CAAA,EAAKF,GAAYnD,GAAS,EAEhG,OADAoD,EAAWE,YAAc,YAClBF,CACT"}
@@ -1,2 +1,2 @@
1
- import{inherits as e,createClass as n,objectSpread2 as t,classCallCheck as r,callSuper as a,defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as s}from"react/jsx-runtime";import{Component as i}from"react";import c from"@mui/icons-material/ExpandMore";import{toArray as m}from"./helpers.js";import{ButtonAnimation as u}from"./animated-tabs.units.js";import{NavStyled as p,appHeaderClasses as v}from"./app-header.styled.js";import d from"./sub-menu.js";var h=function(){function h(e){var n;return r(this,h),n=a(this,h,[e]),l(n,"renderItemIcon",function(e){return 0===m(e.menu).length?null:s(c,{className:v.navItemIcon})}),l(n,"getItemClasses",function(e){var t=[v.navItem];return n.state.navSelected&&n.state.navSelected.title===e.title&&t.push(v.navItemSelected),t.join(" ")}),l(n,"onClickNavItemHandler",function(e,t){if(t.menu)return e.preventDefault(),void n.setState({anchorEl:e.currentTarget,navSelected:t});t.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,t.navLink)}),l(n,"onCloseMenuHandler",function(){n.setState({anchorEl:null,navSelected:null})}),n.state={anchorEl:null,navSelected:null},n}return e(h,i),n(h,[{key:"render",value:function(){var e=this;return o(p,{sx:this.props.sx,children:[s("ul",{className:v.navItems,children:this.props.configs.map(function(n,r){var a,l;return s("li",{className:e.getItemClasses(n),children:s(u,t(t(t({forceTheme:"dark"},n.navLink?{component:"a",href:null!==(a=null===(l=n.navLink)||void 0===l?void 0:l.href)&&void 0!==a?a:"/"}:{}),{},{onClick:function(t){return e.onClickNavItemHandler(t,n)},endIcon:e.renderItemIcon(n)},n.options),{},{children:n.title}))},r)})}),s(d,{anchorEl:this.state.anchorEl,onClose:this.onCloseMenuHandler,navSelected:this.state.navSelected,onNavItemClick:this.props.onNavItemClick})]})}}])}();export{h as default};
1
+ import{inherits as e,createClass as t,objectSpread2 as n,classCallCheck as r,callSuper as a,defineProperty as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as l,jsx as s}from"react/jsx-runtime";import{Component as i}from"react";import c from"@mui/icons-material/ExpandMore";import{toArray as u}from"./helpers.js";import{ButtonAnimation as m}from"./animated-tabs.units.js";import{NavStyled as p,appHeaderClasses as v}from"./app-header.styled.js";import d from"./sub-menu.js";var h=function(){function h(e){var t;return r(this,h),t=a(this,h,[e]),o(t,"getButtonNavProps",function(e){var n=t.props.slots||{},r=n.buttonNavProps,a=n.buttonNavPropsGetter;return a?a(e):null!=r?r:{}}),o(t,"renderItemIcon",function(e){return 0===u(e.menu).length?null:s(c,{className:v.navItemIcon})}),o(t,"getItemClasses",function(e){var n=[v.navItem];return t.state.navSelected&&t.state.navSelected.title===e.title&&n.push(v.navItemSelected),n.join(" ")}),o(t,"onClickNavItemHandler",function(e,n){if(n.menu)return e.preventDefault(),void t.setState({anchorEl:e.currentTarget,navSelected:n});n.navLink&&t.props.onNavItemClick&&t.props.onNavItemClick(e,n.navLink)}),o(t,"onCloseMenuHandler",function(){t.setState({anchorEl:null,navSelected:null})}),t.state={anchorEl:null,navSelected:null},t}return e(h,i),t(h,[{key:"render",value:function(){var e=this;return l(p,{sx:this.props.sx,children:[s("ul",{className:v.navItems,children:this.props.configs.map(function(t,r){var a,o;return s("li",{className:e.getItemClasses(t),children:s(m,n(n(n(n({forceTheme:"dark",endIcon:e.renderItemIcon(t),onClick:function(n){return e.onClickNavItemHandler(n,t)}},t.navLink?{component:"a",href:null!==(a=null===(o=t.navLink)||void 0===o?void 0:o.href)&&void 0!==a?a:"/"}:{}),t.options),e.getButtonNavProps(t)),{},{children:t.title}))},r)})}),s(d,{anchorEl:this.state.anchorEl,onClose:this.onCloseMenuHandler,navSelected:this.state.navSelected,onNavItemClick:this.props.onNavItemClick})]})}}])}();export{h 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, ReactNode } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { toArray } from './helpers'\r\nimport { ButtonAnimation } from './animated-tabs.units'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport type { IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu from './sub-menu'\r\n\r\ninterface IHeaderNavProps {\r\n configs: IAppNav[]\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n}\r\n\r\ninterface IHeaderNavState {\r\n anchorEl: HTMLElement | null\r\n navSelected: IAppNav | null\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps, IHeaderNavState> {\r\n constructor(props: IHeaderNavProps) {\r\n super(props)\r\n this.state = { anchorEl: null, navSelected: null }\r\n }\r\n\r\n render() {\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {this.props.configs.map((item, index) => (\r\n <li key={index} className={this.getItemClasses(item)}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n {...(item.navLink ? { component: 'a', href: item.navLink?.href ?? '/' } : {})}\r\n onClick={(e: any) => this.onClickNavItemHandler(e, item)}\r\n endIcon={this.renderItemIcon(item)}\r\n {...item.options}\r\n >\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n </ul>\r\n <SubMenu\r\n anchorEl={this.state.anchorEl}\r\n onClose={this.onCloseMenuHandler}\r\n navSelected={this.state.navSelected}\r\n onNavItemClick={this.props.onNavItemClick}\r\n />\r\n </NavStyled>\r\n )\r\n }\r\n\r\n renderItemIcon = (nav: IAppNav): ReactNode => {\r\n const menu = toArray(nav.menu)\r\n if (menu.length === 0) return null\r\n return <ExpandMoreIcon className={appHeaderClasses.navItemIcon} />\r\n }\r\n\r\n getItemClasses = (nav: IAppNav) => {\r\n const classes = [appHeaderClasses.navItem]\r\n if (this.state.navSelected && this.state.navSelected.title === nav.title) {\r\n classes.push(appHeaderClasses.navItemSelected)\r\n }\r\n return classes.join(' ')\r\n }\r\n\r\n onClickNavItemHandler = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav: IAppNav) => {\r\n if (nav.menu) {\r\n e.preventDefault()\r\n this.setState({ anchorEl: e.currentTarget, navSelected: nav })\r\n return\r\n }\r\n if (nav.navLink && this.props.onNavItemClick) {\r\n // If there's a navLink and an onNavItemClick handler, call it\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n\r\n onCloseMenuHandler = () => {\r\n this.setState({ anchorEl: null, navSelected: null })\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","props","_this","_classCallCheck","_callSuper","_defineProperty","nav","toArray","menu","length","_jsx","ExpandMoreIcon","className","appHeaderClasses","navItemIcon","classes","navItem","state","navSelected","title","push","navItemSelected","join","e","preventDefault","setState","anchorEl","currentTarget","navLink","onNavItemClick","_inherits","Component","_createClass","key","value","_this2","this","_jsxs","NavStyled","sx","children","navItems","configs","map","item","index","_item$navLink$href","_item$navLink","getItemClasses","ButtonAnimation","_objectSpread","forceTheme","component","href","onClick","onClickNavItemHandler","endIcon","renderItemIcon","options","SubMenu","onClose","onCloseMenuHandler"],"mappings":"yeAqBMA,IAAAA,aACJ,SAAAA,EAAYC,GAAsB,IAAAC,EAEkB,OAFlBC,OAAAH,GAChCE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAgCG,iBAAA,SAACI,GAEhB,OAAoB,IADPC,EAAQD,EAAIE,MAChBC,OAAqB,KACvBC,EAACC,EAAe,CAAAC,UAAWC,EAAiBC,gBACpDT,EAAAH,EAEgB,iBAAA,SAACI,GAChB,IAAMS,EAAU,CAACF,EAAiBG,SAIlC,OAHId,EAAKe,MAAMC,aAAehB,EAAKe,MAAMC,YAAYC,QAAUb,EAAIa,OACjEJ,EAAQK,KAAKP,EAAiBQ,iBAEzBN,EAAQO,KAAK,OACrBjB,EAAAH,EAAA,wBAEuB,SAACqB,EAA+CjB,GACtE,GAAIA,EAAIE,KAGN,OAFAe,EAAEC,sBACFtB,EAAKuB,SAAS,CAAEC,SAAUH,EAAEI,cAAeT,YAAaZ,IAGtDA,EAAIsB,SAAW1B,EAAKD,MAAM4B,gBAE5B3B,EAAKD,MAAM4B,eAAeN,EAAGjB,EAAIsB,WAEpCvB,EAAAH,EAAA,qBAEoB,WACnBA,EAAKuB,SAAS,CAAEC,SAAU,KAAMR,YAAa,SA1D7ChB,EAAKe,MAAQ,CAAES,SAAU,KAAMR,YAAa,MAAMhB,CACpD,CAAC,OAAA4B,EAAA9B,EAJwB+B,GAIxBC,EAAAhC,EAAA,CAAA,CAAAiC,IAAA,SAAAC,MAED,WAAM,IAAAC,EAAAC,KACJ,OACEC,EAACC,EAAS,CAACC,GAAIH,KAAKnC,MAAMsC,GAAEC,SAAA,CAC1B9B,EAAI,KAAA,CAAAE,UAAWC,EAAiB4B,SAAQD,SACrCJ,KAAKnC,MAAMyC,QAAQC,IAAI,SAACC,EAAMC,GAAK,IAAAC,EAAAC,EAAA,OAClCrC,EAAgB,KAAA,CAAAE,UAAWuB,EAAKa,eAAeJ,YAC7ClC,EAACuC,EAAeC,EAAAA,EAAAA,EAAA,CACdC,WAAW,QACNP,EAAKhB,QAAU,CAAEwB,UAAW,IAAKC,aAAIP,EAAc,QAAdC,EAAEH,EAAKhB,eAAO,IAAAmB,OAAA,EAAZA,EAAcM,YAAI,IAAAP,EAAAA,EAAI,KAAQ,CAAA,GAAE,GAAA,CAC5EQ,QAAS,SAAC/B,GAAM,OAAKY,EAAKoB,sBAAsBhC,EAAGqB,EAAK,EACxDY,QAASrB,EAAKsB,eAAeb,IACzBA,EAAKc,SAAO,GAAA,CAAAlB,SAEfI,EAAKzB,UARD0B,EAWV,KAEHnC,EAACiD,EACC,CAAAjC,SAAUU,KAAKnB,MAAMS,SACrBkC,QAASxB,KAAKyB,mBACd3C,YAAakB,KAAKnB,MAAMC,YACxBW,eAAgBO,KAAKnC,MAAM4B,mBAInC,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, ReactNode } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { toArray } from './helpers'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport type { IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu from './sub-menu'\r\n\r\nexport interface IAppHeaderNavSlots {\r\n buttonNavProps?: IButtonAnimationProps\r\n buttonNavPropsGetter?: (item: IAppNav) => Partial<IButtonAnimationProps>\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IAppNav[]\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\ninterface IHeaderNavState {\r\n anchorEl: HTMLElement | null\r\n navSelected: IAppNav | null\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps, IHeaderNavState> {\r\n constructor(props: IHeaderNavProps) {\r\n super(props)\r\n this.state = { anchorEl: null, navSelected: null }\r\n }\r\n\r\n render() {\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {this.props.configs.map((item, index) => (\r\n <li key={index} className={this.getItemClasses(item)}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={this.renderItemIcon(item)}\r\n onClick={(e: any) => this.onClickNavItemHandler(e, item)}\r\n {...(item.navLink ? { component: 'a', href: item.navLink?.href ?? '/' } : {})}\r\n {...item.options}\r\n {...this.getButtonNavProps(item)}\r\n >\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n </ul>\r\n <SubMenu\r\n anchorEl={this.state.anchorEl}\r\n onClose={this.onCloseMenuHandler}\r\n navSelected={this.state.navSelected}\r\n onNavItemClick={this.props.onNavItemClick}\r\n />\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { buttonNavProps, buttonNavPropsGetter } = this.props.slots || {}\r\n if (buttonNavPropsGetter) {\r\n return buttonNavPropsGetter(item)\r\n }\r\n return buttonNavProps ?? {}\r\n }\r\n\r\n renderItemIcon = (nav: IAppNav): ReactNode => {\r\n const menu = toArray(nav.menu)\r\n if (menu.length === 0) return null\r\n return <ExpandMoreIcon className={appHeaderClasses.navItemIcon} />\r\n }\r\n\r\n getItemClasses = (nav: IAppNav) => {\r\n const classes = [appHeaderClasses.navItem]\r\n if (this.state.navSelected && this.state.navSelected.title === nav.title) {\r\n classes.push(appHeaderClasses.navItemSelected)\r\n }\r\n return classes.join(' ')\r\n }\r\n\r\n onClickNavItemHandler = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav: IAppNav) => {\r\n if (nav.menu) {\r\n e.preventDefault()\r\n this.setState({ anchorEl: e.currentTarget, navSelected: nav })\r\n return\r\n }\r\n if (nav.navLink && this.props.onNavItemClick) {\r\n // If there's a navLink and an onNavItemClick handler, call it\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n\r\n onCloseMenuHandler = () => {\r\n this.setState({ anchorEl: null, navSelected: null })\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","props","_this","_classCallCheck","_callSuper","_defineProperty","item","_ref","slots","buttonNavProps","buttonNavPropsGetter","nav","toArray","menu","length","_jsx","ExpandMoreIcon","className","appHeaderClasses","navItemIcon","classes","navItem","state","navSelected","title","push","navItemSelected","join","e","preventDefault","setState","anchorEl","currentTarget","navLink","onNavItemClick","_inherits","Component","_createClass","key","value","_this2","this","_jsxs","NavStyled","sx","children","navItems","configs","map","index","_item$navLink$href","_item$navLink","getItemClasses","ButtonAnimation","_objectSpread","forceTheme","endIcon","renderItemIcon","onClick","onClickNavItemHandler","component","href","options","getButtonNavProps","SubMenu","onClose","onCloseMenuHandler"],"mappings":"yeA2BMA,IAAAA,aACJ,SAAAA,EAAYC,GAAsB,IAAAC,EAEkB,OAFlBC,OAAAH,GAChCE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAiCM,oBAAA,SAACI,GACnB,IAAAC,EAAiDL,EAAKD,MAAMO,OAAS,CAAE,EAA/DC,EAAcF,EAAdE,eAAgBC,EAAoBH,EAApBG,qBACxB,OAAIA,EACKA,EAAqBJ,GAEvBG,QAAAA,EAAkB,CAAE,IAC5BJ,EAAAH,EAEgB,iBAAA,SAACS,GAEhB,OAAoB,IADPC,EAAQD,EAAIE,MAChBC,OAAqB,KACvBC,EAACC,EAAe,CAAAC,UAAWC,EAAiBC,gBACpDd,EAAAH,EAEgB,iBAAA,SAACS,GAChB,IAAMS,EAAU,CAACF,EAAiBG,SAIlC,OAHInB,EAAKoB,MAAMC,aAAerB,EAAKoB,MAAMC,YAAYC,QAAUb,EAAIa,OACjEJ,EAAQK,KAAKP,EAAiBQ,iBAEzBN,EAAQO,KAAK,OACrBtB,EAAAH,EAAA,wBAEuB,SAAC0B,EAA+CjB,GACtE,GAAIA,EAAIE,KAGN,OAFAe,EAAEC,sBACF3B,EAAK4B,SAAS,CAAEC,SAAUH,EAAEI,cAAeT,YAAaZ,IAGtDA,EAAIsB,SAAW/B,EAAKD,MAAMiC,gBAE5BhC,EAAKD,MAAMiC,eAAeN,EAAGjB,EAAIsB,WAEpC5B,EAAAH,EAAA,qBAEoB,WACnBA,EAAK4B,SAAS,CAAEC,SAAU,KAAMR,YAAa,SAnE7CrB,EAAKoB,MAAQ,CAAES,SAAU,KAAMR,YAAa,MAAMrB,CACpD,CAAC,OAAAiC,EAAAnC,EAJwBoC,GAIxBC,EAAArC,EAAA,CAAA,CAAAsC,IAAA,SAAAC,MAED,WAAM,IAAAC,EAAAC,KACJ,OACEC,EAACC,EAAU,CAAAC,GAAIH,KAAKxC,MAAM2C,GACxBC,SAAA,CAAA9B,EAAA,KAAA,CAAIE,UAAWC,EAAiB4B,SAC7BD,SAAAJ,KAAKxC,MAAM8C,QAAQC,IAAI,SAAC1C,EAAM2C,GAAK,IAAAC,EAAAC,EAAA,OAClCpC,EAAA,KAAA,CAAgBE,UAAWuB,EAAKY,eAAe9C,GAC7CuC,SAAA9B,EAACsC,EAAeC,EAAAA,EAAAA,EAAAA,EAAA,CACdC,WAAW,OACXC,QAAShB,EAAKiB,eAAenD,GAC7BoD,QAAS,SAAC9B,GAAM,OAAKY,EAAKmB,sBAAsB/B,EAAGtB,EAAK,GACnDA,EAAK2B,QAAU,CAAE2B,UAAW,IAAKC,aAAIX,EAAc,QAAdC,EAAE7C,EAAK2B,eAAO,IAAAkB,OAAA,EAAZA,EAAcU,YAAI,IAAAX,EAAAA,EAAI,KAAQ,CAAE,GACxE5C,EAAKwD,SACLtB,EAAKuB,kBAAkBzD,IAAK,GAAA,CAAAuC,SAE/BvC,EAAKkB,UATDyB,EAYV,KAEHlC,EAACiD,GACCjC,SAAUU,KAAKnB,MAAMS,SACrBkC,QAASxB,KAAKyB,mBACd3C,YAAakB,KAAKnB,MAAMC,YACxBW,eAAgBO,KAAKxC,MAAMiC,mBAInC,IAAC"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as e,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";import{styled as a,Box as o}from"@mui/material";var r={root:"AppHeader-root",rootFixed:"AppHeader-rootFixed",content:"AppHeader-content",navItem:"AppHeader-navItem",navItems:"AppHeader-navItems",navItemIcon:"AppHeader-navItemIcon",navItemSelected:"AppHeader-navItemSelected",subMenu:"AppHeader-subMenu",subMenuItem:"AppHeader-subMenuItem",subMenuTitle:"AppHeader-subMenuTitle",subNavItem:"AppHeader-subNavItem",subNavItemIcon:"AppHeader-subNavItemIcon",subNavItemText:"AppHeader-subNavItemContent"},i=function(e,t){return"".concat((null==t?void 0:t.prefix)||"",".").concat(r[e]).concat((null==t?void 0:t.suffix)||"")},p=a(function(t){return n(o,e({component:"header"},t))})(function(e){var n=e.theme;return t(t(t({},i("rootFixed",{prefix:"& > "}),{zIndex:1200,height:"var(--height-header, 114px)",backgroundColor:"var(--color-header, #1b1b1b)",color:n.palette.common.white,position:"fixed",left:0,top:0,width:"100vw"}),i("content"),{display:"flex",alignItems:"center",justifyContent:"space-between",height:"100%",maxWidth:"var(--max-width, 1688px)"}),"&::before",{content:'""',display:"block",height:"var(--height-header, 114px)",width:"100%"})});p.displayName="HeaderStyled";var m=a(function(t){return n(o,e({component:"nav"},t))})(function(e){var n=e.theme;return t(t(t(t({display:"flex",alignItems:"center"},i("navItems"),{listStyle:"none",display:"flex",gap:n.spacing(.5),margin:0,padding:0}),i("navItem"),{textDecoration:"none","& > button.MuiButtonBase-root .MuiButton-icon":{marginLeft:0},"&:hover":t(t({},i("navItemIcon"),{transform:"rotate(0deg) scale(1.2)"}),i("navItemSelected"),t({},i("navItemIcon"),{transform:"rotate(180deg) scale(1.2)"}))}),i("navItemIcon"),{fontSize:"1.25rem",transition:"transform 0.3s ease"}),i("navItemSelected"),t(t({},i("navItemIcon"),{transform:"rotate(180deg) scale(1.2)"}),"& > button.MuiButtonBase-root",{backgroundColor:"rgba(249, 169, 37, 0.1) !important"}))});m.displayName="NavStyled";export{p as HeaderStyled,m as NavStyled,r as appHeaderClasses};
1
+ import{objectSpread2 as e,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";import{styled as a,Box as o}from"@mui/material";var r={root:"AppHeader-root",rootFixed:"AppHeader-rootFixed",content:"AppHeader-content",navItem:"AppHeader-navItem",navItems:"AppHeader-navItems",navItemIcon:"AppHeader-navItemIcon",navItemSelected:"AppHeader-navItemSelected",subMenu:"AppHeader-subMenu",subMenuItem:"AppHeader-subMenuItem",subMenuTitle:"AppHeader-subMenuTitle",subNavItem:"AppHeader-subNavItem",subNavItemIcon:"AppHeader-subNavItemIcon",subNavItemText:"AppHeader-subNavItemContent"},i=function(e,t){return"".concat((null==t?void 0:t.prefix)||"",".").concat(r[e]).concat((null==t?void 0:t.suffix)||"")},p=a(function(t){return n(o,e({component:"header"},t))})(function(e){var n=e.theme;return t(t(t({},i("rootFixed",{prefix:"& > "}),{zIndex:1110,height:"var(--height-header, 114px)",backgroundColor:"var(--color-header, #1b1b1b)",color:n.palette.common.white,position:"fixed",left:0,top:0,width:"100vw"}),i("content"),{display:"flex",alignItems:"center",justifyContent:"space-between",height:"100%",maxWidth:"var(--max-width, 1688px)"}),"&::before",{content:'""',display:"block",height:"var(--height-header, 114px)",width:"100%"})});p.displayName="HeaderStyled";var m=a(function(t){return n(o,e({component:"nav"},t))})(function(e){var n=e.theme;return t(t(t(t({display:"flex",alignItems:"center"},i("navItems"),{listStyle:"none",display:"flex",gap:n.spacing(.5),margin:0,padding:0}),i("navItem"),{textDecoration:"none","& > button.MuiButtonBase-root .MuiButton-icon":{marginLeft:0},"&:hover":t(t({},i("navItemIcon"),{transform:"rotate(0deg) scale(1.2)"}),i("navItemSelected"),t({},i("navItemIcon"),{transform:"rotate(180deg) scale(1.2)"}))}),i("navItemIcon"),{fontSize:"1.25rem",transition:"transform 0.3s ease"}),i("navItemSelected"),t(t({},i("navItemIcon"),{transform:"rotate(180deg) scale(1.2)"}),"& > button.MuiButtonBase-root",{backgroundColor:"rgba(249, 169, 37, 0.1) !important"}))});m.displayName="NavStyled";export{p as HeaderStyled,m as NavStyled,r as appHeaderClasses};
2
2
  //# sourceMappingURL=app-header.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.styled.js","sources":["../../src/layout-global/app-header.styled.tsx"],"sourcesContent":["import { Box, BoxProps, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\n\r\nexport const appHeaderClasses = {\r\n root: 'AppHeader-root',\r\n rootFixed: 'AppHeader-rootFixed',\r\n content: 'AppHeader-content',\r\n navItem: 'AppHeader-navItem',\r\n navItems: 'AppHeader-navItems',\r\n navItemIcon: 'AppHeader-navItemIcon',\r\n navItemSelected: 'AppHeader-navItemSelected',\r\n subMenu: 'AppHeader-subMenu',\r\n subMenuItem: 'AppHeader-subMenuItem',\r\n subMenuTitle: 'AppHeader-subMenuTitle',\r\n subNavItem: 'AppHeader-subNavItem',\r\n subNavItemIcon: 'AppHeader-subNavItemIcon',\r\n subNavItemText: 'AppHeader-subNavItemContent'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof appHeaderClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${appHeaderClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const HeaderStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='header' {...p} />)(({ theme }) => ({\r\n [getClasses('rootFixed', { prefix: '& > ' })]: {\r\n zIndex: 1200, // theme.zIndex.appBar,\r\n height: 'var(--height-header, 114px)',\r\n backgroundColor: 'var(--color-header, #1b1b1b)',\r\n color: theme.palette.common.white,\r\n position: 'fixed',\r\n left: 0,\r\n top: 0,\r\n width: '100vw'\r\n },\r\n [getClasses('content')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: '100%',\r\n maxWidth: 'var(--max-width, 1688px)'\r\n },\r\n '&::before': {\r\n content: '\"\"',\r\n display: 'block',\r\n height: 'var(--height-header, 114px)',\r\n width: '100%'\r\n }\r\n}))\r\nexport type HeaderStyledType = typeof HeaderStyled\r\nHeaderStyled.displayName = 'HeaderStyled'\r\n\r\nexport const NavStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='nav' {...p} />)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n [getClasses('navItems')]: {\r\n listStyle: 'none',\r\n display: 'flex',\r\n gap: theme.spacing(0.5),\r\n margin: 0,\r\n padding: 0\r\n },\r\n [getClasses('navItem')]: {\r\n textDecoration: 'none',\r\n '& > button.MuiButtonBase-root .MuiButton-icon': {\r\n marginLeft: 0\r\n },\r\n '&:hover': {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(0deg) scale(1.2)'\r\n },\r\n [getClasses('navItemSelected')]: {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(180deg) scale(1.2)'\r\n }\r\n }\r\n }\r\n },\r\n [getClasses('navItemIcon')]: {\r\n fontSize: '1.25rem',\r\n transition: 'transform 0.3s ease'\r\n },\r\n [getClasses('navItemSelected')]: {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(180deg) scale(1.2)'\r\n },\r\n '& > button.MuiButtonBase-root': {\r\n backgroundColor: 'rgba(249, 169, 37, 0.1) !important'\r\n }\r\n }\r\n}))\r\nNavStyled.displayName = 'NavStyled'\r\n"],"names":["appHeaderClasses","root","rootFixed","content","navItem","navItems","navItemIcon","navItemSelected","subMenu","subMenuItem","subMenuTitle","subNavItem","subNavItemIcon","subNavItemText","getClasses","key","options","concat","prefix","suffix","HeaderStyled","styled","p","_jsx","Box","_objectSpread","component","_ref","theme","_defineProperty","zIndex","height","backgroundColor","color","palette","common","white","position","left","top","width","display","alignItems","justifyContent","maxWidth","displayName","NavStyled","_ref3","listStyle","gap","spacing","margin","padding","textDecoration","marginLeft","transform","fontSize","transition"],"mappings":"qLAGO,IAAMA,EAAmB,CAC9BC,KAAM,iBACNC,UAAW,sBACXC,QAAS,oBACTC,QAAS,oBACTC,SAAU,qBACVC,YAAa,wBACbC,gBAAiB,4BACjBC,QAAS,oBACTC,YAAa,wBACbC,aAAc,yBACdC,WAAY,uBACZC,eAAgB,2BAChBC,eAAgB,+BAGZC,EAAa,SAACC,EAAoCC,GACtD,MAAA,GAAAC,QAAUD,aAAAA,EAAAA,EAASE,SAAU,QAAED,OAAIjB,EAAiBe,IAAIE,QAAGD,aAAAA,EAAAA,EAASG,SAAU,GAChF,EAEaC,EAAwCC,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,UAAaJ,GAAK,EAAzDD,CAA2D,SAAAM,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAAC,EAAAA,EAAAA,EACrHf,CAAAA,EAAAA,EAAW,YAAa,CAAEI,OAAQ,SAAY,CAC7CY,OAAQ,KACRC,OAAQ,8BACRC,gBAAiB,+BACjBC,MAAOL,EAAMM,QAAQC,OAAOC,MAC5BC,SAAU,QACVC,KAAM,EACNC,IAAK,EACLC,MAAO,UAER1B,EAAW,WAAa,CACvB2B,QAAS,OACTC,WAAY,SACZC,eAAgB,gBAChBZ,OAAQ,OACRa,SAAU,6BAEZ,YAAa,CACXzC,QAAS,KACTsC,QAAS,QACTV,OAAQ,8BACRS,MAAO,QACR,GAGHpB,EAAayB,YAAc,mBAEdC,EAAqCzB,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,OAAUJ,GAAK,EAAtDD,CAAwD,SAAA0B,GAAA,IAAGnB,EAAKmB,EAALnB,MAAK,OAAAC,EAAAA,EAAAA,EAAAA,EAAA,CAChHY,QAAS,OACTC,WAAY,UACX5B,EAAW,YAAc,CACxBkC,UAAW,OACXP,QAAS,OACTQ,IAAKrB,EAAMsB,QAAQ,IACnBC,OAAQ,EACRC,QAAS,IAEVtC,EAAW,WAAa,CACvBuC,eAAgB,OAChB,gDAAiD,CAC/CC,WAAY,GAEd,UAASzB,EAAAA,KACNf,EAAW,eAAiB,CAC3ByC,UAAW,4BAEZzC,EAAW,mBAAkBe,EAAA,GAC3Bf,EAAW,eAAiB,CAC3ByC,UAAW,iCAKlBzC,EAAW,eAAiB,CAC3B0C,SAAU,UACVC,WAAY,wBAEb3C,EAAW,mBAAkBe,EAAAA,EAC3Bf,CAAAA,EAAAA,EAAW,eAAiB,CAC3ByC,UAAW,8BAEb,gCAAiC,CAC/BvB,gBAAiB,uCAClB,GAGLc,EAAUD,YAAc"}
1
+ {"version":3,"file":"app-header.styled.js","sources":["../../src/layout-global/app-header.styled.tsx"],"sourcesContent":["import { Box, BoxProps, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\n\r\nexport const appHeaderClasses = {\r\n root: 'AppHeader-root',\r\n rootFixed: 'AppHeader-rootFixed',\r\n content: 'AppHeader-content',\r\n navItem: 'AppHeader-navItem',\r\n navItems: 'AppHeader-navItems',\r\n navItemIcon: 'AppHeader-navItemIcon',\r\n navItemSelected: 'AppHeader-navItemSelected',\r\n subMenu: 'AppHeader-subMenu',\r\n subMenuItem: 'AppHeader-subMenuItem',\r\n subMenuTitle: 'AppHeader-subMenuTitle',\r\n subNavItem: 'AppHeader-subNavItem',\r\n subNavItemIcon: 'AppHeader-subNavItemIcon',\r\n subNavItemText: 'AppHeader-subNavItemContent'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof appHeaderClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${appHeaderClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const HeaderStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='header' {...p} />)(({ theme }) => ({\r\n [getClasses('rootFixed', { prefix: '& > ' })]: {\r\n zIndex: 1110, // theme.zIndex.appBar,\r\n height: 'var(--height-header, 114px)',\r\n backgroundColor: 'var(--color-header, #1b1b1b)',\r\n color: theme.palette.common.white,\r\n position: 'fixed',\r\n left: 0,\r\n top: 0,\r\n width: '100vw'\r\n },\r\n [getClasses('content')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: '100%',\r\n maxWidth: 'var(--max-width, 1688px)'\r\n },\r\n '&::before': {\r\n content: '\"\"',\r\n display: 'block',\r\n height: 'var(--height-header, 114px)',\r\n width: '100%'\r\n }\r\n}))\r\nexport type HeaderStyledType = typeof HeaderStyled\r\nHeaderStyled.displayName = 'HeaderStyled'\r\n\r\nexport const NavStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='nav' {...p} />)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n [getClasses('navItems')]: {\r\n listStyle: 'none',\r\n display: 'flex',\r\n gap: theme.spacing(0.5),\r\n margin: 0,\r\n padding: 0\r\n },\r\n [getClasses('navItem')]: {\r\n textDecoration: 'none',\r\n '& > button.MuiButtonBase-root .MuiButton-icon': {\r\n marginLeft: 0\r\n },\r\n '&:hover': {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(0deg) scale(1.2)'\r\n },\r\n [getClasses('navItemSelected')]: {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(180deg) scale(1.2)'\r\n }\r\n }\r\n }\r\n },\r\n [getClasses('navItemIcon')]: {\r\n fontSize: '1.25rem',\r\n transition: 'transform 0.3s ease'\r\n },\r\n [getClasses('navItemSelected')]: {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(180deg) scale(1.2)'\r\n },\r\n '& > button.MuiButtonBase-root': {\r\n backgroundColor: 'rgba(249, 169, 37, 0.1) !important'\r\n }\r\n }\r\n}))\r\nNavStyled.displayName = 'NavStyled'\r\n"],"names":["appHeaderClasses","root","rootFixed","content","navItem","navItems","navItemIcon","navItemSelected","subMenu","subMenuItem","subMenuTitle","subNavItem","subNavItemIcon","subNavItemText","getClasses","key","options","concat","prefix","suffix","HeaderStyled","styled","p","_jsx","Box","_objectSpread","component","_ref","theme","_defineProperty","zIndex","height","backgroundColor","color","palette","common","white","position","left","top","width","display","alignItems","justifyContent","maxWidth","displayName","NavStyled","_ref3","listStyle","gap","spacing","margin","padding","textDecoration","marginLeft","transform","fontSize","transition"],"mappings":"qLAGO,IAAMA,EAAmB,CAC9BC,KAAM,iBACNC,UAAW,sBACXC,QAAS,oBACTC,QAAS,oBACTC,SAAU,qBACVC,YAAa,wBACbC,gBAAiB,4BACjBC,QAAS,oBACTC,YAAa,wBACbC,aAAc,yBACdC,WAAY,uBACZC,eAAgB,2BAChBC,eAAgB,+BAGZC,EAAa,SAACC,EAAoCC,GACtD,MAAA,GAAAC,QAAUD,aAAAA,EAAAA,EAASE,SAAU,QAAED,OAAIjB,EAAiBe,IAAIE,QAAGD,aAAAA,EAAAA,EAASG,SAAU,GAChF,EAEaC,EAAwCC,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,UAAaJ,GAAK,EAAzDD,CAA2D,SAAAM,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAAC,EAAAA,EAAAA,EACrHf,CAAAA,EAAAA,EAAW,YAAa,CAAEI,OAAQ,SAAY,CAC7CY,OAAQ,KACRC,OAAQ,8BACRC,gBAAiB,+BACjBC,MAAOL,EAAMM,QAAQC,OAAOC,MAC5BC,SAAU,QACVC,KAAM,EACNC,IAAK,EACLC,MAAO,UAER1B,EAAW,WAAa,CACvB2B,QAAS,OACTC,WAAY,SACZC,eAAgB,gBAChBZ,OAAQ,OACRa,SAAU,6BAEZ,YAAa,CACXzC,QAAS,KACTsC,QAAS,QACTV,OAAQ,8BACRS,MAAO,QACR,GAGHpB,EAAayB,YAAc,mBAEdC,EAAqCzB,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,OAAUJ,GAAK,EAAtDD,CAAwD,SAAA0B,GAAA,IAAGnB,EAAKmB,EAALnB,MAAK,OAAAC,EAAAA,EAAAA,EAAAA,EAAA,CAChHY,QAAS,OACTC,WAAY,UACX5B,EAAW,YAAc,CACxBkC,UAAW,OACXP,QAAS,OACTQ,IAAKrB,EAAMsB,QAAQ,IACnBC,OAAQ,EACRC,QAAS,IAEVtC,EAAW,WAAa,CACvBuC,eAAgB,OAChB,gDAAiD,CAC/CC,WAAY,GAEd,UAASzB,EAAAA,KACNf,EAAW,eAAiB,CAC3ByC,UAAW,4BAEZzC,EAAW,mBAAkBe,EAAA,GAC3Bf,EAAW,eAAiB,CAC3ByC,UAAW,iCAKlBzC,EAAW,eAAiB,CAC3B0C,SAAU,UACVC,WAAY,wBAEb3C,EAAW,mBAAkBe,EAAAA,EAC3Bf,CAAAA,EAAAA,EAAW,eAAiB,CAC3ByC,UAAW,8BAEb,gCAAiC,CAC/BvB,gBAAiB,uCAClB,GAGLc,EAAUD,YAAc"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t}from"react/jsx-runtime";import e from"@mui/icons-material/Reddit";import n from"@mui/icons-material/YouTube";import o from"@mui/icons-material/Twitter";import r from"@mui/icons-material/Instagram";import a from"@mui/icons-material/Pinterest";import{IconVideoBase64 as s,IconAudioBase64 as c}from"./animated-tabs.units.js";import{ENavKey as m}from"./types.js";var u,l="images/logo.webp",v="images/bg-footer.webp",L=[{link:"/",icon:t(n,{}),color:"#FF0000"},{link:"/",icon:t(r,{}),color:"#E4405F"},{link:"/",icon:t(o,{}),color:"#1DA1F2"},{link:"/",icon:t(a,{}),color:"#BD081C"},{link:"/",icon:t(e,{}),color:"#FF4500"}],k=(i(i(i(i(i(i(i(i(i(i(u={},m.Home,"Home"),m.Pricing,"Pricing"),m.SubmitMedia,"Submit Media"),m.Faqs,"FAQs"),m.Videos,"Videos"),m.Audios,"Audios"),m.Privacy,"Privacy Policy"),m.Terms,"Terms of Submission"),m.About,"About Us"),m.CreateAccount,"Create Account"),i(i(u,m.ContactUs,"Contact Us"),m.PurchaseLicenses,"Purchase Licenses")),d=function(t){var e;return i(i(i(i(i(i(i(i(i(i(e={},m.Home,{site:"home",href:t.home+"/#Home"}),m.Pricing,{site:"home",href:t.home+"/#Pricing"}),m.Faqs,{site:"home",href:t.home+"/#Faq"}),m.About,{site:"home",href:t.home+"/#About"}),m.ContactUs,{site:"home",href:t.home+"/#Contact"}),m.Videos,{site:"client",href:t.client+"/videos",routerPath:"/videos"}),m.PurchaseLicenses,{site:"client",href:t.client+"/purchase-licenses",routerPath:"/purchase-licenses"}),m.SubmitMedia,{site:"client",href:t.client+"/submit",routerPath:"/submit"}),m.Privacy,{site:"client",href:t.client+"/privacy-policy",routerPath:"/privacy-policy"}),m.Terms,{site:"client",href:t.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),i(i(e,m.CreateAccount,{site:"client",href:t.home+"/Identity/Account/Register"}),m.Audios,{site:"music",href:t.music,routerPath:"/"})},h=function(i){var t=d(i);return[{title:"Media",items:[{title:k[m.Videos],icon:s,navLink:t[m.Videos]},{title:k[m.Audios],icon:c,navLink:t[m.Audios]}]},{title:"Quick Actions",items:[{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.Faqs],navLink:t[m.Faqs]}]},{title:"Support & Info",items:[{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.About],navLink:t[m.About]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.Terms],navLink:t[m.Terms]},{title:k[m.Privacy],navLink:t[m.Privacy]}]}]},P=function(i){var t=d(i);return[{title:k[m.Home],navLink:t[m.Home]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.Videos],navLink:t[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:t[m.Audios],options:{startIcon:c}},{title:"Get Started",menu:h(i)}]},f=function(i){var t=d(i);return[{title:k[m.Home],navLink:t[m.Home]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.About],navLink:t[m.About]},{title:k[m.Terms],navLink:t[m.Terms]},{title:k[m.Privacy],navLink:t[m.Privacy]},{title:k[m.CreateAccount],navLink:t[m.CreateAccount]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.ContactUs],navLink:t[m.ContactUs]},{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.PurchaseLicenses],navLink:t[m.PurchaseLicenses]}]},p="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",b="© Copyright 2024".concat((new Date).getFullYear()>2024?" - ".concat((new Date).getFullYear()):""," by BERLINTOMEK."),g=function(i){var t=d(i);return[{title:k[m.Videos],navLink:t[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:t[m.Audios],options:{startIcon:c}}]},A=function(i){var t=d(i);return[[{title:k[m.Home],navLink:t[m.Home]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.About],navLink:t[m.About]},{title:k[m.Terms],navLink:t[m.Terms]},{title:k[m.Privacy],navLink:t[m.Privacy]}],[{title:k[m.CreateAccount],navLink:t[m.CreateAccount]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.ContactUs],navLink:t[m.ContactUs]},{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.PurchaseLicenses],navLink:t[m.PurchaseLicenses]}]]};export{l as appLogoUrl,L as appSocialConfigs,v as bgFooterUrl,b as copyrightText,p as footerDescription,A as getFooterNavConfigs,g as getFooterNavTabConfigs,h as getHeaderMenuConfigs,P as getHeaderNavConfigs,f as getMenuNavConfigs,d as getNavLinks,k as mapNavTitles};
1
+ import{defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t}from"react/jsx-runtime";import e from"@mui/icons-material/Reddit";import n from"@mui/icons-material/YouTube";import o from"@mui/icons-material/Twitter";import r from"@mui/icons-material/Instagram";import a from"@mui/icons-material/Pinterest";import{IconVideoBase64 as s,IconAudioBase64 as c}from"./animated-tabs.units.js";import{ENavKey as m}from"./types.js";var u,l="images/logo.webp",v="images/bg-footer.webp",L=[{link:"/",icon:t(n,{}),color:"#FF0000"},{link:"/",icon:t(r,{}),color:"#E4405F"},{link:"/",icon:t(o,{}),color:"#1DA1F2"},{link:"/",icon:t(a,{}),color:"#BD081C"},{link:"/",icon:t(e,{}),color:"#FF4500"}],k=(i(i(i(i(i(i(i(i(i(i(u={},m.Home,"Home"),m.Pricing,"Pricing"),m.SubmitMedia,"Submit Media"),m.Faqs,"FAQs"),m.Videos,"Videos"),m.Audios,"Audios"),m.Privacy,"Privacy Policy"),m.Terms,"Terms of Submission"),m.About,"About Us"),m.CreateAccount,"Create Account"),i(i(u,m.ContactUs,"Contact Us"),m.PurchaseLicenses,"Purchase Licenses")),d=function(i){return JSON.stringify(i)},h=function(t){var e;return i(i(i(i(i(i(i(i(i(i(e={},m.Home,{site:"home",href:t.home+"/#Home"}),m.Pricing,{site:"home",href:t.home+"/#Pricing"}),m.Faqs,{site:"home",href:t.home+"/#Faq"}),m.About,{site:"home",href:t.home+"/#About"}),m.ContactUs,{site:"home",href:t.home+"/#Contact"}),m.Videos,{site:"client",href:t.client+"/",routerPath:"/",options:d({tabKey:"video"})}),m.PurchaseLicenses,{site:"client",href:t.client+"/purchase-licenses",routerPath:"/purchase-licenses"}),m.SubmitMedia,{site:"client",href:t.client+"/submit",routerPath:"/submit"}),m.Privacy,{site:"client",href:t.client+"/privacy-policy",routerPath:"/privacy-policy"}),m.Terms,{site:"client",href:t.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),i(i(e,m.CreateAccount,{site:"client",href:t.home+"/Identity/Account/Register"}),m.Audios,{site:"music",href:t.music,routerPath:"/",options:d({tabKey:"audio"})})},P=function(i){var t=h(i);return[{title:"Media",items:[{title:k[m.Videos],icon:s,navLink:t[m.Videos]},{title:k[m.Audios],icon:c,navLink:t[m.Audios]}]},{title:"Quick Actions",items:[{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.Faqs],navLink:t[m.Faqs]}]},{title:"Support & Info",items:[{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.About],navLink:t[m.About]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.Terms],navLink:t[m.Terms]},{title:k[m.Privacy],navLink:t[m.Privacy]}]}]},f=function(i){var t=h(i);return[{title:k[m.Home],navLink:t[m.Home]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.Videos],navLink:t[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:t[m.Audios],options:{startIcon:c}},{title:"Get Started",menu:P(i)}]},p=function(i){var t=h(i);return[{title:k[m.Home],navLink:t[m.Home]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.About],navLink:t[m.About]},{title:k[m.Terms],navLink:t[m.Terms]},{title:k[m.Privacy],navLink:t[m.Privacy]},{title:k[m.CreateAccount],navLink:t[m.CreateAccount]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.ContactUs],navLink:t[m.ContactUs]},{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.PurchaseLicenses],navLink:t[m.PurchaseLicenses]}]},b="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",g="© Copyright 2024".concat((new Date).getFullYear()>2024?" - ".concat((new Date).getFullYear()):""," by BERLINTOMEK."),A=function(i){var t=h(i);return[{title:k[m.Videos],navLink:t[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:t[m.Audios],options:{startIcon:c}}]},y=function(i){var t=h(i);return[[{title:k[m.Home],navLink:t[m.Home]},{title:k[m.Pricing],navLink:t[m.Pricing]},{title:k[m.About],navLink:t[m.About]},{title:k[m.Terms],navLink:t[m.Terms]},{title:k[m.Privacy],navLink:t[m.Privacy]}],[{title:k[m.CreateAccount],navLink:t[m.CreateAccount]},{title:k[m.Faqs],navLink:t[m.Faqs]},{title:k[m.ContactUs],navLink:t[m.ContactUs]},{title:k[m.SubmitMedia],navLink:t[m.SubmitMedia]},{title:k[m.PurchaseLicenses],navLink:t[m.PurchaseLicenses]}]]};export{l as appLogoUrl,L as appSocialConfigs,v as bgFooterUrl,g as copyrightText,b as footerDescription,y as getFooterNavConfigs,A as getFooterNavTabConfigs,P as getHeaderMenuConfigs,f as getHeaderNavConfigs,p as getMenuNavConfigs,h as getNavLinks,k as mapNavTitles};
2
2
  //# sourceMappingURL=configs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sources":["../../src/layout-global/configs.tsx"],"sourcesContent":["import RedditIcon from '@mui/icons-material/Reddit'\r\nimport YouTubeIcon from '@mui/icons-material/YouTube'\r\nimport TwitterIcon from '@mui/icons-material/Twitter'\r\nimport InstagramIcon from '@mui/icons-material/Instagram'\r\nimport PinterestIcon from '@mui/icons-material/Pinterest'\r\nimport { IconAudioBase64, IconVideoBase64 } from './animated-tabs.units'\r\nimport { IAppMenu, IAppNav, IAppSocial, ENavKey, INavLink } from './types'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\n\r\nexport const appLogoUrl = 'images/logo.webp'\r\nexport const getAppLogoUrl = (base: IAppSiteBaseUrl) => base.client + appLogoUrl\r\n\r\nexport const bgFooterUrl = 'images/bg-footer.webp'\r\nexport const getBgFooterUrl = (base: IAppSiteBaseUrl) => base.client + bgFooterUrl\r\n\r\nexport const appSocialConfigs: IAppSocial[] = [\r\n { link: '/', icon: <YouTubeIcon />, color: '#FF0000' },\r\n { link: '/', icon: <InstagramIcon />, color: '#E4405F' },\r\n { link: '/', icon: <TwitterIcon />, color: '#1DA1F2' },\r\n { link: '/', icon: <PinterestIcon />, color: '#BD081C' },\r\n { link: '/', icon: <RedditIcon />, color: '#FF4500' }\r\n]\r\n\r\nexport const mapNavTitles: Record<ENavKey, string> = {\r\n [ENavKey.Home]: 'Home',\r\n [ENavKey.Pricing]: 'Pricing',\r\n [ENavKey.SubmitMedia]: 'Submit Media',\r\n [ENavKey.Faqs]: 'FAQs',\r\n [ENavKey.Videos]: 'Videos',\r\n [ENavKey.Audios]: 'Audios',\r\n [ENavKey.Privacy]: 'Privacy Policy',\r\n [ENavKey.Terms]: 'Terms of Submission',\r\n [ENavKey.About]: 'About Us',\r\n [ENavKey.CreateAccount]: 'Create Account',\r\n [ENavKey.ContactUs]: 'Contact Us',\r\n [ENavKey.PurchaseLicenses]: 'Purchase Licenses'\r\n}\r\n\r\nexport const getNavLinks: (baseUrl: IAppSiteBaseUrl) => Record<ENavKey, INavLink> = (baseUrl) => ({\r\n [ENavKey.Home]: { site: 'home', href: baseUrl.home + '/#Home' },\r\n [ENavKey.Pricing]: { site: 'home', href: baseUrl.home + '/#Pricing' },\r\n [ENavKey.Faqs]: { site: 'home', href: baseUrl.home + '/#Faq' },\r\n [ENavKey.About]: { site: 'home', href: baseUrl.home + '/#About' },\r\n [ENavKey.ContactUs]: { site: 'home', href: baseUrl.home + '/#Contact' },\r\n [ENavKey.Videos]: { site: 'client', href: baseUrl.client + '/videos', routerPath: '/videos' },\r\n [ENavKey.PurchaseLicenses]: { site: 'client', href: baseUrl.client + '/purchase-licenses', routerPath: '/purchase-licenses' },\r\n [ENavKey.SubmitMedia]: { site: 'client', href: baseUrl.client + '/submit', routerPath: '/submit' },\r\n [ENavKey.Privacy]: { site: 'client', href: baseUrl.client + '/privacy-policy', routerPath: '/privacy-policy' },\r\n [ENavKey.Terms]: { site: 'client', href: baseUrl.client + '/terms-of-submission', routerPath: '/terms-of-submission' },\r\n [ENavKey.CreateAccount]: { site: 'client', href: baseUrl.home + '/Identity/Account/Register' },\r\n [ENavKey.Audios]: { site: 'music', href: baseUrl.music, routerPath: '/' }\r\n})\r\n\r\nexport const getHeaderMenuConfigs: (baseUrl: IAppSiteBaseUrl) => IAppMenu[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n {\r\n title: 'Media',\r\n items: [\r\n { title: mapNavTitles[ENavKey.Videos], icon: IconVideoBase64, navLink: navLinks[ENavKey.Videos] },\r\n { title: mapNavTitles[ENavKey.Audios], icon: IconAudioBase64, navLink: navLinks[ENavKey.Audios] }\r\n ]\r\n },\r\n {\r\n title: 'Quick Actions',\r\n items: [\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] }\r\n ]\r\n },\r\n {\r\n title: 'Support & Info',\r\n items: [\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] }\r\n ]\r\n }\r\n ]\r\n}\r\n\r\nexport const getHeaderNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } },\r\n { title: 'Get Started', menu: getHeaderMenuConfigs(baseUrl) }\r\n ]\r\n}\r\n\r\nexport const getMenuNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] },\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n}\r\n\r\nexport const footerDescription = `We provide licensing services for music, images, and digital media,\\ncopyright management, revenue optimization, and legal representation\\nfor creators across multiple platforms.`\r\n\r\nexport const copyrightText = `© Copyright 2024${new Date().getFullYear() > 2024 ? ` - ${new Date().getFullYear()}` : ''} by BERLINTOMEK.`\r\n\r\nexport const getFooterNavTabConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } }\r\n ]\r\n}\r\n\r\nexport const getFooterNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[][] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] }\r\n ],\r\n [\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n ]\r\n}\r\n"],"names":["appLogoUrl","bgFooterUrl","appSocialConfigs","link","icon","_jsx","YouTubeIcon","color","InstagramIcon","TwitterIcon","PinterestIcon","RedditIcon","mapNavTitles","_defineProperty","_mapNavTitles","ENavKey","Home","Pricing","SubmitMedia","Faqs","Videos","Audios","Privacy","Terms","About","CreateAccount","ContactUs","PurchaseLicenses","getNavLinks","baseUrl","_ref","site","href","home","client","routerPath","music","getHeaderMenuConfigs","navLinks","title","items","IconVideoBase64","navLink","IconAudioBase64","getHeaderNavConfigs","options","startIcon","menu","getMenuNavConfigs","footerDescription","copyrightText","concat","Date","getFullYear","getFooterNavTabConfigs","getFooterNavConfigs"],"mappings":"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"}
1
+ {"version":3,"file":"configs.js","sources":["../../src/layout-global/configs.tsx"],"sourcesContent":["import RedditIcon from '@mui/icons-material/Reddit'\r\nimport YouTubeIcon from '@mui/icons-material/YouTube'\r\nimport TwitterIcon from '@mui/icons-material/Twitter'\r\nimport InstagramIcon from '@mui/icons-material/Instagram'\r\nimport PinterestIcon from '@mui/icons-material/Pinterest'\r\nimport { IconAudioBase64, IconVideoBase64 } from './animated-tabs.units'\r\nimport { IAppMenu, IAppNav, IAppSocial, ENavKey, INavLink, INavLinkOptions } from './types'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\n\r\nexport const appLogoUrl = 'images/logo.webp'\r\nexport const getAppLogoUrl = (base: IAppSiteBaseUrl) => base.client + appLogoUrl\r\n\r\nexport const bgFooterUrl = 'images/bg-footer.webp'\r\nexport const getBgFooterUrl = (base: IAppSiteBaseUrl) => base.client + bgFooterUrl\r\n\r\nexport const appSocialConfigs: IAppSocial[] = [\r\n { link: '/', icon: <YouTubeIcon />, color: '#FF0000' },\r\n { link: '/', icon: <InstagramIcon />, color: '#E4405F' },\r\n { link: '/', icon: <TwitterIcon />, color: '#1DA1F2' },\r\n { link: '/', icon: <PinterestIcon />, color: '#BD081C' },\r\n { link: '/', icon: <RedditIcon />, color: '#FF4500' }\r\n]\r\n\r\nexport const mapNavTitles: Record<ENavKey, string> = {\r\n [ENavKey.Home]: 'Home',\r\n [ENavKey.Pricing]: 'Pricing',\r\n [ENavKey.SubmitMedia]: 'Submit Media',\r\n [ENavKey.Faqs]: 'FAQs',\r\n [ENavKey.Videos]: 'Videos',\r\n [ENavKey.Audios]: 'Audios',\r\n [ENavKey.Privacy]: 'Privacy Policy',\r\n [ENavKey.Terms]: 'Terms of Submission',\r\n [ENavKey.About]: 'About Us',\r\n [ENavKey.CreateAccount]: 'Create Account',\r\n [ENavKey.ContactUs]: 'Contact Us',\r\n [ENavKey.PurchaseLicenses]: 'Purchase Licenses'\r\n}\r\n\r\nconst getNavLinkOptions = (options: INavLinkOptions): string => {\r\n return JSON.stringify(options)\r\n}\r\n\r\nexport const getNavLinks: (baseUrl: IAppSiteBaseUrl) => Record<ENavKey, INavLink> = (baseUrl) => ({\r\n [ENavKey.Home]: { site: 'home', href: baseUrl.home + '/#Home' },\r\n [ENavKey.Pricing]: { site: 'home', href: baseUrl.home + '/#Pricing' },\r\n [ENavKey.Faqs]: { site: 'home', href: baseUrl.home + '/#Faq' },\r\n [ENavKey.About]: { site: 'home', href: baseUrl.home + '/#About' },\r\n [ENavKey.ContactUs]: { site: 'home', href: baseUrl.home + '/#Contact' },\r\n [ENavKey.Videos]: { site: 'client', href: baseUrl.client + '/', routerPath: '/', options: getNavLinkOptions({ tabKey: 'video' }) },\r\n [ENavKey.PurchaseLicenses]: { site: 'client', href: baseUrl.client + '/purchase-licenses', routerPath: '/purchase-licenses' },\r\n [ENavKey.SubmitMedia]: { site: 'client', href: baseUrl.client + '/submit', routerPath: '/submit' },\r\n [ENavKey.Privacy]: { site: 'client', href: baseUrl.client + '/privacy-policy', routerPath: '/privacy-policy' },\r\n [ENavKey.Terms]: { site: 'client', href: baseUrl.client + '/terms-of-submission', routerPath: '/terms-of-submission' },\r\n [ENavKey.CreateAccount]: { site: 'client', href: baseUrl.home + '/Identity/Account/Register' },\r\n [ENavKey.Audios]: { site: 'music', href: baseUrl.music, routerPath: '/', options: getNavLinkOptions({ tabKey: 'audio' }) }\r\n})\r\n\r\nexport const getHeaderMenuConfigs: (baseUrl: IAppSiteBaseUrl) => IAppMenu[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n {\r\n title: 'Media',\r\n items: [\r\n { title: mapNavTitles[ENavKey.Videos], icon: IconVideoBase64, navLink: navLinks[ENavKey.Videos] },\r\n { title: mapNavTitles[ENavKey.Audios], icon: IconAudioBase64, navLink: navLinks[ENavKey.Audios] }\r\n ]\r\n },\r\n {\r\n title: 'Quick Actions',\r\n items: [\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] }\r\n ]\r\n },\r\n {\r\n title: 'Support & Info',\r\n items: [\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] }\r\n ]\r\n }\r\n ]\r\n}\r\n\r\nexport const getHeaderNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } },\r\n { title: 'Get Started', menu: getHeaderMenuConfigs(baseUrl) }\r\n ]\r\n}\r\n\r\nexport const getMenuNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] },\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n}\r\n\r\nexport const footerDescription = `We provide licensing services for music, images, and digital media,\\ncopyright management, revenue optimization, and legal representation\\nfor creators across multiple platforms.`\r\n\r\nexport const copyrightText = `© Copyright 2024${new Date().getFullYear() > 2024 ? ` - ${new Date().getFullYear()}` : ''} by BERLINTOMEK.`\r\n\r\nexport const getFooterNavTabConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } }\r\n ]\r\n}\r\n\r\nexport const getFooterNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[][] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] }\r\n ],\r\n [\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n ]\r\n}\r\n"],"names":["appLogoUrl","bgFooterUrl","appSocialConfigs","link","icon","_jsx","YouTubeIcon","color","InstagramIcon","TwitterIcon","PinterestIcon","RedditIcon","mapNavTitles","_defineProperty","_mapNavTitles","ENavKey","Home","Pricing","SubmitMedia","Faqs","Videos","Audios","Privacy","Terms","About","CreateAccount","ContactUs","PurchaseLicenses","getNavLinkOptions","options","JSON","stringify","getNavLinks","baseUrl","_ref","site","href","home","client","routerPath","tabKey","music","getHeaderMenuConfigs","navLinks","title","items","IconVideoBase64","navLink","IconAudioBase64","getHeaderNavConfigs","startIcon","menu","getMenuNavConfigs","footerDescription","copyrightText","concat","Date","getFullYear","getFooterNavTabConfigs","getFooterNavConfigs"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{AppHeader,createAppHeader}from"./app-header.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{AppLogo}from"./app-logo.js";
1
+ export{AppHeader,createAppHeader}from"./app-header.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{AppLogo}from"./app-logo.js";export{ButtonAnimation}from"./animated-tabs.units.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/layout-global/types.ts"],"sourcesContent":["import type { ReactNode } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { AppSite } from 'dinocollab-core/mfe-shared'\r\nimport type { IButtonAnimationProps } from './animated-tabs.units'\r\n\r\nexport enum ENavKey {\r\n Home = 'home',\r\n Pricing = 'pricing',\r\n SubmitMedia = 'submit-media',\r\n Faqs = 'faqs',\r\n Videos = 'videos',\r\n Audios = 'audios',\r\n Privacy = 'privacy',\r\n Terms = 'terms',\r\n About = 'about',\r\n CreateAccount = 'create-account',\r\n ContactUs = 'contact-us',\r\n PurchaseLicenses = 'purchase-licenses'\r\n}\r\n\r\nexport interface IAuthData {\r\n userId?: string\r\n displayName?: string\r\n userAvatar?: string\r\n isAuthenticated?: boolean\r\n profilePath?: string\r\n registerPath?: string\r\n loginPath?: string\r\n logoutPath?: string\r\n isFirstLogin?: boolean\r\n}\r\n\r\nexport interface IAppSocial {\r\n link: string\r\n icon: ReactNode\r\n color?: string\r\n sx?: SxProps<Theme>\r\n}\r\n\r\nexport type INavLink = {\r\n /** App site key */\r\n site: AppSite\r\n /** Link URL */\r\n href: string\r\n /** Router path for internal routing (Next.js/React Router) */\r\n routerPath?: string\r\n /** Link target */\r\n target?: '_blank' | '_self'\r\n}\r\n\r\nexport type NavItemClickFunction = (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, item: INavLink) => void\r\n\r\nexport interface IAppNavDef {\r\n navLink?: INavLink\r\n options?: Partial<IButtonAnimationProps>\r\n}\r\n\r\nexport interface IAppMenuItem extends Omit<IAppNavDef, 'options'> {\r\n title: string\r\n icon?: ReactNode\r\n}\r\n\r\nexport interface IAppMenu {\r\n title: string\r\n icon?: ReactNode\r\n items?: IAppMenuItem[]\r\n}\r\n\r\nexport interface IAppNav extends IAppNavDef {\r\n title: string\r\n menu?: IAppMenu | IAppMenu[]\r\n}\r\n\r\nexport type OnRouterUrlGetter = (site: AppSite, path: string) => string\r\n"],"names":["ENavKey"],"mappings":"IAKYA,GAAZ,SAAYA,GACVA,EAAA,KAAA,OACAA,EAAA,QAAA,UACAA,EAAA,YAAA,eACAA,EAAA,KAAA,OACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,MAAA,QACAA,EAAA,cAAA,iBACAA,EAAA,UAAA,aACAA,EAAA,iBAAA,mBACD,CAbD,CAAYA,IAAAA,EAaX,CAAA"}
1
+ {"version":3,"file":"types.js","sources":["../../src/layout-global/types.ts"],"sourcesContent":["import type { ReactNode } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { AppSite } from 'dinocollab-core/mfe-shared'\r\nimport type { IButtonAnimationProps } from './animated-tabs.units'\r\n\r\nexport enum ENavKey {\r\n Home = 'home',\r\n Pricing = 'pricing',\r\n SubmitMedia = 'submit-media',\r\n Faqs = 'faqs',\r\n Videos = 'videos',\r\n Audios = 'audios',\r\n Privacy = 'privacy',\r\n Terms = 'terms',\r\n About = 'about',\r\n CreateAccount = 'create-account',\r\n ContactUs = 'contact-us',\r\n PurchaseLicenses = 'purchase-licenses'\r\n}\r\n\r\nexport interface IAuthData {\r\n userId?: string\r\n displayName?: string\r\n userAvatar?: string\r\n isAuthenticated?: boolean\r\n profilePath?: string\r\n registerPath?: string\r\n loginPath?: string\r\n logoutPath?: string\r\n isFirstLogin?: boolean\r\n}\r\n\r\nexport interface IAppSocial {\r\n link: string\r\n icon: ReactNode\r\n color?: string\r\n sx?: SxProps<Theme>\r\n}\r\n\r\nexport interface INavLinkOptions {\r\n tabKey?: 'video' | 'audio'\r\n}\r\n\r\nexport type INavLink = {\r\n /** App site key */\r\n site: AppSite\r\n /** Link URL */\r\n href: string\r\n /** Router path for internal routing (Next.js/React Router) */\r\n routerPath?: string\r\n /** Link target */\r\n target?: '_blank' | '_self'\r\n /** This field is used for UI handling and some other non-critical tasks */\r\n options?: string\r\n}\r\n\r\nexport type NavItemClickFunction = (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, item: INavLink) => void\r\n\r\nexport interface IAppNavDef {\r\n navLink?: INavLink\r\n options?: Partial<IButtonAnimationProps>\r\n}\r\n\r\nexport interface IAppMenuItem extends Omit<IAppNavDef, 'options'> {\r\n title: string\r\n icon?: ReactNode\r\n}\r\n\r\nexport interface IAppMenu {\r\n title: string\r\n icon?: ReactNode\r\n items?: IAppMenuItem[]\r\n}\r\n\r\nexport interface IAppNav extends IAppNavDef {\r\n title: string\r\n menu?: IAppMenu | IAppMenu[]\r\n}\r\n\r\nexport type OnRouterUrlGetter = (site: AppSite, path: string) => string\r\n"],"names":["ENavKey"],"mappings":"IAKYA,GAAZ,SAAYA,GACVA,EAAA,KAAA,OACAA,EAAA,QAAA,UACAA,EAAA,YAAA,eACAA,EAAA,KAAA,OACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,QAAA,UACAA,EAAA,MAAA,QACAA,EAAA,MAAA,QACAA,EAAA,cAAA,iBACAA,EAAA,UAAA,aACAA,EAAA,iBAAA,mBACD,CAbD,CAAYA,IAAAA,EAaX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui.units.js","sources":["../../src/layout-global/ui.units.tsx"],"sourcesContent":["import { ComponentType, FC, Fragment } from 'react'\r\nimport { Button, IconButton, styled } from '@mui/material'\r\nimport { type IconButtonProps, type ButtonProps } from '@mui/material'\r\n\r\nexport const TextLineBreak: FC<{ children?: string }> = (props) => {\r\n const texts = props.children?.split('\\n').filter((x) => !!x)\r\n return (\r\n <Fragment>\r\n {texts?.map((x, i) => (\r\n <Fragment key={i}>\r\n {x}\r\n {i < texts.length - 1 && <br />}\r\n </Fragment>\r\n ))}\r\n </Fragment>\r\n )\r\n}\r\n\r\nexport const AppButtonOrange: ComponentType<ButtonProps> = styled(Button)({\r\n color: '#fff',\r\n padding: '6px 16px',\r\n borderRadius: '6px',\r\n border: 'none',\r\n minWidth: '120px',\r\n height: '36px',\r\n boxShadow: '0 2px 8px rgba(27, 25, 24, 0.2)',\r\n background: 'linear-gradient(45deg, #d32f2f 0%, #f9a925 70%, #d32f2f 100%)',\r\n backgroundSize: '200% auto',\r\n transition: 'background-position 0.5s ease, box-shadow 0.3s ease, color 0.25s ease',\r\n '&, .MuiTypography-root': {\r\n fontSize: '0.9rem',\r\n lineHeight: 1,\r\n fontWeight: 500,\r\n textTransform: 'unset'\r\n },\r\n '&:hover': {\r\n backgroundPosition: '100% 0',\r\n boxShadow: '0 4px 16px rgba(252, 228, 19, 0.23)'\r\n },\r\n '&:not(:hover).animate-bounce': {\r\n animation: 'gentleBounceY 3s cubic-bezier(0.4, 0.8, 0.4, 1) infinite'\r\n },\r\n '@keyframes gentleBounceY': {\r\n '0%': { transform: 'translateY(0) scale(1)' },\r\n '5%': { transform: 'translateY(0) scale(1)' },\r\n '20%': { transform: 'translateY(-3px) scale(1.02)' },\r\n '30%': { transform: 'translateY(-2px) scale(1.01)' },\r\n '40%': { transform: 'translateY(-3px) scale(1.02)' },\r\n '50%': { transform: 'translateY(-2px) scale(1.01)' },\r\n '75%': { transform: 'translateY(0) scale(1)' },\r\n '100%': { transform: 'translateY(0) scale(1)' }\r\n }\r\n})\r\n\r\nexport const AppIconButtonOrange: ComponentType<IconButtonProps> = styled(IconButton)({\r\n color: '#fff',\r\n border: 'none',\r\n boxShadow: '0 2px 8px rgba(27, 25, 24, 0.2)',\r\n background: 'linear-gradient(45deg, #d32f2f 0%, #fbc02d 70%, #d32f2f 100%)',\r\n backgroundSize: '165% auto',\r\n transition: 'background-position 0.5s ease, box-shadow 0.3s ease',\r\n '&:hover': {\r\n backgroundPosition: '100% 0',\r\n boxShadow: '0 4px 16px rgba(252, 228, 19, 0.23)'\r\n }\r\n})\r\nAppIconButtonOrange.displayName = 'AppIconButtonOrange'\r\n\r\nexport const AppIconButtonDark: ComponentType<IconButtonProps> = styled(IconButton)({\r\n color: '#fff',\r\n border: 'none',\r\n boxShadow: '0 2px 8px rgba(27, 25, 24, 0.2)',\r\n background: 'linear-gradient(45deg, #333 0%, #555 70%, #333 100%)',\r\n backgroundSize: '165% auto',\r\n transition: 'background-position 0.5s ease, box-shadow 0.3s ease',\r\n '&:hover': {\r\n backgroundPosition: '100% 0',\r\n boxShadow: '0 4px 16px rgba(85, 85, 85, 0.23)'\r\n }\r\n})\r\nAppIconButtonDark.displayName = 'AppIconButtonDark'\r\n"],"names":["TextLineBreak","props","_props$children","texts","children","split","filter","x","_jsx","Fragment","map","i","_jsxs","length","AppButtonOrange","styled","Button","color","padding","borderRadius","border","minWidth","height","boxShadow","background","backgroundSize","transition","fontSize","lineHeight","fontWeight","textTransform","backgroundPosition","animation","transform","AppIconButtonOrange","IconButton","displayName","AppIconButtonDark"],"mappings":"0JAIaA,EAA2C,SAACC,GAAS,IAAAC,EAC1DC,UAAKD,EAAGD,EAAMG,gBAAQ,IAAAF,OAAA,EAAdA,EAAgBG,MAAM,MAAMC,OAAO,SAACC,GAAC,QAAOA,IAC1D,OACEC,EAACC,EACE,CAAAL,SAAAD,aAAAA,EAAAA,EAAOO,IAAI,SAACH,EAAGI,GAAC,OACfC,EAACH,EACE,CAAAL,SAAA,CAAAG,EACAI,EAAIR,EAAMU,OAAS,GAAKL,EAAA,KAAA,MAFZG,EAIhB,IAGP,EAEaG,EAA8CC,EAAOC,EAAPD,CAAe,CACxEE,MAAO,OACPC,QAAS,WACTC,aAAc,MACdC,OAAQ,OACRC,SAAU,QACVC,OAAQ,OACRC,UAAW,kCACXC,WAAY,gEACZC,eAAgB,YAChBC,WAAY,wEACZ,yBAA0B,CACxBC,SAAU,SACVC,WAAY,EACZC,WAAY,IACZC,cAAe,SAEjB,UAAW,CACTC,mBAAoB,SACpBR,UAAW,uCAEb,+BAAgC,CAC9BS,UAAW,4DAEb,2BAA4B,CAC1B,KAAM,CAAEC,UAAW,0BACnB,KAAM,CAAEA,UAAW,0BACnB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,0BACpB,OAAQ,CAAEA,UAAW,6BAIZC,EAAsDnB,EAAOoB,EAAPpB,CAAmB,CACpFE,MAAO,OACPG,OAAQ,OACRG,UAAW,kCACXC,WAAY,gEACZC,eAAgB,YAChBC,WAAY,sDACZ,UAAW,CACTK,mBAAoB,SACpBR,UAAW,yCAGfW,EAAoBE,YAAc,0BAErBC,EAAoDtB,EAAOoB,EAAPpB,CAAmB,CAClFE,MAAO,OACPG,OAAQ,OACRG,UAAW,kCACXC,WAAY,uDACZC,eAAgB,YAChBC,WAAY,sDACZ,UAAW,CACTK,mBAAoB,SACpBR,UAAW,uCAGfc,EAAkBD,YAAc"}
1
+ {"version":3,"file":"ui.units.js","sources":["../../src/layout-global/ui.units.tsx"],"sourcesContent":["import { ComponentType, FC, Fragment } from 'react'\r\nimport { Button, IconButton, styled } from '@mui/material'\r\nimport { type IconButtonProps, type ButtonProps } from '@mui/material'\r\n\r\nexport const TextLineBreak: FC<{ children?: string }> = (props) => {\r\n const texts = props.children?.split('\\n').filter((x) => !!x)\r\n return (\r\n <Fragment>\r\n {texts?.map((x, i) => (\r\n <Fragment key={i}>\r\n {x}\r\n {i < texts.length - 1 && <br />}\r\n </Fragment>\r\n ))}\r\n </Fragment>\r\n )\r\n}\r\n\r\nexport const AppButtonOrange: ComponentType<ButtonProps & { [key: string]: any }> = styled(Button)({\r\n color: '#fff',\r\n padding: '6px 16px',\r\n borderRadius: '6px',\r\n border: 'none',\r\n minWidth: '120px',\r\n height: '36px',\r\n boxShadow: '0 2px 8px rgba(27, 25, 24, 0.2)',\r\n background: 'linear-gradient(45deg, #d32f2f 0%, #f9a925 70%, #d32f2f 100%)',\r\n backgroundSize: '200% auto',\r\n transition: 'background-position 0.5s ease, box-shadow 0.3s ease, color 0.25s ease',\r\n '&, .MuiTypography-root': {\r\n fontSize: '0.9rem',\r\n lineHeight: 1,\r\n fontWeight: 500,\r\n textTransform: 'unset'\r\n },\r\n '&:hover': {\r\n backgroundPosition: '100% 0',\r\n boxShadow: '0 4px 16px rgba(252, 228, 19, 0.23)'\r\n },\r\n '&:not(:hover).animate-bounce': {\r\n animation: 'gentleBounceY 3s cubic-bezier(0.4, 0.8, 0.4, 1) infinite'\r\n },\r\n '@keyframes gentleBounceY': {\r\n '0%': { transform: 'translateY(0) scale(1)' },\r\n '5%': { transform: 'translateY(0) scale(1)' },\r\n '20%': { transform: 'translateY(-3px) scale(1.02)' },\r\n '30%': { transform: 'translateY(-2px) scale(1.01)' },\r\n '40%': { transform: 'translateY(-3px) scale(1.02)' },\r\n '50%': { transform: 'translateY(-2px) scale(1.01)' },\r\n '75%': { transform: 'translateY(0) scale(1)' },\r\n '100%': { transform: 'translateY(0) scale(1)' }\r\n }\r\n})\r\n\r\nexport const AppIconButtonOrange: ComponentType<IconButtonProps & { [key: string]: any }> = styled(IconButton)({\r\n color: '#fff',\r\n border: 'none',\r\n boxShadow: '0 2px 8px rgba(27, 25, 24, 0.2)',\r\n background: 'linear-gradient(45deg, #d32f2f 0%, #fbc02d 70%, #d32f2f 100%)',\r\n backgroundSize: '165% auto',\r\n transition: 'background-position 0.5s ease, box-shadow 0.3s ease',\r\n '&:hover': {\r\n backgroundPosition: '100% 0',\r\n boxShadow: '0 4px 16px rgba(252, 228, 19, 0.23)'\r\n }\r\n})\r\nAppIconButtonOrange.displayName = 'AppIconButtonOrange'\r\n\r\nexport const AppIconButtonDark: ComponentType<IconButtonProps & { [key: string]: any }> = styled(IconButton)({\r\n color: '#fff',\r\n border: 'none',\r\n boxShadow: '0 2px 8px rgba(27, 25, 24, 0.2)',\r\n background: 'linear-gradient(45deg, #333 0%, #555 70%, #333 100%)',\r\n backgroundSize: '165% auto',\r\n transition: 'background-position 0.5s ease, box-shadow 0.3s ease',\r\n '&:hover': {\r\n backgroundPosition: '100% 0',\r\n boxShadow: '0 4px 16px rgba(85, 85, 85, 0.23)'\r\n }\r\n})\r\nAppIconButtonDark.displayName = 'AppIconButtonDark'\r\n"],"names":["TextLineBreak","props","_props$children","texts","children","split","filter","x","_jsx","Fragment","map","i","_jsxs","length","AppButtonOrange","styled","Button","color","padding","borderRadius","border","minWidth","height","boxShadow","background","backgroundSize","transition","fontSize","lineHeight","fontWeight","textTransform","backgroundPosition","animation","transform","AppIconButtonOrange","IconButton","displayName","AppIconButtonDark"],"mappings":"0JAIaA,EAA2C,SAACC,GAAS,IAAAC,EAC1DC,UAAKD,EAAGD,EAAMG,gBAAQ,IAAAF,OAAA,EAAdA,EAAgBG,MAAM,MAAMC,OAAO,SAACC,GAAC,QAAOA,IAC1D,OACEC,EAACC,EACE,CAAAL,SAAAD,aAAAA,EAAAA,EAAOO,IAAI,SAACH,EAAGI,GAAC,OACfC,EAACH,EACE,CAAAL,SAAA,CAAAG,EACAI,EAAIR,EAAMU,OAAS,GAAKL,EAAA,KAAA,MAFZG,EAIhB,IAGP,EAEaG,EAAuEC,EAAOC,EAAPD,CAAe,CACjGE,MAAO,OACPC,QAAS,WACTC,aAAc,MACdC,OAAQ,OACRC,SAAU,QACVC,OAAQ,OACRC,UAAW,kCACXC,WAAY,gEACZC,eAAgB,YAChBC,WAAY,wEACZ,yBAA0B,CACxBC,SAAU,SACVC,WAAY,EACZC,WAAY,IACZC,cAAe,SAEjB,UAAW,CACTC,mBAAoB,SACpBR,UAAW,uCAEb,+BAAgC,CAC9BS,UAAW,4DAEb,2BAA4B,CAC1B,KAAM,CAAEC,UAAW,0BACnB,KAAM,CAAEA,UAAW,0BACnB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,gCACpB,MAAO,CAAEA,UAAW,0BACpB,OAAQ,CAAEA,UAAW,6BAIZC,EAA+EnB,EAAOoB,EAAPpB,CAAmB,CAC7GE,MAAO,OACPG,OAAQ,OACRG,UAAW,kCACXC,WAAY,gEACZC,eAAgB,YAChBC,WAAY,sDACZ,UAAW,CACTK,mBAAoB,SACpBR,UAAW,yCAGfW,EAAoBE,YAAc,0BAErBC,EAA6EtB,EAAOoB,EAAPpB,CAAmB,CAC3GE,MAAO,OACPG,OAAQ,OACRG,UAAW,kCACXC,WAAY,uDACZC,eAAgB,YAChBC,WAAY,sDACZ,UAAW,CACTK,mBAAoB,SACpBR,UAAW,uCAGfc,EAAkBD,YAAc"}
@@ -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;AAEtD,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,WAAW,aAEV;IAED,MAAM;CAuDP;AACD,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,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEtD,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,WAAW,aAEV;IAED,MAAM;CAwDP;AACD,eAAe,OAAO,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { BoxProps } from '@mui/material';
1
2
  import type { ReactNode } from 'react';
2
3
  export interface IProfile {
3
4
  UserName: string;
@@ -13,6 +14,9 @@ export interface IMenuConfig {
13
14
  icon: ReactNode;
14
15
  href?: string;
15
16
  onClick?: (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
17
+ buttonProps?: BoxProps & {
18
+ [key: string]: any;
19
+ };
16
20
  }
17
21
  export type IIMenuConfigs = IMenuConfig[];
18
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,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;CAC5F;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,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,14 +1,15 @@
1
1
  import { FC } from 'react';
2
- import type { IAuthState } from './types';
2
+ import { ButtonProps } from '@mui/material';
3
3
  import type { IAppSiteBaseUrl } from '../types';
4
+ import type { IAuthState, IIMenuConfigs } from './types';
4
5
  export interface ICreateAuthBase {
5
6
  baseUrl: IAppSiteBaseUrl;
6
- hrefProfile?: string;
7
- onProfileClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
8
7
  hrefLogin?: string;
9
8
  onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
10
- hrefLogout?: string;
11
- onLogoutClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
9
+ buttonLoginProps?: ButtonProps & {
10
+ [key: string]: any;
11
+ };
12
+ menu?: IIMenuConfigs;
12
13
  }
13
14
  export interface IAuthWidgetProps extends IAuthState, ICreateAuthBase {
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/auth/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9F,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,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;CAC9F;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU,EAAE,eAAe;CAAG;AAIxE,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAyC3C,CAAA;AAgBD,eAAe,UAAU,CAAA;AAEzB,eAAO,MAAM,gBAAgB,WAAY,eAAe,0CAIvD,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,EAAc,MAAM,eAAe,CAAA;AAKvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAIxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IAExB,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,eAAe;CAAG;AAExE,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CA2C3C,CAAA;AACD,eAAe,UAAU,CAAA;AAEzB,eAAO,MAAM,gBAAgB,WAAY,eAAe,0CAIvD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cart-store.d.ts","sourceRoot":"","sources":["../../../src/cart/cart-store.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;AAEpD,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhC,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACxD,YAAY,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;CAC5C;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,iBAAiB,CAAC;;IAIjE;;;;;OAKG;IACH,mBAAmB,0BAA2B,GAAG,EAAE,KAAK,IAAI,kBACtC,GAAG,EAAE,UAO1B;IACD,SAAS,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACzC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,SAAS,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAChJ,KAAK,GAAE,OAAc;CAQxB;AAED,wBAAgB,iBAAiB,0BAUhC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAmB;gBACtB,MAAM,EAAE,iBAAiB;IAQrC,UAAU,aAKT;IAED,OAAO,aAGN;IAED,eAAe,CAAC,KAAK,EAAE,KAAK;IAM5B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe;IASzC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,SAAS,GAAE,OAAe;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAY7C,MAAM,CAAC,EAAE,EAAE,MAAM;IASjB,KAAK;IAKL,QAAQ,IAAI,KAAK;IAIjB,QAAQ,IAAI,GAAG,EAAE;IAMjB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;CAU3B"}
1
+ {"version":3,"file":"cart-store.d.ts","sourceRoot":"","sources":["../../../src/cart/cart-store.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;AAEpD,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhC,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACxD,YAAY,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;CAC5C;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,iBAAiB,CAAC;;IAIjE;;;;;OAKG;IACH,mBAAmB,0BAA2B,GAAG,EAAE,KAAK,IAAI,kBACtC,GAAG,EAAE,UAO1B;IACD,SAAS,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACzC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,SAAS,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAChJ,KAAK,GAAE,OAAc;CAQxB;AAED,wBAAgB,iBAAiB,0BAYhC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAmB;gBACtB,MAAM,EAAE,iBAAiB;IAQrC,UAAU,aAKT;IAED,OAAO,aAGN;IAED,eAAe,CAAC,KAAK,EAAE,KAAK;IAM5B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe;IASzC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,SAAS,GAAE,OAAe;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAY7C,MAAM,CAAC,EAAE,EAAE,MAAM;IASjB,KAAK;IAKL,QAAQ,IAAI,KAAK;IAIjB,QAAQ,IAAI,GAAG,EAAE;IAMjB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/cart/styled.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAExD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,CAyC7C,CAAA;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAW9B,CAAA;AAMD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,QAAQ,CAsEnD,CAAA"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/cart/styled.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAExD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,CAyC7C,CAAA;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAW9B,CAAA;AAMD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,QAAQ,CAuEnD,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { Component } from 'react';
2
+ import { ButtonProps } from '@mui/material';
2
3
  import type { FC } from 'react';
3
4
  import { ICartItem } from './types';
4
5
  import { IAppSiteBaseUrl } from '../types';
@@ -6,6 +7,9 @@ interface ICartWidgetProps {
6
7
  baseUrl: IAppSiteBaseUrl;
7
8
  carts?: ICartItem[];
8
9
  hrefCart?: string;
10
+ buttonMoveToCartProps?: ButtonProps & {
11
+ [key: string]: any;
12
+ };
9
13
  storageKey?: string;
10
14
  onRemoveCart?: (item: ICartItem) => void;
11
15
  onCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/cart/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAG3C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;CAC/F;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,UAAW,SAAQ,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAC/D,KAAK,EAAE,gBAAgB;IAKnC,IAAI,KAAK,qBAER;IAED,iBAAiB;IAKjB,MAAM,gDAmBL;IAED,aAAa,gDAsCZ;IAED,UAAU,SAAU,SAAS,6CA2B5B;IAED,MAAM,WAAY,WAAW,UAE5B;IAED,OAAO,aAEN;CACF;AAED,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,kCAIxD,CAAA"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/cart/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAsB,WAAW,EAAmC,MAAM,eAAe,CAAA;AAChG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB,CAAC,EAAE,WAAW,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;CAC/F;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,UAAW,SAAQ,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAC/D,KAAK,EAAE,gBAAgB;IAKnC,IAAI,KAAK,qBAER;IAED,iBAAiB;IAKjB,MAAM,gDAmBL;IAED,aAAa,gDAuCZ;IAED,UAAU,SAAU,SAAS,6CA2B5B;IAED,MAAM,WAAY,WAAW,UAE5B;IAED,OAAO,aAEN;CACF;AAED,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,kCAIxD,CAAA"}
@@ -1,11 +1,16 @@
1
1
  import { Component } from 'react';
2
2
  import type { ComponentType, ReactNode } from 'react';
3
- import type { IAppSiteBaseUrl } from '../types';
4
3
  import { NavItemClickFunction } from './types';
4
+ import type { IAppSiteBaseUrl } from '../types';
5
+ import type { IAppHeaderNavSlots } from './app-header.nav';
6
+ export interface IAppHeaderSlots {
7
+ navItem?: IAppHeaderNavSlots;
8
+ }
5
9
  export interface IAppHeaderProps {
6
10
  baseUrl: IAppSiteBaseUrl;
7
11
  onNavItemClick?: NavItemClickFunction;
8
12
  actions?: ReactNode;
13
+ slots?: IAppHeaderSlots;
9
14
  }
10
15
  export declare class AppHeader extends Component<IAppHeaderProps> {
11
16
  private configs;
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAM,SAAS,EAAE,MAAM,OAAO,CAAA;AAKzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG/C,OAAO,EAAW,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;IACvD,OAAO,CAAC,OAAO,CAAW;gBACd,KAAK,EAAE,eAAe;IAKlC,MAAM;CA4BP;AACD,eAAe,SAAS,CAAA;AAExB,eAAO,MAAM,eAAe,WAAY,eAAe,KAAG,cAAc,QAAQ,eAAe,CAAC,CAI/F,CAAA"}
1
+ {"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAM,SAAS,EAAE,MAAM,OAAO,CAAA;AAGzD,OAAO,EAAW,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAI1D,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;IACvD,OAAO,CAAC,OAAO,CAAW;gBACd,KAAK,EAAE,eAAe;IAKlC,MAAM;CAiCP;AACD,eAAe,SAAS,CAAA;AAExB,eAAO,MAAM,eAAe,WAAY,eAAe,KAAG,cAAc,QAAQ,eAAe,CAAC,CAI/F,CAAA"}
@@ -1,11 +1,17 @@
1
1
  import { Component } from 'react';
2
2
  import type { SxProps, Theme } from '@mui/material';
3
3
  import type { MouseEvent as RMouseEvent, ReactNode } from 'react';
4
+ import { IButtonAnimationProps } from './animated-tabs.units';
4
5
  import type { IAppNav, NavItemClickFunction } from './types';
5
- interface IHeaderNavProps {
6
+ export interface IAppHeaderNavSlots {
7
+ buttonNavProps?: IButtonAnimationProps;
8
+ buttonNavPropsGetter?: (item: IAppNav) => Partial<IButtonAnimationProps>;
9
+ }
10
+ export interface IHeaderNavProps {
6
11
  configs: IAppNav[];
7
12
  sx?: SxProps<Theme>;
8
13
  onNavItemClick?: NavItemClickFunction;
14
+ slots?: IAppHeaderNavSlots;
9
15
  }
10
16
  interface IHeaderNavState {
11
17
  anchorEl: HTMLElement | null;
@@ -14,6 +20,7 @@ interface IHeaderNavState {
14
20
  declare class AppHeaderNav extends Component<IHeaderNavProps, IHeaderNavState> {
15
21
  constructor(props: IHeaderNavProps);
16
22
  render(): import("react/jsx-runtime").JSX.Element;
23
+ getButtonNavProps: (item: IAppNav) => Partial<IButtonAnimationProps>;
17
24
  renderItemIcon: (nav: IAppNav) => ReactNode;
18
25
  getItemClasses: (nav: IAppNav) => string;
19
26
  onClickNavItemHandler: (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav: IAppNav) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.nav.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.nav.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKjE,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAG5D,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACnB,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;CAC5B;AAED,cAAM,YAAa,SAAQ,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;gBACxD,KAAK,EAAE,eAAe;IAKlC,MAAM;IA4BN,cAAc,QAAS,OAAO,KAAG,SAAS,CAIzC;IAED,cAAc,QAAS,OAAO,YAM7B;IAED,qBAAqB,MAAO,YAAY,iBAAiB,EAAE,UAAU,CAAC,OAAO,OAAO,UAUnF;IAED,kBAAkB,aAEjB;CACF;AACD,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"app-header.nav.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.nav.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGjE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAG5D,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACzE;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACnB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAC3B;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;CAC5B;AAED,cAAM,YAAa,SAAQ,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;gBACxD,KAAK,EAAE,eAAe;IAKlC,MAAM;IA6BN,iBAAiB,SAAU,OAAO,KAAG,QAAQ,qBAAqB,CAAC,CAMlE;IAED,cAAc,QAAS,OAAO,KAAG,SAAS,CAIzC;IAED,cAAc,QAAS,OAAO,YAM7B;IAED,qBAAqB,MAAO,YAAY,iBAAiB,EAAE,UAAU,CAAC,OAAO,OAAO,UAUnF;IAED,kBAAkB,aAEjB;CACF;AACD,eAAe,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../src/layout-global/configs.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,UAAU,qBAAqB,CAAA;AAC5C,eAAO,MAAM,aAAa,SAAU,eAAe,WAA6B,CAAA;AAEhF,eAAO,MAAM,WAAW,0BAA0B,CAAA;AAClD,eAAO,MAAM,cAAc,SAAU,eAAe,WAA8B,CAAA;AAElF,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAMxC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAahD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAa9E,CAAA;AAEF,eAAO,MAAM,oBAAoB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,QAAQ,EA6BxE,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAWtE,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAcpE,CAAA;AAED,eAAO,MAAM,iBAAiB,uLAAuL,CAAA;AAErN,eAAO,MAAM,aAAa,QAA+G,CAAA;AAEzI,eAAO,MAAM,sBAAsB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAMzE,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAAE,EAkBxE,CAAA"}
1
+ {"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../src/layout-global/configs.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAmB,MAAM,SAAS,CAAA;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,UAAU,qBAAqB,CAAA;AAC5C,eAAO,MAAM,aAAa,SAAU,eAAe,WAA6B,CAAA;AAEhF,eAAO,MAAM,WAAW,0BAA0B,CAAA;AAClD,eAAO,MAAM,cAAc,SAAU,eAAe,WAA8B,CAAA;AAElF,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAMxC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAahD,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAa9E,CAAA;AAEF,eAAO,MAAM,oBAAoB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,QAAQ,EA6BxE,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAWtE,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAcpE,CAAA;AAED,eAAO,MAAM,iBAAiB,uLAAuL,CAAA;AAErN,eAAO,MAAM,aAAa,QAA+G,CAAA;AAEzI,eAAO,MAAM,sBAAsB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAMzE,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,EAAE,EAkBxE,CAAA"}
@@ -1,4 +1,8 @@
1
1
  export * from './app-header';
2
+ export type { IAppHeaderNavSlots } from './app-header.nav';
2
3
  export * from './app-footer';
3
4
  export * from './app-logo';
5
+ export type { IAppNav, INavLink, INavLinkOptions } from './types';
6
+ export { ButtonAnimation } from './animated-tabs.units';
7
+ export type { IButtonAnimationProps } from './animated-tabs.units';
4
8
  //# 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;AAE5B,cAAc,cAAc,CAAA;AAE5B,cAAc,YAAY,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;AAE1D,cAAc,cAAc,CAAA;AAE5B,cAAc,YAAY,CAAA;AAE1B,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -33,6 +33,9 @@ export interface IAppSocial {
33
33
  color?: string;
34
34
  sx?: SxProps<Theme>;
35
35
  }
36
+ export interface INavLinkOptions {
37
+ tabKey?: 'video' | 'audio';
38
+ }
36
39
  export type INavLink = {
37
40
  /** App site key */
38
41
  site: AppSite;
@@ -42,6 +45,8 @@ export type INavLink = {
42
45
  routerPath?: string;
43
46
  /** Link target */
44
47
  target?: '_blank' | '_self';
48
+ /** This field is used for UI handling and some other non-critical tasks */
49
+ options?: string;
45
50
  };
46
51
  export type NavItemClickFunction = (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, item: INavLink) => void;
47
52
  export interface IAppNavDef {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout-global/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,aAAa,mBAAmB;IAChC,SAAS,eAAe;IACxB,gBAAgB,sBAAsB;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACpB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,mBAAmB;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;AAEpI,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/layout-global/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,aAAa,mBAAmB;IAChC,SAAS,eAAe;IACxB,gBAAgB,sBAAsB;CACvC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,mBAAmB;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;AAEpI,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA"}
@@ -3,7 +3,13 @@ import { type IconButtonProps, type ButtonProps } from '@mui/material';
3
3
  export declare const TextLineBreak: FC<{
4
4
  children?: string;
5
5
  }>;
6
- export declare const AppButtonOrange: ComponentType<ButtonProps>;
7
- export declare const AppIconButtonOrange: ComponentType<IconButtonProps>;
8
- export declare const AppIconButtonDark: ComponentType<IconButtonProps>;
6
+ export declare const AppButtonOrange: ComponentType<ButtonProps & {
7
+ [key: string]: any;
8
+ }>;
9
+ export declare const AppIconButtonOrange: ComponentType<IconButtonProps & {
10
+ [key: string]: any;
11
+ }>;
12
+ export declare const AppIconButtonDark: ComponentType<IconButtonProps & {
13
+ [key: string]: any;
14
+ }>;
9
15
  //# sourceMappingURL=ui.units.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.units.d.ts","sourceRoot":"","sources":["../../../src/layout-global/ui.units.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtE,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAYnD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,WAAW,CAkCrD,CAAA;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,eAAe,CAW7D,CAAA;AAGF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,eAAe,CAW3D,CAAA"}
1
+ {"version":3,"file":"ui.units.d.ts","sourceRoot":"","sources":["../../../src/layout-global/ui.units.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAEtE,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAYnD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAkC9E,CAAA;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAWtF,CAAA;AAGF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAWpF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",