dinocollab-shared 1.2.11 → 1.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/auth/profile.js +1 -1
  2. package/dist/auth/profile.js.map +1 -1
  3. package/dist/cart/event-store.js +2 -0
  4. package/dist/cart/event-store.js.map +1 -0
  5. package/dist/cart/hooks.js +2 -0
  6. package/dist/cart/hooks.js.map +1 -0
  7. package/dist/cart/index.js +1 -1
  8. package/dist/cart/service.js +2 -0
  9. package/dist/cart/service.js.map +1 -0
  10. package/dist/cart/widget.js +1 -1
  11. package/dist/cart/widget.js.map +1 -1
  12. package/dist/components/no-data-panel.js +1 -1
  13. package/dist/components/no-data-panel.js.map +1 -1
  14. package/dist/layout-global/app-footer.js +1 -1
  15. package/dist/layout-global/app-header.js +1 -1
  16. package/dist/layout-global/app-header.nav.js +1 -1
  17. package/dist/layout-global/app-header.nav.js.map +1 -1
  18. package/dist/layout-global/app-theme-provider.js +1 -1
  19. package/dist/layout-global/app-theme-provider.js.map +1 -1
  20. package/dist/layout-global/configs.js +1 -1
  21. package/dist/layout-global/configs.js.map +1 -1
  22. package/dist/layout-global/index.js +1 -1
  23. package/dist/layout-global/layout-global-api.js +2 -0
  24. package/dist/layout-global/layout-global-api.js.map +1 -0
  25. package/dist/layout-global/sub-menu.js +1 -1
  26. package/dist/layout-global/sub-menu.js.map +1 -1
  27. package/dist/media-right/event-store.js +2 -0
  28. package/dist/media-right/event-store.js.map +1 -0
  29. package/dist/media-right/group-selector/index.js +1 -1
  30. package/dist/media-right/group-selector/index.js.map +1 -1
  31. package/dist/media-right/group-selector/units.js +1 -1
  32. package/dist/media-right/group-selector/units.js.map +1 -1
  33. package/dist/media-right/hooks.js +2 -0
  34. package/dist/media-right/hooks.js.map +1 -0
  35. package/dist/media-right/index.js +1 -1
  36. package/dist/media-right/media-widget/index.js +1 -1
  37. package/dist/media-right/media-widget/index.js.map +1 -1
  38. package/dist/media-right/media-widget/media-group-accordion.js +1 -1
  39. package/dist/media-right/media-widget/media-group-accordion.js.map +1 -1
  40. package/dist/media-right/media-widget/media-list.js +1 -1
  41. package/dist/media-right/media-widget/media-list.js.map +1 -1
  42. package/dist/media-right/media-widget/styled.js +1 -1
  43. package/dist/media-right/media-widget/styled.js.map +1 -1
  44. package/dist/media-right/service.js +2 -0
  45. package/dist/media-right/service.js.map +1 -0
  46. package/dist/types/auth/profile.d.ts +2 -1
  47. package/dist/types/auth/profile.d.ts.map +1 -1
  48. package/dist/types/cart/{cart-store.d.ts → event-store.d.ts} +1 -22
  49. package/dist/types/cart/event-store.d.ts.map +1 -0
  50. package/dist/types/cart/{hook.d.ts → hooks.d.ts} +5 -7
  51. package/dist/types/cart/hooks.d.ts.map +1 -0
  52. package/dist/types/cart/index.d.ts +2 -1
  53. package/dist/types/cart/index.d.ts.map +1 -1
  54. package/dist/types/cart/service.d.ts +28 -0
  55. package/dist/types/cart/service.d.ts.map +1 -0
  56. package/dist/types/layout-global/app-header.nav.d.ts.map +1 -1
  57. package/dist/types/layout-global/app-theme-provider.d.ts +1 -1
  58. package/dist/types/layout-global/app-theme-provider.d.ts.map +1 -1
  59. package/dist/types/layout-global/configs.d.ts +1 -1
  60. package/dist/types/layout-global/configs.d.ts.map +1 -1
  61. package/dist/types/layout-global/index.d.ts +1 -0
  62. package/dist/types/layout-global/index.d.ts.map +1 -1
  63. package/dist/types/layout-global/layout-global-api.d.ts +18 -0
  64. package/dist/types/layout-global/layout-global-api.d.ts.map +1 -0
  65. package/dist/types/layout-global/sub-menu.d.ts.map +1 -1
  66. package/dist/types/media-right/event-store.d.ts +27 -0
  67. package/dist/types/media-right/event-store.d.ts.map +1 -0
  68. package/dist/types/media-right/group-selector/index.d.ts +4 -3
  69. package/dist/types/media-right/group-selector/index.d.ts.map +1 -1
  70. package/dist/types/media-right/group-selector/units.d.ts +1 -1
  71. package/dist/types/media-right/group-selector/units.d.ts.map +1 -1
  72. package/dist/types/media-right/{hook.d.ts → hooks.d.ts} +1 -1
  73. package/dist/types/media-right/hooks.d.ts.map +1 -0
  74. package/dist/types/media-right/index.d.ts +2 -1
  75. package/dist/types/media-right/index.d.ts.map +1 -1
  76. package/dist/types/media-right/media-widget/index.d.ts.map +1 -1
  77. package/dist/types/media-right/media-widget/media-group-accordion.d.ts.map +1 -1
  78. package/dist/types/media-right/media-widget/media-list.d.ts.map +1 -1
  79. package/dist/types/media-right/media-widget/styled.d.ts +10 -0
  80. package/dist/types/media-right/media-widget/styled.d.ts.map +1 -1
  81. package/dist/types/media-right/service.d.ts +36 -0
  82. package/dist/types/media-right/service.d.ts.map +1 -0
  83. package/package.json +1 -1
  84. package/dist/cart/cart-store.js +0 -2
  85. package/dist/cart/cart-store.js.map +0 -1
  86. package/dist/cart/hook.js +0 -2
  87. package/dist/cart/hook.js.map +0 -1
  88. package/dist/media-right/cart-store.js +0 -2
  89. package/dist/media-right/cart-store.js.map +0 -1
  90. package/dist/media-right/hook.js +0 -2
  91. package/dist/media-right/hook.js.map +0 -1
  92. package/dist/types/cart/cart-store.d.ts.map +0 -1
  93. package/dist/types/cart/hook.d.ts.map +0 -1
  94. package/dist/types/media-right/cart-store.d.ts +0 -48
  95. package/dist/types/media-right/cart-store.d.ts.map +0 -1
  96. package/dist/types/media-right/hook.d.ts.map +0 -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 f,Divider as v,MenuItem as g,Box as x,ListItemIcon as b,colors as C}from"@mui/material";import{getAvatarProps as k}from"../layout-global/helpers.js";var y={root:"Profile-root",title:"Profile-title",item:"Profile-item"},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,sx:{flex: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(f,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",e]}),a(v,{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"),{display:"flex",alignItems:"center",gap:"8px",color:"currentColor",textDecoration:"none",padding:"6px 16px",flex:1}),"& .MuiAvatar-root",{width:32,height:32,ml:-.5,mr:1,bgcolor:"var(--color-avatar-bg)",color:"var(--color-avatar-text)"}),"& .MuiMenuItem-root",{padding:0,transition:"all 0.3s",color:"var(--color-text)",".MuiSvgIcon-root":{transition:"all 0.2s",transform:"translateX(0px) scale(1)"},"&:hover":{color:"var(--color-text-secondary)",backgroundColor:"var(--color-divider)",".MuiSvgIcon-root":{color:"var(--color-text-secondary)",transform:"translateX(4px) scale(1.2)"}}}),"& .MuiListItemIcon-root",{color:"var(--color-text)"}),"& .MuiDivider-root",{borderColor:"var(--color-divider)"}),"&:before",{content:'""',display:"block",position:"absolute",top:0,right:20,width:10,height:10,bgcolor:"var(--color-background)",transform:"translateY(-50%) rotate(45deg)",zIndex:0})}};export{M as Profile,M as default,y as profileClasses};
