dinocollab-shared 1.2.13 → 1.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{inherits as 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};
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{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 t(this,N),e=n(this,N,[r]),o(e,"render",function(){var r;return l(s,{children:[a(T,{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(y,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),o(e,"renderContent",function(){var r,t=b(e.carts);return l(k,{children:[l("div",{className:P.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:P.items,children:[e.carts.map(function(r,t){return a(s,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&a(S,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%",m:1}})]}),a(p,{}),a("div",{className:P.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:P.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:P.item,children:[a(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"}),l("div",{className:P.itemContent,children:[a(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),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,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{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};
1
+ import{inherits as r,createClass as e,objectSpread2 as o,classCallCheck as i,callSuper as n,defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,jsx as a}from"react/jsx-runtime";import{Component as s}from"react";import{Container as c,Grid as p,Typography as d,Divider as m,Box as u,IconButton as h}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,o=new Array(e),t=0;t<e;t++)o[t]=arguments[t];return r=n(this,I,[].concat(o)),l(r,"handleNavItemClick",function(e,o){r.props.onNavItemClick&&o&&r.props.onNavItemClick(e,o)}),r}return r(I,s),e(I,[{key:"render",value:function(){var r,e,i,n,l,s=this,I=x(this.props.baseUrl);return t(g,o(o({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"}),t(c,{maxWidth:!1,className:k.content,children:[t(p,{container:!0,children:[t(p,{item:!0,xs:12,lg:7,children:[null===(i=this.props.slots)||void 0===i||null===(i=i.left)||void 0===i?void 0:i.top,a(v,{src:null!==(n=this.props.logoUrl)&&void 0!==n?n:C,href:this.props.baseUrl.home,className:k.appLogo}),a(d,{variant:"subtitle1",className:k.description,children:a(f,{children:y})}),null===(l=this.props.slots)||void 0===l||null===(l=l.left)||void 0===l?void 0:l.bottom]}),a(p,{item:!0,xs:12,lg:5,children:a(N,{children:a(p,{container:!0,children:I.map(function(r,e){return a(p,{item:!0,xs:12,md:6,children:a("ul",{children:r.map(function(r,e){var o,i,n;return a("li",{className:k.navItem,children:a(d,{variant:"h5",className:k.navItemText,component:"a",href:null!==(o=null===(i=r.navLink)||void 0===i?void 0:i.href)&&void 0!==o?o:"/",target:null===(n=r.navLink)||void 0===n?void 0:n.target,onClick:function(e){return s.handleNavItemClick(e,r.navLink)},children:a("span",{children:r.title})})},e)})})},e)})})})})]}),t("div",{className:k.copyright,children:[a(m,{sx:{borderColor:"#1E1E1E",mt:{xs:"20px",md:"80px"}}}),a("ul",{className:k.socialList,children:F.map(function(r,e){var i=o({"--social-color-hover":r.color||"#FFFFFF"},r.sx);return a(u,{component:"li",sx:i,children:a(h,{component:"a",href:r.link,target:"_blank",rel:"noopener noreferrer",children:r.icon})},e)})}),a("div",{className:k.copyrightText,children:a(d,{variant:"subtitle1",children:j()})})]})]})]}))}}])}(),L=function(r){var e=function(e){return a(I,o(o({},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 +1 @@
1
- {"version":3,"file":"app-footer.js","sources":["../../src/layout-global/app-footer.tsx"],"sourcesContent":["import { Component, FC } from 'react'\r\nimport { Box, Container, Divider, Grid, IconButton, Typography } from '@mui/material'\r\nimport type { BoxProps, SxProps, Theme } from '@mui/material'\r\nimport { AppLogo } from './app-logo'\r\nimport { TextLineBreak } from './ui.units'\r\nimport { IAppThemeProviderProps } from './app-theme-provider'\r\nimport { appFooterClasses, AppFooterNav, FooterStyled } from './app-footer.styled'\r\nimport { getFooterNavConfigs, appSocialConfigs, footerDescription, bgFooterUrl, appLogoUrl, getCopyrightText } from './configs'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { INavLink, NavItemClickFunction } from './types'\r\n\r\nexport interface IAppFooterSlots {\r\n themeProps?: Partial<IAppThemeProviderProps>\r\n footerElementProps?: Partial<BoxProps>\r\n}\r\n\r\nexport interface IAppFooterProps {\r\n baseUrl: IAppSiteBaseUrl\r\n logoUrl?: string\r\n backgroundUrl?: string\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppFooterSlots\r\n}\r\n\r\nexport class AppFooter extends Component<IAppFooterProps> {\r\n render() {\r\n const footerNavConfigs = getFooterNavConfigs(this.props.baseUrl)\r\n return (\r\n <FooterStyled className={appFooterClasses.root} {...this.props.slots?.footerElementProps}>\r\n <img src={this.props.backgroundUrl ?? bgFooterUrl} alt='Footer Background' className={appFooterClasses.background} loading='lazy' />\r\n <Container maxWidth={false} className={appFooterClasses.content}>\r\n <Grid container>\r\n <Grid item xs={12} lg={7}>\r\n <AppLogo src={this.props.logoUrl ?? appLogoUrl} href={this.props.baseUrl.home} className={appFooterClasses.appLogo} />\r\n <Typography variant='subtitle1' className={appFooterClasses.description}>\r\n <TextLineBreak>{footerDescription}</TextLineBreak>\r\n </Typography>\r\n </Grid>\r\n <Grid item xs={12} lg={5}>\r\n <AppFooterNav>\r\n <Grid container>\r\n {footerNavConfigs.map((navs, index) => (\r\n <Grid key={index} item xs={12} md={6}>\r\n <ul>\r\n {navs.map((nav, navIndex) => (\r\n <li key={navIndex} className={appFooterClasses.navItem}>\r\n <Typography\r\n variant='h5'\r\n className={appFooterClasses.navItemText}\r\n component='a'\r\n href={nav.navLink?.href ?? '/'}\r\n target={nav.navLink?.target}\r\n onClick={(event) => this.handleNavItemClick(event, nav.navLink)}\r\n >\r\n <span>{nav.title}</span>\r\n </Typography>\r\n </li>\r\n ))}\r\n </ul>\r\n </Grid>\r\n ))}\r\n </Grid>\r\n </AppFooterNav>\r\n </Grid>\r\n </Grid>\r\n <div className={appFooterClasses.copyright}>\r\n <Divider sx={{ borderColor: '#1E1E1E', mt: { xs: '20px', md: '80px' } }} />\r\n <ul className={appFooterClasses.socialList}>\r\n {appSocialConfigs.map((social, index) => {\r\n const sxProps: SxProps<Theme> = { '--social-color-hover': social.color || '#FFFFFF', ...social.sx }\r\n return (\r\n <Box component='li' key={index} sx={sxProps}>\r\n <IconButton component='a' href={social.link} target='_blank' rel='noopener noreferrer'>\r\n {social.icon}\r\n </IconButton>\r\n </Box>\r\n )\r\n })}\r\n </ul>\r\n <div className={appFooterClasses.copyrightText}>\r\n <Typography variant='subtitle1'>{getCopyrightText()}</Typography>\r\n </div>\r\n </div>\r\n </Container>\r\n </FooterStyled>\r\n )\r\n }\r\n\r\n handleNavItemClick = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>, item?: INavLink) => {\r\n if (!this.props.onNavItemClick || !item) return\r\n this.props.onNavItemClick(event, item)\r\n }\r\n}\r\nexport default AppFooter\r\n\r\nexport const createAppFooter = (params: IAppFooterProps): FC<Partial<IAppFooterProps>> => {\r\n const _AppFooter: FC<Partial<IAppFooterProps>> = (props) => <AppFooter {...params} {...props} />\r\n _AppFooter.displayName = 'AppFooter'\r\n return _AppFooter\r\n}\r\n"],"names":["AppFooter","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","event","item","props","onNavItemClick","_inherits","Component","_createClass","key","value","_this$props$slots","_this$props$backgroun","_this$props$logoUrl","_this2","footerNavConfigs","getFooterNavConfigs","baseUrl","_jsxs","FooterStyled","_objectSpread","className","appFooterClasses","root","slots","footerElementProps","children","_jsx","src","backgroundUrl","bgFooterUrl","alt","background","loading","Container","maxWidth","content","Grid","container","xs","lg","AppLogo","logoUrl","appLogoUrl","href","home","appLogo","Typography","variant","description","TextLineBreak","footerDescription","AppFooterNav","map","navs","index","md","nav","navIndex","_nav$navLink$href","_nav$navLink","_nav$navLink2","navItem","navItemText","component","navLink","target","onClick","handleNavItemClick","title","copyright","Divider","sx","borderColor","mt","socialList","appSocialConfigs","social","sxProps","color","Box","IconButton","link","rel","icon","copyrightText","getCopyrightText","createAppFooter","params","_AppFooter","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"app-footer.js","sources":["../../src/layout-global/app-footer.tsx"],"sourcesContent":["import { Component, FC } from 'react'\r\nimport { Box, Container, Divider, Grid, IconButton, Typography } from '@mui/material'\r\nimport type { BoxProps, SxProps, Theme } from '@mui/material'\r\nimport { AppLogo } from './app-logo'\r\nimport { TextLineBreak } from './ui.units'\r\nimport { IAppThemeProviderProps } from './app-theme-provider'\r\nimport { appFooterClasses, AppFooterNav, FooterStyled } from './app-footer.styled'\r\nimport { getFooterNavConfigs, appSocialConfigs, footerDescription, bgFooterUrl, appLogoUrl, getCopyrightText } from './configs'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { INavLink, NavItemClickFunction } from './types'\r\n\r\nexport interface IAppFooterSlots {\r\n themeProps?: Partial<IAppThemeProviderProps>\r\n footerElementProps?: Partial<BoxProps>\r\n left?: {\r\n top?: React.ReactNode\r\n bottom?: React.ReactNode\r\n }\r\n}\r\n\r\nexport interface IAppFooterProps {\r\n baseUrl: IAppSiteBaseUrl\r\n logoUrl?: string\r\n backgroundUrl?: string\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppFooterSlots\r\n}\r\n\r\nexport class AppFooter extends Component<IAppFooterProps> {\r\n render() {\r\n const footerNavConfigs = getFooterNavConfigs(this.props.baseUrl)\r\n return (\r\n <FooterStyled className={appFooterClasses.root} {...this.props.slots?.footerElementProps}>\r\n <img src={this.props.backgroundUrl ?? bgFooterUrl} alt='Footer Background' className={appFooterClasses.background} loading='lazy' />\r\n <Container maxWidth={false} className={appFooterClasses.content}>\r\n <Grid container>\r\n <Grid item xs={12} lg={7}>\r\n {this.props.slots?.left?.top}\r\n <AppLogo src={this.props.logoUrl ?? appLogoUrl} href={this.props.baseUrl.home} className={appFooterClasses.appLogo} />\r\n <Typography variant='subtitle1' className={appFooterClasses.description}>\r\n <TextLineBreak>{footerDescription}</TextLineBreak>\r\n </Typography>\r\n {this.props.slots?.left?.bottom}\r\n </Grid>\r\n <Grid item xs={12} lg={5}>\r\n <AppFooterNav>\r\n <Grid container>\r\n {footerNavConfigs.map((navs, index) => (\r\n <Grid key={index} item xs={12} md={6}>\r\n <ul>\r\n {navs.map((nav, navIndex) => (\r\n <li key={navIndex} className={appFooterClasses.navItem}>\r\n <Typography\r\n variant='h5'\r\n className={appFooterClasses.navItemText}\r\n component='a'\r\n href={nav.navLink?.href ?? '/'}\r\n target={nav.navLink?.target}\r\n onClick={(event) => this.handleNavItemClick(event, nav.navLink)}\r\n >\r\n <span>{nav.title}</span>\r\n </Typography>\r\n </li>\r\n ))}\r\n </ul>\r\n </Grid>\r\n ))}\r\n </Grid>\r\n </AppFooterNav>\r\n </Grid>\r\n </Grid>\r\n <div className={appFooterClasses.copyright}>\r\n <Divider sx={{ borderColor: '#1E1E1E', mt: { xs: '20px', md: '80px' } }} />\r\n <ul className={appFooterClasses.socialList}>\r\n {appSocialConfigs.map((social, index) => {\r\n const sxProps: SxProps<Theme> = { '--social-color-hover': social.color || '#FFFFFF', ...social.sx }\r\n return (\r\n <Box component='li' key={index} sx={sxProps}>\r\n <IconButton component='a' href={social.link} target='_blank' rel='noopener noreferrer'>\r\n {social.icon}\r\n </IconButton>\r\n </Box>\r\n )\r\n })}\r\n </ul>\r\n <div className={appFooterClasses.copyrightText}>\r\n <Typography variant='subtitle1'>{getCopyrightText()}</Typography>\r\n </div>\r\n </div>\r\n </Container>\r\n </FooterStyled>\r\n )\r\n }\r\n\r\n handleNavItemClick = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>, item?: INavLink) => {\r\n if (!this.props.onNavItemClick || !item) return\r\n this.props.onNavItemClick(event, item)\r\n }\r\n}\r\nexport default AppFooter\r\n\r\nexport const createAppFooter = (params: IAppFooterProps): FC<Partial<IAppFooterProps>> => {\r\n const _AppFooter: FC<Partial<IAppFooterProps>> = (props) => <AppFooter {...params} {...props} />\r\n _AppFooter.displayName = 'AppFooter'\r\n return _AppFooter\r\n}\r\n"],"names":["AppFooter","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","event","item","props","onNavItemClick","_inherits","Component","_createClass","key","value","_this$props$slots","_this$props$backgroun","_this$props$slots2","_this$props$logoUrl","_this$props$slots3","_this2","footerNavConfigs","getFooterNavConfigs","baseUrl","_jsxs","FooterStyled","_objectSpread","className","appFooterClasses","root","slots","footerElementProps","children","_jsx","src","backgroundUrl","bgFooterUrl","alt","background","loading","Container","maxWidth","content","Grid","container","xs","lg","left","top","AppLogo","logoUrl","appLogoUrl","href","home","appLogo","Typography","variant","description","TextLineBreak","footerDescription","bottom","AppFooterNav","map","navs","index","md","nav","navIndex","_nav$navLink$href","_nav$navLink","_nav$navLink2","navItem","navItemText","component","navLink","target","onClick","handleNavItemClick","title","copyright","Divider","sx","borderColor","mt","socialList","appSocialConfigs","social","sxProps","color","Box","IconButton","link","rel","icon","copyrightText","getCopyrightText","createAppFooter","params","_AppFooter","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";export{LayoutGlobalApi,layoutGlobalApi}from"./layout-global-api.js";
1
+ export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as e,createClass as t,classCallCheck as r,callSuper as l,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,Fragment as n,jsxs as o}from"react/jsx-runtime";import"react-quill/dist/quill.snow.css";import{Component as d}from"react";import{styled as s,Box as c,Typography as h,Tooltip as p,IconButton as m,Divider as u,Button as f}from"@mui/material";import x from"@mui/icons-material/Close";import g from"@mui/icons-material/KeyboardArrowLeft";import C from"@mui/icons-material/KeyboardArrowRight";import{NotifyDetailStyled as v,notifyDetailClasses as S}from"./styled.js";var k=function(){function s(e){var t;return r(this,s),t=l(this,s,[e]),a(t,"renderControl",function(){return t.props.data.length<2?i(c,{}):o(R,{children:[i(m,{disabled:t.state.indexSelected<=0,onClick:t.handleClickLeft,children:i(g,{})}),o(h,{children:[t.state.indexSelected+1," / ",t.props.data.length]}),i(m,{disabled:t.state.indexSelected>=t.props.data.length-1,onClick:t.handleClickRight,children:i(C,{})})]})}),a(t,"handleClickLeft",function(){var e=t.state.indexSelected-1;e<0||t.setState({indexSelected:e})}),a(t,"handleClickRight",function(){var e=t.state.indexSelected+1;e>=t.props.data.length||t.setState({indexSelected:e})}),a(t,"handleRead",function(){var e,r,l,a,i=t.props.data[t.state.indexSelected];null===(e=(r=t.props).onRead)||void 0===e||e.call(r,i),t.handleClickRight(),t.state.indexSelected>=t.props.data.length-1&&(null===(l=(a=t.props).onClose)||void 0===l||l.call(a))}),a(t,"getData",function(){var e=t.props.data,r=t.state.indexSelected,l=e[r];return l||0===r?l:void t.setState({indexSelected:0})}),t.state={indexSelected:0},t}return e(s,d),t(s,[{key:"render",value:function(){var e=this.getData();return e?o(v,{className:S.root,children:[o("div",{className:S.header,children:[i(h,{variant:"h6",className:S.title,children:e.Title}),i(p,{title:"Close",children:i(m,{onClick:this.props.onClose,className:S.closeButton,children:i(x,{})})})]}),i(u,{flexItem:!0,variant:"middle"}),i(y,{children:i("div",{className:"ql-editor",dangerouslySetInnerHTML:{__html:e.Content}})}),i(u,{flexItem:!0,variant:"middle"}),o("div",{className:S.footer,children:[this.renderControl(),o("div",{className:S.footerActions,children:[!e.IsRead&&i(f,{color:"inherit",onClick:this.props.onClose,sx:{textTransform:"unset"},children:"Remind me later"}),!e.IsRead&&i(f,{color:"primary",onClick:this.handleRead,sx:{textTransform:"unset",fontWeight:600},children:"Mark as read"}),e.IsRead&&i(f,{color:"primary",onClick:this.props.onClose,sx:{textTransform:"unset"},children:"Close"})]})]})]}):i(n,{})}}])}(),y=s(c)(function(e){var t=e.theme;return{width:"100%",minHeight:"350px",maxHeight:"calc(100vh - 128px)",overflow:"auto",margin:"0 4px",padding:"0 8px",color:t.palette.grey[900],"--color-body":t.palette.grey[900],"& .ql-toolbar.ql-snow":{display:"none"},"& .ql-container.ql-snow":{border:"none"},"& .ql-editor":{paddingLeft:0,paddingRight:0,height:"unset"}}}),R=s(c)({display:"flex",alignItems:"center",gap:"8px"});export{k as default};
1
+ import{inherits as e,createClass as t,classCallCheck as a,callSuper as i,defineProperty as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,Fragment as n,jsxs as o}from"react/jsx-runtime";import"react-quill/dist/quill.snow.css";import{Component as s}from"react";import{styled as d,Box as c,Typography as h,Tooltip as p,IconButton as m,Divider as u,Button as f}from"@mui/material";import x from"@mui/icons-material/Close";import g from"@mui/icons-material/KeyboardArrowLeft";import C from"@mui/icons-material/KeyboardArrowRight";import{NotifyDetailStyled as v,notifyDetailClasses as y}from"./styled.js";var S=function(){function d(e){var t;return a(this,d),t=i(this,d,[e]),r(t,"renderControl",function(){return t.props.data.length<2?l(c,{}):o(R,{children:[l(m,{disabled:t.state.indexSelected<=0,onClick:t.handleClickLeft,children:l(g,{})}),o(h,{children:[t.state.indexSelected+1," / ",t.props.data.length]}),l(m,{disabled:t.state.indexSelected>=t.props.data.length-1,onClick:t.handleClickRight,children:l(C,{})})]})}),r(t,"handleClickLeft",function(){var e=t.state.indexSelected-1;e<0||t.setState({indexSelected:e})}),r(t,"handleClickRight",function(){var e=t.state.indexSelected+1;e>=t.props.data.length||t.setState({indexSelected:e})}),r(t,"handleRead",function(){var e,a,i,r,l=t.props.data[t.state.indexSelected];null===(e=(a=t.props).onRead)||void 0===e||e.call(a,l),t.handleClickRight(),t.state.indexSelected>=t.props.data.length-1&&(null===(i=(r=t.props).onClose)||void 0===i||i.call(r))}),r(t,"getData",function(){var e=t.props.data,a=t.state.indexSelected,i=e[a];return i||0===a?i:void t.setState({indexSelected:0})}),t.state={indexSelected:0},t}return e(d,s),t(d,[{key:"render",value:function(){var e=this.getData();return e?o(v,{className:y.root,children:[o("div",{className:y.header,children:[l(h,{variant:"h6",className:y.title,children:e.Title}),l(p,{title:"Close",children:l(m,{onClick:this.props.onClose,className:y.closeButton,children:l(x,{})})})]}),l(u,{flexItem:!0,variant:"middle",sx:{opacity:.3}}),l(k,{children:l("div",{className:"ql-editor",dangerouslySetInnerHTML:{__html:e.Content}})}),l(u,{flexItem:!0,variant:"middle",sx:{opacity:.3}}),o("div",{className:y.footer,children:[this.renderControl(),o("div",{className:y.footerActions,children:[!e.IsRead&&l(f,{color:"inherit",onClick:this.props.onClose,sx:{textTransform:"unset"},children:"Remind me later"}),!e.IsRead&&l(f,{color:"primary",onClick:this.handleRead,sx:{textTransform:"unset",fontWeight:600},children:"Mark as read"}),e.IsRead&&l(f,{color:"primary",onClick:this.props.onClose,sx:{textTransform:"unset"},children:"Close"})]})]})]}):l(n,{})}}])}(),k=d(c)(function(e){var t=e.theme;return{width:"100%",minHeight:"350px",maxHeight:"calc(100vh - 128px)",overflow:"auto",margin:"0 4px",padding:"0 8px",color:t.palette.grey[900],fontFamily:"var(--font-primary, 'Roboto', 'Arial', sans-serif)","--color-body":t.palette.grey[900],"& .ql-toolbar.ql-snow":{display:"none"},"& .ql-container.ql-snow":{border:"none"},"& .ql-editor":{paddingLeft:0,paddingRight:0,height:"unset"},img:{maxWidth:"90%",height:"auto",marginLeft:"auto",marginRight:"auto",display:"block"}}}),R=d(c)({display:"flex",alignItems:"center",gap:"8px"});export{S as default};
2
2
  //# sourceMappingURL=notify-detail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notify-detail.js","sources":["../../src/notification/notify-detail.tsx"],"sourcesContent":["import 'react-quill/dist/quill.snow.css'\r\nimport { Component } from 'react'\r\nimport { Box, Button, styled, Typography, Divider, IconButton, Tooltip, Badge } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft'\r\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight'\r\nimport { INotification } from './types'\r\nimport { notifyDetailClasses, NotifyDetailStyled } from './styled'\r\n\r\ninterface IProps {\r\n data: INotification[]\r\n onRead?: (value: INotification) => void\r\n onClose?: () => void\r\n}\r\n\r\ninterface IState {\r\n indexSelected: number\r\n}\r\n\r\nclass NotifyDetail extends Component<IProps, IState> {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = { indexSelected: 0 }\r\n }\r\n\r\n render() {\r\n const data = this.getData()\r\n if (!data) return <></>\r\n return (\r\n <NotifyDetailStyled className={notifyDetailClasses.root}>\r\n <div className={notifyDetailClasses.header}>\r\n <Typography variant='h6' className={notifyDetailClasses.title}>\r\n {data.Title}\r\n </Typography>\r\n <Tooltip title='Close'>\r\n <IconButton onClick={this.props.onClose} className={notifyDetailClasses.closeButton}>\r\n <CloseIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </div>\r\n <Divider flexItem variant='middle' />\r\n <TextEditorWrapper>\r\n <div className='ql-editor' dangerouslySetInnerHTML={{ __html: data.Content }} />\r\n </TextEditorWrapper>\r\n <Divider flexItem variant='middle' />\r\n <div className={notifyDetailClasses.footer}>\r\n {this.renderControl()}\r\n <div className={notifyDetailClasses.footerActions}>\r\n {!data.IsRead && (\r\n <Button color='inherit' onClick={this.props.onClose} sx={{ textTransform: 'unset' }}>\r\n {'Remind me later'}\r\n </Button>\r\n )}\r\n {!data.IsRead && (\r\n <Button color='primary' onClick={this.handleRead} sx={{ textTransform: 'unset', fontWeight: 600 }}>\r\n Mark as read\r\n </Button>\r\n )}\r\n {data.IsRead && (\r\n <Button color='primary' onClick={this.props.onClose} sx={{ textTransform: 'unset' }}>\r\n Close\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </NotifyDetailStyled>\r\n )\r\n }\r\n\r\n renderControl = () => {\r\n if (this.props.data.length < 2) return <Box />\r\n return (\r\n <FlexCenter>\r\n <IconButton disabled={this.state.indexSelected <= 0} onClick={this.handleClickLeft}>\r\n <KeyboardArrowLeftIcon />\r\n </IconButton>\r\n <Typography>\r\n {this.state.indexSelected + 1} / {this.props.data.length}\r\n </Typography>\r\n <IconButton disabled={this.state.indexSelected >= this.props.data.length - 1} onClick={this.handleClickRight}>\r\n <KeyboardArrowRightIcon />\r\n </IconButton>\r\n </FlexCenter>\r\n )\r\n }\r\n\r\n handleClickLeft = () => {\r\n const index = this.state.indexSelected - 1\r\n if (index < 0) return\r\n this.setState({ indexSelected: index })\r\n }\r\n\r\n handleClickRight = () => {\r\n const index = this.state.indexSelected + 1\r\n if (index >= this.props.data.length) return\r\n this.setState({ indexSelected: index })\r\n }\r\n\r\n handleRead = () => {\r\n const data = this.props.data[this.state.indexSelected]\r\n this.props.onRead?.(data)\r\n this.handleClickRight()\r\n if (this.state.indexSelected >= this.props.data.length - 1) this.props.onClose?.()\r\n }\r\n\r\n getData = () => {\r\n const { data } = this.props\r\n const { indexSelected } = this.state\r\n const item = data[indexSelected]\r\n if (!item && indexSelected !== 0) {\r\n this.setState({ indexSelected: 0 })\r\n return\r\n } else {\r\n return item\r\n }\r\n }\r\n}\r\n\r\nexport default NotifyDetail\r\n\r\nconst TextEditorWrapper = styled(Box)(({ theme }) => ({\r\n width: '100%',\r\n minHeight: '350px',\r\n maxHeight: 'calc(100vh - 128px)',\r\n overflow: 'auto',\r\n margin: '0 4px',\r\n padding: '0 8px',\r\n color: theme.palette.grey[900],\r\n '--color-body': theme.palette.grey[900],\r\n '& .ql-toolbar.ql-snow': { display: 'none' },\r\n '& .ql-container.ql-snow': { border: 'none' },\r\n '& .ql-editor': {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n height: 'unset'\r\n }\r\n}))\r\n\r\nconst FlexCenter = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px'\r\n})\r\n"],"names":["NotifyDetail","props","_this","_classCallCheck","_callSuper","_defineProperty","data","length","_jsx","Box","_jsxs","FlexCenter","children","IconButton","disabled","state","indexSelected","onClick","handleClickLeft","KeyboardArrowLeftIcon","Typography","handleClickRight","KeyboardArrowRightIcon","index","setState","_this$props$onRead","_this$props","_this$props$onClose","_this$props2","onRead","call","onClose","item","_inherits","Component","_createClass","key","value","this","getData","NotifyDetailStyled","className","notifyDetailClasses","root","header","variant","title","Title","Tooltip","closeButton","CloseIcon","Divider","flexItem","TextEditorWrapper","dangerouslySetInnerHTML","__html","Content","footer","renderControl","footerActions","IsRead","Button","color","sx","textTransform","handleRead","fontWeight","styled","_ref","theme","width","minHeight","maxHeight","overflow","margin","padding","palette","grey","display","border","paddingLeft","paddingRight","height","alignItems","gap"],"mappings":"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"}
1
+ {"version":3,"file":"notify-detail.js","sources":["../../src/notification/notify-detail.tsx"],"sourcesContent":["import 'react-quill/dist/quill.snow.css'\r\nimport { Component } from 'react'\r\nimport { Box, Button, styled, Typography, Divider, IconButton, Tooltip } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport KeyboardArrowLeftIcon from '@mui/icons-material/KeyboardArrowLeft'\r\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight'\r\nimport { INotification } from './types'\r\nimport { notifyDetailClasses, NotifyDetailStyled } from './styled'\r\n\r\ninterface IProps {\r\n data: INotification[]\r\n onRead?: (value: INotification) => void\r\n onClose?: () => void\r\n}\r\n\r\ninterface IState {\r\n indexSelected: number\r\n}\r\n\r\nclass NotifyDetail extends Component<IProps, IState> {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = { indexSelected: 0 }\r\n }\r\n\r\n render() {\r\n const data = this.getData()\r\n if (!data) return <></>\r\n return (\r\n <NotifyDetailStyled className={notifyDetailClasses.root}>\r\n <div className={notifyDetailClasses.header}>\r\n <Typography variant='h6' className={notifyDetailClasses.title}>\r\n {data.Title}\r\n </Typography>\r\n <Tooltip title='Close'>\r\n <IconButton onClick={this.props.onClose} className={notifyDetailClasses.closeButton}>\r\n <CloseIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </div>\r\n <Divider flexItem variant='middle' sx={{ opacity: 0.3 }} />\r\n <TextEditorWrapper>\r\n <div className='ql-editor' dangerouslySetInnerHTML={{ __html: data.Content }} />\r\n </TextEditorWrapper>\r\n <Divider flexItem variant='middle' sx={{ opacity: 0.3 }} />\r\n <div className={notifyDetailClasses.footer}>\r\n {this.renderControl()}\r\n <div className={notifyDetailClasses.footerActions}>\r\n {!data.IsRead && (\r\n <Button color='inherit' onClick={this.props.onClose} sx={{ textTransform: 'unset' }}>\r\n {'Remind me later'}\r\n </Button>\r\n )}\r\n {!data.IsRead && (\r\n <Button color='primary' onClick={this.handleRead} sx={{ textTransform: 'unset', fontWeight: 600 }}>\r\n Mark as read\r\n </Button>\r\n )}\r\n {data.IsRead && (\r\n <Button color='primary' onClick={this.props.onClose} sx={{ textTransform: 'unset' }}>\r\n Close\r\n </Button>\r\n )}\r\n </div>\r\n </div>\r\n </NotifyDetailStyled>\r\n )\r\n }\r\n\r\n renderControl = () => {\r\n if (this.props.data.length < 2) return <Box />\r\n return (\r\n <FlexCenter>\r\n <IconButton disabled={this.state.indexSelected <= 0} onClick={this.handleClickLeft}>\r\n <KeyboardArrowLeftIcon />\r\n </IconButton>\r\n <Typography>\r\n {this.state.indexSelected + 1} / {this.props.data.length}\r\n </Typography>\r\n <IconButton disabled={this.state.indexSelected >= this.props.data.length - 1} onClick={this.handleClickRight}>\r\n <KeyboardArrowRightIcon />\r\n </IconButton>\r\n </FlexCenter>\r\n )\r\n }\r\n\r\n handleClickLeft = () => {\r\n const index = this.state.indexSelected - 1\r\n if (index < 0) return\r\n this.setState({ indexSelected: index })\r\n }\r\n\r\n handleClickRight = () => {\r\n const index = this.state.indexSelected + 1\r\n if (index >= this.props.data.length) return\r\n this.setState({ indexSelected: index })\r\n }\r\n\r\n handleRead = () => {\r\n const data = this.props.data[this.state.indexSelected]\r\n this.props.onRead?.(data)\r\n this.handleClickRight()\r\n if (this.state.indexSelected >= this.props.data.length - 1) this.props.onClose?.()\r\n }\r\n\r\n getData = () => {\r\n const { data } = this.props\r\n const { indexSelected } = this.state\r\n const item = data[indexSelected]\r\n if (!item && indexSelected !== 0) {\r\n this.setState({ indexSelected: 0 })\r\n return\r\n } else {\r\n return item\r\n }\r\n }\r\n}\r\n\r\nexport default NotifyDetail\r\n\r\nconst TextEditorWrapper = styled(Box)(({ theme }) => ({\r\n width: '100%',\r\n minHeight: '350px',\r\n maxHeight: 'calc(100vh - 128px)',\r\n overflow: 'auto',\r\n margin: '0 4px',\r\n padding: '0 8px',\r\n color: theme.palette.grey[900],\r\n fontFamily: \"var(--font-primary, 'Roboto', 'Arial', sans-serif)\",\r\n '--color-body': theme.palette.grey[900],\r\n '& .ql-toolbar.ql-snow': { display: 'none' },\r\n '& .ql-container.ql-snow': { border: 'none' },\r\n '& .ql-editor': { paddingLeft: 0, paddingRight: 0, height: 'unset' },\r\n img: { maxWidth: '90%', height: 'auto', marginLeft: 'auto', marginRight: 'auto', display: 'block' }\r\n}))\r\n\r\nconst FlexCenter = styled(Box)({ display: 'flex', alignItems: 'center', gap: '8px' })\r\n"],"names":["NotifyDetail","props","_this","_classCallCheck","_callSuper","_defineProperty","data","length","_jsx","Box","_jsxs","FlexCenter","children","IconButton","disabled","state","indexSelected","onClick","handleClickLeft","KeyboardArrowLeftIcon","Typography","handleClickRight","KeyboardArrowRightIcon","index","setState","_this$props$onRead","_this$props","_this$props$onClose","_this$props2","onRead","call","onClose","item","_inherits","Component","_createClass","key","value","this","getData","NotifyDetailStyled","className","notifyDetailClasses","root","header","variant","title","Title","Tooltip","closeButton","CloseIcon","Divider","flexItem","sx","opacity","TextEditorWrapper","dangerouslySetInnerHTML","__html","Content","footer","renderControl","footerActions","IsRead","Button","color","textTransform","handleRead","fontWeight","styled","_ref","theme","width","minHeight","maxHeight","overflow","margin","padding","palette","grey","fontFamily","display","border","paddingLeft","paddingRight","height","img","maxWidth","marginLeft","marginRight","alignItems","gap"],"mappings":"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"}
@@ -6,6 +6,10 @@ import type { INavLink, NavItemClickFunction } from './types';
6
6
  export interface IAppFooterSlots {
7
7
  themeProps?: Partial<IAppThemeProviderProps>;
8
8
  footerElementProps?: Partial<BoxProps>;
9
+ left?: {
10
+ top?: React.ReactNode;
11
+ bottom?: React.ReactNode;
12
+ };
9
13
  }
10
14
  export interface IAppFooterProps {
11
15
  baseUrl: IAppSiteBaseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"app-footer.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAA;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5C,kBAAkB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;IACvD,MAAM;IA+DN,kBAAkB,UAAW,gBAAgB,CAAC,iBAAiB,EAAE,UAAU,CAAC,SAAS,QAAQ,UAG5F;CACF;AACD,eAAe,SAAS,CAAA;AAExB,eAAO,MAAM,eAAe,WAAY,eAAe,KAAG,GAAG,QAAQ,eAAe,CAAC,CAIpF,CAAA"}
1
+ {"version":3,"file":"app-footer.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAA;AAG7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5C,kBAAkB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;QACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KACzB,CAAA;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;IACvD,MAAM;IAiEN,kBAAkB,UAAW,gBAAgB,CAAC,iBAAiB,EAAE,UAAU,CAAC,SAAS,QAAQ,UAG5F;CACF;AACD,eAAe,SAAS,CAAA;AAExB,eAAO,MAAM,eAAe,WAAY,eAAe,KAAG,GAAG,QAAQ,eAAe,CAAC,CAIpF,CAAA"}
@@ -9,5 +9,4 @@ export { ENavKey } from './types';
9
9
  export type { IAppNav, INavLink, INavLinkOptions, NavItemClickFunction } from './types';
10
10
  export { ButtonAnimation } from './animated-tabs.units';
11
11
  export type { IButtonAnimationProps } from './animated-tabs.units';
12
- export * from './layout-global-api';
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout-global/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout-global/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,18 +1,2 @@
1
- import { IButtonAnimationProps } from './animated-tabs.units';
2
- import { INavLink, NavItemClickFunction } from './types';
3
- export type ButtonPropsGetterHook = () => {
4
- buttonProps: (item: INavLink) => Partial<IButtonAnimationProps>;
5
- };
6
- export interface ILayoutGlobalApiProvider {
7
- useButtonPropsGetter: ButtonPropsGetterHook;
8
- navClicked: NavItemClickFunction;
9
- }
10
- export declare class LayoutGlobalApi {
11
- static key_provider: string;
12
- static get provider(): ILayoutGlobalApiProvider;
13
- static setProvider(provider: ILayoutGlobalApiProvider): void;
14
- useButtonPropsGetter: ButtonPropsGetterHook;
15
- handleNavClicked: NavItemClickFunction;
16
- }
17
- export declare const layoutGlobalApi: LayoutGlobalApi;
1
+ export {};
18
2
  //# sourceMappingURL=layout-global-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-global-api.d.ts","sourceRoot":"","sources":["../../../src/layout-global/layout-global-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAExD,MAAM,MAAM,qBAAqB,GAAG,MAAM;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;CAAE,CAAA;AAE7G,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,qBAAqB,CAAA;IAC3C,UAAU,EAAE,oBAAoB,CAAA;CACjC;AAkBD,qBAAa,eAAe;IAC1B,MAAM,CAAC,YAAY,SAAmC;IAEtD,MAAM,KAAK,QAAQ,IAAI,wBAAwB,CAG9C;IAED,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,wBAAwB;IAKrD,oBAAoB,EAAE,qBAAqB,CAE1C;IAED,gBAAgB,EAAE,oBAAoB,CAErC;CACF;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAA"}
1
+ {"version":3,"file":"layout-global-api.d.ts","sourceRoot":"","sources":["../../../src/layout-global/layout-global-api.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.2.13",
3
+ "version": "1.2.15",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -1,2 +0,0 @@
1
- import{defineProperty as e,createClass as o,classCallCheck as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{createObjectSingleton as t}from"dinocollab-core/utils";var n=o(function o(){r(this,o),e(this,"useButtonPropsGetter",function(){return{buttonProps:function(){return console.log("LayoutGlobalApiProviderDefault.buttonProps called"),{}}}}),e(this,"navClicked",function(){console.log("LayoutGlobalApiProviderDefault.navClicked called")})}),l=function(){function l(){r(this,l),e(this,"useButtonPropsGetter",function(){return l.provider.useButtonPropsGetter()}),e(this,"handleNavClicked",function(e,o){l.provider.navClicked(e,o)})}return o(l,null,[{key:"provider",get:function(){var e;return null!==(e=t(l.key_provider).get())&&void 0!==e?e:new n}},{key:"setProvider",value:function(e){t(l.key_provider).set(null!=e?e:new n)}}])}();e(l,"key_provider","__layout_global_key_provider__");var i=new l;export{l as LayoutGlobalApi,i as layoutGlobalApi};
2
- //# sourceMappingURL=layout-global-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-global-api.js","sources":["../../src/layout-global/layout-global-api.ts"],"sourcesContent":["import { createObjectSingleton } from 'dinocollab-core/utils'\r\nimport { IButtonAnimationProps } from './animated-tabs.units'\r\nimport { INavLink, NavItemClickFunction } from './types'\r\n\r\nexport type ButtonPropsGetterHook = () => { buttonProps: (item: INavLink) => Partial<IButtonAnimationProps> }\r\n\r\nexport interface ILayoutGlobalApiProvider {\r\n useButtonPropsGetter: ButtonPropsGetterHook\r\n navClicked: NavItemClickFunction\r\n}\r\n\r\nclass LayoutGlobalApiProviderDefault implements ILayoutGlobalApiProvider {\r\n useButtonPropsGetter = () => {\r\n return {\r\n buttonProps: () => {\r\n // no default props\r\n console.log('LayoutGlobalApiProviderDefault.buttonProps called')\r\n return {}\r\n }\r\n }\r\n }\r\n navClicked = () => {\r\n // no default action\r\n console.log('LayoutGlobalApiProviderDefault.navClicked called')\r\n }\r\n}\r\n\r\nexport class LayoutGlobalApi {\r\n static key_provider = '__layout_global_key_provider__'\r\n\r\n static get provider(): ILayoutGlobalApiProvider {\r\n const ObjectProvider = createObjectSingleton<ILayoutGlobalApiProvider>(LayoutGlobalApi.key_provider)\r\n return ObjectProvider.get() ?? new LayoutGlobalApiProviderDefault()\r\n }\r\n\r\n static setProvider(provider: ILayoutGlobalApiProvider) {\r\n const ObjectProvider = createObjectSingleton<ILayoutGlobalApiProvider>(LayoutGlobalApi.key_provider)\r\n ObjectProvider.set(provider ?? new LayoutGlobalApiProviderDefault())\r\n }\r\n\r\n useButtonPropsGetter: ButtonPropsGetterHook = () => {\r\n return LayoutGlobalApi.provider.useButtonPropsGetter()\r\n }\r\n\r\n handleNavClicked: NavItemClickFunction = (e, i) => {\r\n LayoutGlobalApi.provider.navClicked(e, i)\r\n }\r\n}\r\n\r\nexport const layoutGlobalApi = new LayoutGlobalApi()\r\n"],"names":["LayoutGlobalApiProviderDefault","_createClass","_classCallCheck","_defineProperty","buttonProps","console","log","LayoutGlobalApi","provider","useButtonPropsGetter","this","e","i","navClicked","key","get","_ObjectProvider$get","createObjectSingleton","key_provider","value","set","layoutGlobalApi"],"mappings":"6KAA6D,IAWvDA,EAA8BC,EAAA,SAAAD,IAAAE,OAAAF,GAAAG,8BACX,WACrB,MAAO,CACLC,YAAa,WAGX,OADAC,QAAQC,IAAI,qDACL,CAAE,CACX,KAEHH,oBACY,WAEXE,QAAQC,IAAI,qDACb,GAGUC,EAAe,WAAA,SAAAA,IAAAL,OAAAK,GAAAJ,8BAaoB,WAC5C,OAAOI,EAAgBC,SAASC,yBACjCN,EAEwCO,KAAA,mBAAA,SAACC,EAAGC,GAC3CL,EAAgBC,SAASK,WAAWF,EAAGC,IACxC,CAAA,OAAAX,EAAAM,EAAA,KAAA,CAAA,CAAAO,IAAA,WAAAC,IAhBD,WAAmB,IAAAC,EAEjB,OAA2BA,QAA3BA,EADuBC,EAAgDV,EAAgBW,cACjEH,iBAAKC,EAAAA,EAAI,IAAIhB,CACrC,GAAC,CAAAc,IAAA,cAAAK,MAED,SAAmBX,GACMS,EAAgDV,EAAgBW,cACxEE,IAAIZ,QAAAA,EAAY,IAAIR,EACrC,IAAC,CAXyB,KAAfO,EAAe,eACJ,sCAqBXc,EAAkB,IAAId"}