dinocollab-shared 1.2.46 → 1.2.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action-license/area.group.js +1 -1
- package/dist/action-license/area.group.js.map +1 -1
- package/dist/action-license/btn.icon.add-to-package.js +1 -1
- package/dist/action-license/btn.icon.add-to-package.js.map +1 -1
- package/dist/action-license/quickly-add-to-cart/content.js +1 -1
- package/dist/action-license/quickly-add-to-cart/content.js.map +1 -1
- package/dist/cart/hooks.js +1 -1
- package/dist/cart/hooks.js.map +1 -1
- package/dist/cart/service.js +1 -1
- package/dist/cart/service.js.map +1 -1
- package/dist/cart/styled.js +1 -1
- package/dist/cart/styled.js.map +1 -1
- package/dist/factory/cart-content/styled.js +1 -1
- package/dist/factory/cart-content/styled.js.map +1 -1
- package/dist/factory/cart-item/create.cart-item.js +1 -1
- package/dist/factory/cart-item/create.cart-item.js.map +1 -1
- package/dist/factory/cart-item/styled.js +1 -1
- package/dist/factory/cart-item/styled.js.map +1 -1
- package/dist/layout-global/configs.js +1 -1
- package/dist/layout-global/configs.js.map +1 -1
- package/dist/media-right/configs.js +1 -1
- package/dist/media-right/configs.js.map +1 -1
- package/dist/media-right/group-selector/index.js +1 -1
- package/dist/media-right/group-selector/index.js.map +1 -1
- package/dist/media-right/group-selector/modal-header.js +1 -1
- package/dist/media-right/group-selector/modal-header.js.map +1 -1
- package/dist/media-right/group-selector/units.js +1 -1
- package/dist/media-right/group-selector/units.js.map +1 -1
- package/dist/media-right/guide-steps/index.js +1 -1
- package/dist/media-right/guide-steps/index.js.map +1 -1
- package/dist/media-right/helpers.js +1 -1
- package/dist/media-right/helpers.js.map +1 -1
- package/dist/media-right/hooks.js +1 -1
- package/dist/media-right/hooks.js.map +1 -1
- package/dist/media-right/index.js +1 -1
- package/dist/media-right/media-widget/index.js +1 -1
- package/dist/media-right/media-widget/index.js.map +1 -1
- package/dist/media-right/media-widget/media-group-accordion.js +1 -1
- package/dist/media-right/media-widget/media-group-accordion.js.map +1 -1
- package/dist/media-right/media-widget/new-group-area.js +1 -1
- package/dist/media-right/media-widget/new-group-area.js.map +1 -1
- package/dist/media-right/media-widget/styled.js +1 -1
- package/dist/media-right/media-widget/styled.js.map +1 -1
- package/dist/media-right/service.js +1 -1
- package/dist/media-right/service.js.map +1 -1
- package/dist/media-right/types.js.map +1 -1
- package/dist/media-right/unit.control.js +1 -1
- package/dist/media-right/unit.control.js.map +1 -1
- package/dist/types/action-license/btn.icon.add-to-package.d.ts +3 -3
- package/dist/types/action-license/btn.icon.add-to-package.d.ts.map +1 -1
- package/dist/types/action-license/quickly-add-to-cart/content.d.ts +2 -2
- package/dist/types/action-license/quickly-add-to-cart/content.d.ts.map +1 -1
- package/dist/types/cart/hooks.d.ts +5 -0
- package/dist/types/cart/hooks.d.ts.map +1 -1
- package/dist/types/cart/service.d.ts +5 -0
- package/dist/types/cart/service.d.ts.map +1 -1
- package/dist/types/cart/styled.d.ts.map +1 -1
- package/dist/types/factory/cart-content/styled.d.ts.map +1 -1
- package/dist/types/factory/cart-item/create.cart-item.d.ts +1 -1
- package/dist/types/factory/cart-item/create.cart-item.d.ts.map +1 -1
- package/dist/types/factory/cart-item/styled.d.ts.map +1 -1
- package/dist/types/layout-global/configs.d.ts.map +1 -1
- package/dist/types/media-right/configs.d.ts +1 -1
- package/dist/types/media-right/configs.d.ts.map +1 -1
- package/dist/types/media-right/group-selector/index.d.ts +2 -13
- package/dist/types/media-right/group-selector/index.d.ts.map +1 -1
- package/dist/types/media-right/group-selector/modal-header.d.ts.map +1 -1
- package/dist/types/media-right/group-selector/units.d.ts +3 -0
- package/dist/types/media-right/group-selector/units.d.ts.map +1 -1
- package/dist/types/media-right/guide-steps/index.d.ts.map +1 -1
- package/dist/types/media-right/helpers.d.ts +0 -4
- package/dist/types/media-right/helpers.d.ts.map +1 -1
- package/dist/types/media-right/hooks.d.ts +4 -5
- package/dist/types/media-right/hooks.d.ts.map +1 -1
- package/dist/types/media-right/media-widget/index.d.ts +0 -1
- package/dist/types/media-right/media-widget/index.d.ts.map +1 -1
- package/dist/types/media-right/media-widget/media-group-accordion.d.ts +4 -1
- package/dist/types/media-right/media-widget/media-group-accordion.d.ts.map +1 -1
- package/dist/types/media-right/media-widget/new-group-area.d.ts +2 -0
- package/dist/types/media-right/media-widget/new-group-area.d.ts.map +1 -1
- package/dist/types/media-right/media-widget/styled.d.ts.map +1 -1
- package/dist/types/media-right/service.d.ts +5 -4
- package/dist/types/media-right/service.d.ts.map +1 -1
- package/dist/types/media-right/types.d.ts +5 -5
- package/dist/types/media-right/types.d.ts.map +1 -1
- package/dist/types/media-right/unit.control.d.ts +2 -0
- package/dist/types/media-right/unit.control.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/types/media-right/group-selector/NewCollectionInput.d.ts +0 -7
- package/dist/types/media-right/group-selector/NewCollectionInput.d.ts.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{objectWithoutProperties as r,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,jsx as e}from"react/jsx-runtime";import{Stack as a,Typography as i,Box as d}from"@mui/material";import{ButtonIconAddToPackage as
|
|
1
|
+
import{objectWithoutProperties as r,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,jsx as e}from"react/jsx-runtime";import{Stack as a,Typography as i,Box as c,alpha as d}from"@mui/material";import{ButtonIconAddToPackage as n,EBtnAddToPackage as u}from"./btn.icon.add-to-package.js";import{AreaQuicklyAddToCart as l}from"./quickly-add-to-cart/index.js";var p=["product","packageProps","cartProps"],s=function(s){var m=s.product,b=s.packageProps,g=s.cartProps,h=r(s,p);return t(a,o(o({gap:1},h),{},{sx:o({padding:2,border:1,borderRadius:3,boxShadow:3,borderColor:function(r){return r.palette.divider},backgroundColor:function(r){return d(r.palette.background.paper,.2)}},h.sx||{}),children:[e(a,{sx:{flex:1},children:e(i,{variant:"body2",sx:{color:"var(--color-text-2)"},children:"For social media, YouTube, blogs & educational use."})}),t(a,{gap:3,children:[b&&t(c,{children:[e(i,{variant:"body1",fontWeight:600,gutterBottom:!0,children:"License Package:"}),e(n,o(o({product:m},b),{},{kind:u.Button}))]}),g&&t(c,{children:[e(i,{variant:"body1",fontWeight:600,gutterBottom:!0,children:"Quick Purchase:"}),e(l,o({product:m},g))]})]}),null==h?void 0:h.children]}))};export{s as AreaActionGroups};
|
|
2
2
|
//# sourceMappingURL=area.group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area.group.js","sources":["../../src/action-license/area.group.tsx"],"sourcesContent":["import { Box, Stack, Typography } from '@mui/material'\r\nimport { ButtonIconAddToPackage } from './btn.icon.add-to-package'\r\nimport { AreaQuicklyAddToCart } from './quickly-add-to-cart'\r\nimport { EBtnAddToPackage } from './btn.icon.add-to-package'\r\nimport type { StackProps } from '@mui/material'\r\nimport type { AreaQuicklyAddToCartProps } from './quickly-add-to-cart'\r\nimport type { BtnIconAddToPackageProps } from './btn.icon.add-to-package'\r\nimport { IPricePackage } from './types'\r\n\r\nexport interface IAreaActionGroupsProps<TProduct, TPrices extends IPricePackage> extends StackProps {\r\n product?: TProduct\r\n packageProps?: Omit<BtnIconAddToPackageProps<TProduct>, 'product'>\r\n cartProps?: Omit<AreaQuicklyAddToCartProps<TProduct, TPrices>, 'product'>\r\n}\r\n\r\nexport const AreaActionGroups = <TProduct, TPrices extends IPricePackage>({\r\n product,\r\n packageProps,\r\n cartProps,\r\n ...stackProps\r\n}: IAreaActionGroupsProps<TProduct, TPrices>) => {\r\n return (\r\n <Stack\r\n gap={1}\r\n {...stackProps}\r\n sx={{\r\n padding: 2,\r\n border: 1,\r\n borderRadius: 3,\r\n boxShadow:
|
|
1
|
+
{"version":3,"file":"area.group.js","sources":["../../src/action-license/area.group.tsx"],"sourcesContent":["import { alpha, Box, Stack, Typography } from '@mui/material'\r\nimport { ButtonIconAddToPackage } from './btn.icon.add-to-package'\r\nimport { AreaQuicklyAddToCart } from './quickly-add-to-cart'\r\nimport { EBtnAddToPackage } from './btn.icon.add-to-package'\r\nimport type { StackProps } from '@mui/material'\r\nimport type { AreaQuicklyAddToCartProps } from './quickly-add-to-cart'\r\nimport type { BtnIconAddToPackageProps } from './btn.icon.add-to-package'\r\nimport { IPricePackage } from './types'\r\n\r\nexport interface IAreaActionGroupsProps<TProduct, TPrices extends IPricePackage> extends StackProps {\r\n product?: TProduct\r\n packageProps?: Omit<BtnIconAddToPackageProps<TProduct>, 'product'>\r\n cartProps?: Omit<AreaQuicklyAddToCartProps<TProduct, TPrices>, 'product'>\r\n}\r\n\r\nexport const AreaActionGroups = <TProduct, TPrices extends IPricePackage>({\r\n product,\r\n packageProps,\r\n cartProps,\r\n ...stackProps\r\n}: IAreaActionGroupsProps<TProduct, TPrices>) => {\r\n return (\r\n <Stack\r\n gap={1}\r\n {...stackProps}\r\n sx={{\r\n padding: 2,\r\n border: 1,\r\n borderRadius: 3,\r\n boxShadow: 3,\r\n borderColor: (theme) => theme.palette.divider,\r\n backgroundColor: (theme) => alpha(theme.palette.background.paper, 0.2),\r\n ...(stackProps.sx || {})\r\n }}\r\n >\r\n <Stack sx={{ flex: 1 }}>\r\n <Typography variant='body2' sx={{ color: 'var(--color-text-2)' }}>\r\n For social media, YouTube, blogs & educational use.\r\n </Typography>\r\n </Stack>\r\n <Stack gap={3}>\r\n {packageProps && (\r\n <Box>\r\n <Typography variant='body1' fontWeight={600} gutterBottom>\r\n License Package:\r\n </Typography>\r\n <ButtonIconAddToPackage product={product} {...packageProps} kind={EBtnAddToPackage.Button} />\r\n </Box>\r\n )}\r\n {cartProps && (\r\n <Box>\r\n <Typography variant='body1' fontWeight={600} gutterBottom>\r\n Quick Purchase:\r\n </Typography>\r\n <AreaQuicklyAddToCart<TProduct, TPrices> product={product} {...cartProps} />\r\n </Box>\r\n )}\r\n </Stack>\r\n {stackProps?.children}\r\n </Stack>\r\n )\r\n}\r\n"],"names":["AreaActionGroups","_ref","product","packageProps","cartProps","stackProps","_objectWithoutProperties","_excluded","_jsxs","Stack","_objectSpread","gap","sx","padding","border","borderRadius","boxShadow","borderColor","theme","palette","divider","backgroundColor","alpha","background","paper","children","_jsx","flex","Typography","variant","color","Box","fontWeight","gutterBottom","ButtonIconAddToPackage","kind","EBtnAddToPackage","Button","AreaQuicklyAddToCart"],"mappings":"ibAeaA,EAAmB,SAAHC,GAKmB,IAJ9CC,EAAOD,EAAPC,QACAC,EAAYF,EAAZE,aACAC,EAASH,EAATG,UACGC,EAAUC,EAAAL,EAAAM,GAEb,OACEC,EAACC,EAAKC,EAAAA,EAAA,CACJC,IAAK,GACDN,GAAU,GAAA,CACdO,GAAEF,EAAA,CACAG,QAAS,EACTC,OAAQ,EACRC,aAAc,EACdC,UAAW,EACXC,YAAa,SAACC,GAAK,OAAKA,EAAMC,QAAQC,OAAO,EAC7CC,gBAAiB,SAACH,GAAK,OAAKI,EAAMJ,EAAMC,QAAQI,WAAWC,MAAO,GAAI,GAClEnB,EAAWO,IAAM,IAGvBa,SAAA,CAAAC,EAACjB,EAAK,CAACG,GAAI,CAAEe,KAAM,GACjBF,SAAAC,EAACE,EAAW,CAAAC,QAAQ,QAAQjB,GAAI,CAAEkB,MAAO,uBAAuBL,SAAA,0DAIlEjB,EAACC,EAAK,CAACE,IAAK,EACTc,SAAA,CAAAtB,GACCK,EAACuB,aACCL,EAACE,EAAW,CAAAC,QAAQ,QAAQG,WAAY,IAAKC,cAEhC,EAAAR,SAAA,qBACbC,EAACQ,EAAsBxB,EAAAA,EAAA,CAACR,QAASA,GAAaC,GAAY,GAAA,CAAEgC,KAAMC,EAAiBC,aAGtFjC,GACCI,EAACuB,EACC,CAAAN,SAAA,CAAAC,EAACE,EAAU,CAACC,QAAQ,QAAQG,WAAY,IAAKC,6CAG7CP,EAACY,EAAoB5B,EAAA,CAAoBR,QAASA,GAAaE,UAIpEC,aAAAA,EAAAA,EAAYoB,YAGnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{objectSpread2 as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o,jsxs as r}from"react/jsx-runtime";import{Tooltip as n,IconButton as i,Stack as e,Button as a,alpha as l,Skeleton as c}from"@mui/material";import u from"@mui/icons-material/BookmarkAddOutlined";import{HelpOutlinePulseIcon as s}from"dinocollab-core/components";var d;!function(t){t.Icon="icon",t.Button="button"}(d||(d={}));var p=function(c){var p=c.product,
|
|
1
|
+
import{objectSpread2 as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o,jsxs as r}from"react/jsx-runtime";import{Tooltip as n,IconButton as i,Stack as e,Button as a,alpha as l,Skeleton as c}from"@mui/material";import u from"@mui/icons-material/BookmarkAddOutlined";import{HelpOutlinePulseIcon as s}from"dinocollab-core/components";var d;!function(t){t.Icon="icon",t.Button="button"}(d||(d={}));var p=function(c){var p=c.product,b=c.buttonProps,f=c.tooltipProps,h=c.helpProps,g=c.kind,v=void 0===g?d.Icon:g,k=c.onClick;return p?v===d.Button?r(e,{direction:"row",justifyContent:"space-between",alignItems:"center",position:"relative",children:[o(a,t(t({startIcon:o(u,{fontSize:"small"}),fullWidth:!0,type:"submit",variant:"contained",color:"success",onClick:function(t){return k&&k(p,t)}},b),{},{children:"Add to Playlist"})),o(n,{title:"Read more about our services",placement:"left",children:o(i,t(t({sx:{position:"absolute",right:"-11px",bottom:"-11px",color:function(t){return l(t.palette.primary.main,.8)},backgroundColor:function(t){return t.palette.background.paper},backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.165), rgba(255, 255, 255, 0.165))","&:hover":{backgroundColor:function(t){return t.palette.background.paper}}},size:"small",onClick:function(t){return t.stopPropagation()}},h),{},{children:o(s,{})}))})]}):o(n,t(t({title:"Add to Playlist",arrow:!0,placement:"top"},f),{},{children:o(i,t(t({variant:"contained",color:"inherit",size:"small",onClick:function(t){return k&&k(p,t)}},b),{},{children:o(u,{fontSize:"small",sx:{fontSize:18}})}))})):o(m,{kind:v,buttonProps:b})},m=function(r){var n=r.buttonProps,i=r.kind;return(void 0===i?d.Icon:i)===d.Button?o(c,{variant:"rectangular",width:"100%",height:36,sx:t({borderRadius:2},null==n?void 0:n.sx)}):o(c,{variant:"circular",width:32,height:32,sx:t({},null==n?void 0:n.sx)})};export{p as ButtonIconAddToPackage,m as ButtonIconAddToPackageSkeleton,d as EBtnAddToPackage};
|
|
2
2
|
//# sourceMappingURL=btn.icon.add-to-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"btn.icon.add-to-package.js","sources":["../../src/action-license/btn.icon.add-to-package.tsx"],"sourcesContent":["import { Skeleton } from '@mui/material'\r\nimport { alpha, Button, IconButton, Stack, Tooltip } from '@mui/material'\r\nimport BookmarkAddOutlinedIcon from '@mui/icons-material/BookmarkAddOutlined'\r\nimport { HelpOutlinePulseIcon } from 'dinocollab-core/components'\r\nimport type { FC } from 'react'\r\nimport type { ButtonProps, IconButtonProps, TooltipProps } from '@mui/material'\r\n\r\nexport enum EBtnAddToPackage {\r\n Icon = 'icon',\r\n Button = 'button'\r\n}\r\nexport interface BtnIconAddToPackageProps<T> {\r\n product?: T\r\n buttonProps?: ButtonProps\r\n tooltipProps?: Partial<TooltipProps>\r\n helpProps?: Partial<IconButtonProps> & Record<string,
|
|
1
|
+
{"version":3,"file":"btn.icon.add-to-package.js","sources":["../../src/action-license/btn.icon.add-to-package.tsx"],"sourcesContent":["import { Skeleton } from '@mui/material'\r\nimport { alpha, Button, IconButton, Stack, Tooltip } from '@mui/material'\r\nimport BookmarkAddOutlinedIcon from '@mui/icons-material/BookmarkAddOutlined'\r\nimport { HelpOutlinePulseIcon } from 'dinocollab-core/components'\r\nimport type { FC } from 'react'\r\nimport type { ButtonProps, IconButtonProps, TooltipProps } from '@mui/material'\r\n\r\nexport enum EBtnAddToPackage {\r\n Icon = 'icon',\r\n Button = 'button'\r\n}\r\nexport interface BtnIconAddToPackageProps<T> {\r\n product?: T\r\n buttonProps?: ButtonProps\r\n tooltipProps?: Partial<TooltipProps>\r\n helpProps?: Partial<IconButtonProps> & Record<string, unknown>\r\n kind?: EBtnAddToPackage\r\n onClick: (item: T, e: React.MouseEvent<HTMLButtonElement>) => void\r\n}\r\n\r\nexport const ButtonIconAddToPackage = <T,>({\r\n product,\r\n buttonProps,\r\n tooltipProps,\r\n helpProps,\r\n kind = EBtnAddToPackage.Icon,\r\n onClick\r\n}: BtnIconAddToPackageProps<T>) => {\r\n if (!product) return <ButtonIconAddToPackageSkeleton kind={kind} buttonProps={buttonProps} />\r\n switch (kind) {\r\n case EBtnAddToPackage.Button:\r\n return (\r\n <Stack direction='row' justifyContent='space-between' alignItems='center' position={'relative'}>\r\n <Button\r\n startIcon={<BookmarkAddOutlinedIcon fontSize='small' />}\r\n fullWidth\r\n type='submit'\r\n variant='contained'\r\n color='success'\r\n onClick={(e) => onClick && onClick(product, e)}\r\n {...buttonProps}\r\n >\r\n Add to Playlist\r\n </Button>\r\n <Tooltip title='Read more about our services' placement='left'>\r\n <IconButton\r\n sx={{\r\n position: 'absolute',\r\n right: '-11px',\r\n bottom: '-11px',\r\n color: (theme) => alpha(theme.palette.primary.main, 0.8),\r\n backgroundColor: (theme) => theme.palette.background.paper,\r\n backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.165), rgba(255, 255, 255, 0.165))',\r\n '&:hover': {\r\n backgroundColor: (theme) => theme.palette.background.paper\r\n }\r\n }}\r\n size='small'\r\n onClick={(e) => e.stopPropagation()}\r\n {...helpProps}\r\n >\r\n <HelpOutlinePulseIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </Stack>\r\n )\r\n default:\r\n return (\r\n <Tooltip title='Add to Playlist' arrow placement={'top'} {...tooltipProps}>\r\n <IconButton variant='contained' color='inherit' size='small' onClick={(e) => onClick && onClick(product, e)} {...buttonProps}>\r\n <BookmarkAddOutlinedIcon fontSize='small' sx={{ fontSize: 18 }} />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n}\r\n\r\n// Skeleton for loading state\r\n\r\ninterface ButtonIconAddToPackageSkeletonProps {\r\n kind?: EBtnAddToPackage\r\n buttonProps?: ButtonProps\r\n}\r\n\r\nexport const ButtonIconAddToPackageSkeleton: FC<ButtonIconAddToPackageSkeletonProps> = ({ buttonProps, kind = EBtnAddToPackage.Icon }) => {\r\n if (kind === EBtnAddToPackage.Button) {\r\n return <Skeleton variant='rectangular' width={'100%'} height={36} sx={{ borderRadius: 2, ...buttonProps?.sx }} />\r\n }\r\n return <Skeleton variant='circular' width={32} height={32} sx={{ ...buttonProps?.sx }} />\r\n}\r\n"],"names":["EBtnAddToPackage","ButtonIconAddToPackage","_ref","product","buttonProps","tooltipProps","helpProps","_ref$kind","kind","Icon","onClick","Button","_jsxs","Stack","direction","justifyContent","alignItems","position","children","_jsx","_objectSpread","startIcon","BookmarkAddOutlinedIcon","fontSize","fullWidth","type","variant","color","e","Tooltip","title","placement","IconButton","sx","right","bottom","theme","alpha","palette","primary","main","backgroundColor","background","paper","backgroundImage","size","stopPropagation","HelpOutlinePulseIcon","arrow","ButtonIconAddToPackageSkeleton","_ref2","_ref2$kind","Skeleton","width","height","borderRadius"],"mappings":"gWAOYA,GAAZ,SAAYA,GACVA,EAAA,KAAA,OACAA,EAAA,OAAA,QACD,CAHD,CAAYA,IAAAA,EAGX,CAAA,QAUYC,EAAyB,SAAHC,GAOD,IANhCC,EAAOD,EAAPC,QACAC,EAAWF,EAAXE,YACAC,EAAYH,EAAZG,aACAC,EAASJ,EAATI,UAASC,EAAAL,EACTM,KAAAA,OAAI,IAAAD,EAAGP,EAAiBS,KAAIF,EAC5BG,EAAOR,EAAPQ,QAEA,OAAKP,EACGK,IACDR,EAAiBW,OAElBC,EAACC,EAAM,CAAAC,UAAU,MAAMC,eAAe,gBAAgBC,WAAW,SAASC,SAAU,WAClFC,SAAA,CAAAC,EAACR,EAAMS,EAAAA,EAAA,CACLC,UAAWF,EAACG,EAAwB,CAAAC,SAAS,UAC7CC,aACAC,KAAK,SACLC,QAAQ,YACRC,MAAM,UACNjB,QAAS,SAACkB,GAAC,OAAKlB,GAAWA,EAAQP,EAASyB,EAAE,GAC1CxB,GAAW,GAAA,CAGRc,SAAA,qBACTC,EAACU,EAAO,CAACC,MAAM,+BAA+BC,UAAU,OAAMb,SAC5DC,EAACa,EAAUZ,EAAAA,EAAA,CACTa,GAAI,CACFhB,SAAU,WACViB,MAAO,QACPC,OAAQ,QACRR,MAAO,SAACS,GAAK,OAAKC,EAAMD,EAAME,QAAQC,QAAQC,KAAM,GAAI,EACxDC,gBAAiB,SAACL,GAAK,OAAKA,EAAME,QAAQI,WAAWC,KAAK,EAC1DC,gBAAiB,0EACjB,UAAW,CACTH,gBAAiB,SAACL,GAAK,OAAKA,EAAME,QAAQI,WAAWC,KAAK,IAG9DE,KAAK,QACLnC,QAAS,SAACkB,GAAC,OAAKA,EAAEkB,iBAAiB,GAC/BxC,GAAS,GAAA,CAEbY,SAAAC,EAAC4B,EAAoB,CAAA,WAO3B5B,EAACU,EAAOT,EAAAA,EAAA,CAACU,MAAM,kBAAkBkB,OAAK,EAACjB,UAAW,OAAW1B,GAAY,GAAA,CACvEa,SAAAC,EAACa,EAAUZ,EAAAA,EAAA,CAACM,QAAQ,YAAYC,MAAM,UAAUkB,KAAK,QAAQnC,QAAS,SAACkB,GAAC,OAAKlB,GAAWA,EAAQP,EAASyB,EAAE,GAAMxB,GAAW,GAAA,UAC1He,EAACG,EAAwB,CAAAC,SAAS,QAAQU,GAAI,CAAEV,SAAU,YA1C/CJ,EAAC8B,EAA8B,CAACzC,KAAMA,EAAMJ,YAAaA,GA+ChF,EASa6C,EAA0E,SAA5CC,GAA8F,IAA/C9C,EAAW8C,EAAX9C,YAAW+C,EAAAD,EAAE1C,KACrG,YADyG,IAAA2C,EAAGnD,EAAiBS,KAAI0C,KACpHnD,EAAiBW,OACrBQ,EAACiC,EAAS,CAAA1B,QAAQ,cAAc2B,MAAO,OAAQC,OAAQ,GAAIrB,GAAEb,EAAA,CAAImC,aAAc,GAAMnD,aAAAA,EAAAA,EAAa6B,MAEpGd,EAACiC,EAAQ,CAAC1B,QAAQ,WAAW2B,MAAO,GAAIC,OAAQ,GAAIrB,GAAEb,EAAOhB,CAAAA,EAAAA,aAAW,EAAXA,EAAa6B,KACnF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as e,inherits as
|
|
1
|
+
import{defineProperty as e,inherits as r,createClass as o,objectSpread2 as t,classCallCheck as a,callSuper as i}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as l,jsx as n}from"react/jsx-runtime";import{Component as c}from"react";import{styled as d,Box as s,alpha as p,Stack as u,Tooltip as m,IconButton as h,RadioGroup as f,FormControlLabel as g,Typography as v,Radio as b}from"@mui/material";import{CheckCircle as x}from"@mui/icons-material";import C from"@mui/icons-material/HelpOutline";import I from"@mui/icons-material/AddShoppingCart";import{quickToCartClasses as k}from"./type.js";import{AppButtonOrange as P}from"../buttons.js";var y=function(){function d(r){var o,t,c,s,p;a(this,d),p=i(this,d,[r]),e(p,"renderRadioGroup",function(){var e,r,o,t,a=null!==(e=null===(r=p.props.data)||void 0===r?void 0:r.Prices)&&void 0!==e?e:[],i=p.props.config;return n(f,{name:"PriceSelectedId",value:null!==(o=null===(t=p.state.Value)||void 0===t?void 0:t.toString())&&void 0!==o?o:null,onChange:p.handleChange,sx:{padding:"0",margin:"0",flexDirection:"row",gap:1},children:a.map(function(e,r){var o,t=p.state.Value===e.Id;return n(g,{value:e.Id,control:n(b,{sx:{display:"none"}}),className:k.itemWrap,sx:{border:"1px solid ".concat(e.Color+"70"),boxShadow:"0 2px 4px ".concat(e.Color+"20")},label:l(u,{className:k.item,px:.5,flexDirection:{sx:"column",md:"column"},children:[t&&n(x,{className:k.checkCircle}),n(v,{className:k.itemName,sx:{color:e.Color},children:e.Name}),n(v,{className:k.itemPrice,children:(null===(o=i.formatPrice)||void 0===o?void 0:o.call(i,e.Price))||"$".concat(e.Price)})]})},r)})})}),e(p,"handleChange",function(e,r){var o=null!=r?r:"";p.setState({Value:o})}),p.priceIdOld=p.props.currentPricePackageId;var m=null!==(o=null===(t=p.props.data)||void 0===t?void 0:t.Prices)&&void 0!==o?o:[],h=null===(c=m[Math.floor(m.length/2)])||void 0===c?void 0:c.Id;return p.state={Value:p.priceIdOld||h||(null===(s=m[0])||void 0===s?void 0:s.Id)},p}return r(d,c),o(d,[{key:"render",value:function(){var e=this.props.disabled||!!this.priceIdOld&&this.priceIdOld===this.state.Value,r=[k.root,"form-quickly-add-to-cart"].join(" "),o=this.props.config;return l(S,{className:r,children:[this.renderRadioGroup(),l(u,{flexDirection:"row",justifyContent:"space-between",alignItems:"center",className:k.content,children:[n(P,{startIcon:o.buttonIcon||n(I,{fontSize:"small"}),fullWidth:!0,type:"submit",variant:"contained",color:"success",disabled:e,children:this.priceIdOld?o.updateButtonText||"Update Cart":o.addButtonText||"Add to Cart"}),n(m,{title:o.helpTooltip||"Read more about our services",placement:"left",children:n(h,t(t({className:k.helpIcon,size:"small"},o.helpProps||{}),{},{children:n(C,{})}))})]})]})}}])}(),N=function(e,r){return"".concat("",".").concat(k[e]).concat("")},S=d(s)(function(r){var o=r.theme;return e(e(e(e(e(e(e({},N("content"),{marginTop:"12px",position:"relative"}),N("helpIcon"),{position:"absolute",right:"-11px",bottom:"-11px",color:p(o.palette.primary.main,.8),backgroundColor:o.palette.background.paper,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.165), rgba(255, 255, 255, 0.165))","&:hover":{backgroundColor:o.palette.background.paper}}),N("checkCircle"),{position:"absolute",top:-8,right:-8,fontSize:"18px",color:"#4caf50",zIndex:1,backgroundColor:o.palette.background.paper,borderRadius:"50%"}),N("itemWrap"),{marginInline:0,padding:"5px",borderRadius:"10px",flexGrow:1,position:"relative",backgroundColor:p(o.palette.background.paper,.5),"& .MuiFormControlLabel-label":{flexGrow:1}}),N("item"),{display:"flex",alignItems:"center",justifyContent:"space-between",flexGrow:1}),N("itemName"),{fontSize:"12px",fontWeight:700}),N("itemPrice"),{fontSize:"12px",color:o.palette.text.primary})});export{y as FormContentBase,S as QuickAddToCartStyled};
|
|
2
2
|
//# sourceMappingURL=content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sources":["../../../src/action-license/quickly-add-to-cart/content.tsx"],"sourcesContent":["import { Component, ComponentType } from 'react'\r\nimport { styled, alpha, Box, FormControlLabel, IconButton, Radio, RadioGroup, Stack, Tooltip, Typography } from '@mui/material'\r\nimport { CheckCircle } from '@mui/icons-material'\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline'\r\nimport AddShoppingCartIcon from '@mui/icons-material/AddShoppingCart'\r\nimport type { BoxProps } from '@mui/material'\r\nimport type { IFormBase } from 'dinocollab-core/form'\r\nimport { IPricePackage } from '../types'\r\nimport { quickToCartClasses } from './type'\r\nimport { AppButtonOrange } from '../buttons'\r\nimport type { IFormQuicklyAddToCartData, IQuicklyAddToCartConfig } from './type'\r\n\r\ninterface IState {\r\n Value?: string\r\n}\r\n\r\ninterface IFormContentProps<TProduct, TPrices extends IPricePackage> extends IFormBase<IFormQuicklyAddToCartData<TProduct, TPrices>> {\r\n currentPricePackageId?: string\r\n config: IQuicklyAddToCartConfig\r\n}\r\n\r\nexport class FormContentBase<TProduct, TPrices extends IPricePackage> extends Component<IFormContentProps<TProduct, TPrices>, IState> {\r\n priceIdOld?: string\r\n constructor(props: IFormContentProps<TProduct, TPrices>) {\r\n super(props)\r\n this.priceIdOld = this.props.currentPricePackageId\r\n const prices = this.props.data?.Prices ?? []\r\n const middleIndex = Math.floor(prices.length / 2)\r\n const middlePrice = prices[middleIndex]?.Id\r\n\r\n this.state = { Value: this.priceIdOld || middlePrice || prices[0]?.Id }\r\n }\r\n\r\n render() {\r\n const disabled = this.props.disabled || (!!this.priceIdOld && this.priceIdOld === this.state.Value)\r\n const classes = [quickToCartClasses.root, 'form-quickly-add-to-cart'].join(' ')\r\n const { config } = this.props\r\n\r\n return (\r\n <QuickAddToCartStyled className={classes}>\r\n {this.renderRadioGroup()}\r\n <Stack flexDirection='row' justifyContent='space-between' alignItems='center' className={quickToCartClasses.content}>\r\n <AppButtonOrange\r\n startIcon={config.buttonIcon || <AddShoppingCartIcon fontSize='small' />}\r\n fullWidth\r\n type='submit'\r\n variant='contained'\r\n color='success'\r\n disabled={disabled}\r\n >\r\n {this.priceIdOld ? config.updateButtonText || 'Update Cart' : config.addButtonText || 'Add to Cart'}\r\n </AppButtonOrange>\r\n <Tooltip title={config.helpTooltip || 'Read more about our services'} placement='left'>\r\n <IconButton className={quickToCartClasses.helpIcon} size='small' {...(config.helpProps || {})}>\r\n <HelpOutlineIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </Stack>\r\n </QuickAddToCartStyled>\r\n )\r\n }\r\n\r\n renderRadioGroup = () => {\r\n const list = this.props.data?.Prices ?? []\r\n const { config } = this.props\r\n\r\n return (\r\n <RadioGroup\r\n name='PriceSelectedId'\r\n value={this.state.Value?.toString() ?? null}\r\n onChange={this.handleChange}\r\n sx={{ padding: '0', margin: '0', flexDirection: 'row', gap: 1 }}\r\n >\r\n {list.map((e, i) => {\r\n const isSelected = this.state.Value === e.Id\r\n return (\r\n <FormControlLabel\r\n key={i}\r\n value={e.Id}\r\n control={<Radio sx={{ display: 'none' }} />}\r\n className={quickToCartClasses.itemWrap}\r\n sx={{ border: `1px solid ${e.Color + '70'}`, boxShadow: `0 2px 4px ${e.Color + '20'}` }}\r\n label={\r\n <Stack className={quickToCartClasses.item} px={0.5} flexDirection={{ sx: 'column', md: 'column' }}>\r\n {isSelected && <CheckCircle className={quickToCartClasses.checkCircle} />}\r\n <Typography className={quickToCartClasses.itemName} sx={{ color: e.Color }}>\r\n {e.Name}\r\n </Typography>\r\n <Typography className={quickToCartClasses.itemPrice}>{config.formatPrice?.(e.Price) || `$${e.Price}`}</Typography>\r\n </Stack>\r\n }\r\n />\r\n )\r\n })}\r\n </RadioGroup>\r\n )\r\n }\r\n\r\n handleChange = (_: React.ChangeEvent<HTMLInputElement>, value: string) => {\r\n const id: string = value ?? ''\r\n this.setState({ Value: id })\r\n }\r\n}\r\n\r\nconst getClass = (key: keyof typeof quickToCartClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${quickToCartClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const QuickAddToCartStyled: ComponentType<BoxProps & { [key: string]: any }> = styled(Box)(({ theme }) => ({\r\n // [getClass('root', { prefix: '&' })]: {\r\n // // paddingTop: '10px'\r\n // },\r\n [getClass('content')]: {\r\n marginTop: '12px',\r\n position: 'relative'\r\n },\r\n [getClass('helpIcon')]: {\r\n position: 'absolute',\r\n right: '-11px',\r\n bottom: '-11px',\r\n color: alpha(theme.palette.primary.main, 0.8),\r\n backgroundColor: theme.palette.background.paper,\r\n '&:hover': {\r\n backgroundColor: theme.palette.background.paper\r\n }\r\n },\r\n [getClass('checkCircle')]: {\r\n position: 'absolute',\r\n top: -8,\r\n right: -8,\r\n fontSize: '18px',\r\n color: '#4caf50',\r\n zIndex: 1,\r\n backgroundColor: 'white',\r\n borderRadius: '50%'\r\n },\r\n [getClass('itemWrap')]: {\r\n marginInline: 0,\r\n padding: '5px',\r\n borderRadius: '10px',\r\n flexGrow: 1,\r\n position: 'relative',\r\n '& .MuiFormControlLabel-label': { flexGrow: 1 }\r\n },\r\n [getClass('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n flexGrow: 1\r\n },\r\n [getClass('itemName')]: {\r\n fontSize: '12px',\r\n fontWeight: 700\r\n },\r\n [getClass('itemPrice')]: {\r\n fontSize: '12px',\r\n color: theme.palette.mode === 'dark' ? theme.palette.text.secondary : '#606060'\r\n }\r\n}))\r\n"],"names":["FormContentBase","props","_this$props$data$Pric2","_this$props$data2","_prices$middleIndex","_prices$","_this","_classCallCheck","_callSuper","_defineProperty","_this$props$data$Pric","_this$props$data","_this$state$Value$toS","_this$state$Value","list","data","Prices","config","_jsx","RadioGroup","name","value","state","Value","toString","onChange","handleChange","sx","padding","margin","flexDirection","gap","children","map","e","i","_config$formatPrice","isSelected","Id","FormControlLabel","control","Radio","display","className","quickToCartClasses","itemWrap","border","concat","Color","boxShadow","label","_jsxs","Stack","item","px","md","CheckCircle","checkCircle","Typography","itemName","color","Name","itemPrice","formatPrice","call","Price","_","id","setState","priceIdOld","currentPricePackageId","prices","middlePrice","Math","floor","length","_inherits","Component","_createClass","key","disabled","this","classes","root","join","QuickAddToCartStyled","renderRadioGroup","justifyContent","alignItems","content","AppButtonOrange","startIcon","buttonIcon","AddShoppingCartIcon","fontSize","fullWidth","type","variant","updateButtonText","addButtonText","Tooltip","title","helpTooltip","placement","IconButton","_objectSpread","helpIcon","size","helpProps","HelpOutlineIcon","getClass","options","styled","Box","_ref","theme","marginTop","position","right","bottom","alpha","palette","primary","main","backgroundColor","background","paper","top","zIndex","borderRadius","marginInline","flexGrow","fontWeight","mode","text","secondary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content.js","sources":["../../../src/action-license/quickly-add-to-cart/content.tsx"],"sourcesContent":["import { Component, ComponentType } from 'react'\r\nimport { styled, alpha, Box, FormControlLabel, IconButton, Radio, RadioGroup, Stack, Tooltip, Typography } from '@mui/material'\r\nimport { CheckCircle } from '@mui/icons-material'\r\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline'\r\nimport AddShoppingCartIcon from '@mui/icons-material/AddShoppingCart'\r\nimport { quickToCartClasses } from './type'\r\nimport { AppButtonOrange } from '../buttons'\r\nimport type { IFormBase } from 'dinocollab-core/form'\r\nimport type { BoxProps } from '@mui/material'\r\nimport type { IPricePackage } from '../types'\r\nimport type { IFormQuicklyAddToCartData, IQuicklyAddToCartConfig } from './type'\r\n\r\ninterface IState {\r\n Value?: string\r\n}\r\n\r\ninterface IFormContentProps<TProduct, TPrices extends IPricePackage> extends IFormBase<IFormQuicklyAddToCartData<TProduct, TPrices>> {\r\n currentPricePackageId?: string\r\n config: IQuicklyAddToCartConfig\r\n}\r\n\r\nexport class FormContentBase<TProduct, TPrices extends IPricePackage> extends Component<IFormContentProps<TProduct, TPrices>, IState> {\r\n priceIdOld?: string\r\n constructor(props: IFormContentProps<TProduct, TPrices>) {\r\n super(props)\r\n this.priceIdOld = this.props.currentPricePackageId\r\n const prices = this.props.data?.Prices ?? []\r\n const middleIndex = Math.floor(prices.length / 2)\r\n const middlePrice = prices[middleIndex]?.Id\r\n\r\n this.state = { Value: this.priceIdOld || middlePrice || prices[0]?.Id }\r\n }\r\n\r\n render() {\r\n const disabled = this.props.disabled || (!!this.priceIdOld && this.priceIdOld === this.state.Value)\r\n const classes = [quickToCartClasses.root, 'form-quickly-add-to-cart'].join(' ')\r\n const { config } = this.props\r\n\r\n return (\r\n <QuickAddToCartStyled className={classes}>\r\n {this.renderRadioGroup()}\r\n <Stack flexDirection='row' justifyContent='space-between' alignItems='center' className={quickToCartClasses.content}>\r\n <AppButtonOrange\r\n startIcon={config.buttonIcon || <AddShoppingCartIcon fontSize='small' />}\r\n fullWidth\r\n type='submit'\r\n variant='contained'\r\n color='success'\r\n disabled={disabled}\r\n >\r\n {this.priceIdOld ? config.updateButtonText || 'Update Cart' : config.addButtonText || 'Add to Cart'}\r\n </AppButtonOrange>\r\n <Tooltip title={config.helpTooltip || 'Read more about our services'} placement='left'>\r\n <IconButton className={quickToCartClasses.helpIcon} size='small' {...(config.helpProps || {})}>\r\n <HelpOutlineIcon />\r\n </IconButton>\r\n </Tooltip>\r\n </Stack>\r\n </QuickAddToCartStyled>\r\n )\r\n }\r\n\r\n renderRadioGroup = () => {\r\n const list = this.props.data?.Prices ?? []\r\n const { config } = this.props\r\n\r\n return (\r\n <RadioGroup\r\n name='PriceSelectedId'\r\n value={this.state.Value?.toString() ?? null}\r\n onChange={this.handleChange}\r\n sx={{ padding: '0', margin: '0', flexDirection: 'row', gap: 1 }}\r\n >\r\n {list.map((e, i) => {\r\n const isSelected = this.state.Value === e.Id\r\n return (\r\n <FormControlLabel\r\n key={i}\r\n value={e.Id}\r\n control={<Radio sx={{ display: 'none' }} />}\r\n className={quickToCartClasses.itemWrap}\r\n sx={{ border: `1px solid ${e.Color + '70'}`, boxShadow: `0 2px 4px ${e.Color + '20'}` }}\r\n label={\r\n <Stack className={quickToCartClasses.item} px={0.5} flexDirection={{ sx: 'column', md: 'column' }}>\r\n {isSelected && <CheckCircle className={quickToCartClasses.checkCircle} />}\r\n <Typography className={quickToCartClasses.itemName} sx={{ color: e.Color }}>\r\n {e.Name}\r\n </Typography>\r\n <Typography className={quickToCartClasses.itemPrice}>{config.formatPrice?.(e.Price) || `$${e.Price}`}</Typography>\r\n </Stack>\r\n }\r\n />\r\n )\r\n })}\r\n </RadioGroup>\r\n )\r\n }\r\n\r\n handleChange = (_: React.ChangeEvent<HTMLInputElement>, value: string) => {\r\n const id: string = value ?? ''\r\n this.setState({ Value: id })\r\n }\r\n}\r\n\r\nconst getClass = (key: keyof typeof quickToCartClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${quickToCartClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const QuickAddToCartStyled: ComponentType<BoxProps & { [key: string]: any }> = styled(Box)(({ theme }) => ({\r\n // [getClass('root', { prefix: '&' })]: {\r\n // // paddingTop: '10px'\r\n // },\r\n [getClass('content')]: {\r\n marginTop: '12px',\r\n position: 'relative'\r\n },\r\n [getClass('helpIcon')]: {\r\n position: 'absolute',\r\n right: '-11px',\r\n bottom: '-11px',\r\n color: alpha(theme.palette.primary.main, 0.8),\r\n backgroundColor: theme.palette.background.paper,\r\n backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.165), rgba(255, 255, 255, 0.165))',\r\n '&:hover': {\r\n backgroundColor: theme.palette.background.paper\r\n }\r\n },\r\n [getClass('checkCircle')]: {\r\n position: 'absolute',\r\n top: -8,\r\n right: -8,\r\n fontSize: '18px',\r\n color: '#4caf50',\r\n zIndex: 1,\r\n backgroundColor: theme.palette.background.paper,\r\n borderRadius: '50%'\r\n },\r\n [getClass('itemWrap')]: {\r\n marginInline: 0,\r\n padding: '5px',\r\n borderRadius: '10px',\r\n flexGrow: 1,\r\n position: 'relative',\r\n backgroundColor: alpha(theme.palette.background.paper, 0.5),\r\n '& .MuiFormControlLabel-label': { flexGrow: 1 }\r\n },\r\n [getClass('item')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n flexGrow: 1\r\n },\r\n [getClass('itemName')]: {\r\n fontSize: '12px',\r\n fontWeight: 700\r\n },\r\n [getClass('itemPrice')]: {\r\n fontSize: '12px',\r\n color: theme.palette.text.primary\r\n }\r\n}))\r\n"],"names":["FormContentBase","props","_this$props$data$Pric2","_this$props$data2","_prices$middleIndex","_prices$","_this","_classCallCheck","_callSuper","_defineProperty","_this$props$data$Pric","_this$props$data","_this$state$Value$toS","_this$state$Value","list","data","Prices","config","_jsx","RadioGroup","name","value","state","Value","toString","onChange","handleChange","sx","padding","margin","flexDirection","gap","children","map","e","i","_config$formatPrice","isSelected","Id","FormControlLabel","control","Radio","display","className","quickToCartClasses","itemWrap","border","concat","Color","boxShadow","label","_jsxs","Stack","item","px","md","CheckCircle","checkCircle","Typography","itemName","color","Name","itemPrice","formatPrice","call","Price","_","id","setState","priceIdOld","currentPricePackageId","prices","middlePrice","Math","floor","length","_inherits","Component","_createClass","key","disabled","this","classes","root","join","QuickAddToCartStyled","renderRadioGroup","justifyContent","alignItems","content","AppButtonOrange","startIcon","buttonIcon","AddShoppingCartIcon","fontSize","fullWidth","type","variant","updateButtonText","addButtonText","Tooltip","title","helpTooltip","placement","IconButton","_objectSpread","helpIcon","size","helpProps","HelpOutlineIcon","getClass","options","styled","Box","_ref","theme","marginTop","position","right","bottom","alpha","palette","primary","main","backgroundColor","background","paper","backgroundImage","top","zIndex","borderRadius","marginInline","flexGrow","fontWeight","text"],"mappings":"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"}
|
package/dist/cart/hooks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useRef as t,useState as e,useEffect as
|
|
1
|
+
import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useRef as t,useState as e,useEffect as n}from"react";import{cartService as a}from"./service.js";function i(){var i=t(!1),o=e(a.getCarts()),u=r(o,2),c=u[0],d=u[1];return n(function(){i.current||(a.initialize(),i.current=!0);var r=a.subscribe("stateChange",function(r){var t=r.items,e=Array.isArray(t)?t:Object.values(t);d(e)});return function(){r&&r()}},[]),{items:c,options:a.getOptions()}}function o(){var r=function(r){return r.ProductId};return{idGetter:r,addToCart:function(r){a.addToCart(r)},updateCart:function(r,t){a.updateCart(r,t)},updateOrAddCart:function(r,t){a.updateOrAddCart(r,t)},removeFromCart:function(t){var e=a.getCarts().find(function(e){return r(e)===t});e&&a.removeFromCart(e)},clearCart:function(){a.clearCart()}}}export{o as useCartActions,i as useCartStore};
|
|
2
2
|
//# sourceMappingURL=hooks.js.map
|
package/dist/cart/hooks.js.map
CHANGED
|
@@ -1 +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,
|
|
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, options: cartService.getOptions() }\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","options","getOptions","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,EAAOa,QAASjB,EAAYkB,aACvC,UAEgBC,IACd,IAAMC,EAAW,SAACC,GAAO,OAAKA,EAAKC,SAAS,EA0B5C,MAAO,CAAEF,SAAAA,EAAUG,UAxBD,SAACF,GACjBrB,EAAYuB,UAAUF,EACvB,EAsB6BG,WApBX,SAACC,EAAYC,GAC9B1B,EAAYwB,WAAWC,EAAIC,EAC5B,EAkByCC,gBAhBlB,SAACF,EAAYC,GACnC1B,EAAY2B,gBAAgBF,EAAIC,EACjC,EAc0DE,eAZpC,SAACH,GACtB,IACMI,EADQ7B,EAAYC,WACC6B,KAAK,SAACT,GAAI,OAAKD,EAASC,KAAUI,IACzDI,GACF7B,EAAY4B,eAAeC,EAE9B,EAM0EE,UAJzD,WAChB/B,EAAY+B,WACb,EAGH"}
|
package/dist/cart/service.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as e,createClass as o,toConsumableArray as r,objectSpread2 as t,classCallCheck as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{ApiAlertContext as i}from"dinocollab-core/api-context";import{createObjectSingleton as l,tryParseArray as n}from"dinocollab-core/utils";import{CartEventStore as s}from"./event-store.js";import{MAX_LINKS as c,MAX_ITEMS as u}from"./configs.js";var
|
|
1
|
+
import{defineProperty as e,createClass as o,toConsumableArray as r,objectSpread2 as t,classCallCheck as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{ApiAlertContext as i}from"dinocollab-core/api-context";import{createObjectSingleton as l,tryParseArray as n}from"dinocollab-core/utils";import{CartEventStore as s}from"./event-store.js";import{MAX_LINKS as c,MAX_ITEMS as u}from"./configs.js";var v=o(function o(){a(this,o),e(this,"localStorageKey","__cart_default__"),e(this,"maxLinks",c),e(this,"maxItems",u),e(this,"store",new s)}),d=function(){function s(){a(this,s),e(this,"isValidCart",function(e){var o=s.provider.maxItems,r=s.provider.maxLinks,t=!0;o>-1&&(t=e.items.length<=o);var a=!0;return r>-1&&(a=e.items.every(function(e){return n(e.SocialUrl,[]).length<=r})),t&&a})}return o(s,[{key:"initialize",value:function(){var e;null===(e=s.provider.store)||void 0===e||e.emit("requestState",{})}},{key:"subscribe",value:function(e,o){var r;return null===(r=s.provider.store)||void 0===r?void 0:r.subscribe(e,o)}},{key:"getOptions",value:function(){var e=s.provider;return{localStorageKey:e.localStorageKey,maxItems:e.maxItems,maxLinks:e.maxLinks}}},{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],i=[].concat(r(null!==(o=t.items)&&void 0!==o?o:[]),r(a));this.saveToLocalStorage(i)}},{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,i=this.loadFromLocalStorage(),l=(null!==(a=i.items)&&void 0!==a?a:[]).findIndex(function(o){return o.ProductId===e});if(-1!==l){var n,s=r(null!==(n=i.items)&&void 0!==n?n:[]);s[l]=t(t({},s[l]),o),this.saveToLocalStorage(s)}else this.addToCart(t({ProductId:e},o))}},{key:"clearCart",value:function(){this.saveToLocalStorage([])}},{key:"loadFromLocalStorage",value:function(){var e={version:"1.0",items:[]};try{if("undefined"!=typeof globalThis&&globalThis.localStorage){var o,r=localStorage.getItem(s.provider.localStorageKey),t=r?JSON.parse(r):null;Boolean(null==t||null===(o=t.items)||void 0===o?void 0:o.length)&&(e=t)}}catch(e){console.error("Error loading carts from localStorage:",e)}return e}},{key:"saveToLocalStorage",value:function(e){if(this.isValidCart({version:"1.0",items:e})){if("undefined"!=typeof globalThis&&globalThis.localStorage)if(s.provider.localStorageKey){var o,r={version:"1.0",items:e};localStorage.setItem(s.provider.localStorageKey,JSON.stringify(r)),null===(o=s.provider.store)||void 0===o||o.emit("stateChange",{items:e})}else console.warn("No localStorageKey provided, skipping storage")}else this.notifyValidationError()}},{key:"notifyValidationError",value:function(){var e,o=s.provider.maxItems,r=s.provider.maxLinks,t=["Max items: ".concat(o>-1?o:"unlimited"),"Max links per item: ".concat(r>-1?r:"unlimited")];null===(e=i.ApiAlert)||void 0===e||e.PushInfo("Cart limit exceeded. ".concat(t.join(", "),". Please review your cart."))}}],[{key:"provider",get:function(){var e;return null!==(e=l(s.key_provider).get())&&void 0!==e?e:new v}},{key:"setProvider",value:function(e){l(s.key_provider).set(null!=e?e:new v)}},{key:"setOptions",value:function(e){var o=s.provider;void 0!==e.localStorageKey&&(o.localStorageKey=e.localStorageKey),void 0!==e.maxItems&&(o.maxItems=e.maxItems),void 0!==e.maxLinks&&(o.maxLinks=e.maxLinks),s.setProvider(o)}}])}();e(d,"key_provider","__cart_key_provider__");var m=new d;export{d as CartService,m as cartService};
|
|
2
2
|
//# sourceMappingURL=service.js.map
|
package/dist/cart/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sources":["../../src/cart/service.ts"],"sourcesContent":["import { ApiAlertContext } from 'dinocollab-core/api-context'\r\nimport { createObjectSingleton, tryParseArray } from 'dinocollab-core/utils'\r\nimport { ICartItem, ICartOptions } from './types'\r\nimport { CartEventStore } from './event-store'\r\nimport { MAX_ITEMS, MAX_LINKS } from './configs'\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 extends ICartOptions {\r\n store?: CartEventStore\r\n}\r\n\r\nclass CartProviderDefault implements ICartProvider {\r\n localStorageKey = '__cart_default__'\r\n maxLinks = MAX_LINKS\r\n maxItems = MAX_ITEMS\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 setOptions(options: { localStorageKey?: string; maxItems?: number; maxLinks?: number }) {\r\n const provider = CartService.provider\r\n if (options.localStorageKey !== undefined) provider.localStorageKey = options.localStorageKey\r\n if (options.maxItems !== undefined) provider.maxItems = options.maxItems\r\n if (options.maxLinks !== undefined) provider.maxLinks = options.maxLinks\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 const isValid = this.isValidCart({ version: '1.0', items })\r\n if (!isValid) {\r\n this.notifyValidationError()\r\n return\r\n }\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 private isValidCart = (data: ICartMetadata<T>): boolean => {\r\n const maxItems = CartService.provider.maxItems!\r\n const maxLinks = CartService.provider.maxLinks!\r\n\r\n let isMaxItemsValid = true\r\n if (maxItems > -1) isMaxItemsValid = data.items.length <= maxItems\r\n\r\n let isMaxLinksValid = true\r\n if (maxLinks > -1) {\r\n isMaxLinksValid = data.items.every((item) => {\r\n const links = tryParseArray(item.SocialUrl, [])\r\n return links.length <= maxLinks\r\n })\r\n }\r\n return isMaxItemsValid && isMaxLinksValid\r\n }\r\n\r\n private notifyValidationError() {\r\n const maxItems = CartService.provider.maxItems!\r\n const maxLinks = CartService.provider.maxLinks!\r\n const texts = [`Max items: ${maxItems > -1 ? maxItems : 'unlimited'}`, `Max links per item: ${maxLinks > -1 ? maxLinks : 'unlimited'}`]\r\n ApiAlertContext.ApiAlert?.PushInfo(`Cart limit exceeded. ${texts.join(', ')}. Please review your cart.`)\r\n }\r\n}\r\n\r\nexport const cartService = new CartService<ICartItem>()\r\n"],"names":["CartProviderDefault","_createClass","_classCallCheck","_defineProperty","MAX_LINKS","MAX_ITEMS","this","CartEventStore","CartService","data","maxItems","provider","maxLinks","isMaxItemsValid","items","length","isMaxLinksValid","every","item","tryParseArray","SocialUrl","key","value","_CartService$provider","store","emit","event","callback","_CartService$provider2","subscribe","_storedItems$items","loadFromLocalStorage","cartItem","_storedItems$items2","storedItems","itemsToAdd","Array","isArray","updatedItems","concat","_toConsumableArray","saveToLocalStorage","_storedItems$items3","itemsToRemove","filter","x","some","y","ProductId","productId","updates","_storedItems$items4","map","_objectSpread","_storedItems$items5","existingIndex","findIndex","_storedItems$items6","addToCart","version","globalThis","localStorage","_tempParsed$items","temp","getItem","localStorageKey","tempParsed","JSON","parse","Boolean","error","console","isValidCart","_CartService$provider3","setItem","stringify","warn","notifyValidationError","_ApiAlertContext$ApiA","texts","ApiAlertContext","ApiAlert","PushInfo","join","get","_ObjectProvider$get","createObjectSingleton","key_provider","set","options","undefined","setProvider","cartService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sources":["../../src/cart/service.ts"],"sourcesContent":["import { ApiAlertContext } from 'dinocollab-core/api-context'\r\nimport { createObjectSingleton, tryParseArray } from 'dinocollab-core/utils'\r\nimport { ICartItem, ICartOptions } from './types'\r\nimport { CartEventStore } from './event-store'\r\nimport { MAX_ITEMS, MAX_LINKS } from './configs'\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 extends ICartOptions {\r\n store?: CartEventStore\r\n}\r\n\r\nclass CartProviderDefault implements ICartProvider {\r\n localStorageKey = '__cart_default__'\r\n maxLinks = MAX_LINKS\r\n maxItems = MAX_ITEMS\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 setOptions(options: { localStorageKey?: string; maxItems?: number; maxLinks?: number }) {\r\n const provider = CartService.provider\r\n if (options.localStorageKey !== undefined) provider.localStorageKey = options.localStorageKey\r\n if (options.maxItems !== undefined) provider.maxItems = options.maxItems\r\n if (options.maxLinks !== undefined) provider.maxLinks = options.maxLinks\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 getOptions() {\r\n const { localStorageKey, maxItems, maxLinks } = CartService.provider\r\n return { localStorageKey, maxItems, maxLinks }\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 const isValid = this.isValidCart({ version: '1.0', items })\r\n if (!isValid) {\r\n this.notifyValidationError()\r\n return\r\n }\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 private isValidCart = (data: ICartMetadata<T>): boolean => {\r\n const maxItems = CartService.provider.maxItems!\r\n const maxLinks = CartService.provider.maxLinks!\r\n\r\n let isMaxItemsValid = true\r\n if (maxItems > -1) isMaxItemsValid = data.items.length <= maxItems\r\n\r\n let isMaxLinksValid = true\r\n if (maxLinks > -1) {\r\n isMaxLinksValid = data.items.every((item) => {\r\n const links = tryParseArray(item.SocialUrl, [])\r\n return links.length <= maxLinks\r\n })\r\n }\r\n return isMaxItemsValid && isMaxLinksValid\r\n }\r\n\r\n private notifyValidationError() {\r\n const maxItems = CartService.provider.maxItems!\r\n const maxLinks = CartService.provider.maxLinks!\r\n const texts = [`Max items: ${maxItems > -1 ? maxItems : 'unlimited'}`, `Max links per item: ${maxLinks > -1 ? maxLinks : 'unlimited'}`]\r\n ApiAlertContext.ApiAlert?.PushInfo(`Cart limit exceeded. ${texts.join(', ')}. Please review your cart.`)\r\n }\r\n}\r\n\r\nexport const cartService = new CartService<ICartItem>()\r\n"],"names":["CartProviderDefault","_createClass","_classCallCheck","_defineProperty","MAX_LINKS","MAX_ITEMS","this","CartEventStore","CartService","data","maxItems","provider","maxLinks","isMaxItemsValid","items","length","isMaxLinksValid","every","item","tryParseArray","SocialUrl","key","value","_CartService$provider","store","emit","event","callback","_CartService$provider2","subscribe","_CartService$provider3","localStorageKey","_storedItems$items","loadFromLocalStorage","cartItem","_storedItems$items2","storedItems","itemsToAdd","Array","isArray","updatedItems","concat","_toConsumableArray","saveToLocalStorage","_storedItems$items3","itemsToRemove","filter","x","some","y","ProductId","productId","updates","_storedItems$items4","map","_objectSpread","_storedItems$items5","existingIndex","findIndex","_storedItems$items6","addToCart","version","globalThis","localStorage","_tempParsed$items","temp","getItem","tempParsed","JSON","parse","Boolean","error","console","isValidCart","_CartService$provider4","setItem","stringify","warn","notifyValidationError","_ApiAlertContext$ApiA","texts","ApiAlertContext","ApiAlert","PushInfo","join","get","_ObjectProvider$get","createObjectSingleton","key_provider","set","options","undefined","setProvider","cartService"],"mappings":"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"}
|
package/dist/cart/styled.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{styled as r,Stack as
|
|
1
|
+
import{styled as r,Stack as a,Menu as t,Typography as o,alpha as e}from"@mui/material";var p=r(a)(function(r){var a=r.theme;return{"--color-bg":a.palette.background.paper,"--color-bg-rba":"dark"===a.palette.mode?"18, 18, 18":"255, 255, 255","--color-text":a.palette.text.primary,"--cart-color-bg":"var(--color-bg)",height:"100%"}}),i=r(t)(function(r){var a=r.theme;return{"--color-bg":a.palette.background.paper,"--color-text":a.palette.text.primary,"--cart-color-bg":"var(--color-bg)",marginTop:"45px","> .MuiPaper-root":{position:"relative",overflow:"visible",display:"flex",flexDirection:"column",backgroundColor:a.palette.background.paper,borderRadius:a.shape.borderRadius,minWidth:"280px",maxWidth:"550px",boxShadow:"0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)",animation:"fadeInDown 0.3s ease-out",marginTop:"8px",color:a.palette.text.primary,"@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}},"&::before":{content:'""',position:"absolute",backgroundColor:a.palette.background.paper,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))",width:"10px",height:"10px",top:"-4px",right:a.spacing(1),transform:"translateX(-50%) rotate(45deg)",zIndex:0}},".MuiBackdrop-root":{backgroundColor:"transparent"},".MuiList-root":{padding:0,height:"100%",minHeight:0,maxHeight:"60vh"}}}),n=r(o)(function(r){var a=r.theme;return{fontWeight:700,fontSize:"0.75rem",backgroundColor:e(a.palette.primary.main||"#E11D48",.1),padding:"2px 8px",borderRadius:"999px",display:"inline-block"}});export{n as ItemTag,i as MenuStyled,p as Root};
|
|
2
2
|
//# sourceMappingURL=styled.js.map
|
package/dist/cart/styled.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sources":["../../src/cart/styled.tsx"],"sourcesContent":["import { alpha, Menu, Stack, styled, Typography } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { MenuProps, StackProps, TypographyProps } from '@mui/material'\r\n\r\nexport const Root: ComponentType<StackProps> = styled(Stack)(({ theme }) => ({\r\n '--color-bg': theme.palette.
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../src/cart/styled.tsx"],"sourcesContent":["import { alpha, Menu, Stack, styled, Typography } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { MenuProps, StackProps, TypographyProps } from '@mui/material'\r\n\r\nexport const Root: ComponentType<StackProps> = styled(Stack)(({ theme }) => ({\r\n '--color-bg': theme.palette.background.paper,\r\n '--color-bg-rba': theme.palette.mode === 'dark' ? '18, 18, 18' : '255, 255, 255',\r\n '--color-text': theme.palette.text.primary,\r\n '--cart-color-bg': 'var(--color-bg)',\r\n height: '100%'\r\n}))\r\n\r\nexport const MenuStyled: ComponentType<MenuProps> = styled(Menu)(({ theme }) => ({\r\n '--color-bg': theme.palette.background.paper,\r\n '--color-text': theme.palette.text.primary,\r\n '--cart-color-bg': 'var(--color-bg)',\r\n marginTop: '45px',\r\n '> .MuiPaper-root': {\r\n position: 'relative',\r\n overflow: 'visible',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n backgroundColor: theme.palette.background.paper,\r\n borderRadius: theme.shape.borderRadius,\r\n minWidth: '280px',\r\n maxWidth: '550px',\r\n boxShadow: `0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)`,\r\n animation: 'fadeInDown 0.3s ease-out',\r\n marginTop: '8px',\r\n color: theme.palette.text.primary,\r\n\r\n '@keyframes fadeInDown': {\r\n '0%': { opacity: 0, transform: 'translateY(-10px)' },\r\n '100%': { opacity: 1, transform: 'translateY(0)' }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n backgroundColor: theme.palette.background.paper,\r\n backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n width: '10px',\r\n height: '10px',\r\n top: '-4px',\r\n right: theme.spacing(1),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n '.MuiBackdrop-root': { backgroundColor: 'transparent' },\r\n '.MuiList-root': { padding: 0, height: '100%', minHeight: 0, maxHeight: '60vh' }\r\n}))\r\n\r\nexport const ItemTag: ComponentType<TypographyProps> = styled(Typography)(({ theme }) => ({\r\n fontWeight: 700,\r\n fontSize: '0.75rem',\r\n backgroundColor: alpha(theme.palette.primary.main || '#E11D48', 0.1),\r\n padding: '2px 8px',\r\n borderRadius: '999px',\r\n display: 'inline-block'\r\n}))\r\n"],"names":["Root","styled","Stack","_ref","theme","palette","background","paper","mode","text","primary","height","MenuStyled","Menu","_ref2","marginTop","position","overflow","display","flexDirection","backgroundColor","borderRadius","shape","minWidth","maxWidth","boxShadow","animation","color","opacity","transform","content","backgroundImage","width","top","right","spacing","zIndex","padding","minHeight","maxHeight","ItemTag","Typography","_ref3","fontWeight","fontSize","alpha","main"],"mappings":"uFAIO,IAAMA,EAAkCC,EAAOC,EAAPD,CAAc,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAC3E,aAAcA,EAAMC,QAAQC,WAAWC,MACvC,iBAAyC,SAAvBH,EAAMC,QAAQG,KAAkB,aAAe,gBACjE,eAAgBJ,EAAMC,QAAQI,KAAKC,QACnC,kBAAmB,kBACnBC,OAAQ,OACT,GAEYC,EAAuCX,EAAOY,EAAPZ,CAAa,SAAAa,GAAA,IAAGV,EAAKU,EAALV,MAAK,MAAQ,CAC/E,aAAcA,EAAMC,QAAQC,WAAWC,MACvC,eAAgBH,EAAMC,QAAQI,KAAKC,QACnC,kBAAmB,kBACnBK,UAAW,OACX,mBAAoB,CAClBC,SAAU,WACVC,SAAU,UACVC,QAAS,OACTC,cAAe,SACfC,gBAAiBhB,EAAMC,QAAQC,WAAWC,MAC1Cc,aAAcjB,EAAMkB,MAAMD,aAC1BE,SAAU,QACVC,SAAU,QACVC,UAAsI,4HACtIC,UAAW,2BACXX,UAAW,MACXY,MAAOvB,EAAMC,QAAQI,KAAKC,QAE1B,wBAAyB,CACvB,KAAM,CAAEkB,QAAS,EAAGC,UAAW,qBAC/B,OAAQ,CAAED,QAAS,EAAGC,UAAW,kBAGnC,YAAa,CACXC,QAAS,KACTd,SAAU,WACVI,gBAAiBhB,EAAMC,QAAQC,WAAWC,MAC1CwB,gBAAiB,wEACjBC,MAAO,OACPrB,OAAQ,OACRsB,IAAK,OACLC,MAAO9B,EAAM+B,QAAQ,GACrBN,UAAW,iCACXO,OAAQ,IAGZ,oBAAqB,CAAEhB,gBAAiB,eACxC,gBAAiB,CAAEiB,QAAS,EAAG1B,OAAQ,OAAQ2B,UAAW,EAAGC,UAAW,QACzE,GAEYC,EAA0CvC,EAAOwC,EAAPxC,CAAmB,SAAAyC,GAAA,IAAGtC,EAAKsC,EAALtC,MAAK,MAAQ,CACxFuC,WAAY,IACZC,SAAU,UACVxB,gBAAiByB,EAAMzC,EAAMC,QAAQK,QAAQoC,MAAQ,UAAW,IAChET,QAAS,UACThB,aAAc,QACdH,QAAS,eACV"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{styled as
|
|
1
|
+
import{styled as e,Box as i,Stack as t}from"@mui/material";var r=e(i)(function(e){return e.theme,{flex:"1",display:"flex",flexDirection:"column",minHeight:0,maxHeight:"60vh","&.mobile":{height:"100%",maxHeight:"none"}}}),a=e(t)(function(e){var i=e.theme;return{padding:i.spacing(1,2),justifyContent:"space-between",flexDirection:"row",alignItems:"center",gap:i.spacing(2),position:"sticky",top:0,backgroundColor:i.palette.background.paper,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",zIndex:2,borderTopLeftRadius:i.spacing(.5),borderTopRightRadius:i.spacing(.5),borderBottom:"1px solid ".concat(i.palette.divider)}}),n=e(t)(function(){return{gap:4}}),o=e(i)(function(){return{flex:1,minHeight:0,overflowY:"auto"}}),p=e(i)(function(e){var i=e.theme;return{padding:i.spacing(1),display:"flex",flexDirection:"column",gap:i.spacing(1)}}),c=e(i)(function(e){var i=e.theme;return{padding:i.spacing(1.5),display:"flex",flexDirection:"column",gap:i.spacing(2),position:"sticky",bottom:0,background:i.palette.background.paper,backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))",zIndex:1,borderTop:"1px solid ".concat(i.palette.divider),borderBottomLeftRadius:i.spacing(.5),borderBottomRightRadius:i.spacing(.5)}});export{o as Body,c as Footer,a as Header,n as HeaderLeft,p as Items,r as Root,r as default};
|
|
2
2
|
//# sourceMappingURL=styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sources":["../../../src/factory/cart-content/styled.tsx"],"sourcesContent":["import { Box, BoxProps, Stack, StackProps, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\n\r\nexport const Root: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../../src/factory/cart-content/styled.tsx"],"sourcesContent":["import { Box, BoxProps, Stack, StackProps, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\n\r\nexport const Root: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n flex: '1',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n minHeight: 0,\r\n maxHeight: '60vh',\r\n '&.mobile': { height: '100%', maxHeight: 'none' }\r\n}))\r\n\r\nexport const Header: ComponentType<StackProps> = styled(Stack)(({ theme }) => ({\r\n padding: theme.spacing(1, 2),\r\n justifyContent: 'space-between',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n gap: theme.spacing(2),\r\n position: 'sticky',\r\n top: 0,\r\n backgroundColor: theme.palette.background.paper,\r\n backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n backdropFilter: 'blur(20px)',\r\n WebkitBackdropFilter: 'blur(20px)',\r\n zIndex: 2,\r\n borderTopLeftRadius: theme.spacing(0.5),\r\n borderTopRightRadius: theme.spacing(0.5),\r\n borderBottom: `1px solid ${theme.palette.divider}`\r\n}))\r\n\r\nexport const HeaderLeft: ComponentType<StackProps> = styled(Stack)(() => ({ gap: 4 }))\r\n\r\nexport const Body: ComponentType<BoxProps> = styled(Box)(() => ({ flex: 1, minHeight: 0, overflowY: 'auto' }))\r\n\r\nexport const Items: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n padding: theme.spacing(1),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: theme.spacing(1)\r\n}))\r\n\r\nexport const Footer: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n padding: theme.spacing(1.5),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: theme.spacing(2),\r\n position: 'sticky',\r\n bottom: 0,\r\n background: theme.palette.background.paper,\r\n backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))',\r\n zIndex: 1,\r\n borderTop: `1px solid ${theme.palette.divider}`,\r\n borderBottomLeftRadius: theme.spacing(0.5),\r\n borderBottomRightRadius: theme.spacing(0.5)\r\n}))\r\n\r\nexport default Root\r\n"],"names":["Root","styled","Box","_ref","theme","flex","display","flexDirection","minHeight","maxHeight","height","Header","Stack","_ref2","padding","spacing","justifyContent","alignItems","gap","position","top","backgroundColor","palette","background","paper","backgroundImage","backdropFilter","WebkitBackdropFilter","zIndex","borderTopLeftRadius","borderTopRightRadius","borderBottom","concat","divider","HeaderLeft","Body","overflowY","Items","_ref3","Footer","_ref4","bottom","borderTop","borderBottomLeftRadius","borderBottomRightRadius"],"mappings":"2DAGO,IAAMA,EAAgCC,EAAOC,EAAPD,CAAY,SAAAE,GAAQ,OAAAA,EAALC,MAAa,CACvEC,KAAM,IACNC,QAAS,OACTC,cAAe,SACfC,UAAW,EACXC,UAAW,OACX,WAAY,CAAEC,OAAQ,OAAQD,UAAW,QAC1C,GAEYE,EAAoCV,EAAOW,EAAPX,CAAc,SAAAY,GAAA,IAAGT,EAAKS,EAALT,MAAK,MAAQ,CAC7EU,QAASV,EAAMW,QAAQ,EAAG,GAC1BC,eAAgB,gBAChBT,cAAe,MACfU,WAAY,SACZC,IAAKd,EAAMW,QAAQ,GACnBI,SAAU,SACVC,IAAK,EACLC,gBAAiBjB,EAAMkB,QAAQC,WAAWC,MAC1CC,gBAAiB,wEACjBC,eAAgB,aAChBC,qBAAsB,aACtBC,OAAQ,EACRC,oBAAqBzB,EAAMW,QAAQ,IACnCe,qBAAsB1B,EAAMW,QAAQ,IACpCgB,0BAAYC,OAAe5B,EAAMkB,QAAQW,SAC1C,GAEYC,EAAwCjC,EAAOW,EAAPX,CAAc,WAAA,MAAO,CAAEiB,IAAK,EAAG,GAEvEiB,EAAgClC,EAAOC,EAAPD,CAAY,WAAA,MAAO,CAAEI,KAAM,EAAGG,UAAW,EAAG4B,UAAW,OAAQ,GAE/FC,EAAiCpC,EAAOC,EAAPD,CAAY,SAAAqC,GAAA,IAAGlC,EAAKkC,EAALlC,MAAK,MAAQ,CACxEU,QAASV,EAAMW,QAAQ,GACvBT,QAAS,OACTC,cAAe,SACfW,IAAKd,EAAMW,QAAQ,GACpB,GAEYwB,EAAkCtC,EAAOC,EAAPD,CAAY,SAAAuC,GAAA,IAAGpC,EAAKoC,EAALpC,MAAK,MAAQ,CACzEU,QAASV,EAAMW,QAAQ,KACvBT,QAAS,OACTC,cAAe,SACfW,IAAKd,EAAMW,QAAQ,GACnBI,SAAU,SACVsB,OAAQ,EACRlB,WAAYnB,EAAMkB,QAAQC,WAAWC,MACrCC,gBAAiB,wEACjBG,OAAQ,EACRc,UAAS,aAAAV,OAAe5B,EAAMkB,QAAQW,SACtCU,uBAAwBvC,EAAMW,QAAQ,IACtC6B,wBAAyBxC,EAAMW,QAAQ,IACxC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{objectSpread2 as t}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as
|
|
1
|
+
import{objectSpread2 as t}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useMemo as r}from"react";import{Typography as l,alpha as i}from"@mui/material";import{ItemTitle as n,ItemRoot as a,ItemImg as s,ItemContent as u}from"./styled.js";import{IconButtonConfirm as m}from"../../components/buttons.js";function c(c){var d=function(d){var p,f,v,b={item:d.item},g=r(function(){var t,e;return{slots:null!==(t=null!==(e=d.slots)&&void 0!==e?e:null==c?void 0:c.slots)&&void 0!==t?t:{}}},[]),x=function(t,e){return t?"function"==typeof t?t(b):t:e},h=e(n,{children:e(l,t(t({variant:"subtitle1",title:d.name},null!==(p=d.itemTitleProps)&&void 0!==p?p:d.itemTitlePropsGetter?d.itemTitlePropsGetter(d.item,d.onClose):{}),{},{children:d.name}))});return o(a,{children:[e(s,{src:d.imageUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),o(u,{children:[e(m,{size:"small",onAccept:function(){var t;return null===(t=d.onRemoveCart)||void 0===t?void 0:t.call(d,d.item)},slots:{sxLayout:{position:"absolute",left:0,top:0,flexDirection:"row-reverse",borderBottomRightRadius:"16px",backgroundColor:function(t){return i(t.palette.background.paper,.8)}},removeProps:{sx:{color:"#dd5b5b"}}}}),x(null===(f=g.slots)||void 0===f?void 0:f.beforeTile,null),h,x(null===(v=g.slots)||void 0===v?void 0:v.afterTile,null)]})]})};return d.displayName="FactoryCartItem",d}export{c as createCartItem,c as default};
|
|
2
2
|
//# sourceMappingURL=create.cart-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.cart-item.js","sources":["../../../src/factory/cart-item/create.cart-item.tsx"],"sourcesContent":["import { ComponentType, useMemo } from 'react'\r\nimport { Typography } from '@mui/material'\r\nimport { ItemContent, ItemImg, ItemRoot, ItemTitle } from './styled'\r\nimport IFactoryCartProps, { ICartContext, ICartOptions } from './types'\r\nimport { IconButtonConfirm } from '../../components'\r\n\r\nexport
|
|
1
|
+
{"version":3,"file":"create.cart-item.js","sources":["../../../src/factory/cart-item/create.cart-item.tsx"],"sourcesContent":["import { ComponentType, useMemo } from 'react'\r\nimport { alpha, Typography } from '@mui/material'\r\nimport { ItemContent, ItemImg, ItemRoot, ItemTitle } from './styled'\r\nimport IFactoryCartProps, { ICartContext, ICartOptions } from './types'\r\nimport { IconButtonConfirm } from '../../components'\r\n\r\nexport function createCartItem<T = {}>(configs?: ICartOptions<T>): ComponentType<IFactoryCartProps<T>> {\r\n const CartItem: ComponentType<IFactoryCartProps<T>> = (props) => {\r\n const viewContext: ICartContext<T> = { item: props.item }\r\n\r\n const initConfigs = useMemo(() => ({ slots: props.slots ?? configs?.slots ?? {} }), [])\r\n\r\n const resolveSlot = (slot: any, defaultNode: React.ReactNode) => {\r\n if (!slot) return defaultNode\r\n if (typeof slot === 'function') return slot(viewContext)\r\n return slot\r\n }\r\n\r\n const titleNode = (\r\n <ItemTitle>\r\n <Typography\r\n variant='subtitle1'\r\n title={props.name}\r\n {...(props.itemTitleProps ?? (props.itemTitlePropsGetter ? props.itemTitlePropsGetter(props.item, props.onClose) : {}))}\r\n >\r\n {props.name}\r\n </Typography>\r\n </ItemTitle>\r\n )\r\n\r\n return (\r\n <ItemRoot>\r\n <ItemImg src={props.imageUrl} fallbackSrc='images/default-video.webp' alt='product-picture' />\r\n <ItemContent>\r\n <IconButtonConfirm\r\n size='small'\r\n onAccept={() => props.onRemoveCart?.(props.item)}\r\n slots={{\r\n sxLayout: {\r\n position: 'absolute',\r\n left: 0,\r\n top: 0,\r\n flexDirection: 'row-reverse',\r\n borderBottomRightRadius: '16px',\r\n backgroundColor: (theme) => alpha(theme.palette.background.paper, 0.8)\r\n },\r\n removeProps: { sx: { color: '#dd5b5b' } }\r\n }}\r\n />\r\n {resolveSlot(initConfigs.slots?.beforeTile, null)}\r\n {titleNode}\r\n {resolveSlot(initConfigs.slots?.afterTile, null)}\r\n </ItemContent>\r\n </ItemRoot>\r\n )\r\n }\r\n\r\n CartItem.displayName = 'FactoryCartItem'\r\n return CartItem\r\n}\r\n\r\nexport default createCartItem\r\n"],"names":["createCartItem","configs","CartItem","props","_props$itemTitleProps","_initConfigs$slots","_initConfigs$slots2","viewContext","item","initConfigs","useMemo","_ref","_props$slots","slots","resolveSlot","slot","defaultNode","titleNode","_jsx","ItemTitle","children","Typography","_objectSpread","variant","title","name","itemTitleProps","itemTitlePropsGetter","onClose","_jsxs","ItemRoot","ItemImg","src","imageUrl","fallbackSrc","alt","ItemContent","IconButtonConfirm","size","onAccept","_props$onRemoveCart","onRemoveCart","call","sxLayout","position","left","top","flexDirection","borderBottomRightRadius","backgroundColor","theme","alpha","palette","background","paper","removeProps","sx","color","beforeTile","afterTile","displayName"],"mappings":"wWAMM,SAAUA,EAAuBC,GACrC,IAAMC,EAAgD,SAACC,GAAS,IAAAC,EAAAC,EAAAC,EACxDC,EAA+B,CAAEC,KAAML,EAAMK,MAE7CC,EAAcC,EAAQ,WAAA,IAAAC,EAAAC,EAAA,MAAO,CAAEC,MAAoC,QAA/BF,EAAaC,QAAbA,EAAET,EAAMU,aAAKD,IAAAA,EAAAA,EAAIX,aAAO,EAAPA,EAASY,aAAK,IAAAF,EAAAA,EAAI,CAAA,EAAK,EAAE,IAE9EG,EAAc,SAACC,EAAWC,GAC9B,OAAKD,EACe,mBAATA,EAA4BA,EAAKR,GACrCQ,EAFWC,CAGnB,EAEKC,EACJC,EAACC,EACC,CAAAC,SAAAF,EAACG,EAAUC,EAAAA,EAAA,CACTC,QAAQ,YACRC,MAAOrB,EAAMsB,MACY,QADRrB,EACZD,EAAMuB,sBAAc,IAAAtB,EAAAA,EAAKD,EAAMwB,qBAAuBxB,EAAMwB,qBAAqBxB,EAAMK,KAAML,EAAMyB,SAAW,IAAE,GAAA,CAAER,SAEtHjB,EAAMsB,UAKb,OACEI,EAACC,EAAQ,CAAAV,SAAA,CACPF,EAACa,EAAO,CAACC,IAAK7B,EAAM8B,SAAUC,YAAY,4BAA4BC,IAAI,oBAC1EN,EAACO,aACClB,EAACmB,GACCC,KAAK,QACLC,SAAU,WAAF,IAAAC,EAAA,eAAAA,EAAQrC,EAAMsC,oBAAY,IAAAD,OAAA,EAAlBA,EAAAE,KAAAvC,EAAqBA,EAAMK,KAAK,EAChDK,MAAO,CACL8B,SAAU,CACRC,SAAU,WACVC,KAAM,EACNC,IAAK,EACLC,cAAe,cACfC,wBAAyB,OACzBC,gBAAiB,SAACC,GAAK,OAAKC,EAAMD,EAAME,QAAQC,WAAWC,MAAO,GAAI,GAExEC,YAAa,CAAEC,GAAI,CAAEC,MAAO,eAG/B3C,EAA6B,QAAlBT,EAACI,EAAYI,aAAZR,IAAiBA,OAAjBA,EAAAA,EAAmBqD,WAAY,MAC3CzC,EACAH,EAA6BR,QAAlBA,EAACG,EAAYI,iBAAKP,SAAjBA,EAAmBqD,UAAW,WAIlD,EAGD,OADAzD,EAAS0D,YAAc,kBAChB1D,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{styled as e,Box as
|
|
1
|
+
import{styled as e,Box as t,alpha as o}from"@mui/material";import{ImageWithFallback as i}from"dinocollab-core/components";var r=e(t)(function(e){var t=e.theme;return{position:"relative",display:"flex",gap:t.spacing(1),padding:t.spacing(1),background:o(t.palette.background.paper,.5),borderRadius:t.spacing(.5),border:"1px solid ".concat(o(t.palette.divider,.3)),transition:"all 0.2s ease","& a":{textDecoration:"none",color:t.palette.text.primary},"&:hover":{boxShadow:"0 0 0 1px ".concat(o(t.palette.primary.main||"#E11D48",.2)),borderColor:o(t.palette.primary.main||"#E11D48",.3)},"&:hover a":{textDecoration:"underline"}}}),a=e(i)(function(e){var t=e.theme;return{height:"62px",aspectRatio:"1 / 1",borderRadius:t.spacing(.5),objectFit:"cover",flex:"0 0 auto",backgroundColor:"dark"===t.palette.mode?"#27272a":o(t.palette.grey[200],.5)}}),n=e(t)({flex:1,marginBlock:" auto",alignItems:"flex-start",display:"flex",flexDirection:"column",justifyContent:"space-between",minWidth:0}),l=e(t)(function(e){return{color:"var(--color-text)",fontWeight:600,fontSize:"0.875rem",lineHeight:1.25,marginBlock:e.theme.spacing(.5),minWidth:0,width:"100%",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical"}});export{n as ItemContent,a as ItemImg,r as ItemRoot,l as ItemTitle};
|
|
2
2
|
//# sourceMappingURL=styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sources":["../../../src/factory/cart-item/styled.tsx"],"sourcesContent":["import { Box, styled, alpha } from '@mui/material'\r\nimport { ImageWithFallback } from 'dinocollab-core/components'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps } from '@mui/material'\r\nimport type { IImageWithFallbackProps } from 'dinocollab-core/components'\r\n\r\nexport const ItemRoot: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../../src/factory/cart-item/styled.tsx"],"sourcesContent":["import { Box, styled, alpha } from '@mui/material'\r\nimport { ImageWithFallback } from 'dinocollab-core/components'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps } from '@mui/material'\r\nimport type { IImageWithFallbackProps } from 'dinocollab-core/components'\r\n\r\nexport const ItemRoot: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n position: 'relative',\r\n display: 'flex',\r\n gap: theme.spacing(1),\r\n padding: theme.spacing(1),\r\n background: alpha(theme.palette.background.paper, 0.5),\r\n borderRadius: theme.spacing(0.5),\r\n border: `1px solid ${alpha(theme.palette.divider, 0.3)}`,\r\n transition: 'all 0.2s ease',\r\n '& a': { textDecoration: 'none', color: theme.palette.text.primary },\r\n '&:hover': {\r\n boxShadow: `0 0 0 1px ${alpha(theme.palette.primary.main || '#E11D48', 0.2)}`,\r\n borderColor: alpha(theme.palette.primary.main || '#E11D48', 0.3)\r\n },\r\n '&:hover a': { textDecoration: 'underline' }\r\n}))\r\n\r\nexport const ItemImg: ComponentType<IImageWithFallbackProps> = styled(ImageWithFallback)<{ src?: string }>(({ theme }) => ({\r\n height: '62px',\r\n aspectRatio: '1 / 1',\r\n borderRadius: theme.spacing(0.5),\r\n objectFit: 'cover',\r\n flex: '0 0 auto',\r\n backgroundColor: theme.palette.mode === 'dark' ? '#27272a' : alpha(theme.palette.grey[200], 0.5)\r\n}))\r\n\r\nexport const ItemContent: ComponentType<BoxProps> = styled(Box)({\r\n flex: 1,\r\n marginBlock: ' auto',\r\n alignItems: 'flex-start',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n minWidth: 0\r\n})\r\n\r\nexport const ItemTitle: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n color: 'var(--color-text)',\r\n fontWeight: 600,\r\n fontSize: '0.875rem',\r\n lineHeight: 1.25,\r\n marginBlock: theme.spacing(0.5),\r\n minWidth: 0,\r\n width: '100%',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n display: '-webkit-box',\r\n WebkitLineClamp: 1,\r\n WebkitBoxOrient: 'vertical'\r\n}))\r\n"],"names":["ItemRoot","styled","Box","_ref","theme","position","display","gap","spacing","padding","background","alpha","palette","paper","borderRadius","border","concat","divider","transition","textDecoration","color","text","primary","boxShadow","main","borderColor","ItemImg","ImageWithFallback","_ref2","height","aspectRatio","objectFit","flex","backgroundColor","mode","grey","ItemContent","marginBlock","alignItems","flexDirection","justifyContent","minWidth","ItemTitle","_ref3","fontWeight","fontSize","lineHeight","width","overflow","textOverflow","WebkitLineClamp","WebkitBoxOrient"],"mappings":"0HAMO,IAAMA,EAAoCC,EAAOC,EAAPD,CAAY,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CAC3EC,SAAU,WACVC,QAAS,OACTC,IAAKH,EAAMI,QAAQ,GACnBC,QAASL,EAAMI,QAAQ,GACvBE,WAAYC,EAAMP,EAAMQ,QAAQF,WAAWG,MAAO,IAClDC,aAAcV,EAAMI,QAAQ,IAC5BO,OAAMC,aAAAA,OAAeL,EAAMP,EAAMQ,QAAQK,QAAS,KAClDC,WAAY,gBACZ,MAAO,CAAEC,eAAgB,OAAQC,MAAOhB,EAAMQ,QAAQS,KAAKC,SAC3D,UAAW,CACTC,uBAASP,OAAeL,EAAMP,EAAMQ,QAAQU,QAAQE,MAAQ,UAAW,KACvEC,YAAad,EAAMP,EAAMQ,QAAQU,QAAQE,MAAQ,UAAW,KAE9D,YAAa,CAAEL,eAAgB,aAChC,GAEYO,EAAkDzB,EAAO0B,EAAP1B,CAA4C,SAAA2B,GAAA,IAAGxB,EAAKwB,EAALxB,MAAK,MAAQ,CACzHyB,OAAQ,OACRC,YAAa,QACbhB,aAAcV,EAAMI,QAAQ,IAC5BuB,UAAW,QACXC,KAAM,WACNC,gBAAwC,SAAvB7B,EAAMQ,QAAQsB,KAAkB,UAAYvB,EAAMP,EAAMQ,QAAQuB,KAAK,KAAM,IAC7F,GAEYC,EAAuCnC,EAAOC,EAAPD,CAAY,CAC9D+B,KAAM,EACNK,YAAa,QACbC,WAAY,aACZhC,QAAS,OACTiC,cAAe,SACfC,eAAgB,gBAChBC,SAAU,IAGCC,EAAqCzC,EAAOC,EAAPD,CAAY,SAAA0C,GAAQ,MAAQ,CAC5EvB,MAAO,oBACPwB,WAAY,IACZC,SAAU,WACVC,WAAY,KACZT,YALoEM,EAALvC,MAK5CI,QAAQ,IAC3BiC,SAAU,EACVM,MAAO,OACPC,SAAU,SACVC,aAAc,WACd3C,QAAS,cACT4C,gBAAiB,EACjBC,gBAAiB,WAClB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import e 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 m}from"./types.js";var u,l="images/logo.webp",v="images/bg-footer.jpg",d=[{link:"https://www.youtube.com",icon:i(o,{}),color:"#FF0000"},{link:"https://www.instagram.com",icon:i(r,{}),color:"#E4405F"},{link:"https://www.twitter.com",icon:i(n,{}),color:"#1DA1F2"},{link:"https://www.pinterest.com",icon:i(a,{}),color:"#BD081C"},{link:"https://www.reddit.com",icon:i(e,{}),color:"#FF4500"}],k=(t(t(t(t(t(t(t(t(t(t(u={},m.Home,"Home"),m.Pricing,"Pricing"),m.SubmitMedia,"Submit Media"),m.Faqs,"FAQs"),m.Videos,"Videos"),m.Audios,"Audios"),m.Privacy,"Privacy Policy"),m.Terms,"Terms of Submission"),m.About,"About Us"),m.CreateAccount,"Create Account"),t(t(u,m.ContactUs,"Contact Us"),m.GetStarted,"Get Started")),h=function(t){return JSON.stringify(t)},p=function(i){var e;return t(t(t(t(t(t(t(t(t(t(e={},m.Home,{site:"home",key:m.Home,href:i.home,routerPath:"/",options:h({toLocate:"home"})}),m.About,{site:"home",key:m.About,href:i.home+"/#About",routerPath:"/#About",options:h({toLocate:"about"})}),m.ContactUs,{site:"home",key:m.ContactUs,href:i.home+"/#Contact",routerPath:"/#Contact",options:h({toLocate:"contact"})}),m.Videos,{site:"home",key:m.Videos,href:i.home+"/video-discovery",routerPath:"/video-discovery"}),m.Pricing,{site:"client",key:m.Pricing,href:i.client+"/faqs?key=pricing",routerPath:"/faqs?key=pricing"}),m.Faqs,{site:"client",key:m.Faqs,href:i.client+"/faqs",routerPath:"/faqs"}),m.SubmitMedia,{site:"client",key:m.SubmitMedia,href:i.client+"/submit",routerPath:"/submit"}),m.Privacy,{site:"client",key:m.Privacy,href:i.client+"/privacy-policy",routerPath:"/privacy-policy"}),m.Terms,{site:"client",key:m.Terms,href:i.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),m.CreateAccount,{site:"home",key:m.CreateAccount,href:i.home+"/Identity/Account/Register",routerPath:"/Identity/Account/Register"}),t(t(e,m.Audios,{site:"music",key:m.Audios,href:i.music,routerPath:"/",options:h({tabKey:"audio"})}),m.GetStarted,{site:"client",key:m.GetStarted,href:i.client+"/get-started",routerPath:"/get-started"})},f=function(t){var i=p(t);return[{title:"Menu",enableTitle:!1,items:[{title:k[m.GetStarted],navLink:i[m.CreateAccount]},{title:k[m.About],navLink:i[m.About]},{title:k[m.Terms],navLink:i[m.Terms]},{title:k[m.Privacy],navLink:i[m.Privacy]}]}]},y=function(t){var i=p(t);return[{title:k[m.Home],navLink:i[m.Home]},{title:k[m.Pricing],navLink:i[m.Pricing]},{title:k[m.Faqs],navLink:i[m.Faqs]},{title:k[m.SubmitMedia],navLink:i[m.SubmitMedia]},{title:k[m.Videos],navLink:i[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:i[m.Audios],options:{startIcon:c}}]},b=function(t){var i=p(t);return[{title:k[m.Home],navLink:i[m.Home]},{title:k[m.Pricing],navLink:i[m.Pricing]},{title:k[m.About],navLink:i[m.About]},{title:k[m.Terms],navLink:i[m.Terms]},{title:k[m.Privacy],navLink:i[m.Privacy]},{title:k[m.CreateAccount],navLink:i[m.CreateAccount]},{title:k[m.Faqs],navLink:i[m.Faqs]},{title:k[m.ContactUs],navLink:i[m.ContactUs]},{title:k[m.SubmitMedia],navLink:i[m.SubmitMedia]}]},P="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",
|
|
1
|
+
import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import e 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 m}from"./types.js";var u,l="images/logo.webp",v="images/bg-footer.jpg",d=[{link:"https://www.youtube.com",icon:i(o,{}),color:"#FF0000"},{link:"https://www.instagram.com",icon:i(r,{}),color:"#E4405F"},{link:"https://www.twitter.com",icon:i(n,{}),color:"#1DA1F2"},{link:"https://www.pinterest.com",icon:i(a,{}),color:"#BD081C"},{link:"https://www.reddit.com",icon:i(e,{}),color:"#FF4500"}],k=(t(t(t(t(t(t(t(t(t(t(u={},m.Home,"Home"),m.Pricing,"Pricing"),m.SubmitMedia,"Submit Media"),m.Faqs,"FAQs"),m.Videos,"Videos"),m.Audios,"Audios"),m.Privacy,"Privacy Policy"),m.Terms,"Terms of Submission"),m.About,"About Us"),m.CreateAccount,"Create Account"),t(t(u,m.ContactUs,"Contact Us"),m.GetStarted,"Get Started")),h=function(t){return JSON.stringify(t)},p=function(i){var e;return t(t(t(t(t(t(t(t(t(t(e={},m.Home,{site:"home",key:m.Home,href:i.home,routerPath:"/",options:h({toLocate:"home"})}),m.About,{site:"home",key:m.About,href:i.home+"/#About",routerPath:"/#About",options:h({toLocate:"about"})}),m.ContactUs,{site:"home",key:m.ContactUs,href:i.home+"/#Contact",routerPath:"/#Contact",options:h({toLocate:"contact"})}),m.Videos,{site:"home",key:m.Videos,href:i.home+"/video-discovery",routerPath:"/video-discovery"}),m.Pricing,{site:"client",key:m.Pricing,href:i.client+"/faqs?key=pricing",routerPath:"/faqs?key=pricing"}),m.Faqs,{site:"client",key:m.Faqs,href:i.client+"/faqs",routerPath:"/faqs"}),m.SubmitMedia,{site:"client",key:m.SubmitMedia,href:i.client+"/submit",routerPath:"/submit"}),m.Privacy,{site:"client",key:m.Privacy,href:i.client+"/privacy-policy",routerPath:"/privacy-policy"}),m.Terms,{site:"client",key:m.Terms,href:i.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),m.CreateAccount,{site:"home",key:m.CreateAccount,href:i.home+"/Identity/Account/Register",routerPath:"/Identity/Account/Register"}),t(t(e,m.Audios,{site:"music",key:m.Audios,href:i.music,routerPath:"/",options:h({tabKey:"audio"})}),m.GetStarted,{site:"client",key:m.GetStarted,href:i.client+"/get-started",routerPath:"/get-started"})},f=function(t){var i=p(t);return[{title:"Menu",enableTitle:!1,items:[{title:k[m.GetStarted],navLink:i[m.CreateAccount]},{title:k[m.About],navLink:i[m.About]},{title:k[m.Terms],navLink:i[m.Terms]},{title:k[m.Privacy],navLink:i[m.Privacy]}]}]},y=function(t){var i=p(t);return[{title:k[m.Home],navLink:i[m.Home]},{title:k[m.Pricing],navLink:i[m.Pricing]},{title:k[m.Faqs],navLink:i[m.Faqs]},{title:k[m.SubmitMedia],navLink:i[m.SubmitMedia]},{title:k[m.Videos],navLink:i[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:i[m.Audios],options:{startIcon:c}}]},b=function(t){var i=p(t);return[{title:k[m.Home],navLink:i[m.Home]},{title:k[m.Pricing],navLink:i[m.Pricing]},{title:k[m.About],navLink:i[m.About]},{title:k[m.Terms],navLink:i[m.Terms]},{title:k[m.Privacy],navLink:i[m.Privacy]},{title:k[m.CreateAccount],navLink:i[m.CreateAccount]},{title:k[m.Faqs],navLink:i[m.Faqs]},{title:k[m.ContactUs],navLink:i[m.ContactUs]},{title:k[m.SubmitMedia],navLink:i[m.SubmitMedia]}]},P="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",g=function(){var t=(new Date).getFullYear();return"Copyright © 2024".concat(t>2024?" - ".concat(t):""," BERLINTOMEK. All rights reserved.")},A=function(t){var i=p(t);return[{title:k[m.Videos],navLink:i[m.Videos],options:{startIcon:s}},{title:k[m.Audios],navLink:i[m.Audios],options:{startIcon:c}}]},L=function(t){var i=p(t);return[[{title:k[m.Home],navLink:i[m.Home]},{title:k[m.Pricing],navLink:i[m.Pricing]},{title:k[m.About],navLink:i[m.About]},{title:k[m.Terms],navLink:i[m.Terms]},{title:k[m.Privacy],navLink:i[m.Privacy]}],[{title:k[m.CreateAccount],navLink:i[m.CreateAccount]},{title:k[m.Faqs],navLink:i[m.Faqs]},{title:k[m.ContactUs],navLink:i[m.ContactUs]},{title:k[m.SubmitMedia],navLink:i[m.SubmitMedia]}]]};export{l as appLogoUrl,d as appSocialConfigs,v as bgFooterUrl,P as footerDescription,g as getCopyrightText,L as getFooterNavConfigs,A as getFooterNavTabConfigs,f as getHeaderMenuConfigs,y as getHeaderNavConfigs,b as getMenuNavConfigs,p as getNavLinks,k as mapNavTitles};
|
|
2
2
|
//# sourceMappingURL=configs.js.map
|