1
+ import{inherits as t,createClass as e,objectSpread2 as o,classCallCheck as r,callSuper as l,defineProperty as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as i,jsx as a}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as u,Tooltip as d,IconButton as p,Avatar as h,Menu as m,Typography as f,Divider as v,MenuItem as g,Box as x,ListItemIcon as b,colors as C}from"@mui/material";import{getAvatarProps as k}from"../layout-global/helpers.js";var y={root:"Profile-root",title:"Profile-title",item:"Profile-item"},M=function(t,e){return"".concat("",".").concat(y[t]).concat("")},I=function(){function C(t){var e;return r(this,C),e=l(this,C,[t]),n(e,"toggle",function(){return e.setState({isOpen:!e.state.isOpen})}),n(e,"handleClick",function(t){e.setState({element:t.currentTarget})}),n(e,"handleMenuItemClick",function(t,o){o.onClick&&o.onClick(t),e.setState({element:null})}),n(e,"handleClose",function(){e.setState({element:null})}),e.state={isOpen:!1,element:null},e}return t(C,s),e(C,[{key:"render",value:function(){var t,e=this,r=this.props.profile,l=(null==r?void 0:r.UserName)||"Guest";return i(c,{children:[a(u,{in:!0,children:a(d,{title:"Account settings",children:a(p,{onClick:this.handleClick,size:"small","aria-controls":this.state.element?"account-menu":void 0,"aria-haspopup":"true","aria-expanded":this.state.element?"true":void 0,sx:{flex:0},children:a(h,o({src:null!==(t=null==r?void 0:r.AvatarUrl)&&void 0!==t?t:""},k(l)))})})}),i(m,{anchorEl:this.state.element,id:"account-menu",disableScrollLock:!0,open:!!this.state.element,onClose:this.handleClose,onClick:this.handleClose,MenuListProps:{component:"div"},slotProps:{paper:P(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[i(f,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",l]}),a(v,{variant:"middle",sx:{mb:1}}),this.props.menuConfigs.map(function(t,r){return a(g,{children:i(x,o(o(o({className:y.item,onClick:function(o){return e.handleMenuItemClick(o,t)}},t.href?{component:"a",href:t.href}:{}),t.buttonProps),{},{children:[a(b,{children:t.icon}),t.title]}))},r)})]})]})}}])}(),P=function(){var t="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),e=t?"#fff":"#323234",o=t?"#000":"#fff",r=t?C.blue[600]:"#e78a3f",l=t?C.grey[200]:C.grey[700];return{elevation:0,sx:n(n(n(n(n(n(n({"--color-background":e,"--color-text":o,"--color-text-secondary":r,"--color-divider":l,minWidth:"200px",overflow:"visible",filter:"drop-shadow(0px 2px 8px rgba(0,0,0,0.32))",mt:1.5,bgcolor:"var(--color-background)",color:"var(--color-text)"},M("title"),{marginTop:"-8px",padding:"10px 16px",fontWeight:"600",color:"var(--color-text)"}),M("item"),{display:"flex",alignItems:"center",gap:"8px",color:"currentColor",textDecoration:"none",padding:"6px 16px",flex:1}),"& .MuiAvatar-root",{width:32,height:32,ml:-.5,mr:1,bgcolor:"var(--color-avatar-bg)",color:"var(--color-avatar-text)"}),"& .MuiMenuItem-root",{padding:0,transition:"all 0.3s",color:"var(--color-text)",".MuiSvgIcon-root":{transition:"all 0.2s",transform:"translateX(0px) scale(1)"},"&:hover":{color:"var(--color-text-secondary)",backgroundColor:"var(--color-divider)",".MuiSvgIcon-root":{color:"var(--color-text-secondary)",transform:"translateX(4px) scale(1.2)"}}}),"& .MuiListItemIcon-root",{color:"var(--color-text)"}),"& .MuiDivider-root",{borderColor:"var(--color-divider)"}),"&:before",{content:'""',display:"block",position:"absolute",top:0,right:20,width:10,height:10,bgcolor:"var(--color-background)",transform:"translateY(-50%) rotate(45deg)",zIndex:0})}};export{I as Profile,I as default,y as profileClasses};
2
2
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sources":["../../src/auth/profile.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport type { PropsWithChildren } from 'react'\r\nimport { Box, MenuItem, Divider, IconButton, Tooltip, colors } from '@mui/material'\r\nimport { Avatar, Fade, ListItemIcon, Menu, PaperProps, Typography } from '@mui/material'\r\nimport { getAvatarProps } from '../layout-global/helpers'\r\nimport type { IIMenuConfigs, IProfile } from './types'\r\n\r\nexport const profileClasses = {\r\n root: 'Profile-root',\r\n title: 'Profile-title',\r\n item: 'Profile-item'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof profileClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${profileClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport interface IAvatarButtonProps extends PropsWithChildren {\r\n profile: IProfile | null\r\n menuConfigs: IIMenuConfigs\r\n theme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IAvatarButtonState {\r\n isOpen: boolean\r\n element: HTMLElement | null\r\n}\r\n\r\nexport class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {\r\n constructor(props: IAvatarButtonProps) {\r\n super(props)\r\n this.state = {\r\n isOpen: false,\r\n element: null\r\n }\r\n }\r\n\r\n toggle = () => this.setState({ isOpen: !this.state.isOpen })\r\n\r\n handleClick = (event: React.MouseEvent<HTMLElement>) => {\r\n this.setState({ element: event.currentTarget })\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ element: null })\r\n }\r\n\r\n render() {\r\n const { profile } = this.props\r\n const userName = profile?.UserName || 'Guest'\r\n return (\r\n <Fragment>\r\n <Fade in>\r\n <Tooltip title='Account settings'>\r\n <IconButton\r\n onClick={this.handleClick}\r\n size='small'\r\n aria-controls={this.state.element ? 'account-menu' : undefined}\r\n aria-haspopup='true'\r\n aria-expanded={this.state.element ? 'true' : undefined}\r\n sx={{ flex: 0 }}\r\n >\r\n <Avatar src={profile?.AvatarUrl ?? ''} {...getAvatarProps(userName)} />\r\n </IconButton>\r\n </Tooltip>\r\n </Fade>\r\n <Menu\r\n anchorEl={this.state.element}\r\n id='account-menu'\r\n disableScrollLock\r\n open={!!this.state.element}\r\n onClose={this.handleClose}\r\n onClick={this.handleClose}\r\n MenuListProps={{ component: 'div' }}\r\n slotProps={{ paper: getStylePaper(this.props.theme) }}\r\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\r\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\r\n >\r\n <Typography\r\n variant='subtitle1'\r\n noWrap\r\n className={profileClasses.title}\r\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => e.stopPropagation()}\r\n >\r\n Hello, {userName}\r\n </Typography>\r\n <Divider variant='middle' sx={{ mb: 1 }} />\r\n {this.props.menuConfigs.map((menuConfig, index) => (\r\n <MenuItem key={index}>\r\n <Box\r\n className={profileClasses.item}\r\n onClick={menuConfig.onClick}\r\n {...(menuConfig.href ? { component: 'a', href: menuConfig.href } : {})}\r\n {...menuConfig.buttonProps}\r\n >\r\n <ListItemIcon>{menuConfig.icon}</ListItemIcon>\r\n {menuConfig.title}\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Fragment>\r\n )\r\n }\r\n}\r\nexport default Profile\r\n\r\nconst getStylePaper = (theme: 'dark' | 'light' = 'dark'): Partial<PaperProps<'div', {}>> => {\r\n const isLightTheme = theme === 'light'\r\n const backgroundColor = isLightTheme ? '#fff' : '#323234'\r\n const textColor = isLightTheme ? '#000' : '#fff'\r\n const textSecondaryColor = isLightTheme ? colors.blue[600] : '#e78a3f'\r\n const dividerColor = isLightTheme ? colors.grey[200] : colors.grey[700]\r\n return {\r\n elevation: 0,\r\n sx: {\r\n '--color-background': backgroundColor,\r\n '--color-text': textColor,\r\n '--color-text-secondary': textSecondaryColor,\r\n '--color-divider': dividerColor,\r\n\r\n minWidth: '200px',\r\n overflow: 'visible',\r\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\r\n mt: 1.5,\r\n bgcolor: 'var(--color-background)', // dark background\r\n color: 'var(--color-text)', // white text,\r\n\r\n [getClasses('title')]: {\r\n marginTop: '-8px',\r\n padding: '10px 16px',\r\n fontWeight: '600',\r\n color: 'var(--color-text)'\r\n },\r\n [getClasses('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n color: 'currentColor',\r\n textDecoration: 'none',\r\n padding: '6px 16px',\r\n flex: 1\r\n },\r\n '& .MuiAvatar-root': {\r\n width: 32,\r\n height: 32,\r\n ml: -0.5,\r\n mr: 1,\r\n bgcolor: 'var(--color-avatar-bg)',\r\n color: 'var(--color-avatar-text)'\r\n },\r\n '& .MuiMenuItem-root': {\r\n padding: 0,\r\n transition: 'all 0.3s',\r\n color: 'var(--color-text)',\r\n '.MuiSvgIcon-root': {\r\n transition: 'all 0.2s',\r\n transform: 'translateX(0px) scale(1)'\r\n },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': {\r\n color: 'var(--color-text-secondary)',\r\n transform: 'translateX(4px) scale(1.2)'\r\n }\r\n }\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiDivider-root': {\r\n borderColor: 'var(--color-divider)'\r\n },\r\n '&:before': {\r\n content: '\"\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n right: 20,\r\n width: 10,\r\n height: 10,\r\n bgcolor: 'var(--color-background)',\r\n transform: 'translateY(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["profileClasses","root","title","item","getClasses","key","options","concat","Profile","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isOpen","state","event","element","currentTarget","_inherits","Component","_createClass","value","_profile$AvatarUrl","profile","this","userName","UserName","_jsxs","Fragment","children","_jsx","Fade","in","Tooltip","IconButton","onClick","handleClick","size","undefined","sx","flex","Avatar","_objectSpread","src","AvatarUrl","getAvatarProps","Menu","anchorEl","id","disableScrollLock","open","onClose","handleClose","MenuListProps","component","slotProps","paper","getStylePaper","theme","transformOrigin","horizontal","vertical","anchorOrigin","Typography","variant","noWrap","className","e","stopPropagation","Divider","mb","menuConfigs","map","menuConfig","index","MenuItem","Box","href","buttonProps","ListItemIcon","icon","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","marginTop","padding","fontWeight","display","alignItems","gap","textDecoration","width","height","ml","mr","transition","transform","borderColor","content","position","top","right","zIndex"],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sources":["../../src/auth/profile.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport type { PropsWithChildren } from 'react'\r\nimport { Box, MenuItem, Divider, IconButton, Tooltip, colors } from '@mui/material'\r\nimport { Avatar, Fade, ListItemIcon, Menu, PaperProps, Typography } from '@mui/material'\r\nimport { getAvatarProps } from '../layout-global/helpers'\r\nimport type { IIMenuConfigs, IMenuConfig, IProfile } from './types'\r\n\r\nexport const profileClasses = {\r\n root: 'Profile-root',\r\n title: 'Profile-title',\r\n item: 'Profile-item'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof profileClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${profileClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport interface IAvatarButtonProps extends PropsWithChildren {\r\n profile: IProfile | null\r\n menuConfigs: IIMenuConfigs\r\n theme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IAvatarButtonState {\r\n isOpen: boolean\r\n element: HTMLElement | null\r\n}\r\n\r\nexport class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {\r\n constructor(props: IAvatarButtonProps) {\r\n super(props)\r\n this.state = {\r\n isOpen: false,\r\n element: null\r\n }\r\n }\r\n\r\n toggle = () => this.setState({ isOpen: !this.state.isOpen })\r\n\r\n handleClick = (event: React.MouseEvent<HTMLElement>) => {\r\n this.setState({ element: event.currentTarget })\r\n }\r\n\r\n handleMenuItemClick = (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>, menuConfig: IMenuConfig) => {\r\n if (menuConfig.onClick) {\r\n menuConfig.onClick(event)\r\n }\r\n this.setState({ element: null })\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ element: null })\r\n }\r\n\r\n render() {\r\n const { profile } = this.props\r\n const userName = profile?.UserName || 'Guest'\r\n return (\r\n <Fragment>\r\n <Fade in>\r\n <Tooltip title='Account settings'>\r\n <IconButton\r\n onClick={this.handleClick}\r\n size='small'\r\n aria-controls={this.state.element ? 'account-menu' : undefined}\r\n aria-haspopup='true'\r\n aria-expanded={this.state.element ? 'true' : undefined}\r\n sx={{ flex: 0 }}\r\n >\r\n <Avatar src={profile?.AvatarUrl ?? ''} {...getAvatarProps(userName)} />\r\n </IconButton>\r\n </Tooltip>\r\n </Fade>\r\n <Menu\r\n anchorEl={this.state.element}\r\n id='account-menu'\r\n disableScrollLock\r\n open={!!this.state.element}\r\n onClose={this.handleClose}\r\n onClick={this.handleClose}\r\n MenuListProps={{ component: 'div' }}\r\n slotProps={{ paper: getStylePaper(this.props.theme) }}\r\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\r\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\r\n >\r\n <Typography\r\n variant='subtitle1'\r\n noWrap\r\n className={profileClasses.title}\r\n onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => e.stopPropagation()}\r\n >\r\n Hello, {userName}\r\n </Typography>\r\n <Divider variant='middle' sx={{ mb: 1 }} />\r\n {this.props.menuConfigs.map((menuConfig, index) => (\r\n <MenuItem key={index}>\r\n <Box\r\n className={profileClasses.item}\r\n onClick={(e) => this.handleMenuItemClick(e, menuConfig)}\r\n {...(menuConfig.href ? { component: 'a', href: menuConfig.href } : {})}\r\n {...menuConfig.buttonProps}\r\n >\r\n <ListItemIcon>{menuConfig.icon}</ListItemIcon>\r\n {menuConfig.title}\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Fragment>\r\n )\r\n }\r\n}\r\n\r\nexport default Profile\r\n\r\nconst getStylePaper = (theme: 'dark' | 'light' = 'dark'): Partial<PaperProps<'div', {}>> => {\r\n const isLightTheme = theme === 'light'\r\n const backgroundColor = isLightTheme ? '#fff' : '#323234'\r\n const textColor = isLightTheme ? '#000' : '#fff'\r\n const textSecondaryColor = isLightTheme ? colors.blue[600] : '#e78a3f'\r\n const dividerColor = isLightTheme ? colors.grey[200] : colors.grey[700]\r\n return {\r\n elevation: 0,\r\n sx: {\r\n '--color-background': backgroundColor,\r\n '--color-text': textColor,\r\n '--color-text-secondary': textSecondaryColor,\r\n '--color-divider': dividerColor,\r\n\r\n minWidth: '200px',\r\n overflow: 'visible',\r\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\r\n mt: 1.5,\r\n bgcolor: 'var(--color-background)', // dark background\r\n color: 'var(--color-text)', // white text,\r\n\r\n [getClasses('title')]: {\r\n marginTop: '-8px',\r\n padding: '10px 16px',\r\n fontWeight: '600',\r\n color: 'var(--color-text)'\r\n },\r\n [getClasses('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n color: 'currentColor',\r\n textDecoration: 'none',\r\n padding: '6px 16px',\r\n flex: 1\r\n },\r\n '& .MuiAvatar-root': {\r\n width: 32,\r\n height: 32,\r\n ml: -0.5,\r\n mr: 1,\r\n bgcolor: 'var(--color-avatar-bg)',\r\n color: 'var(--color-avatar-text)'\r\n },\r\n '& .MuiMenuItem-root': {\r\n padding: 0,\r\n transition: 'all 0.3s',\r\n color: 'var(--color-text)',\r\n '.MuiSvgIcon-root': {\r\n transition: 'all 0.2s',\r\n transform: 'translateX(0px) scale(1)'\r\n },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': {\r\n color: 'var(--color-text-secondary)',\r\n transform: 'translateX(4px) scale(1.2)'\r\n }\r\n }\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiDivider-root': {\r\n borderColor: 'var(--color-divider)'\r\n },\r\n '&:before': {\r\n content: '\"\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n right: 20,\r\n width: 10,\r\n height: 10,\r\n bgcolor: 'var(--color-background)',\r\n transform: 'translateY(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["profileClasses","root","title","item","getClasses","key","options","concat","Profile","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isOpen","state","event","element","currentTarget","menuConfig","onClick","_inherits","Component","_createClass","value","_profile$AvatarUrl","_this2","this","profile","userName","UserName","_jsxs","Fragment","children","_jsx","Fade","in","Tooltip","IconButton","handleClick","size","undefined","sx","flex","Avatar","_objectSpread","src","AvatarUrl","getAvatarProps","Menu","anchorEl","id","disableScrollLock","open","onClose","handleClose","MenuListProps","component","slotProps","paper","getStylePaper","theme","transformOrigin","horizontal","vertical","anchorOrigin","Typography","variant","noWrap","className","e","stopPropagation","Divider","mb","menuConfigs","map","index","MenuItem","Box","handleMenuItemClick","href","buttonProps","ListItemIcon","icon","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","marginTop","padding","fontWeight","display","alignItems","gap","textDecoration","width","height","ml","mr","transition","transform","borderColor","content","position","top","right","zIndex"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{inherits as r,createClass as e,superPropGet as t,classCallCheck as i,callSuper as n,defineProperty as s}from"../_virtual/_rollupPluginBabelHelpers.js";import a from"events";var o=function(){function o(){var r;return i(this,o),r=n(this,o),s(r,"_createWrapListener",function(r){return function(){try{r.apply(void 0,arguments)}catch(r){console.error("Error in MfeBridge listener:",r)}}}),r}return r(o,a),e(o,[{key:"subscribe",value:function(r,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(e):e;return t(o,"addListener",this)([r,n]),function(){t(o,"removeListener",i)([r,n])}}}])}();export{o as CartEventStore};
2
+ //# sourceMappingURL=event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-store.js","sources":["../../src/cart/event-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\n// export 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\n// export interface ICartStoreConfigs {\r\n// idGetter: IIdGetter\r\n// localStorageKey?: string\r\n// }\r\n\r\n// export 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"],"mappings":"oLAeaA,IAAAA,aACX,SAAAA,IAAA,IAAAC,EAiBC,OAjBDC,OAAAF,GACEC,EAAAE,EAAAC,KAAAJ,GAEFK,EAAAJ,EAMsB,sBAAA,SAACK,GACrB,OAAO,WACL,IACEA,EAAQC,WAAAC,EAAAA,UACT,CAAC,MAAOC,GACPC,QAAQD,MAAM,+BAAgCA,EAC/C,CACF,IACFR,CAfD,CAAC,OAAAU,EAAAX,EAHiCY,GAGjCC,EAAAb,EAAA,CAAA,CAAAc,IAAA,YAAAC,MAgBD,SACEC,EACAC,GACqB,IAAAC,EAAAd,KAEfe,6DAAiBf,KAAKgB,oBAAoBH,GAAYA,EAE5D,OADAI,EAAArB,EAAkBgB,cAAAA,KAAlBK,CAAkBL,CAAAA,EAAWG,IACtB,WACLE,EAAArB,EAAA,iBAAAkB,EAAAG,CAAqBL,CAAAA,EAAWG,GACjC,CACH,IAAC"}
@@ -0,0 +1,2 @@
1
+ import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useRef as t,useState as e,useEffect as a}from"react";import{cartService as n}from"./service.js";function i(){var i=t(!1),u=e(n.getCarts()),o=r(u,2),c=o[0],d=o[1];return a(function(){i.current||(n.initialize(),i.current=!0);var r=n.subscribe("stateChange",function(r){var t=r.items,e=Array.isArray(t)?t:Object.values(t);d(e)});return function(){r&&r()}},[]),{items:c}}function u(){var r=function(r){return r.ProductId};return{idGetter:r,addToCart:function(r){n.addToCart(r)},updateCart:function(r,t){n.updateCart(r,t)},updateOrAddCart:function(r,t){n.updateOrAddCart(r,t)},removeFromCart:function(t){var e=n.getCarts().find(function(e){return r(e)===t});e&&n.removeFromCart(e)},clearCart:function(){n.clearCart()}}}export{u as useCartActions,i as useCartStore};
2
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sources":["../../src/cart/hooks.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\r\nimport { ICartItem } from './types'\r\nimport { cartService } from './service'\r\n\r\nexport function useCartStore<T extends ICartItem = ICartItem>() {\r\n const initializedRef = useRef(false)\r\n const [items, setItems] = useState<T[]>(cartService.getCarts() as T[])\r\n\r\n useEffect(() => {\r\n // Load initial items\r\n // const initialItems = cartService.getCarts() as T[]\r\n // setItems(initialItems)\r\n\r\n // Initialize and subscribe to changes\r\n if (!initializedRef.current) {\r\n cartService.initialize()\r\n initializedRef.current = true\r\n }\r\n\r\n const unsubscribe = cartService.subscribe('stateChange', ({ items }) => {\r\n const itemArray = Array.isArray(items) ? items : Object.values(items)\r\n setItems(itemArray as T[])\r\n })\r\n\r\n return () => {\r\n if (unsubscribe) unsubscribe()\r\n }\r\n }, [])\r\n\r\n return { items }\r\n}\r\n\r\nexport function useCartActions<T extends ICartItem = ICartItem>() {\r\n const idGetter = (item: T) => item.ProductId\r\n\r\n const addToCart = (item: T) => {\r\n cartService.addToCart(item)\r\n }\r\n\r\n const updateCart = (id: string, updates: Partial<T>) => {\r\n cartService.updateCart(id, updates)\r\n }\r\n\r\n const updateOrAddCart = (id: string, updates: Partial<T>) => {\r\n cartService.updateOrAddCart(id, updates)\r\n }\r\n\r\n const removeFromCart = (id: string) => {\r\n const items = cartService.getCarts() as T[]\r\n const itemToRemove = items.find((item) => idGetter(item) === id)\r\n if (itemToRemove) {\r\n cartService.removeFromCart(itemToRemove)\r\n }\r\n }\r\n\r\n const clearCart = () => {\r\n cartService.clearCart()\r\n }\r\n\r\n return { idGetter, addToCart, updateCart, updateOrAddCart, removeFromCart, clearCart }\r\n}\r\n"],"names":["useCartStore","initializedRef","useRef","_useState","useState","cartService","getCarts","_useState2","_slicedToArray","items","setItems","useEffect","current","initialize","unsubscribe","subscribe","_ref","itemArray","Array","isArray","Object","values","useCartActions","idGetter","item","ProductId","addToCart","updateCart","id","updates","updateOrAddCart","removeFromCart","itemToRemove","find","clearCart"],"mappings":"yLAIgBA,IACd,IAAMC,EAAiBC,GAAO,GAC9BC,EAA0BC,EAAcC,EAAYC,YAAkBC,EAAAC,EAAAL,EAAA,GAA/DM,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAuBtB,OArBAI,EAAU,WAMHV,EAAeW,UAClBP,EAAYQ,aACZZ,EAAeW,SAAU,GAG3B,IAAME,EAAcT,EAAYU,UAAU,cAAe,SAAAC,GAAc,IAAXP,EAAKO,EAALP,MACpDQ,EAAYC,MAAMC,QAAQV,GAASA,EAAQW,OAAOC,OAAOZ,GAC/DC,EAASO,EACX,GAEA,OAAO,WACDH,GAAaA,GAClB,CACF,EAAE,IAEI,CAAEL,MAAAA,EACX,UAEgBa,IACd,IAAMC,EAAW,SAACC,GAAO,OAAKA,EAAKC,SAAS,EA0B5C,MAAO,CAAEF,SAAAA,EAAUG,UAxBD,SAACF,GACjBnB,EAAYqB,UAAUF,EACvB,EAsB6BG,WApBX,SAACC,EAAYC,GAC9BxB,EAAYsB,WAAWC,EAAIC,EAC5B,EAkByCC,gBAhBlB,SAACF,EAAYC,GACnCxB,EAAYyB,gBAAgBF,EAAIC,EACjC,EAc0DE,eAZpC,SAACH,GACtB,IACMI,EADQ3B,EAAYC,WACC2B,KAAK,SAACT,GAAI,OAAKD,EAASC,KAAUI,IACzDI,GACF3B,EAAY0B,eAAeC,EAE9B,EAM0EE,UAJzD,WAChB7B,EAAY6B,WACb,EAGH"}
@@ -1,2 +1,2 @@
1
- export{CartWidget,createCartWidget}from"./widget.js";export{useCartActions,useCartStore}from"./hook.js";export{areDuplicatedLink,convertStringToLinks,getTotalData}from"./helpers.js";
1
+ export{CartWidget,createCartWidget}from"./widget.js";export{useCartActions,useCartStore}from"./hooks.js";export{areDuplicatedLink,convertStringToLinks,getTotalData}from"./helpers.js";export{CartService,cartService}from"./service.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import{defineProperty as e,createClass as o,toConsumableArray as r,objectSpread2 as t,classCallCheck as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{createObjectSingleton as l}from"dinocollab-core/utils";import{CartEventStore as i}from"./event-store.js";var n=o(function o(){a(this,o),e(this,"localStorageKey","__cart_default__"),e(this,"store",new i)}),s=function(){function e(){a(this,e)}return o(e,[{key:"initialize",value:function(){e.provider.store.emit("requestState",{})}},{key:"subscribe",value:function(o,r){return e.provider.store.subscribe(o,r)}},{key:"getCarts",value:function(){var e;return null!==(e=this.loadFromLocalStorage().items)&&void 0!==e?e:[]}},{key:"addToCart",value:function(e){var o,t=this.loadFromLocalStorage(),a=Array.isArray(e)?e:[e],l=[].concat(r(null!==(o=t.items)&&void 0!==o?o:[]),r(a));this.saveToLocalStorage(l)}},{key:"removeFromCart",value:function(e){var o,r=this.loadFromLocalStorage(),t=Array.isArray(e)?e:[e],a=(null!==(o=r.items)&&void 0!==o?o:[]).filter(function(e){return!t.some(function(o){return o.ProductId===e.ProductId})});this.saveToLocalStorage(a)}},{key:"updateCart",value:function(e,o){var r,a=(null!==(r=this.loadFromLocalStorage().items)&&void 0!==r?r:[]).map(function(r){return r.ProductId===e?t(t({},r),o):r});this.saveToLocalStorage(a)}},{key:"updateOrAddCart",value:function(e,o){var a,l=this.loadFromLocalStorage(),i=(null!==(a=l.items)&&void 0!==a?a:[]).findIndex(function(o){return o.ProductId===e});if(-1!==i){var n,s=r(null!==(n=l.items)&&void 0!==n?n:[]);s[i]=t(t({},s[i]),o),this.saveToLocalStorage(s)}else this.addToCart(t({ProductId:e},o))}},{key:"clearCart",value:function(){this.saveToLocalStorage([])}},{key:"loadFromLocalStorage",value:function(){var o={version:"1.0",items:[]};try{if("undefined"!=typeof globalThis&&globalThis.localStorage){var r,t=localStorage.getItem(e.provider.localStorageKey),a=t?JSON.parse(t):null;Boolean(null==a||null===(r=a.items)||void 0===r?void 0:r.length)&&(o=a)}}catch(e){console.error("Error loading carts from localStorage:",e)}return o}},{key:"saveToLocalStorage",value:function(o){if("undefined"!=typeof globalThis&&globalThis.localStorage)if(e.provider.localStorageKey){var r={version:"1.0",items:o};localStorage.setItem(e.provider.localStorageKey,JSON.stringify(r)),e.provider.store.emit("stateChange",{items:o})}else console.warn("No localStorageKey provided, skipping storage")}}],[{key:"provider",get:function(){var o;return null!==(o=l(e.key_provider).get())&&void 0!==o?o:new n}},{key:"setProvider",value:function(o){l(e.key_provider).set(null!=o?o:new n)}},{key:"setLocalStorageKey",value:function(o){var r=e.provider;r.localStorageKey=o,e.setProvider(r)}}])}();e(s,"key_provider","__cart_key_provider__");var u=new s;export{s as CartService,u as cartService};
2
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sources":["../../src/cart/service.ts"],"sourcesContent":["import { createObjectSingleton } from 'dinocollab-core/utils'\r\nimport { ICartItem } from './types'\r\nimport { CartEventStore } from './event-store'\r\n\r\nexport interface ICartMetadata<T extends ICartItem = ICartItem> {\r\n version: string\r\n items: T[]\r\n}\r\n\r\nexport interface ICartProvider {\r\n localStorageKey: string\r\n store: CartEventStore\r\n}\r\n\r\nclass CartProviderDefault implements ICartProvider {\r\n localStorageKey = '__cart_default__'\r\n store = new CartEventStore()\r\n}\r\n\r\nexport class CartService<T extends ICartItem = ICartItem> {\r\n static key_provider = '__cart_key_provider__'\r\n static get provider(): ICartProvider {\r\n const ObjectProvider = createObjectSingleton<ICartProvider>(CartService.key_provider)\r\n return ObjectProvider.get() ?? new CartProviderDefault()\r\n }\r\n static setProvider(provider: ICartProvider) {\r\n const ObjectProvider = createObjectSingleton<ICartProvider>(CartService.key_provider)\r\n ObjectProvider.set(provider ?? new CartProviderDefault())\r\n }\r\n static setLocalStorageKey(key: string) {\r\n const provider = CartService.provider\r\n provider.localStorageKey = key\r\n CartService.setProvider(provider)\r\n }\r\n\r\n initialize() {\r\n CartService.provider.store.emit('requestState', {})\r\n }\r\n\r\n subscribe(event: string, callback: (...args: any[]) => void) {\r\n return CartService.provider.store.subscribe(event as any, callback as any)\r\n }\r\n\r\n getCarts(): T[] {\r\n const storedItems = this.loadFromLocalStorage()\r\n return storedItems.items ?? []\r\n }\r\n\r\n addToCart(cartItem: T | T[]): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const itemsToAdd = Array.isArray(cartItem) ? cartItem : [cartItem]\r\n const updatedItems = [...(storedItems.items ?? []), ...itemsToAdd]\r\n this.saveToLocalStorage(updatedItems)\r\n }\r\n\r\n removeFromCart(cartItem: T | T[]): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const itemsToRemove = Array.isArray(cartItem) ? cartItem : [cartItem]\r\n const updatedItems = (storedItems.items ?? []).filter((x) => !itemsToRemove.some((y) => y.ProductId === x.ProductId))\r\n this.saveToLocalStorage(updatedItems)\r\n }\r\n\r\n updateCart(productId: string, updates: Partial<T>): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const updatedItems = (storedItems.items ?? []).map((item) => (item.ProductId === productId ? { ...item, ...updates } : item))\r\n this.saveToLocalStorage(updatedItems)\r\n }\r\n\r\n updateOrAddCart(productId: string, updates: Partial<T>): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const existingIndex = (storedItems.items ?? []).findIndex((item) => item.ProductId === productId)\r\n\r\n if (existingIndex !== -1) {\r\n const updatedItems = [...(storedItems.items ?? [])]\r\n updatedItems[existingIndex] = { ...updatedItems[existingIndex], ...updates }\r\n this.saveToLocalStorage(updatedItems)\r\n } else {\r\n this.addToCart({ ProductId: productId, ...updates } as T)\r\n }\r\n }\r\n\r\n clearCart(): void {\r\n this.saveToLocalStorage([])\r\n }\r\n\r\n private loadFromLocalStorage(): ICartMetadata<T> {\r\n const defaultValue: ICartMetadata<T> = { version: '1.0', items: [] }\r\n let data = defaultValue\r\n try {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n const temp = localStorage.getItem(CartService.provider.localStorageKey)\r\n const tempParsed = temp ? JSON.parse(temp) : null\r\n if (Boolean(tempParsed?.items?.length)) data = tempParsed\r\n }\r\n } catch (error) {\r\n console.error('Error loading carts from localStorage:', error)\r\n }\r\n return data\r\n }\r\n\r\n private saveToLocalStorage(items: T[]) {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n if (CartService.provider.localStorageKey) {\r\n const value: ICartMetadata<T> = { version: '1.0', items }\r\n localStorage.setItem(CartService.provider.localStorageKey, JSON.stringify(value))\r\n CartService.provider.store.emit('stateChange', { items })\r\n } else {\r\n console.warn('No localStorageKey provided, skipping storage')\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const cartService = new CartService<ICartItem>()\r\n"],"names":["CartProviderDefault","_createClass","_classCallCheck","_defineProperty","this","CartEventStore","CartService","key","value","provider","store","emit","event","callback","subscribe","_storedItems$items","loadFromLocalStorage","items","cartItem","_storedItems$items2","storedItems","itemsToAdd","Array","isArray","updatedItems","concat","_toConsumableArray","saveToLocalStorage","_storedItems$items3","itemsToRemove","filter","x","some","y","ProductId","productId","updates","_storedItems$items4","map","item","_objectSpread","_storedItems$items5","existingIndex","findIndex","_storedItems$items6","addToCart","data","version","globalThis","localStorage","_tempParsed$items","temp","getItem","localStorageKey","tempParsed","JSON","parse","Boolean","length","error","console","setItem","stringify","warn","get","_ObjectProvider$get","createObjectSingleton","key_provider","set","setProvider","cartService"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,jsxs as a}from"react/jsx-runtime";import{Component as c,Fragment 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{getTotalData as b}from"./helpers.js";import{MenuStyled as y,CartContentStyled as k,cartContentClasses as P}from"./styled.js";import{IconButtonDark as T}from"../components/buttons.js";import{NoDataPanel as S}from"../components/no-data-panel.js";var N=function(){function N(r){var e;return n(this,N),e=o(this,N,[r]),i(e,"render",function(){var r;return a(s,{children:[l(T,{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,{fontSize:"small"})})}),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()})]})}),i(e,"renderContent",function(){var r,n=b(e.carts);return a(k,{children:[a("div",{className:P.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=n.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",n.price.toFixed(2)]})]}),l(p,{}),a("div",{className:P.items,children:[e.carts.map(function(r,t){return l(s,{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:P.footer,children:l(h,t(t(t({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onMoveToCartClick&&e.props.onMoveToCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),i(e,"renderTitle",function(r){var n,o=e.props,i=o.itemTitleProps,a=o.itemTitlePropsGetter,c=a?a(r,e.onClose):null!=i?i:{};return l(u,t(t({className:P.itemTitle,noWrap:!0,variant:"subtitle1"},c),{},{children:null!==(n=r.ProductName)&&void 0!==n?n:"Unknown Product"}))}),i(e,"renderItem",function(r){var t,n,o,i;return a("div",{className:P.item,children:[l(d,{className:P.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:P.itemContent,children:[l(u,{className:P.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"}),e.renderTitle(r),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(o=r.Price)&&void 0!==o?o:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(i=r.Amount)&&void 0!==i?i: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,{})})]})}),i(e,"onOpen",function(r){e.setState({anchorEl:r})}),i(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(N,c),e(N,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),j=function(r){var e=function(e){return l(N,t(t({},r),e))};return e.displayName="CartWidget",e};export{N as CartWidget,j 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 l,jsx as a}from"react/jsx-runtime";import{Component as c,Fragment 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{getTotalData as b}from"./helpers.js";import{IconButtonDark as y}from"../components/buttons.js";import{NoDataPanel as k}from"../components/no-data-panel.js";import{MenuStyled as P,CartContentStyled as T,cartContentClasses as S}from"./styled.js";var N=function(){function N(r){var e;return t(this,N),e=n(this,N,[r]),o(e,"render",function(){var r;return l(s,{children:[a(y,{onClick:function(r){return e.onOpen(r.currentTarget)},children:a(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:a(g,{fontSize:"small"})})}),a(P,{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=b(e.carts);return l(T,{children:[l("div",{className:S.header,children:[l(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=t.quantity)&&void 0!==r?r:0," items)"]}),l(u,{variant:"h6",component:"span",children:["Total: $ ",t.price.toFixed(2)]})]}),a(p,{}),l("div",{className:S.items,children:[e.carts.map(function(r,t){return a(s,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&a(k,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%",m:1}})]}),a(p,{}),a("div",{className:S.footer,children:a(h,i(i(i({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:a(x,{}),onClick:function(r){e.onClose(),e.props.onMoveToCartClick&&e.props.onMoveToCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),o(e,"renderTitle",function(r){var t,n=e.props,o=n.itemTitleProps,l=n.itemTitlePropsGetter,c=l?l(r,e.onClose):null!=o?o:{};return a(u,i(i({className:S.itemTitle,noWrap:!0,variant:"subtitle1"},c),{},{children:null!==(t=r.ProductName)&&void 0!==t?t:"Unknown Product"}))}),o(e,"renderItem",function(r){var t,n,o,i;return l("div",{className:S.item,children:[a(d,{className:S.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),l("div",{className:S.itemContent,children:[a(u,{className:S.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"}),e.renderTitle(r),l(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[l(u,{variant:"subtitle1",children:["$ ",null!==(o=r.Price)&&void 0!==o?o:0]}),l(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(i=r.Amount)&&void 0!==i?i:0," urls"]})]})]}),a(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:a(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(N,c),e(N,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),j=function(r){var e=function(e){return a(N,i(i({},r),e))};return e.displayName="CartWidget",e};export{N as CartWidget,j 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, ButtonProps, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\r\nimport type { TypographyProps } from '@mui/material'\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 { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { IconButtonDark, NoDataPanel } from '../components'\r\nimport { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\n\r\ntype ITypographyProps = TypographyProps & { [key: string]: any }\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 onMoveToCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\r\n itemTitleProps?: ITypographyProps\r\n itemTitlePropsGetter?: (item: ICartItem, close?: () => void) => ITypographyProps\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 <IconButtonDark onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon fontSize='small' />\r\n </Badge>\r\n </IconButtonDark>\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.onMoveToCartClick) {\r\n this.props.onMoveToCartClick(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 renderTitle = (item: ICartItem) => {\r\n const { itemTitleProps, itemTitlePropsGetter } = this.props\r\n const currentProps: ITypographyProps = itemTitlePropsGetter ? itemTitlePropsGetter(item, this.onClose) : itemTitleProps ?? {}\r\n return (\r\n <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1' {...currentProps}>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\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 {this.renderTitle(item)}\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","IconButtonDark","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","fontSize","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","onMoveToCartClick","disabled","buttonMoveToCartProps","item","_item$ProductName","_this$props","itemTitleProps","itemTitlePropsGetter","currentProps","itemTitle","noWrap","ProductName","_item$PriceColor","_item$PriceName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","renderTitle","Box","display","alignItems","gap","justifyContent","Price","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props2","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 type { TypographyProps } from '@mui/material'\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 { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { IconButtonDark, NoDataPanel } from '../components'\r\nimport { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\n\r\ntype ITypographyProps = TypographyProps & { [key: string]: any }\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 onMoveToCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\r\n itemTitleProps?: ITypographyProps\r\n itemTitlePropsGetter?: (item: ICartItem, close?: () => void) => ITypographyProps\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 <IconButtonDark onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon fontSize='small' />\r\n </Badge>\r\n </IconButtonDark>\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%', m: 1 }} />}\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.onMoveToCartClick) {\r\n this.props.onMoveToCartClick(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 renderTitle = (item: ICartItem) => {\r\n const { itemTitleProps, itemTitlePropsGetter } = this.props\r\n const currentProps: ITypographyProps = itemTitlePropsGetter ? itemTitlePropsGetter(item, this.onClose) : itemTitleProps ?? {}\r\n return (\r\n <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1' {...currentProps}>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\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 {this.renderTitle(item)}\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","IconButtonDark","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","fontSize","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","m","footer","Button","_objectSpread","hrefCart","href","endIcon","ShoppingCartCheckoutIcon","event","onMoveToCartClick","disabled","buttonMoveToCartProps","item","_item$ProductName","_this$props","itemTitleProps","itemTitlePropsGetter","currentProps","itemTitle","noWrap","ProductName","_item$PriceColor","_item$PriceName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","renderTitle","Box","display","alignItems","gap","justifyContent","Price","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props2","onRemoveCart","call","RemoveIcon","target","setState","_inherits","Component","_createClass","key","get","_this$props$carts","this","value","createCartWidget","params","_CartWidget","displayName"],"mappings":"6zBAiCaA,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,EAAAN,SAC1DC,EAACM,GAAMC,aAAcf,EAAKgB,MAAMC,UAA4Bb,QAApBA,EAAGJ,EAAKkB,MAAMC,kBAAMf,EAAAA,EAAQ,EAAGgB,MAAM,iBAC3EZ,EAACa,EAAyB,CAAAC,SAAS,cAGvCd,EAACe,EAAU,CACTC,mBAAiB,EACjBC,SAAUzB,EAAKgB,MAAMS,SACrBC,KAAMC,QAAQ3B,EAAKgB,MAAMS,UACzBG,QAAS5B,EAAK4B,QACdC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7CC,gBAAiB,CAAEF,SAAU,MAAOC,WAAY,SAChDE,cAAe,CAAEC,UAAW,OAAO3B,SAElCP,EAAKmC,uBAGXhC,EAAAH,EAAA,gBAEe,WAAK,IAAAoC,EACbC,EAAYC,EAAatC,EAAKkB,OACpC,OACEb,EAACkC,EAAiB,CAAAhC,SAAA,CAChBF,SAAKmC,UAAWC,EAAmBC,iBACjCrC,EAACsC,GAAWC,QAAQ,KAAKV,UAAU,OAAOW,GAAI,CAAEC,KAAM,GACxCvC,SAAA,CAAA,cAAkB,QAAlB6B,EAAAC,EAAUU,gBAAQX,IAAAA,EAAAA,EAAI,EACvB,aACb/B,EAACsC,EAAU,CAACC,QAAQ,KAAKV,UAAU,OACvB3B,SAAA,CAAA,YAAA8B,EAAUW,MAAMC,QAAQ,SAGtCzC,EAAC0C,MACD7C,EAAA,MAAA,CAAKmC,UAAWC,EAAmBU,MAAK5C,SAAA,CACrCP,EAAKkB,MAAMkC,IAAI,SAACC,EAAGC,GAAC,OACnB9C,EAACF,EAA0B,CAAAC,SAAAP,EAAKuD,WAAWF,IAA5B,MAAQC,EAAkC,GAE1DtD,EAAKkB,MAAMC,OAAS,GAAKX,EAACgD,EAAY,CAAAC,MAAM,qBAAqBC,SAAS,2BAA2Bb,GAAI,CAAEc,OAAQ,OAAQC,EAAG,QAEjIpD,EAAC0C,EAAO,CAAA,GACR1C,EAAK,MAAA,CAAAgC,UAAWC,EAAmBoB,gBACjCrD,EAACsD,EAAMC,EAAAA,EAAAA,KACA/D,EAAKD,MAAMiE,SAAW,CAAE9B,UAAW,IAAK+B,KAAMjE,EAAKD,MAAMiE,UAAa,CAAA,GAAE,GAAA,CAC7E5C,MAAM,UACN8C,QAAS1D,EAAC2D,EAA2B,IACrCzD,QAAS,SAAC0D,GACRpE,EAAK4B,UACD5B,EAAKD,MAAMsE,mBACbrE,EAAKD,MAAMsE,kBAAkBD,EAEhC,EACDE,SAAUtE,EAAKkB,MAAMC,OAAS,GAC1BnB,EAAKD,MAAMwE,uBAAqB,CAAA,EAAA,mCAO7CpE,EAAAH,EAEa,cAAA,SAACwE,GAAmB,IAAAC,EAChCC,EAAiD1E,EAAKD,MAA9C4E,EAAcD,EAAdC,eAAgBC,EAAoBF,EAApBE,qBAClBC,EAAiCD,EAAuBA,EAAqBJ,EAAMxE,EAAK4B,SAAW+C,QAAAA,EAAkB,CAAE,EAC7H,OACEnE,EAACmC,EAAUoB,EAAAA,EAAA,CAACvB,UAAWC,EAAmBqC,UAAWC,QAAM,EAACnC,QAAQ,aAAgBiC,GAAY,GAAA,CAC7FtE,SAAgBkE,QAAhBA,EAAAD,EAAKQ,mBAAWP,IAAAA,EAAAA,EAAI,uBAG1BtE,EAAAH,EAEY,aAAA,SAACwE,GAAe,IAAAS,EAAAC,EAAAC,EAAAC,EAAA,OAC3B/E,SAAKmC,UAAWC,EAAmB+B,eACjChE,EAAC6E,GACC7C,UAAWC,EAAmB6C,QAC9BC,IAAKf,aAAAA,EAAAA,EAAMgB,WACX/B,MAAOe,aAAAA,EAAAA,EAAMgB,WACbC,YAAY,4BACZC,IAAI,oBAENrF,EAAA,MAAA,CAAKmC,UAAWC,EAAmBkD,sBACjCnF,EAACmC,GAAWH,UAAWC,EAAmBmD,QAAShD,QAAQ,UAAUC,GAAI,CAAEzB,MAAsB6D,QAAjBA,EAAET,EAAKqB,kBAAUZ,IAAAA,EAAAA,EAAI,iBACpFC,UAAdV,EAAKsB,iBAASZ,IAAAA,EAAAA,EAAI,kBAEpBlF,EAAK+F,YAAYvB,GAClBnE,EAAC2F,EAAG,CAACnD,GAAI,CAAEoD,QAAS,OAAQC,WAAY,WAAYC,IAAK,MAAOC,eAAgB,sBAC9E/F,EAACsC,GAAWC,QAAQ,YAAWrC,SAAA,CAAA,KAAc4E,QAAdA,EAAIX,EAAK6B,aAAKlB,IAAAA,EAAAA,EAAI,KACjD9E,EAACsC,EAAW,CAAAC,QAAQ,QAAQC,GAAI,CAAEvB,SAAU,OAAQgF,GAAI,MAAOlF,MAAO,WAAWb,SAAA,CAAA,IAClE,QADkE6E,EAC7EZ,EAAK+B,cAAMnB,IAAAA,EAAAA,EAAI,EAAC,iBAIxB5E,EAACgG,EAAU,CAACC,KAAK,QAAQ/F,QAAS,WAAF,IAAAgG,EAAAC,EAAA,eAAAD,GAAQC,EAAA3G,EAAKD,OAAM6G,oBAAY,IAAAF,OAAA,EAAvBA,EAAAG,KAAAF,EAA0BnC,EAAK,EAAE3B,GAAI,CAAEzB,MAAO,WACpFb,SAAAC,EAACsG,EAAa,CAAA,UAGnB3G,EAAAH,EAEQ,SAAA,SAAC+G,GACR/G,EAAKgH,SAAS,CAAEvF,SAAUsF,MAC3B5G,EAAAH,EAAA,UAES,WACRA,EAAKgH,SAAS,CAAEvF,SAAU,SApH1BzB,EAAKgB,MAAQ,CAAES,SAAU,KAAMR,UAAU,GAAOjB,CAClD,CAAC,OAAAiH,EAAAnH,EAJ6BoH,GAI7BC,EAAArH,EAAA,CAAA,CAAAsH,IAAA,QAAAC,IAED,WAAS,IAAAC,EACP,OAAuB,QAAvBA,EAAOC,KAAKxH,MAAMmB,aAAK,IAAAoG,EAAAA,EAAI,EAC7B,GAAC,CAAAF,IAAA,oBAAAI,MAED,WAEED,KAAKP,SAAS,CAAE/F,UAAU,GAC5B,IAAC,IA8GUwG,EAAmB,SAACC,GAC/B,IAAMC,EAA6C,SAAC5H,GAAK,OAAKS,EAACV,EAAUiE,EAAAA,EAAA,CAAA,EAAK2D,GAAY3H,GAAS,EAEnG,OADA4H,EAAYC,YAAc,aACnBD,CACT"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as e,jsx as l}from"react/jsx-runtime";import{styled as t,Stack as a,colors as c,Typography as o}from"@mui/material";var s=function(r){var t;return e(i,{sx:r.sx,children:[e(n,{children:[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",width:96,viewBox:"0 0 452 257","aria-hidden":!0,focusable:"false",children:[l("path",{className:"no-rows-primary",d:"M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z"}),l("path",{className:"no-rows-primary",d:"M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z"}),l("path",{className:"no-rows-primary",d:"M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z"}),l("path",{className:"no-rows-secondary",d:"M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z"})]}),l(o,{variant:"h6",color:"text.secondary",gutterBottom:!0,children:null!==(t=r.title)&&void 0!==t?t:"No data available"})]}),r.subTitle&&l(o,{variant:"body2",color:"text.secondary",children:r.subTitle})]})},i=t(a)({padding:"24px 12px",textAlign:"center",border:"1px dashed",borderColor:c.grey[400],borderRadius:"6px",justifyContent:"center"}),n=t("div")(function(e){var l=e.theme;return{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center","& .no-rows-primary":r({fill:"#3D4751"},l.applyStyles("light",{fill:"#AEB8C2"})),"& .no-rows-secondary":r({fill:"#1D2126"},l.applyStyles("light",{fill:"#E8EAED"}))}});export{s as NoDataPanel,s as default};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{styled as t,Stack as a,colors as c,Typography as o}from"@mui/material";var s=function(t){var a;return e(l,{sx:t.sx,children:[e(n,{children:[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",width:96,viewBox:"0 0 452 257","aria-hidden":!0,focusable:"false",children:[r("path",{className:"no-rows-primary",d:"M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z"}),r("path",{className:"no-rows-primary",d:"M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z"}),r("path",{className:"no-rows-primary",d:"M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z"}),r("path",{className:"no-rows-secondary",d:"M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z"})]}),r(o,{variant:"h6",color:"text.secondary",gutterBottom:!0,children:null!==(a=t.title)&&void 0!==a?a:"No data available"})]}),t.subTitle&&r(o,{variant:"body2",color:"text.secondary",children:t.subTitle})]})},l=t(a)({padding:"24px 12px",textAlign:"center",border:"1px dashed",borderColor:c.grey[400],borderRadius:"6px",justifyContent:"center"}),n=t("div")(function(e){var r=e.theme;return{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center","& .no-rows-primary":{fill:"dark"===r.palette.mode?"#9BA6B0":"#AEB8C2"},"& .no-rows-secondary":{fill:"dark"===r.palette.mode?"#5A6570":"#E8EAED"}}});export{s as NoDataPanel,s as default};
2
2
  //# sourceMappingURL=no-data-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-data-panel.js","sources":["../../src/components/no-data-panel.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { BoxProps, colors, Stack, styled, Typography } from '@mui/material'\r\n\r\nexport interface INoDataProps {\r\n title?: string\r\n subTitle?: string\r\n sx?: BoxProps['sx']\r\n}\r\n\r\nexport const NoDataPanel: FC<INoDataProps> = (props) => (\r\n <LoadingNoDataWrap sx={props.sx}>\r\n <StyledGridOverlay>\r\n <svg xmlns='http://www.w3.org/2000/svg' fill='none' width={96} viewBox='0 0 452 257' aria-hidden focusable='false'>\r\n <path\r\n className='no-rows-primary'\r\n d='M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z'\r\n />\r\n <path\r\n className='no-rows-secondary'\r\n d='M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z'\r\n />\r\n </svg>\r\n <Typography variant='h6' color='text.secondary' gutterBottom>\r\n {props.title ?? 'No data available'}\r\n </Typography>\r\n </StyledGridOverlay>\r\n {props.subTitle && (\r\n <Typography variant='body2' color='text.secondary'>\r\n {props.subTitle}\r\n </Typography>\r\n )}\r\n </LoadingNoDataWrap>\r\n)\r\nexport default NoDataPanel\r\n\r\nconst LoadingNoDataWrap = styled(Stack)({\r\n padding: '24px 12px',\r\n textAlign: 'center',\r\n border: '1px dashed',\r\n borderColor: colors.grey[400],\r\n borderRadius: '6px',\r\n justifyContent: 'center'\r\n})\r\n\r\nconst StyledGridOverlay = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '& .no-rows-primary': {\r\n fill: '#3D4751',\r\n ...theme.applyStyles('light', {\r\n fill: '#AEB8C2'\r\n })\r\n },\r\n '& .no-rows-secondary': {\r\n fill: '#1D2126',\r\n ...theme.applyStyles('light', { fill: '#E8EAED' })\r\n }\r\n}))\r\n"],"names":["NoDataPanel","props","_props$title","_jsxs","LoadingNoDataWrap","sx","children","StyledGridOverlay","xmlns","fill","width","viewBox","focusable","_jsx","className","d","Typography","variant","color","gutterBottom","title","subTitle","styled","Stack","padding","textAlign","border","borderColor","colors","grey","borderRadius","justifyContent","_ref","theme","display","flexDirection","alignItems","_objectSpread","applyStyles"],"mappings":"6MASaA,EAAgC,SAACC,GAAK,IAAAC,EAAA,OACjDC,EAACC,EAAkB,CAAAC,GAAIJ,EAAMI,GAC3BC,SAAA,CAAAH,EAACI,EAAiB,CAAAD,SAAA,CAChBH,EAAK,MAAA,CAAAK,MAAM,6BAA6BC,KAAK,OAAOC,MAAO,GAAIC,QAAQ,cAAa,eAAA,EAAaC,UAAU,QAAON,SAAA,CAChHO,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,qLAEJF,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,wLAEJF,EAAA,OAAA,CACEC,UAAU,kBACVC,EAAE,yLAEJF,EAAA,OAAA,CACEC,UAAU,oBACVC,EAAE,4lBAGNF,EAACG,EAAW,CAAAC,QAAQ,KAAKC,MAAM,iBAAiBC,cAAY,EAAAb,SAC9CJ,QAD8CA,EACzDD,EAAMmB,aAAKlB,IAAAA,EAAAA,EAAI,yBAGnBD,EAAMoB,UACLR,EAACG,EAAU,CAACC,QAAQ,QAAQC,MAAM,iBAAgBZ,SAC/CL,EAAMoB,aAGO,EAIhBjB,EAAoBkB,EAAOC,EAAPD,CAAc,CACtCE,QAAS,YACTC,UAAW,SACXC,OAAQ,aACRC,YAAaC,EAAOC,KAAK,KACzBC,aAAc,MACdC,eAAgB,WAGZxB,EAAoBe,EAAO,MAAPA,CAAc,SAAAU,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACtDC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZL,eAAgB,SAChB,qBAAoBM,EAAA,CAClB5B,KAAM,WACHwB,EAAMK,YAAY,QAAS,CAC5B7B,KAAM,aAGV,uBAAsB4B,EAAA,CACpB5B,KAAM,WACHwB,EAAMK,YAAY,QAAS,CAAE7B,KAAM,aAEzC"}
1
+ {"version":3,"file":"no-data-panel.js","sources":["../../src/components/no-data-panel.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { BoxProps, colors, Stack, styled, Typography } from '@mui/material'\r\n\r\nexport interface INoDataProps {\r\n title?: string\r\n subTitle?: string\r\n sx?: BoxProps['sx']\r\n}\r\n\r\nexport const NoDataPanel: FC<INoDataProps> = (props) => (\r\n <LoadingNoDataWrap sx={props.sx}>\r\n <StyledGridOverlay>\r\n <svg xmlns='http://www.w3.org/2000/svg' fill='none' width={96} viewBox='0 0 452 257' aria-hidden focusable='false'>\r\n <path\r\n className='no-rows-primary'\r\n d='M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z'\r\n />\r\n <path\r\n className='no-rows-secondary'\r\n d='M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z'\r\n />\r\n </svg>\r\n <Typography variant='h6' color='text.secondary' gutterBottom>\r\n {props.title ?? 'No data available'}\r\n </Typography>\r\n </StyledGridOverlay>\r\n {props.subTitle && (\r\n <Typography variant='body2' color='text.secondary'>\r\n {props.subTitle}\r\n </Typography>\r\n )}\r\n </LoadingNoDataWrap>\r\n)\r\nexport default NoDataPanel\r\n\r\nconst LoadingNoDataWrap = styled(Stack)({\r\n padding: '24px 12px',\r\n textAlign: 'center',\r\n border: '1px dashed',\r\n borderColor: colors.grey[400],\r\n borderRadius: '6px',\r\n justifyContent: 'center'\r\n})\r\n\r\nconst StyledGridOverlay = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '& .no-rows-primary': {\r\n fill: theme.palette.mode === 'dark' ? '#9BA6B0' : '#AEB8C2'\r\n },\r\n '& .no-rows-secondary': {\r\n fill: theme.palette.mode === 'dark' ? '#5A6570' : '#E8EAED'\r\n }\r\n}))\r\n"],"names":["NoDataPanel","props","_props$title","_jsxs","LoadingNoDataWrap","sx","children","StyledGridOverlay","xmlns","fill","width","viewBox","focusable","_jsx","className","d","Typography","variant","color","gutterBottom","title","subTitle","styled","Stack","padding","textAlign","border","borderColor","colors","grey","borderRadius","justifyContent","_ref","theme","display","flexDirection","alignItems","palette","mode"],"mappings":"oIASaA,EAAgC,SAACC,GAAK,IAAAC,EAAA,OACjDC,EAACC,EAAkB,CAAAC,GAAIJ,EAAMI,GAC3BC,SAAA,CAAAH,EAACI,EAAiB,CAAAD,SAAA,CAChBH,EAAK,MAAA,CAAAK,MAAM,6BAA6BC,KAAK,OAAOC,MAAO,GAAIC,QAAQ,cAAa,eAAA,EAAaC,UAAU,QAAON,SAAA,CAChHO,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,qLAEJF,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,wLAEJF,EAAA,OAAA,CACEC,UAAU,kBACVC,EAAE,yLAEJF,EAAA,OAAA,CACEC,UAAU,oBACVC,EAAE,4lBAGNF,EAACG,EAAW,CAAAC,QAAQ,KAAKC,MAAM,iBAAiBC,cAAY,EAAAb,SAC9CJ,QAD8CA,EACzDD,EAAMmB,aAAKlB,IAAAA,EAAAA,EAAI,yBAGnBD,EAAMoB,UACLR,EAACG,EAAU,CAACC,QAAQ,QAAQC,MAAM,iBAAgBZ,SAC/CL,EAAMoB,aAGO,EAIhBjB,EAAoBkB,EAAOC,EAAPD,CAAc,CACtCE,QAAS,YACTC,UAAW,SACXC,OAAQ,aACRC,YAAaC,EAAOC,KAAK,KACzBC,aAAc,MACdC,eAAgB,WAGZxB,EAAoBe,EAAO,MAAPA,CAAc,SAAAU,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACtDC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZL,eAAgB,SAChB,qBAAsB,CACpBtB,KAA6B,SAAvBwB,EAAMI,QAAQC,KAAkB,UAAY,WAEpD,uBAAwB,CACtB7B,KAA6B,SAAvBwB,EAAMI,QAAQC,KAAkB,UAAY,WAErD"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as n,classCallCheck as i,callSuper as o,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import{Container as c,Grid as m,Typography as p,Divider as d,Box as h,IconButton as u}from"@mui/material";import{AppLogo as v}from"./app-logo.js";import{TextLineBreak as f}from"./ui.units.js";import{FooterStyled as g,appFooterClasses as k,AppFooterNav as N}from"./app-footer.styled.js";import{getFooterNavConfigs as x,bgFooterUrl as b,appLogoUrl as C,footerDescription as y,appSocialConfigs as F,getCopyrightText as j}from"./configs.js";var I=function(){function I(){var r;i(this,I);for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return r=o(this,I,[].concat(n)),t(r,"handleNavItemClick",function(e,n){r.props.onNavItemClick&&n&&r.props.onNavItemClick(e,n)}),r}return r(I,s),e(I,[{key:"render",value:function(){var r,e,i,o=this,t=x(this.props.baseUrl);return l(g,n(n({className:k.root},null===(r=this.props.slots)||void 0===r?void 0:r.footerElementProps),{},{children:[a("img",{src:null!==(e=this.props.backgroundUrl)&&void 0!==e?e:b,alt:"Footer Background",className:k.background,loading:"lazy"}),l(c,{maxWidth:!1,className:k.content,children:[l(m,{container:!0,children:[l(m,{item:!0,xs:12,lg:7,children:[a(v,{src:null!==(i=this.props.logoUrl)&&void 0!==i?i:C,href:this.props.baseUrl.home,className:k.appLogo}),a(p,{variant:"subtitle1",className:k.description,children:a(f,{children:y})})]}),a(m,{item:!0,xs:12,lg:5,children:a(N,{children:a(m,{container:!0,children:t.map(function(r,e){return a(m,{item:!0,xs:12,md:6,children:a("ul",{children:r.map(function(r,e){var n,i,t;return a("li",{className:k.navItem,children:a(p,{variant:"h5",className:k.navItemText,component:"a",href:null!==(n=null===(i=r.navLink)||void 0===i?void 0:i.href)&&void 0!==n?n:"/",target:null===(t=r.navLink)||void 0===t?void 0:t.target,onClick:function(e){return o.handleNavItemClick(e,r.navLink)},children:a("span",{children:r.title})})},e)})})},e)})})})})]}),l("div",{className:k.copyright,children:[a(d,{sx:{borderColor:"#1E1E1E",mt:{xs:"20px",md:"80px"}}}),a("ul",{className:k.socialList,children:F.map(function(r,e){var i=n({"--social-color-hover":r.color||"#FFFFFF"},r.sx);return a(h,{component:"li",sx:i,children:a(u,{component:"a",href:r.link,target:"_blank",rel:"noopener noreferrer",children:r.icon})},e)})}),a("div",{className:k.copyrightText,children:a(p,{variant:"subtitle1",children:j()})})]})]})]}))}}])}(),L=function(r){var e=function(e){return a(I,n(n({},r),e))};return e.displayName="AppFooter",e};export{I as AppFooter,L as createAppFooter,I as default};
1
+ import{inherits as r,createClass as e,objectSpread2 as n,classCallCheck as i,callSuper as o,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as l}from"react/jsx-runtime";import{Component as s}from"react";import{Container as c,Grid as m,Typography as p,Divider as d,Box as h,IconButton as u}from"@mui/material";import{AppLogo as v}from"./app-logo.js";import{TextLineBreak as f}from"./ui.units.js";import{FooterStyled as g,appFooterClasses as k,AppFooterNav as N}from"./app-footer.styled.js";import{getFooterNavConfigs as x,bgFooterUrl as b,appLogoUrl as C,footerDescription as y,appSocialConfigs as F,getCopyrightText as j}from"./configs.js";var I=function(){function I(){var r;i(this,I);for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return r=o(this,I,[].concat(n)),t(r,"handleNavItemClick",function(e,n){r.props.onNavItemClick&&n&&r.props.onNavItemClick(e,n)}),r}return r(I,s),e(I,[{key:"render",value:function(){var r,e,i,o=this,t=x(this.props.baseUrl);return a(g,n(n({className:k.root},null===(r=this.props.slots)||void 0===r?void 0:r.footerElementProps),{},{children:[l("img",{src:null!==(e=this.props.backgroundUrl)&&void 0!==e?e:b,alt:"Footer Background",className:k.background,loading:"lazy"}),a(c,{maxWidth:!1,className:k.content,children:[a(m,{container:!0,children:[a(m,{item:!0,xs:12,lg:7,children:[l(v,{src:null!==(i=this.props.logoUrl)&&void 0!==i?i:C,href:this.props.baseUrl.home,className:k.appLogo}),l(p,{variant:"subtitle1",className:k.description,children:l(f,{children:y})})]}),l(m,{item:!0,xs:12,lg:5,children:l(N,{children:l(m,{container:!0,children:t.map(function(r,e){return l(m,{item:!0,xs:12,md:6,children:l("ul",{children:r.map(function(r,e){var n,i,t;return l("li",{className:k.navItem,children:l(p,{variant:"h5",className:k.navItemText,component:"a",href:null!==(n=null===(i=r.navLink)||void 0===i?void 0:i.href)&&void 0!==n?n:"/",target:null===(t=r.navLink)||void 0===t?void 0:t.target,onClick:function(e){return o.handleNavItemClick(e,r.navLink)},children:l("span",{children:r.title})})},e)})})},e)})})})})]}),a("div",{className:k.copyright,children:[l(d,{sx:{borderColor:"#1E1E1E",mt:{xs:"20px",md:"80px"}}}),l("ul",{className:k.socialList,children:F.map(function(r,e){var i=n({"--social-color-hover":r.color||"#FFFFFF"},r.sx);return l(h,{component:"li",sx:i,children:l(u,{component:"a",href:r.link,target:"_blank",rel:"noopener noreferrer",children:r.icon})},e)})}),l("div",{className:k.copyrightText,children:l(p,{variant:"subtitle1",children:j()})})]})]})]}))}}])}(),L=function(r){var e=function(e){return l(I,n(n({},r),e))};return e.displayName="AppFooter",e};export{I as AppFooter,L as createAppFooter,I as default};
2
2
  //# sourceMappingURL=app-footer.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as s,objectSpread2 as e,classCallCheck as o,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{Component as l}from"react";import{Container as n,Stack as p}from"@mui/material";import{AppLogo as m}from"./app-logo.js";import{appHeaderClasses as c,HeaderStyled as h}from"./app-header.styled.js";import{appLogoUrl as d,getHeaderMenuConfigs as f,getHeaderNavConfigs as u}from"./configs.js";import g from"./mobile-menu.js";import v from"./app-header.nav.js";var x=function(){function e(r){var s;return o(this,e),(s=i(this,e,[r])).configs={navs:u(r.baseUrl),menu:f(r.baseUrl)},s}return r(e,l),s(e,[{key:"render",value:function(){var r,s,e=this.props.isFixed,o=[c.root];return!1!==e&&o.push(c.fixed),t(h,{className:o.join(" "),children:t("div",{className:c.rootFixed,children:a(n,{maxWidth:!1,className:c.content,sx:{height:"100%"},children:[t(m,{src:null!==(r=this.props.logoUrl)&&void 0!==r?r:d,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),a(p,{direction:"row",alignItems:"center",spacing:2,children:[t(v,{configs:this.configs,onNavItemClick:this.props.onNavItemClick,sx:{display:{xs:"none",lg:"flex"}},slots:null===(s=this.props.slots)||void 0===s?void 0:s.navItem}),a(p,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,t(g,{baseUrl:this.props.baseUrl,logoUrl:this.props.logoUrl})]})]})]})})})}}])}(),j=function(r){var s=function(s){return t(x,e({},e(e(e({},r),s),{},{slots:e(e({},r.slots),s.slots)})))};return s.displayName="AppHeader",s};export{x as AppHeader,j as createAppHeader,x as default};
1
+ import{inherits as r,createClass as s,classCallCheck as e,callSuper as o,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{Component as l}from"react";import{Container as n,Stack as p}from"@mui/material";import{AppLogo as m}from"./app-logo.js";import{appHeaderClasses as c,HeaderStyled as h}from"./app-header.styled.js";import{appLogoUrl as d,getHeaderMenuConfigs as f,getHeaderNavConfigs as u}from"./configs.js";import g from"./mobile-menu.js";import v from"./app-header.nav.js";var x=function(){function i(r){var s;return e(this,i),(s=o(this,i,[r])).configs={navs:u(r.baseUrl),menu:f(r.baseUrl)},s}return r(i,l),s(i,[{key:"render",value:function(){var r,s,e=this.props.isFixed,o=[c.root];return!1!==e&&o.push(c.fixed),t(h,{className:o.join(" "),children:t("div",{className:c.rootFixed,children:a(n,{maxWidth:!1,className:c.content,sx:{height:"100%"},children:[t(m,{src:null!==(r=this.props.logoUrl)&&void 0!==r?r:d,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),a(p,{direction:"row",alignItems:"center",spacing:2,children:[t(v,{configs:this.configs,onNavItemClick:this.props.onNavItemClick,sx:{display:{xs:"none",lg:"flex"}},slots:null===(s=this.props.slots)||void 0===s?void 0:s.navItem}),a(p,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,t(g,{baseUrl:this.props.baseUrl,logoUrl:this.props.logoUrl})]})]})]})})})}}])}(),j=function(r){var s=function(s){return t(x,i({},i(i(i({},r),s),{},{slots:i(i({},r.slots),s.slots)})))};return s.displayName="AppHeader",s};export{x as AppHeader,j as createAppHeader,x as default};
2
2
  //# sourceMappingURL=app-header.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as n,createClass as e,objectSpread2 as t,classCallCheck as r,callSuper as o,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import c from"@mui/icons-material/ExpandMore";import{NavStyled as m,appHeaderClasses as u}from"./app-header.styled.js";import{ButtonAnimation as p}from"./animated-tabs.units.js";import v from"./sub-menu.js";var d=function(){function d(){var n;r(this,d);for(var e=arguments.length,i=new Array(e),l=0;l<e;l++)i[l]=arguments[l];return n=o(this,d,[].concat(i)),a(n,"getButtonNavProps",function(e){var r,o,a=(n.props.slots||{}).buttonNavProps,i="function"==typeof a?a(e):null!=a?a:{},l=t({},e.options);e.navLink&&!i.component&&(l.component="a",l.href=null!==(r=null===(o=e.navLink)||void 0===o?void 0:o.href)&&void 0!==r?r:"/",l.onClick=function(t){return n.handleClickNavItem(t,e)});return console.log({nav:e,props:t(t({},l),i)}),t(t({},l),i)}),a(n,"handleClickNavItem",function(e,t){null!=t&&t.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,t.navLink)}),n}return n(d,s),e(d,[{key:"render",value:function(){var n,e,r=this,o=this.props.configs,a=o.navs,s=o.menu;return i(m,{sx:this.props.sx,children:l("ul",{className:u.navItems,children:[a.map(function(n,e){return i("li",{className:u.navItem,children:i(p,t(t({forceTheme:"dark"},r.getButtonNavProps(n)),{},{children:n.title}))},e)}),i("li",{className:u.navItem,children:i(v,{menu:s,onNavItemClick:this.props.onNavItemClick,children:i(p,t(t({forceTheme:"dark",endIcon:i(c,{className:u.navItemIcon})},null!==(n=s[0])&&void 0!==n&&null!==(n=n.items)&&void 0!==n&&n[0]?this.getButtonNavProps(null===(e=s[0])||void 0===e||null===(e=e.items)||void 0===e?void 0:e[0]):{}),{},{children:"Get Started"}))})})]})})}}])}();export{d as default};
1
+ import{inherits as n,createClass as e,objectSpread2 as t,classCallCheck as r,callSuper as o,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import c from"@mui/icons-material/ExpandMore";import{NavStyled as m,appHeaderClasses as u}from"./app-header.styled.js";import{ButtonAnimation as p}from"./animated-tabs.units.js";import v from"./sub-menu.js";var d=function(){function d(){var n;r(this,d);for(var e=arguments.length,i=new Array(e),l=0;l<e;l++)i[l]=arguments[l];return n=o(this,d,[].concat(i)),a(n,"getButtonNavProps",function(e){var r,o,a=(n.props.slots||{}).buttonNavProps,i="function"==typeof a?a(e):null!=a?a:{},l=t({},e.options);e.navLink&&!i.component&&(l.component="a",l.href=null!==(r=null===(o=e.navLink)||void 0===o?void 0:o.href)&&void 0!==r?r:"/",l.onClick=function(t){return n.handleClickNavItem(t,e)});return t(t({},l),i)}),a(n,"handleClickNavItem",function(e,t){null!=t&&t.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,t.navLink)}),n}return n(d,s),e(d,[{key:"render",value:function(){var n,e,r=this,o=this.props.configs,a=o.navs,s=o.menu;return i(m,{sx:this.props.sx,children:l("ul",{className:u.navItems,children:[a.map(function(n,e){return i("li",{className:u.navItem,children:i(p,t(t({forceTheme:"dark"},r.getButtonNavProps(n)),{},{children:n.title}))},e)}),i("li",{className:u.navItem,children:i(v,{menu:s,onNavItemClick:this.props.onNavItemClick,children:i(p,t(t({forceTheme:"dark",endIcon:i(c,{className:u.navItemIcon})},null!==(n=s[0])&&void 0!==n&&null!==(n=n.items)&&void 0!==n&&n[0]?this.getButtonNavProps(null===(e=s[0])||void 0===e||null===(e=e.items)||void 0===e?void 0:e[0]):{}),{},{children:"Get Started"}))})})]})})}}])}();export{d as default};
2
2
  //# sourceMappingURL=app-header.nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.nav.js","sources":["../../src/layout-global/app-header.nav.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { MouseEvent as RMouseEvent } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport type { IAppMenu, IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu from './sub-menu'\r\n\r\nexport interface IHeaderNavConfigs {\r\n navs: IAppNav[]\r\n menu: IAppMenu[]\r\n}\r\n\r\nexport interface IAppHeaderNavSlots {\r\n buttonNavProps?: Partial<IButtonAnimationProps> | ((item: IAppNav) => Partial<IButtonAnimationProps>)\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IHeaderNavConfigs\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps> {\r\n render() {\r\n const { navs, menu } = this.props.configs\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {navs.map((item, index) => (\r\n <li key={index} className={appHeaderClasses.navItem}>\r\n <ButtonAnimation forceTheme='dark' {...this.getButtonNavProps(item)}>\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n <li className={appHeaderClasses.navItem}>\r\n <SubMenu menu={menu} onNavItemClick={this.props.onNavItemClick}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={<ExpandMoreIcon className={appHeaderClasses.navItemIcon} />}\r\n {...(menu[0]?.items?.[0] ? this.getButtonNavProps(menu[0]?.items?.[0]) : {})}\r\n >\r\n Get Started\r\n </ButtonAnimation>\r\n </SubMenu>\r\n </li>\r\n </ul>\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { buttonNavProps } = this.props.slots || {}\r\n const outsideProps = typeof buttonNavProps === 'function' ? buttonNavProps(item) : buttonNavProps ?? {}\r\n\r\n // Base props from item\r\n const base: Partial<IButtonAnimationProps & { [key: string]: any }> = { ...item.options }\r\n\r\n // Add link if item has navLink and outside hasn't set it\r\n if (item.navLink && !(outsideProps as any).component) {\r\n base.component = 'a'\r\n base.href = item.navLink?.href ?? '/'\r\n base.onClick = (e: any) => this.handleClickNavItem(e, item)\r\n }\r\n console.log({ nav: item, props: { ...base, ...outsideProps } })\r\n\r\n return { ...base, ...outsideProps }\r\n }\r\n\r\n handleClickNavItem = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav?: IAppNav) => {\r\n if (nav?.navLink && this.props.onNavItemClick) {\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","_item$navLink$href","_item$navLink","buttonNavProps","props","slots","outsideProps","base","_objectSpread","options","navLink","component","href","onClick","e","handleClickNavItem","console","log","nav","onNavItemClick","_inherits","Component","_createClass","key","value","_menu$","_menu$2","_this2","_this$props$configs","configs","navs","menu","_jsx","NavStyled","sx","children","_jsxs","className","appHeaderClasses","navItems","map","index","navItem","ButtonAnimation","forceTheme","getButtonNavProps","title","SubMenu","endIcon","ExpandMoreIcon","navItemIcon","items"],"mappings":"kcAyBMA,IAAAA,aAAa,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAmDhB,OAnDgBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EA6BG,oBAAA,SAACY,GACnB,IAOsDC,EAAAC,EAP9CC,GAAmBf,EAAKgB,MAAMC,OAAS,CAAE,GAAzCF,eACFG,EAAyC,mBAAnBH,EAAgCA,EAAeH,GAAQG,QAAAA,EAAkB,CAAE,EAGjGI,EAAIC,KAAiER,EAAKS,SAG5ET,EAAKU,UAAaJ,EAAqBK,YACzCJ,EAAKI,UAAY,IACjBJ,EAAKK,aAAIX,UAAAC,EAAGF,EAAKU,eAAO,IAAAR,OAAA,EAAZA,EAAcU,YAAI,IAAAX,EAAAA,EAAI,IAClCM,EAAKM,QAAU,SAACC,GAAM,OAAK1B,EAAK2B,mBAAmBD,EAAGd,EAAK,GAI7D,OAFAgB,QAAQC,IAAI,CAAEC,IAAKlB,EAAMI,MAAKI,EAAAA,EAAOD,CAAAA,EAAAA,GAASD,KAE9CE,EAAAA,EAAYD,CAAAA,EAAAA,GAASD,KACtBP,EAAAX,EAAA,qBAEoB,SAAC0B,EAA+CI,GAC/DA,SAAAA,EAAKR,SAAWtB,EAAKgB,MAAMe,gBAC7B/B,EAAKgB,MAAMe,eAAeL,EAAGI,EAAIR,WAEpCtB,CAAA,CAAA,OAAAgC,EAAAjC,EAnDwBkC,GAmDxBC,EAAAnC,EAAA,CAAA,CAAAoC,IAAA,SAAAC,MAlDD,WAAM,IAAAC,EAAAC,EAAAC,EAAA9B,KACJ+B,EAAuB/B,KAAKO,MAAMyB,QAA1BC,EAAIF,EAAJE,KAAMC,EAAIH,EAAJG,KACd,OACEC,EAACC,EAAS,CAACC,GAAIrC,KAAKO,MAAM8B,GACxBC,SAAAC,EAAA,KAAA,CAAIC,UAAWC,EAAiBC,SAC7BJ,SAAA,CAAAL,EAAKU,IAAI,SAACxC,EAAMyC,GAAK,OACpBT,QAAgBK,UAAWC,EAAiBI,QAAOP,SACjDH,EAACW,EAAenC,EAAAA,EAAA,CAACoC,WAAW,QAAWjB,EAAKkB,kBAAkB7C,IAAK,CAAA,EAAA,CAAAmC,SAChEnC,EAAK8C,UAFDL,EAIJ,GAEPT,EAAA,KAAA,CAAIK,UAAWC,EAAiBI,iBAC9BV,EAACe,EAAQ,CAAAhB,KAAMA,EAAMZ,eAAgBtB,KAAKO,MAAMe,eAAcgB,SAC5DH,EAACW,EAAenC,EAAAA,EAAA,CACdoC,WAAW,OACXI,QAAShB,EAACiB,GAAeZ,UAAWC,EAAiBY,eACzCzB,QAAPA,EAAAM,EAAK,UAAEN,IAAAA,GAAO,QAAPA,EAAPA,EAAS0B,aAAK,IAAA1B,GAAdA,EAAiB,GAAK5B,KAAKgD,kBAAyBnB,QAARA,EAACK,EAAK,UAAEL,IAAAA,GAAO,QAAPA,EAAPA,EAASyB,aAAK,IAAAzB,OAAA,EAAdA,EAAiB,IAAM,CAAA,GAAE,GAAA,mCASzF,IAAC"}
1
+ {"version":3,"file":"app-header.nav.js","sources":["../../src/layout-global/app-header.nav.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { MouseEvent as RMouseEvent } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport type { IAppMenu, IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu from './sub-menu'\r\n\r\nexport interface IHeaderNavConfigs {\r\n navs: IAppNav[]\r\n menu: IAppMenu[]\r\n}\r\n\r\nexport interface IAppHeaderNavSlots {\r\n buttonNavProps?: Partial<IButtonAnimationProps> | ((item: IAppNav) => Partial<IButtonAnimationProps>)\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IHeaderNavConfigs\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps> {\r\n render() {\r\n const { navs, menu } = this.props.configs\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {navs.map((item, index) => (\r\n <li key={index} className={appHeaderClasses.navItem}>\r\n <ButtonAnimation forceTheme='dark' {...this.getButtonNavProps(item)}>\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n <li className={appHeaderClasses.navItem}>\r\n <SubMenu menu={menu} onNavItemClick={this.props.onNavItemClick}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={<ExpandMoreIcon className={appHeaderClasses.navItemIcon} />}\r\n {...(menu[0]?.items?.[0] ? this.getButtonNavProps(menu[0]?.items?.[0]) : {})}\r\n >\r\n Get Started\r\n </ButtonAnimation>\r\n </SubMenu>\r\n </li>\r\n </ul>\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { buttonNavProps } = this.props.slots || {}\r\n const outsideProps = typeof buttonNavProps === 'function' ? buttonNavProps(item) : buttonNavProps ?? {}\r\n\r\n // Base props from item\r\n const base: Partial<IButtonAnimationProps & { [key: string]: any }> = { ...item.options }\r\n\r\n // Add link if item has navLink and outside hasn't set it\r\n if (item.navLink && !(outsideProps as any).component) {\r\n base.component = 'a'\r\n base.href = item.navLink?.href ?? '/'\r\n base.onClick = (e: any) => this.handleClickNavItem(e, item)\r\n }\r\n return { ...base, ...outsideProps }\r\n }\r\n\r\n handleClickNavItem = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav?: IAppNav) => {\r\n if (nav?.navLink && this.props.onNavItemClick) {\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","_item$navLink$href","_item$navLink","buttonNavProps","props","slots","outsideProps","base","_objectSpread","options","navLink","component","href","onClick","e","handleClickNavItem","nav","onNavItemClick","_inherits","Component","_createClass","key","value","_menu$","_menu$2","_this2","_this$props$configs","configs","navs","menu","_jsx","NavStyled","sx","children","_jsxs","className","appHeaderClasses","navItems","map","index","navItem","ButtonAnimation","forceTheme","getButtonNavProps","title","SubMenu","endIcon","ExpandMoreIcon","navItemIcon","items"],"mappings":"kcAyBMA,IAAAA,aAAa,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAiDhB,OAjDgBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EA6BG,oBAAA,SAACY,GACnB,IAOsDC,EAAAC,EAP9CC,GAAmBf,EAAKgB,MAAMC,OAAS,CAAE,GAAzCF,eACFG,EAAyC,mBAAnBH,EAAgCA,EAAeH,GAAQG,QAAAA,EAAkB,CAAE,EAGjGI,EAAIC,KAAiER,EAAKS,SAG5ET,EAAKU,UAAaJ,EAAqBK,YACzCJ,EAAKI,UAAY,IACjBJ,EAAKK,aAAIX,UAAAC,EAAGF,EAAKU,eAAO,IAAAR,OAAA,EAAZA,EAAcU,YAAI,IAAAX,EAAAA,EAAI,IAClCM,EAAKM,QAAU,SAACC,GAAM,OAAK1B,EAAK2B,mBAAmBD,EAAGd,EAAK,GAE7D,OAAAQ,EAAAA,EAAYD,CAAAA,EAAAA,GAASD,KACtBP,EAAAX,EAAA,qBAEoB,SAAC0B,EAA+CE,GAC/DA,SAAAA,EAAKN,SAAWtB,EAAKgB,MAAMa,gBAC7B7B,EAAKgB,MAAMa,eAAeH,EAAGE,EAAIN,WAEpCtB,CAAA,CAAA,OAAA8B,EAAA/B,EAjDwBgC,GAiDxBC,EAAAjC,EAAA,CAAA,CAAAkC,IAAA,SAAAC,MAhDD,WAAM,IAAAC,EAAAC,EAAAC,EAAA5B,KACJ6B,EAAuB7B,KAAKO,MAAMuB,QAA1BC,EAAIF,EAAJE,KAAMC,EAAIH,EAAJG,KACd,OACEC,EAACC,EAAS,CAACC,GAAInC,KAAKO,MAAM4B,GACxBC,SAAAC,EAAA,KAAA,CAAIC,UAAWC,EAAiBC,SAC7BJ,SAAA,CAAAL,EAAKU,IAAI,SAACtC,EAAMuC,GAAK,OACpBT,QAAgBK,UAAWC,EAAiBI,QAAOP,SACjDH,EAACW,EAAejC,EAAAA,EAAA,CAACkC,WAAW,QAAWjB,EAAKkB,kBAAkB3C,IAAK,CAAA,EAAA,CAAAiC,SAChEjC,EAAK4C,UAFDL,EAIJ,GAEPT,EAAA,KAAA,CAAIK,UAAWC,EAAiBI,iBAC9BV,EAACe,EAAQ,CAAAhB,KAAMA,EAAMZ,eAAgBpB,KAAKO,MAAMa,eAAcgB,SAC5DH,EAACW,EAAejC,EAAAA,EAAA,CACdkC,WAAW,OACXI,QAAShB,EAACiB,GAAeZ,UAAWC,EAAiBY,eACzCzB,QAAPA,EAAAM,EAAK,UAAEN,IAAAA,GAAO,QAAPA,EAAPA,EAAS0B,aAAK,IAAA1B,GAAdA,EAAiB,GAAK1B,KAAK8C,kBAAyBnB,QAARA,EAACK,EAAK,UAAEL,IAAAA,GAAO,QAAPA,EAAPA,EAASyB,aAAK,IAAAzB,OAAA,EAAdA,EAAiB,IAAM,CAAA,GAAE,GAAA,mCASzF,IAAC"}
@@ -1,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import{createTheme as e,ThemeProvider as n}from"@mui/material";var i=function(t){return Math.round(1e4*t)/1e4},o=function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e({palette:{mode:"light",primary:{main:"#1976d2",contrastText:"#fff"},secondary:{main:"#f48fb1"},background:{default:"#ffffff",paper:"#fff"},text:{primary:"#222",secondary:"#555"}},typography:{fontFamily:"var(".concat(t,"), Arial, sans-serif"),fontSize:i(16*o),fontWeightLight:300,fontWeightRegular:400,fontWeightMedium:500,fontWeightBold:700,h1:{fontSize:"".concat(i(6*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.167},h2:{fontSize:"".concat(i(3.75*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.2},h3:{fontSize:"".concat(i(3*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.167},h4:{fontSize:"".concat(i(2.125*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.235},h5:{fontSize:"".concat(i(1.5*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.334},h6:{fontSize:"".concat(i(1.125*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:500,lineHeight:1.6},subtitle1:{fontSize:"".concat(i(1*o),"rem"),fontWeight:400,lineHeight:1.75},subtitle2:{fontSize:"".concat(i(.875*o),"rem"),fontWeight:500,lineHeight:1.57},body1:{fontSize:"".concat(i(1*o),"rem"),fontWeight:400,lineHeight:1.5},body2:{fontSize:"".concat(i(.875*o),"rem"),fontWeight:400,lineHeight:1.43},button:{fontSize:"".concat(i(.875*o),"rem"),fontWeight:500,lineHeight:1.75,textTransform:"uppercase"},caption:{fontSize:"".concat(i(.75*o),"rem"),fontWeight:400,lineHeight:1.66},overline:{fontSize:"".concat(i(.75*o),"rem"),fontWeight:400,lineHeight:2.66,textTransform:"uppercase",letterSpacing:"0.08em"}}})},a=function(e){var i=e.children,a=e.primaryVar,r=void 0===a?"--font-primary":a,f=e.secondaryVar,c=void 0===f?"--font-secondary":f,h=e.fontScale,l=o(r,c,void 0===h?1:h);return t(n,{theme:l,children:i})};export{a as AppThemeProvider,o as getLightTheme};
1
+ import{objectSpread2 as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t}from"react/jsx-runtime";import{ThemeProvider as i,createTheme as n}from"@mui/material";var o=function(e){return Math.round(100*e)/100},a=function(a){var r=a.children,f=a.mode,c=a.primaryVar,m=a.secondaryVar,l=a.fontScale,h=function(t){var i=t||{},a=i.mode,r=void 0===a?"light":a,f=i.primary,c=void 0===f?"--dino-font-primary":f,m=i.secondary,l=void 0===m?"--dino-font-secondary":m,h=i.fontScale,s=void 0===h?1:h;return n({palette:e({mode:r},"light"===r?{primary:{main:"#1976d2",contrastText:"#fff"},secondary:{main:"#f48fb1"},background:{default:"#ffffff",paper:"#fff"},text:{primary:"#222",secondary:"#555"},divider:"#e0e0e0"}:{primary:{main:"#90caf9",contrastText:"#fff"},secondary:{main:"#f48fb1"},background:{default:"#121212",paper:"#1e1e1e"},text:{primary:"#ffffff",secondary:"#ababab"},divider:"#303030"}),typography:{fontFamily:"var(".concat(c,"), Arial, sans-serif"),fontSize:o(16*s),fontWeightLight:300,fontWeightRegular:400,fontWeightMedium:500,fontWeightBold:700,h1:{fontSize:"".concat(o(6*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.167},h2:{fontSize:"".concat(o(3.75*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.2},h3:{fontSize:"".concat(o(3*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.167},h4:{fontSize:"".concat(o(2.125*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.235},h5:{fontSize:"".concat(o(1.5*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.334},h6:{fontSize:"".concat(o(1.125*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:500,lineHeight:1.6},subtitle1:{fontSize:"".concat(o(1*s),"rem"),fontWeight:400,lineHeight:1.75},subtitle2:{fontSize:"".concat(o(.875*s),"rem"),fontWeight:500,lineHeight:1.57},body1:{fontSize:"".concat(o(1*s),"rem"),fontWeight:400,lineHeight:1.5},body2:{fontSize:"".concat(o(.875*s),"rem"),fontWeight:400,lineHeight:1.43},button:{fontSize:"".concat(o(.875*s),"rem"),fontWeight:500,lineHeight:1.75,textTransform:"uppercase"},caption:{fontSize:"".concat(o(.75*s),"rem"),fontWeight:400,lineHeight:1.66},overline:{fontSize:"".concat(o(.75*s),"rem"),fontWeight:400,lineHeight:2.66,textTransform:"uppercase",letterSpacing:"0.08em"}},components:{}})}({mode:f,primary:c,secondary:m,fontScale:void 0===l?1:l});return t(i,{theme:h,children:r})};export{a as AppThemeProvider};
2
2
  //# sourceMappingURL=app-theme-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-theme-provider.js","sources":["../../src/layout-global/app-theme-provider.tsx"],"sourcesContent":["import { ReactNode } from 'react'\r\nimport { createTheme, ThemeProvider } from '@mui/material'\r\n\r\n// Function to round a number to 4 decimal places\r\nconst roundToFour = (num: number): number => {\r\n return Math.round(num * 10000) / 10000\r\n}\r\n\r\nexport const getLightTheme = (primary: string, secondary: string, fontScale: number = 1) => {\r\n return createTheme({\r\n palette: {\r\n mode: 'light',\r\n primary: { main: '#1976d2', contrastText: '#fff' },\r\n secondary: { main: '#f48fb1' },\r\n background: { default: '#ffffff', paper: '#fff' },\r\n text: { primary: '#222', secondary: '#555' }\r\n },\r\n typography: {\r\n fontFamily: `var(${primary}), Arial, sans-serif`,\r\n fontSize: roundToFour(16 * fontScale),\r\n fontWeightLight: 300,\r\n fontWeightRegular: 400,\r\n fontWeightMedium: 500,\r\n fontWeightBold: 700,\r\n h1: { fontSize: `${roundToFour(6 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.167 },\r\n h2: { fontSize: `${roundToFour(3.75 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.2 },\r\n h3: { fontSize: `${roundToFour(3 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.167 },\r\n h4: {\r\n fontSize: `${roundToFour(2.125 * fontScale)}rem`,\r\n fontFamily: `var(${secondary}), Arial, sans-serif`,\r\n fontWeight: 400,\r\n lineHeight: 1.235\r\n },\r\n h5: { fontSize: `${roundToFour(1.5 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.334 },\r\n h6: { fontSize: `${roundToFour(1.125 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 500, lineHeight: 1.6 },\r\n subtitle1: { fontSize: `${roundToFour(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.75 },\r\n subtitle2: { fontSize: `${roundToFour(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.57 },\r\n body1: { fontSize: `${roundToFour(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.5 },\r\n body2: { fontSize: `${roundToFour(0.875 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.43 },\r\n button: { fontSize: `${roundToFour(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.75, textTransform: 'uppercase' },\r\n caption: { fontSize: `${roundToFour(0.75 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.66 },\r\n overline: {\r\n fontSize: `${roundToFour(0.75 * fontScale)}rem`,\r\n fontWeight: 400,\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em'\r\n }\r\n }\r\n })\r\n}\r\n\r\nexport interface IAppThemeProviderProps {\r\n children: ReactNode\r\n primaryVar?: string\r\n secondaryVar?: string\r\n fontScale?: number\r\n}\r\n\r\nexport const AppThemeProvider = (props: IAppThemeProviderProps) => {\r\n const { children, primaryVar = '--font-primary', secondaryVar = '--font-secondary', fontScale = 1 } = props\r\n const theme = getLightTheme(primaryVar, secondaryVar, fontScale)\r\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>\r\n}\r\n"],"names":["roundToFour","num","Math","round","getLightTheme","primary","secondary","fontScale","arguments","length","undefined","createTheme","palette","mode","main","contrastText","background","default","paper","text","typography","fontFamily","concat","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","h1","fontWeight","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","textTransform","caption","overline","letterSpacing","AppThemeProvider","props","children","_props$primaryVar","primaryVar","_props$secondaryVar","secondaryVar","_props$fontScale","theme","_jsx","ThemeProvider"],"mappings":"uGAIA,IAAMA,EAAc,SAACC,GACnB,OAAOC,KAAKC,MAAY,IAANF,GAAe,GACnC,EAEaG,EAAgB,SAACC,EAAiBC,GAA4C,IAAzBC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAoB,EACpF,OAAOG,EAAY,CACjBC,QAAS,CACPC,KAAM,QACNR,QAAS,CAAES,KAAM,UAAWC,aAAc,QAC1CT,UAAW,CAAEQ,KAAM,WACnBE,WAAY,CAAEC,QAAS,UAAWC,MAAO,QACzCC,KAAM,CAAEd,QAAS,OAAQC,UAAW,SAEtCc,WAAY,CACVC,WAAUC,OAAAA,OAASjB,EAA6B,wBAChDkB,SAAUvB,EAAY,GAAKO,GAC3BiB,gBAAiB,IACjBC,kBAAmB,IACnBC,iBAAkB,IAClBC,eAAgB,IAChBC,GAAI,CAAEL,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,OACrIC,GAAI,CAAER,SAAQ,GAAAD,OAAKtB,EAAY,KAAOO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,KACxIE,GAAI,CAAET,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,OACrIG,GAAI,CACFV,SAAQ,GAAAD,OAAKtB,EAAY,MAAQO,GAAe,OAChDc,WAAUC,OAAAA,OAAShB,EAA+B,wBAClDuB,WAAY,IACZC,WAAY,OAEdI,GAAI,CAAEX,SAAQ,GAAAD,OAAKtB,EAAY,IAAMO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,OACvIK,GAAI,CAAEZ,SAAQ,GAAAD,OAAKtB,EAAY,MAAQO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,KACzIM,UAAW,CAAEb,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MACxFO,UAAW,CAAEd,SAAQ,GAAAD,OAAKtB,EAAY,KAAQO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MAC5FQ,MAAO,CAAEf,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,KACpFS,MAAO,CAAEhB,SAAQ,GAAAD,OAAKtB,EAAY,KAAQO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MACxFU,OAAQ,CAAEjB,SAAQ,GAAAD,OAAKtB,EAAY,KAAQO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,KAAMW,cAAe,aAC9GC,QAAS,CAAEnB,SAAQ,GAAAD,OAAKtB,EAAY,IAAOO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MACzFa,SAAU,CACRpB,SAAQ,GAAAD,OAAKtB,EAAY,IAAOO,GAAe,OAC/CsB,WAAY,IACZC,WAAY,KACZW,cAAe,YACfG,cAAe,YAIvB,EASaC,EAAmB,SAACC,GAC/B,IAAQC,EAA8FD,EAA9FC,SAAQC,EAAsFF,EAApFG,WAAAA,OAAa,IAAHD,EAAG,iBAAgBA,EAAAE,EAAuDJ,EAArDK,aAAAA,OAAe,IAAHD,EAAG,mBAAkBA,EAAAE,EAAoBN,EAAlBvC,UAC9E8C,EAAQjD,EAAc6C,EAAYE,OADwD,IAAHC,EAAG,EAACA,GAEjG,OAAOE,EAACC,EAAc,CAAAF,MAAOA,EAAKN,SAAGA,GACvC"}
1
+ {"version":3,"file":"app-theme-provider.js","sources":["../../src/layout-global/app-theme-provider.tsx"],"sourcesContent":["import { ReactNode } from 'react'\r\nimport { createTheme, PaletteOptions, ThemeProvider } from '@mui/material'\r\n\r\n// Function to round a number to 2 decimal places\r\nconst formatNumber = (num: number): number => {\r\n return Math.round(num * 100) / 100\r\n}\r\n\r\ninterface IGetLightThemeOptions {\r\n mode?: 'light' | 'dark'\r\n primary?: string\r\n secondary?: string\r\n fontScale?: number\r\n}\r\n\r\nconst getTheme = (options?: IGetLightThemeOptions) => {\r\n const { mode = 'light', primary = '--dino-font-primary', secondary = '--dino-font-secondary', fontScale = 1 } = options || {}\r\n let paleteWithMode: PaletteOptions = {}\r\n if (mode === 'light') {\r\n paleteWithMode = {\r\n primary: { main: '#1976d2', contrastText: '#fff' },\r\n secondary: { main: '#f48fb1' },\r\n background: { default: '#ffffff', paper: '#fff' },\r\n text: { primary: '#222', secondary: '#555' },\r\n divider: '#e0e0e0'\r\n }\r\n } else {\r\n paleteWithMode = {\r\n primary: { main: '#90caf9', contrastText: '#fff' },\r\n secondary: { main: '#f48fb1' },\r\n background: { default: '#121212', paper: '#1e1e1e' },\r\n text: { primary: '#ffffff', secondary: '#ababab' },\r\n divider: '#303030'\r\n }\r\n }\r\n return createTheme({\r\n palette: { mode, ...paleteWithMode },\r\n typography: {\r\n fontFamily: `var(${primary}), Arial, sans-serif`,\r\n fontSize: formatNumber(16 * fontScale),\r\n fontWeightLight: 300,\r\n fontWeightRegular: 400,\r\n fontWeightMedium: 500,\r\n fontWeightBold: 700,\r\n h1: { fontSize: `${formatNumber(6 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.167 },\r\n h2: { fontSize: `${formatNumber(3.75 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.2 },\r\n h3: { fontSize: `${formatNumber(3 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.167 },\r\n h4: {\r\n fontSize: `${formatNumber(2.125 * fontScale)}rem`,\r\n fontFamily: `var(${secondary}), Arial, sans-serif`,\r\n fontWeight: 400,\r\n lineHeight: 1.235\r\n },\r\n h5: { fontSize: `${formatNumber(1.5 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.334 },\r\n h6: { fontSize: `${formatNumber(1.125 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 500, lineHeight: 1.6 },\r\n subtitle1: { fontSize: `${formatNumber(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.75 },\r\n subtitle2: { fontSize: `${formatNumber(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.57 },\r\n body1: { fontSize: `${formatNumber(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.5 },\r\n body2: { fontSize: `${formatNumber(0.875 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.43 },\r\n button: { fontSize: `${formatNumber(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.75, textTransform: 'uppercase' },\r\n caption: { fontSize: `${formatNumber(0.75 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.66 },\r\n overline: {\r\n fontSize: `${formatNumber(0.75 * fontScale)}rem`,\r\n fontWeight: 400,\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em'\r\n }\r\n },\r\n components: {}\r\n })\r\n}\r\n\r\nexport interface IAppThemeProviderProps {\r\n children: ReactNode\r\n mode?: 'light' | 'dark'\r\n primaryVar?: string\r\n secondaryVar?: string\r\n fontScale?: number\r\n}\r\n\r\nexport const AppThemeProvider = (props: IAppThemeProviderProps) => {\r\n const { children, mode, primaryVar, secondaryVar, fontScale = 1 } = props\r\n const theme = getTheme({ mode, primary: primaryVar, secondary: secondaryVar, fontScale })\r\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>\r\n}\r\n"],"names":["formatNumber","num","Math","round","AppThemeProvider","props","children","mode","primaryVar","secondaryVar","_props$fontScale","fontScale","theme","options","_ref","_ref$mode","_ref$primary","primary","_ref$secondary","secondary","_ref$fontScale","createTheme","palette","_objectSpread","main","contrastText","background","default","paper","text","divider","typography","fontFamily","concat","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","h1","fontWeight","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","textTransform","caption","overline","letterSpacing","components","getTheme","_jsx","ThemeProvider"],"mappings":"gLAIA,IAAMA,EAAe,SAACC,GACpB,OAAOC,KAAKC,MAAY,IAANF,GAAa,GACjC,EA2EaG,EAAmB,SAACC,GAC/B,IAAQC,EAA4DD,EAA5DC,SAAUC,EAAkDF,EAAlDE,KAAMC,EAA4CH,EAA5CG,WAAYC,EAAgCJ,EAAhCI,aAAYC,EAAoBL,EAAlBM,UAC5CC,EApES,SAACC,GAChB,IAAAC,EAAgHD,GAAW,CAAE,EAAAE,EAAAD,EAArHP,KAAAA,OAAO,IAAHQ,EAAG,QAAOA,EAAAC,EAAAF,EAAEG,QAAAA,OAAU,IAAHD,EAAG,sBAAqBA,EAAAE,EAAAJ,EAAEK,UAAAA,OAAY,IAAHD,EAAG,wBAAuBA,EAAAE,EAAAN,EAAEH,UAAAA,OAAY,IAAHS,EAAG,EAACA,EAmB3G,OAAOC,EAAY,CACjBC,QAAOC,EAAA,CAAIhB,KAAAA,GAlBA,UAATA,EACe,CACfU,QAAS,CAAEO,KAAM,UAAWC,aAAc,QAC1CN,UAAW,CAAEK,KAAM,WACnBE,WAAY,CAAEC,QAAS,UAAWC,MAAO,QACzCC,KAAM,CAAEZ,QAAS,OAAQE,UAAW,QACpCW,QAAS,WAGM,CACfb,QAAS,CAAEO,KAAM,UAAWC,aAAc,QAC1CN,UAAW,CAAEK,KAAM,WACnBE,WAAY,CAAEC,QAAS,UAAWC,MAAO,WACzCC,KAAM,CAAEZ,QAAS,UAAWE,UAAW,WACvCW,QAAS,YAKXC,WAAY,CACVC,WAAUC,OAAAA,OAAShB,EAA6B,wBAChDiB,SAAUlC,EAAa,GAAKW,GAC5BwB,gBAAiB,IACjBC,kBAAmB,IACnBC,iBAAkB,IAClBC,eAAgB,IAChBC,GAAI,CAAEL,SAAQ,GAAAD,OAAKjC,EAAa,EAAIW,GAAe,OAAEqB,WAAUC,OAAAA,OAASd,EAA+B,wBAAEqB,WAAY,IAAKC,WAAY,OACtIC,GAAI,CAAER,SAAQ,GAAAD,OAAKjC,EAAa,KAAOW,GAAe,OAAEqB,WAAUC,OAAAA,OAASd,EAA+B,wBAAEqB,WAAY,IAAKC,WAAY,KACzIE,GAAI,CAAET,SAAQ,GAAAD,OAAKjC,EAAa,EAAIW,GAAe,OAAEqB,WAAUC,OAAAA,OAASd,EAA+B,wBAAEqB,WAAY,IAAKC,WAAY,OACtIG,GAAI,CACFV,SAAQ,GAAAD,OAAKjC,EAAa,MAAQW,GAAe,OACjDqB,WAAUC,OAAAA,OAASd,EAA+B,wBAClDqB,WAAY,IACZC,WAAY,OAEdI,GAAI,CAAEX,SAAQ,GAAAD,OAAKjC,EAAa,IAAMW,GAAe,OAAEqB,WAAUC,OAAAA,OAASd,EAA+B,wBAAEqB,WAAY,IAAKC,WAAY,OACxIK,GAAI,CAAEZ,SAAQ,GAAAD,OAAKjC,EAAa,MAAQW,GAAe,OAAEqB,WAAUC,OAAAA,OAASd,EAA+B,wBAAEqB,WAAY,IAAKC,WAAY,KAC1IM,UAAW,CAAEb,SAAQ,GAAAD,OAAKjC,EAAa,EAAIW,GAAe,OAAE6B,WAAY,IAAKC,WAAY,MACzFO,UAAW,CAAEd,SAAQ,GAAAD,OAAKjC,EAAa,KAAQW,GAAe,OAAE6B,WAAY,IAAKC,WAAY,MAC7FQ,MAAO,CAAEf,SAAQ,GAAAD,OAAKjC,EAAa,EAAIW,GAAe,OAAE6B,WAAY,IAAKC,WAAY,KACrFS,MAAO,CAAEhB,SAAQ,GAAAD,OAAKjC,EAAa,KAAQW,GAAe,OAAE6B,WAAY,IAAKC,WAAY,MACzFU,OAAQ,CAAEjB,SAAQ,GAAAD,OAAKjC,EAAa,KAAQW,GAAe,OAAE6B,WAAY,IAAKC,WAAY,KAAMW,cAAe,aAC/GC,QAAS,CAAEnB,SAAQ,GAAAD,OAAKjC,EAAa,IAAOW,GAAe,OAAE6B,WAAY,IAAKC,WAAY,MAC1Fa,SAAU,CACRpB,SAAQ,GAAAD,OAAKjC,EAAa,IAAOW,GAAe,OAChD6B,WAAY,IACZC,WAAY,KACZW,cAAe,YACfG,cAAe,WAGnBC,WAAY,CAAA,GAEhB,CAYgBC,CAAS,CAAElD,KAAAA,EAAMU,QAAST,EAAYW,UAAWV,EAAcE,eADf,IAAHD,EAAG,EAACA,IAE/D,OAAOgD,EAACC,EAAc,CAAA/C,MAAOA,EAAKN,SAAGA,GACvC"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as e}from"react/jsx-runtime";import i from"@mui/icons-material/Reddit";import o from"@mui/icons-material/YouTube";import n 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 u}from"./types.js";var m,l="images/logo.webp",v="images/bg-footer.webp",h=[{link:"https://www.youtube.com",icon:e(o,{}),color:"#FF0000"},{link:"https://www.instagram.com",icon:e(r,{}),color:"#E4405F"},{link:"https://www.twitter.com",icon:e(n,{}),color:"#1DA1F2"},{link:"https://www.pinterest.com",icon:e(a,{}),color:"#BD081C"},{link:"https://www.reddit.com",icon:e(i,{}),color:"#FF4500"}],d=(t(t(t(t(t(t(t(t(t(t(m={},u.Home,"Home"),u.Pricing,"Pricing"),u.SubmitMedia,"Submit Media"),u.Faqs,"FAQs"),u.Videos,"Videos"),u.Audios,"Audios"),u.Privacy,"Privacy Policy"),u.Terms,"Terms of Submission"),u.About,"About Us"),u.CreateAccount,"Create Account"),t(t(t(m,u.ContactUs,"Contact Us"),u.PurchaseLicenses,"Purchase Licenses"),u.GetStarted,"Get Started")),k=function(t){return JSON.stringify(t)},p=function(e){var i;return t(t(t(t(t(t(t(t(t(t(i={},u.Home,{site:"home",key:u.Home,href:e.home,routerPath:"/",options:k({toLocate:"home"})}),u.Pricing,{site:"home",key:u.Pricing,href:e.home+"/#Pricing",routerPath:"/#Pricing",options:k({toLocate:"pricing"})}),u.Faqs,{site:"home",key:u.Faqs,href:e.home+"/#Faq",routerPath:"/#Faq",options:k({toLocate:"faqs"})}),u.About,{site:"home",key:u.About,href:e.home+"/#About",routerPath:"/#About",options:k({toLocate:"about"})}),u.ContactUs,{site:"home",key:u.ContactUs,href:e.home+"/#Contact",routerPath:"/#Contact",options:k({toLocate:"contact"})}),u.Videos,{site:"home",key:u.Videos,href:e.home+"/video-discovery",routerPath:"/video-discovery"}),u.PurchaseLicenses,{site:"client",key:u.PurchaseLicenses,href:e.client+"/purchase-licenses",routerPath:"/purchase-licenses"}),u.SubmitMedia,{site:"client",key:u.SubmitMedia,href:e.client+"/submit",routerPath:"/submit"}),u.Privacy,{site:"client",key:u.Privacy,href:e.client+"/privacy-policy",routerPath:"/privacy-policy"}),u.Terms,{site:"client",key:u.Terms,href:e.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),t(t(t(i,u.CreateAccount,{site:"client",key:u.CreateAccount,href:e.home+"/Identity/Account/Register"}),u.Audios,{site:"music",key:u.Audios,href:e.music,routerPath:"/",options:k({tabKey:"audio"})}),u.GetStarted,{site:"client",key:u.GetStarted,href:e.client+"/get-started",routerPath:"/get-started"})},L=function(t){var e=p(t);return[{title:"Support & Info",enableTitle:!1,items:[{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]}]}]},P=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},f=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]},y="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",b=function(){var t=(new Date).getFullYear();return"Copyright © 2024".concat(t>2024?" - ".concat(t):""," BERLINTOMEK. All rights reserved.")},g=function(t){var e=p(t);return[{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},A=function(t){var e=p(t);return[[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.GetStarted],navLink:e[u.GetStarted]}],[{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]]};export{l as appLogoUrl,h as appSocialConfigs,v as bgFooterUrl,y as footerDescription,b as getCopyrightText,A as getFooterNavConfigs,g as getFooterNavTabConfigs,L as getHeaderMenuConfigs,P as getHeaderNavConfigs,f as getMenuNavConfigs,p as getNavLinks,d as mapNavTitles};
1
+ import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as e}from"react/jsx-runtime";import i from"@mui/icons-material/Reddit";import o from"@mui/icons-material/YouTube";import n 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 u}from"./types.js";var m,l="images/logo.webp",v="images/bg-footer.jpg",h=[{link:"https://www.youtube.com",icon:e(o,{}),color:"#FF0000"},{link:"https://www.instagram.com",icon:e(r,{}),color:"#E4405F"},{link:"https://www.twitter.com",icon:e(n,{}),color:"#1DA1F2"},{link:"https://www.pinterest.com",icon:e(a,{}),color:"#BD081C"},{link:"https://www.reddit.com",icon:e(i,{}),color:"#FF4500"}],d=(t(t(t(t(t(t(t(t(t(t(m={},u.Home,"Home"),u.Pricing,"Pricing"),u.SubmitMedia,"Submit Media"),u.Faqs,"FAQs"),u.Videos,"Videos"),u.Audios,"Audios"),u.Privacy,"Privacy Policy"),u.Terms,"Terms of Submission"),u.About,"About Us"),u.CreateAccount,"Create Account"),t(t(t(m,u.ContactUs,"Contact Us"),u.PurchaseLicenses,"Purchase Licenses"),u.GetStarted,"Get Started")),k=function(t){return JSON.stringify(t)},p=function(e){var i;return t(t(t(t(t(t(t(t(t(t(i={},u.Home,{site:"home",key:u.Home,href:e.home,routerPath:"/",options:k({toLocate:"home"})}),u.Pricing,{site:"home",key:u.Pricing,href:e.home+"/#Pricing",routerPath:"/#Pricing",options:k({toLocate:"pricing"})}),u.Faqs,{site:"home",key:u.Faqs,href:e.home+"/#Faq",routerPath:"/#Faq",options:k({toLocate:"faqs"})}),u.About,{site:"home",key:u.About,href:e.home+"/#About",routerPath:"/#About",options:k({toLocate:"about"})}),u.ContactUs,{site:"home",key:u.ContactUs,href:e.home+"/#Contact",routerPath:"/#Contact",options:k({toLocate:"contact"})}),u.Videos,{site:"home",key:u.Videos,href:e.home+"/video-discovery",routerPath:"/video-discovery"}),u.PurchaseLicenses,{site:"client",key:u.PurchaseLicenses,href:e.client+"/purchase-licenses",routerPath:"/purchase-licenses"}),u.SubmitMedia,{site:"client",key:u.SubmitMedia,href:e.client+"/submit",routerPath:"/submit"}),u.Privacy,{site:"client",key:u.Privacy,href:e.client+"/privacy-policy",routerPath:"/privacy-policy"}),u.Terms,{site:"client",key:u.Terms,href:e.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),t(t(t(i,u.CreateAccount,{site:"client",key:u.CreateAccount,href:e.home+"/Identity/Account/Register"}),u.Audios,{site:"music",key:u.Audios,href:e.music,routerPath:"/",options:k({tabKey:"audio"})}),u.GetStarted,{site:"client",key:u.GetStarted,href:e.client+"/get-started",routerPath:"/get-started"})},L=function(t){var e=p(t);return[{title:"Support & Info",enableTitle:!1,items:[{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]}]}]},P=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},f=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]},y="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",b=function(){var t=(new Date).getFullYear();return"Copyright © 2024".concat(t>2024?" - ".concat(t):""," BERLINTOMEK. All rights reserved.")},g=function(t){var e=p(t);return[{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},A=function(t){var e=p(t);return[[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.GetStarted],navLink:e[u.GetStarted]}],[{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]]};export{l as appLogoUrl,h as appSocialConfigs,v as bgFooterUrl,y as footerDescription,b as getCopyrightText,A as getFooterNavConfigs,g as getFooterNavTabConfigs,L as getHeaderMenuConfigs,P as getHeaderNavConfigs,f as getMenuNavConfigs,p as getNavLinks,d as mapNavTitles};
2
2
  //# sourceMappingURL=configs.js.map