dinocollab-shared 1.2.20 → 1.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{objectWithoutProperties as r,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,jsx as a}from"react/jsx-runtime";import{Stack as e}from"@mui/material";import{ButtonIconAddToCart as i}from"./btn.icon.add-to-cart.js";import{ButtonIconAddToPackage as p}from"./btn.icon.add-to-package.js";var c=["packageProps","cartProps"],m=function(m){var s=m.packageProps,n=m.cartProps,l=r(m,c);return t(e,o(o({direction:"row",gap:1},l),{},{children:[s&&a(p,o({},s)),n&&a(i,o({},n))]}))};export{m as ActionGroup,m as default};
1
+ import{objectWithoutProperties as r,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,jsx as a}from"react/jsx-runtime";import{Stack as e}from"@mui/material";import{ButtonIconAddToCart as i}from"./btn.icon.add-to-cart.js";import{ButtonIconAddToPackage as p}from"./btn.icon.add-to-package.js";var c=["packageProps","cartProps"],m=function(m){var s=m.packageProps,n=m.cartProps,l=r(m,c);return t(e,o(o({direction:"row",gap:1},l),{},{children:[s&&a(p,o({},s)),n&&a(i,o({},n)),l.children]}))};export{m as ActionGroup,m as default};
2
2
  //# sourceMappingURL=action-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-group.js","sources":["../../src/action-license/action-group.tsx"],"sourcesContent":["import { Stack } from '@mui/material'\r\nimport { ButtonIconAddToCart } from './btn.icon.add-to-cart'\r\nimport { ButtonIconAddToPackage } from './btn.icon.add-to-package'\r\nimport type { StackProps } from '@mui/material'\r\nimport type { ButtonIconAddToCartProps } from './btn.icon.add-to-cart'\r\nimport type { BtnIconAddToPackageProps } from './btn.icon.add-to-package'\r\n\r\nexport interface IActionGroupsProps<TProduct> extends StackProps {\r\n packageProps?: BtnIconAddToPackageProps<TProduct>\r\n cartProps?: ButtonIconAddToCartProps<TProduct>\r\n}\r\n\r\nexport const ActionGroup = <T,>({ packageProps, cartProps, ...stackProps }: IActionGroupsProps<T>) => {\r\n return (\r\n <Stack direction={'row'} gap={1} {...stackProps}>\r\n {packageProps && <ButtonIconAddToPackage {...packageProps} />}\r\n {cartProps && <ButtonIconAddToCart {...cartProps} />}\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default ActionGroup\r\n"],"names":["ActionGroup","_ref","packageProps","cartProps","stackProps","_objectWithoutProperties","_excluded","_jsxs","Stack","_objectSpread","direction","gap","children","_jsx","ButtonIconAddToPackage","ButtonIconAddToCart"],"mappings":"uWAYaA,EAAc,SAAHC,GAA6E,IAAnEC,EAAYD,EAAZC,aAAcC,EAASF,EAATE,UAAcC,EAAUC,EAAAJ,EAAAK,GACtE,OACEC,EAACC,EAAKC,EAAAA,EAAA,CAACC,UAAW,MAAOC,IAAK,GAAOP,GAAU,GAAA,CAC5CQ,SAAA,CAAAV,GAAgBW,EAACC,EAAsBL,EAAA,CAAA,EAAKP,IAC5CC,GAAaU,EAACE,EAAmBN,EAAA,CAAA,EAAKN,OAG7C"}
1
+ {"version":3,"file":"action-group.js","sources":["../../src/action-license/action-group.tsx"],"sourcesContent":["import { Stack } from '@mui/material'\r\nimport { ButtonIconAddToCart } from './btn.icon.add-to-cart'\r\nimport { ButtonIconAddToPackage } from './btn.icon.add-to-package'\r\nimport type { StackProps } from '@mui/material'\r\nimport type { ButtonIconAddToCartProps } from './btn.icon.add-to-cart'\r\nimport type { BtnIconAddToPackageProps } from './btn.icon.add-to-package'\r\n\r\nexport interface IActionGroupsProps<TProduct> extends StackProps {\r\n packageProps?: BtnIconAddToPackageProps<TProduct>\r\n cartProps?: ButtonIconAddToCartProps<TProduct>\r\n}\r\n\r\nexport const ActionGroup = <T,>({ packageProps, cartProps, ...stackProps }: IActionGroupsProps<T>) => {\r\n return (\r\n <Stack direction={'row'} gap={1} {...stackProps}>\r\n {packageProps && <ButtonIconAddToPackage {...packageProps} />}\r\n {cartProps && <ButtonIconAddToCart {...cartProps} />}\r\n {stackProps.children}\r\n </Stack>\r\n )\r\n}\r\n\r\nexport default ActionGroup\r\n"],"names":["ActionGroup","_ref","packageProps","cartProps","stackProps","_objectWithoutProperties","_excluded","_jsxs","Stack","_objectSpread","direction","gap","children","_jsx","ButtonIconAddToPackage","ButtonIconAddToCart"],"mappings":"uWAYaA,EAAc,SAAHC,GAA6E,IAAnEC,EAAYD,EAAZC,aAAcC,EAASF,EAATE,UAAcC,EAAUC,EAAAJ,EAAAK,GACtE,OACEC,EAACC,EAAKC,EAAAA,EAAA,CAACC,UAAW,MAAOC,IAAK,GAAOP,GAAU,GAAA,CAAAQ,SAAA,CAC5CV,GAAgBW,EAACC,EAAsBL,EAAA,CAAA,EAAKP,IAC5CC,GAAaU,EAACE,EAAmBN,EAAA,CAAA,EAAKN,IACtCC,EAAWQ,YAGlB"}
@@ -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 c}from"@mui/material";import{ButtonIconAddToPackage as d,EBtnAddToPackage as n}from"./btn.icon.add-to-package.js";import{AreaQuicklyAddToCart as u}from"./quickly-add-to-cart/index.js";var l=["product","packageProps","cartProps"],p=function(p){var s=p.product,m=p.packageProps,b=p.cartProps,g=r(p,l);return t(a,o(o({gap:1},g),{},{sx:o({padding:2,border:1,borderRadius:3,boxShadow:2,borderColor:function(r){return r.palette.divider},backgroundColor:function(r){return r.palette.background.default}},g.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:[m&&t(c,{children:[e(i,{variant:"body1",fontWeight:600,gutterBottom:!0,children:"License Package:"}),e(d,o(o({product:s},m),{},{kind:n.Button}))]}),b&&t(c,{children:[e(i,{variant:"body1",fontWeight:600,gutterBottom:!0,children:"Quick Purchase:"}),e(u,o({product:s},b))]})]})]}))};export{p as AreaActionGroups};
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 c,EBtnAddToPackage as n}from"./btn.icon.add-to-package.js";import{AreaQuicklyAddToCart as u}from"./quickly-add-to-cart/index.js";var l=["product","packageProps","cartProps"],p=function(p){var s=p.product,m=p.packageProps,b=p.cartProps,g=r(p,l);return t(a,o(o({gap:1},g),{},{sx:o({padding:2,border:1,borderRadius:3,boxShadow:2,borderColor:function(r){return r.palette.divider},backgroundColor:function(r){return r.palette.background.default}},g.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:[m&&t(d,{children:[e(i,{variant:"body1",fontWeight:600,gutterBottom:!0,children:"License Package:"}),e(c,o(o({product:s},m),{},{kind:n.Button}))]}),b&&t(d,{children:[e(i,{variant:"body1",fontWeight:600,gutterBottom:!0,children:"Quick Purchase:"}),e(u,o({product:s},b))]})]}),null==g?void 0:g.children]}))};export{p 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: 2,\r\n borderColor: (theme) => theme.palette.divider,\r\n backgroundColor: (theme) => theme.palette.background.default,\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 </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","background","children","_jsx","flex","Typography","variant","color","Box","fontWeight","gutterBottom","ButtonIconAddToPackage","kind","EBtnAddToPackage","Button","AreaQuicklyAddToCart"],"mappings":"saAeaA,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,OAAKA,EAAMC,QAAQG,WAAkB,OAAA,GACxDjB,EAAWO,IAAM,IAGvBW,SAAA,CAAAC,EAACf,EAAM,CAAAG,GAAI,CAAEa,KAAM,GAAGF,SACpBC,EAACE,EAAU,CAACC,QAAQ,QAAQf,GAAI,CAAEgB,MAAO,0FAI3CpB,EAACC,EAAM,CAAAE,IAAK,EAACY,SAAA,CACVpB,GACCK,EAACqB,EACC,CAAAN,SAAA,CAAAC,EAACE,EAAU,CAACC,QAAQ,QAAQG,WAAY,IAAKC,8CAG7CP,EAACQ,EAAsBtB,EAAAA,EAAA,CAACR,QAASA,GAAaC,GAAY,GAAA,CAAE8B,KAAMC,EAAiBC,aAGtF/B,GACCI,EAACqB,EAAG,CAAAN,SAAA,CACFC,EAACE,GAAWC,QAAQ,QAAQG,WAAY,IAAKC,cAEhC,EAAAR,SAAA,oBACbC,EAACY,EAAoB1B,EAAA,CAAoBR,QAASA,GAAaE,aAM3E"}
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: 2,\r\n borderColor: (theme) => theme.palette.divider,\r\n backgroundColor: (theme) => theme.palette.background.default,\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","background","children","_jsx","flex","Typography","variant","color","Box","fontWeight","gutterBottom","ButtonIconAddToPackage","kind","EBtnAddToPackage","Button","AreaQuicklyAddToCart"],"mappings":"saAeaA,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,OAAKA,EAAMC,QAAQG,WAAkB,OAAA,GACxDjB,EAAWO,IAAM,IAGvBW,SAAA,CAAAC,EAACf,EAAK,CAACG,GAAI,CAAEa,KAAM,GACjBF,SAAAC,EAACE,EAAW,CAAAC,QAAQ,QAAQf,GAAI,CAAEgB,MAAO,uBAAuBL,SAAA,0DAIlEf,EAACC,EAAK,CAACE,IAAK,EACTY,SAAA,CAAApB,GACCK,EAACqB,aACCL,EAACE,EAAW,CAAAC,QAAQ,QAAQG,WAAY,IAAKC,cAEhC,EAAAR,SAAA,qBACbC,EAACQ,EAAsBtB,EAAAA,EAAA,CAACR,QAASA,GAAaC,GAAY,GAAA,CAAE8B,KAAMC,EAAiBC,aAGtF/B,GACCI,EAACqB,EACC,CAAAN,SAAA,CAAAC,EAACE,EAAU,CAACC,QAAQ,QAAQG,WAAY,IAAKC,6CAG7CP,EAACY,EAAoB1B,EAAA,CAAoBR,QAASA,GAAaE,UAIpEC,aAAAA,EAAAA,EAAYkB,YAGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"btn.icon.add-to-cart.js","sources":["../../src/action-license/btn.icon.add-to-cart.tsx"],"sourcesContent":["import { IconButton, Tooltip } from '@mui/material'\r\nimport AddShoppingCartIcon from '@mui/icons-material/AddShoppingCart'\r\nimport type { ButtonProps, TooltipProps } from '@mui/material'\r\n\r\nexport interface ButtonIconAddToCartProps<T> extends Omit<ButtonProps, 'onClick'> {\r\n product: T\r\n tooltipProps?: TooltipProps\r\n buttonProps?: ButtonProps\r\n onClick: (item: T, e: React.MouseEvent<HTMLButtonElement>) => void\r\n}\r\n\r\nexport const ButtonIconAddToCart = <T,>({ product, tooltipProps, onClick, buttonProps }: ButtonIconAddToCartProps<T>) => {\r\n return (\r\n <Tooltip title='Add to Cart' arrow placement={'top'} {...tooltipProps}>\r\n <IconButton\r\n variant='contained'\r\n color='inherit'\r\n size='small'\r\n onClick={(e) => {\r\n e.stopPropagation()\r\n onClick(product, e)\r\n }}\r\n {...buttonProps}\r\n >\r\n <AddShoppingCartIcon fontSize='small' sx={{ fontSize: 18 }} />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n}\r\n"],"names":["ButtonIconAddToCart","_ref","product","tooltipProps","onClick","buttonProps","_jsx","Tooltip","_objectSpread","title","arrow","placement","IconButton","variant","color","size","e","stopPropagation","children","AddShoppingCartIcon","fontSize","sx"],"mappings":"gOAWaA,EAAsB,SAAHC,GAAwF,IAA9EC,EAAOD,EAAPC,QAASC,EAAYF,EAAZE,aAAcC,EAAOH,EAAPG,QAASC,EAAWJ,EAAXI,YACxE,OACEC,EAACC,EAAOC,EAAAA,EAAA,CAACC,MAAM,cAAcC,OAAK,EAACC,UAAW,OAAWR,GAAY,GAAA,UACnEG,EAACM,EAAUJ,EAAAA,EAAA,CACTK,QAAQ,YACRC,MAAM,UACNC,KAAK,QACLX,QAAS,SAACY,GACRA,EAAEC,kBACFb,EAAQF,EAASc,EACnB,GACIX,GAAW,GAAA,CAEfa,SAAAZ,EAACa,EAAoB,CAAAC,SAAS,QAAQC,GAAI,CAAED,SAAU,WAI9D"}
1
+ {"version":3,"file":"btn.icon.add-to-cart.js","sources":["../../src/action-license/btn.icon.add-to-cart.tsx"],"sourcesContent":["import { IconButton, Tooltip } from '@mui/material'\r\nimport AddShoppingCartIcon from '@mui/icons-material/AddShoppingCart'\r\nimport type { ButtonProps, TooltipProps } from '@mui/material'\r\n\r\nexport interface ButtonIconAddToCartProps<T> extends Omit<ButtonProps, 'onClick'> {\r\n product: T\r\n tooltipProps?: Partial<TooltipProps>\r\n buttonProps?: ButtonProps\r\n onClick: (item: T, e: React.MouseEvent<HTMLButtonElement>) => void\r\n}\r\n\r\nexport const ButtonIconAddToCart = <T,>({ product, tooltipProps, onClick, buttonProps }: ButtonIconAddToCartProps<T>) => {\r\n return (\r\n <Tooltip title='Add to Cart' arrow placement={'top'} {...tooltipProps}>\r\n <IconButton\r\n variant='contained'\r\n color='inherit'\r\n size='small'\r\n onClick={(e) => {\r\n e.stopPropagation()\r\n onClick(product, e)\r\n }}\r\n {...buttonProps}\r\n >\r\n <AddShoppingCartIcon fontSize='small' sx={{ fontSize: 18 }} />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n}\r\n"],"names":["ButtonIconAddToCart","_ref","product","tooltipProps","onClick","buttonProps","_jsx","Tooltip","_objectSpread","title","arrow","placement","IconButton","variant","color","size","e","stopPropagation","children","AddShoppingCartIcon","fontSize","sx"],"mappings":"gOAWaA,EAAsB,SAAHC,GAAwF,IAA9EC,EAAOD,EAAPC,QAASC,EAAYF,EAAZE,aAAcC,EAAOH,EAAPG,QAASC,EAAWJ,EAAXI,YACxE,OACEC,EAACC,EAAOC,EAAAA,EAAA,CAACC,MAAM,cAAcC,OAAK,EAACC,UAAW,OAAWR,GAAY,GAAA,UACnEG,EAACM,EAAUJ,EAAAA,EAAA,CACTK,QAAQ,YACRC,MAAM,UACNC,KAAK,QACLX,QAAS,SAACY,GACRA,EAAEC,kBACFb,EAAQF,EAASc,EACnB,GACIX,GAAW,GAAA,CAEfa,SAAAZ,EAACa,EAAoB,CAAAC,SAAS,QAAQC,GAAI,CAAED,SAAU,WAI9D"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as r}from"react/jsx-runtime";import{Tooltip as n,IconButton as e,Stack as i,Button as a,alpha as l}from"@mui/material";import c from"@mui/icons-material/BookmarkAddOutlined";import{HelpOutlinePulseIcon as u}from"dinocollab-core/components";var p;!function(o){o.Icon="icon",o.Button="button"}(p||(p={}));var s=function(s){var d=s.product,m=s.buttonProps,f=s.tooltipProps,b=s.helpProps,k=s.kind,h=void 0===k?p.Icon:k,g=s.addToCart;return d?h===p.Button?r(i,{direction:"row",justifyContent:"space-between",alignItems:"center",position:"relative",children:[t(a,o(o({startIcon:t(c,{fontSize:"small"}),fullWidth:!0,type:"submit",variant:"contained",color:"success",onClick:function(){return g(d)}},m),{},{children:"Add to Package"})),t(n,{title:"Read more about our services",placement:"left",children:t(e,o(o({sx:{position:"absolute",right:"-11px",bottom:"-11px",color:function(o){return l(o.palette.primary.main,.8)},backgroundColor:function(o){return o.palette.background.paper},"&:hover":{backgroundColor:function(o){return o.palette.background.paper}}},size:"small",onClick:function(o){return o.stopPropagation()}},b),{},{children:t(u,{})}))})]}):t(n,o(o({title:"Add to Package",arrow:!0,placement:"top"},f),{},{children:t(e,o(o({variant:"contained",color:"inherit",size:"small",onClick:function(){return g(d)}},m),{},{children:t(c,{fontSize:"small",sx:{fontSize:18}})}))})):null};export{s as ButtonIconAddToPackage,p as EBtnAddToPackage};
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 d}from"dinocollab-core/components";var s;!function(t){t.Icon="icon",t.Button="button"}(s||(s={}));var p=function(c){var p=c.product,f=c.buttonProps,b=c.tooltipProps,h=c.helpProps,v=c.kind,k=void 0===v?s.Icon:v,g=c.addToCart;return p?k===s.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(){return g(p)}},f),{},{children:"Add to Package"})),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},"&:hover":{backgroundColor:function(t){return t.palette.background.paper}}},size:"small",onClick:function(t){return t.stopPropagation()}},h),{},{children:o(d,{})}))})]}):o(n,t(t({title:"Add to Package",arrow:!0,placement:"top"},b),{},{children:o(i,t(t({variant:"contained",color:"inherit",size:"small",onClick:function(){return g(p)}},f),{},{children:o(u,{fontSize:"small",sx:{fontSize:18}})}))})):o(m,{kind:k,buttonProps:f})},m=function(r){var n=r.buttonProps,i=r.kind;return(void 0===i?s.Icon:i)===s.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,s 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 { 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 { 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?: TooltipProps\r\n helpProps?: Partial<IconButtonProps> & Record<string, any>\r\n kind?: EBtnAddToPackage\r\n addToCart: (item: T) => 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 addToCart\r\n}: BtnIconAddToPackageProps<T>) => {\r\n if (!product) return null\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={() => addToCart(product)}\r\n {...buttonProps}\r\n >\r\n Add to Package\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 '&: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 Package' arrow placement={'top'} {...tooltipProps}>\r\n <IconButton variant='contained' color='inherit' size='small' onClick={() => addToCart(product)} {...buttonProps}>\r\n <BookmarkAddOutlinedIcon fontSize='small' sx={{ fontSize: 18 }} />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n}\r\n"],"names":["EBtnAddToPackage","ButtonIconAddToPackage","_ref","product","buttonProps","tooltipProps","helpProps","_ref$kind","kind","Icon","addToCart","Button","_jsxs","Stack","direction","justifyContent","alignItems","position","_jsx","_objectSpread","startIcon","BookmarkAddOutlinedIcon","fontSize","fullWidth","type","variant","color","onClick","children","Tooltip","title","placement","IconButton","sx","right","bottom","theme","alpha","palette","primary","main","backgroundColor","background","paper","size","e","stopPropagation","HelpOutlinePulseIcon","arrow"],"mappings":"kVAKYA,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,EAASR,EAATQ,UAEA,OAAKP,EACGK,IACDR,EAAiBW,OAElBC,EAACC,EAAK,CAACC,UAAU,MAAMC,eAAe,gBAAgBC,WAAW,SAASC,SAAU,qBAClFC,EAACP,EAAMQ,EAAAA,EAAA,CACLC,UAAWF,EAACG,EAAwB,CAAAC,SAAS,UAC7CC,aACAC,KAAK,SACLC,QAAQ,YACRC,MAAM,UACNC,QAAS,WAAF,OAAQjB,EAAUP,EAAQ,GAC7BC,GAAW,GAAA,CAAAwB,SAAA,oBAIjBV,EAACW,EAAQ,CAAAC,MAAM,+BAA+BC,UAAU,OACtDH,SAAAV,EAACc,EAAUb,EAAAA,EAAA,CACTc,GAAI,CACFhB,SAAU,WACViB,MAAO,QACPC,OAAQ,QACRT,MAAO,SAACU,GAAK,OAAKC,EAAMD,EAAME,QAAQC,QAAQC,KAAM,GAAI,EACxDC,gBAAiB,SAACL,GAAK,OAAKA,EAAME,QAAQI,WAAWC,KAAK,EAC1D,UAAW,CACTF,gBAAiB,SAACL,GAAK,OAAKA,EAAME,QAAQI,WAAWC,KAAK,IAG9DC,KAAK,QACLjB,QAAS,SAACkB,GAAC,OAAKA,EAAEC,iBAAiB,GAC/BxC,GAAS,GAAA,CAEbsB,SAAAV,EAAC6B,EAAoB,CAAA,WAO3B7B,EAACW,EAAOV,EAAAA,EAAA,CAACW,MAAM,iBAAiBkB,OAAK,EAACjB,UAAW,OAAW1B,GAAY,GAAA,CAAAuB,SACtEV,EAACc,EAAUb,EAAAA,EAAA,CAACM,QAAQ,YAAYC,MAAM,UAAUkB,KAAK,QAAQjB,QAAS,WAAF,OAAQjB,EAAUP,EAAQ,GAAMC,GAAW,GAAA,CAC7GwB,SAAAV,EAACG,EAAuB,CAACC,SAAS,QAAQW,GAAI,CAAEX,SAAU,YAzC/C,IA8CvB"}
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, any>\r\n kind?: EBtnAddToPackage\r\n addToCart: (item: T) => 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 addToCart\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={() => addToCart(product)}\r\n {...buttonProps}\r\n >\r\n Add to Package\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 '&: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 Package' arrow placement={'top'} {...tooltipProps}>\r\n <IconButton variant='contained' color='inherit' size='small' onClick={() => addToCart(product)} {...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","addToCart","Button","_jsxs","Stack","direction","justifyContent","alignItems","position","_jsx","_objectSpread","startIcon","BookmarkAddOutlinedIcon","fontSize","fullWidth","type","variant","color","onClick","children","Tooltip","title","placement","IconButton","sx","right","bottom","theme","alpha","palette","primary","main","backgroundColor","background","paper","size","e","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,EAASR,EAATQ,UAEA,OAAKP,EACGK,IACDR,EAAiBW,OAElBC,EAACC,EAAK,CAACC,UAAU,MAAMC,eAAe,gBAAgBC,WAAW,SAASC,SAAU,qBAClFC,EAACP,EAAMQ,EAAAA,EAAA,CACLC,UAAWF,EAACG,EAAwB,CAAAC,SAAS,UAC7CC,aACAC,KAAK,SACLC,QAAQ,YACRC,MAAM,UACNC,QAAS,WAAF,OAAQjB,EAAUP,EAAQ,GAC7BC,GAAW,GAAA,CAAAwB,SAAA,oBAIjBV,EAACW,EAAQ,CAAAC,MAAM,+BAA+BC,UAAU,OACtDH,SAAAV,EAACc,EAAUb,EAAAA,EAAA,CACTc,GAAI,CACFhB,SAAU,WACViB,MAAO,QACPC,OAAQ,QACRT,MAAO,SAACU,GAAK,OAAKC,EAAMD,EAAME,QAAQC,QAAQC,KAAM,GAAI,EACxDC,gBAAiB,SAACL,GAAK,OAAKA,EAAME,QAAQI,WAAWC,KAAK,EAC1D,UAAW,CACTF,gBAAiB,SAACL,GAAK,OAAKA,EAAME,QAAQI,WAAWC,KAAK,IAG9DC,KAAK,QACLjB,QAAS,SAACkB,GAAC,OAAKA,EAAEC,iBAAiB,GAC/BxC,GAAS,GAAA,CAEbsB,SAAAV,EAAC6B,EAAoB,CAAA,WAO3B7B,EAACW,EAAOV,EAAAA,EAAA,CAACW,MAAM,iBAAiBkB,OAAK,EAACjB,UAAW,OAAW1B,GAAY,GAAA,CAAAuB,SACtEV,EAACc,EAAUb,EAAAA,EAAA,CAACM,QAAQ,YAAYC,MAAM,UAAUkB,KAAK,QAAQjB,QAAS,WAAF,OAAQjB,EAAUP,EAAQ,GAAMC,GAAW,GAAA,CAC7GwB,SAAAV,EAACG,EAAuB,CAACC,SAAS,QAAQW,GAAI,CAAEX,SAAU,YAzC/CJ,EAAC+B,EAA8B,CAACzC,KAAMA,EAAMJ,YAAaA,GA8ChF,EASa6C,EAA0E,SAA5CC,GAA8F,IAA/C9C,EAAW8C,EAAX9C,YAAW+C,EAAAD,EAAE1C,KACrG,YADyG,IAAA2C,EAAGnD,EAAiBS,KAAI0C,KACpHnD,EAAiBW,OACrBO,EAACkC,EAAS,CAAA3B,QAAQ,cAAc4B,MAAO,OAAQC,OAAQ,GAAIrB,GAAEd,EAAA,CAAIoC,aAAc,GAAMnD,aAAAA,EAAAA,EAAa6B,MAEpGf,EAACkC,EAAQ,CAAC3B,QAAQ,WAAW4B,MAAO,GAAIC,OAAQ,GAAIrB,GAAEd,EAAOf,CAAAA,EAAAA,aAAW,EAAXA,EAAa6B,KACnF"}
@@ -1,2 +1,2 @@
1
- export{AreaQuicklyAddToCart}from"./quickly-add-to-cart/index.js";export{ButtonIconAddToCart}from"./btn.icon.add-to-cart.js";export{ButtonIconAddToPackage,EBtnAddToPackage}from"./btn.icon.add-to-package.js";export{AreaAddToCart,ModalAddToCart}from"./modal.add-to-cart.js";export{ActionGroup}from"./action-group.js";export{AreaActionGroups}from"./area.group.js";export{quickToCartClasses}from"./quickly-add-to-cart/type.js";
1
+ export{AreaQuicklyAddToCart}from"./quickly-add-to-cart/index.js";export{ButtonIconAddToCart}from"./btn.icon.add-to-cart.js";export{ButtonIconAddToPackage,ButtonIconAddToPackageSkeleton,EBtnAddToPackage}from"./btn.icon.add-to-package.js";export{AreaAddToCart,ModalAddToCart}from"./modal.add-to-cart.js";export{ActionGroup}from"./action-group.js";export{AreaActionGroups}from"./area.group.js";export{quickToCartClasses}from"./quickly-add-to-cart/type.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r,asyncToGenerator as t,regenerator as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o}from"react/jsx-runtime";import{QuicklyAddToCartForm as n}from"./form.js";var a=function(a){var c=r(r({},{addButtonText:"Add to Cart",updateButtonText:"Update Cart",helpTooltip:"Read more about our services"}),a.config);function u(){return(u=t(e().m(function r(t,o){var n;return e().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,a.onAddToCart(t,o);case 1:null===(n=a.onSuccess)||void 0===n||n.call(a);case 2:return r.a(2)}},r)}))).apply(this,arguments)}return o(n,{prices:a.prices,product:a.product,currentPricePackageId:a.currentPricePackageId,config:c,onSubmit:function(r,t){return u.apply(this,arguments)}})};export{a as AreaQuicklyAddToCart};
1
+ import{objectSpread2 as r,asyncToGenerator as t,regenerator as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as i,jsx as a}from"react/jsx-runtime";import{QuicklyAddToCartForm as o}from"./form.js";import{Box as n,Stack as u,Skeleton as d}from"@mui/material";var c=function(c){var s=r(r({},{addButtonText:"Add to Cart",updateButtonText:"Update Cart",helpTooltip:"Read more about our services"}),c.config);if(!c.product||!c.prices||0===c.prices.length)return i(n,{children:[i(u,{direction:"row",gap:1,sx:{mt:1,mb:1},children:[a(d,{variant:"rounded",width:"100%",height:48,sx:{borderRadius:2}}),a(d,{variant:"rounded",width:"100%",height:48,sx:{borderRadius:2}}),a(d,{variant:"rounded",width:"100%",height:48,sx:{borderRadius:2}})]}),a(d,{variant:"rectangular",width:"100%",height:36,sx:{borderRadius:2}})]});function p(){return(p=t(e().m(function r(t,i){var a;return e().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,c.onAddToCart(t,i);case 1:null===(a=c.onSuccess)||void 0===a||a.call(c);case 2:return r.a(2)}},r)}))).apply(this,arguments)}return a(o,{prices:c.prices,product:c.product,currentPricePackageId:c.currentPricePackageId,config:s,onSubmit:function(r,t){return p.apply(this,arguments)}})};export{c as AreaQuicklyAddToCart};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/action-license/quickly-add-to-cart/index.tsx"],"sourcesContent":["import { QuicklyAddToCartForm } from './form'\r\nimport type{ IPricePackage } from '../types'\r\nimport type { IQuicklyAddToCartConfig } from './type'\r\n\r\nexport interface AreaQuicklyAddToCartProps<TProduct, TPrices extends IPricePackage> {\r\n prices: TPrices[]\r\n product: TProduct\r\n currentPricePackageId?: string\r\n onAddToCart: (product: TProduct, price: IPricePackage) => void | Promise<void>\r\n onSuccess?: () => void\r\n config?: IQuicklyAddToCartConfig\r\n}\r\n\r\nexport const AreaQuicklyAddToCart = <TProduct, TPrices extends IPricePackage>(props: AreaQuicklyAddToCartProps<TProduct, TPrices>) => {\r\n const defaultConfig: IQuicklyAddToCartConfig = {\r\n addButtonText: 'Add to Cart',\r\n updateButtonText: 'Update Cart',\r\n helpTooltip: 'Read more about our services'\r\n }\r\n\r\n const config = { ...defaultConfig, ...props.config }\r\n\r\n async function handleSubmit(product: TProduct, price: TPrices): Promise<void> {\r\n await props.onAddToCart(product, price)\r\n props.onSuccess?.()\r\n }\r\n\r\n return (\r\n <QuicklyAddToCartForm<TProduct, TPrices>\r\n prices={props.prices}\r\n product={props.product}\r\n currentPricePackageId={props.currentPricePackageId}\r\n config={config}\r\n onSubmit={handleSubmit}\r\n />\r\n )\r\n}\r\n\r\n// Re-export types for convenience\r\nexport type { IQuicklyAddToCartConfig } from './type'\r\nexport { quickToCartClasses } from './type'"],"names":["AreaQuicklyAddToCart","props","config","_objectSpread","defaultConfig","addButtonText","updateButtonText","helpTooltip","_handleSubmit","_asyncToGenerator","_regenerator","m","_callee","product","price","_props$onSuccess","w","_context","n","onAddToCart","onSuccess","call","a","apply","this","arguments","_jsx","QuicklyAddToCartForm","prices","currentPricePackageId","onSubmit","_x","_x2"],"mappings":"gNAaaA,EAAuB,SAA0CC,GAC5E,IAMMC,EAAMC,EAAAA,EAAQC,CAAAA,EAN2B,CAC7CC,cAAe,cACfC,iBAAkB,cAClBC,YAAa,iCAGuBN,EAAMC,QAEjB,SAAAM,IAG1B,OAH0BA,EAAAC,EAAAC,IAAAC,EAA3B,SAAAC,EAA4BC,EAAmBC,GAAc,IAAAC,EAAA,OAAAL,IAAAM,EAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EAAA,OAAAD,EAAAC,EAAA,EACrDjB,EAAMkB,YAAYN,EAASC,GAAM,KAAA,EACxB,QAAfC,EAAAd,EAAMmB,iBAAS,IAAAL,GAAfA,EAAAM,KAAApB,GAAmB,KAAA,EAAA,OAAAgB,EAAAK,EAAA,GAAA,EAAAV,OACpBW,MAAAC,KAAAC,UAAA,CAED,OACEC,EAACC,EAAoB,CACnBC,OAAQ3B,EAAM2B,OACdf,QAASZ,EAAMY,QACfgB,sBAAuB5B,EAAM4B,sBAC7B3B,OAAQA,EACR4B,SAbgD,SAEzBC,EAAAC,GAAA,OAAAxB,EAAAe,MAAAC,KAAAC,UAAA,GAc7B"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/action-license/quickly-add-to-cart/index.tsx"],"sourcesContent":["import { QuicklyAddToCartForm } from './form'\r\nimport type { IPricePackage } from '../types'\r\nimport type { IQuicklyAddToCartConfig } from './type'\r\nimport { Box, Skeleton, Stack } from '@mui/material'\r\n\r\nexport interface AreaQuicklyAddToCartProps<TProduct, TPrices extends IPricePackage> {\r\n prices?: TPrices[]\r\n product?: TProduct\r\n currentPricePackageId?: string\r\n onAddToCart: (product: TProduct, price: IPricePackage) => void | Promise<void>\r\n onSuccess?: () => void\r\n config?: IQuicklyAddToCartConfig\r\n}\r\n\r\nexport const AreaQuicklyAddToCart = <TProduct, TPrices extends IPricePackage>(props: AreaQuicklyAddToCartProps<TProduct, TPrices>) => {\r\n const defaultConfig: IQuicklyAddToCartConfig = {\r\n addButtonText: 'Add to Cart',\r\n updateButtonText: 'Update Cart',\r\n helpTooltip: 'Read more about our services'\r\n }\r\n\r\n const config = { ...defaultConfig, ...props.config }\r\n\r\n // Show skeleton if product or prices are missing/empty\r\n if (!props.product || !props.prices || props.prices.length === 0) {\r\n return (\r\n <Box>\r\n <Stack direction='row' gap={1} sx={{ mt: 1, mb: 1 }}>\r\n <Skeleton variant='rounded' width={'100%'} height={48} sx={{ borderRadius: 2 }} />\r\n <Skeleton variant='rounded' width={'100%'} height={48} sx={{ borderRadius: 2 }} />\r\n <Skeleton variant='rounded' width={'100%'} height={48} sx={{ borderRadius: 2 }} />\r\n </Stack>\r\n <Skeleton variant='rectangular' width={'100%'} height={36} sx={{ borderRadius: 2 }} />\r\n </Box>\r\n )\r\n }\r\n\r\n async function handleSubmit(product: TProduct, price: TPrices): Promise<void> {\r\n await props.onAddToCart(product, price)\r\n props.onSuccess?.()\r\n }\r\n\r\n return (\r\n <QuicklyAddToCartForm<TProduct, TPrices>\r\n prices={props.prices}\r\n product={props.product}\r\n currentPricePackageId={props.currentPricePackageId}\r\n config={config}\r\n onSubmit={handleSubmit}\r\n />\r\n )\r\n}\r\n\r\n// Re-export types for convenience\r\nexport type { IQuicklyAddToCartConfig } from './type'\r\nexport { quickToCartClasses } from './type'\r\n"],"names":["AreaQuicklyAddToCart","props","config","_objectSpread","defaultConfig","addButtonText","updateButtonText","helpTooltip","product","prices","length","_jsxs","Box","children","Stack","direction","gap","sx","mt","mb","_jsx","Skeleton","variant","width","height","borderRadius","_handleSubmit","_asyncToGenerator","_regenerator","m","_callee","price","_props$onSuccess","w","_context","n","onAddToCart","onSuccess","call","a","apply","this","arguments","QuicklyAddToCartForm","currentPricePackageId","onSubmit","_x","_x2"],"mappings":"uRAcaA,EAAuB,SAA0CC,GAC5E,IAMMC,EAAMC,EAAAA,EAAQC,CAAAA,EAN2B,CAC7CC,cAAe,cACfC,iBAAkB,cAClBC,YAAa,iCAGuBN,EAAMC,QAG5C,IAAKD,EAAMO,UAAYP,EAAMQ,QAAkC,IAAxBR,EAAMQ,OAAOC,OAClD,OACEC,EAACC,EAAG,CAAAC,SAAA,CACFF,EAACG,EAAM,CAAAC,UAAU,MAAMC,IAAK,EAAGC,GAAI,CAAEC,GAAI,EAAGC,GAAI,GAC9CN,SAAA,CAAAO,EAACC,EAAQ,CAACC,QAAQ,UAAUC,MAAO,OAAQC,OAAQ,GAAIP,GAAI,CAAEQ,aAAc,KAC3EL,EAACC,EAAQ,CAACC,QAAQ,UAAUC,MAAO,OAAQC,OAAQ,GAAIP,GAAI,CAAEQ,aAAc,KAC3EL,EAACC,EAAQ,CAACC,QAAQ,UAAUC,MAAO,OAAQC,OAAQ,GAAIP,GAAI,CAAEQ,aAAc,QAE7EL,EAACC,EAAS,CAAAC,QAAQ,cAAcC,MAAO,OAAQC,OAAQ,GAAIP,GAAI,CAAEQ,aAAc,QAK1D,SAAAC,IAG1B,OAH0BA,EAAAC,EAAAC,IAAAC,EAA3B,SAAAC,EAA4BtB,EAAmBuB,GAAc,IAAAC,EAAA,OAAAJ,IAAAK,EAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EAAA,OAAAD,EAAAC,EAAA,EACrDlC,EAAMmC,YAAY5B,EAASuB,GAAM,KAAA,EACxB,QAAfC,EAAA/B,EAAMoC,iBAAS,IAAAL,GAAfA,EAAAM,KAAArC,GAAmB,KAAA,EAAA,OAAAiC,EAAAK,EAAA,GAAA,EAAAT,OACpBU,MAAAC,KAAAC,UAAA,CAED,OACEtB,EAACuB,EAAoB,CACnBlC,OAAQR,EAAMQ,OACdD,QAASP,EAAMO,QACfoC,sBAAuB3C,EAAM2C,sBAC7B1C,OAAQA,EACR2C,SAbH,SAE0BC,EAAAC,GAAA,OAAArB,EAAAc,MAAAC,KAAAC,UAAA,GAc7B"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as r,objectSpread2 as t,toConsumableArray as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as o}from"react/jsx-runtime";import{useMemo as i,useState as u,useEffect as c}from"react";import{createRoot as d}from"react-dom/client";import{Dialog as l,Box as a,DialogContent as m,Typography as s,DialogActions as f,Button as p}from"@mui/material";import{CollectionsList as h}from"./units.js";import{ModalHeader as v}from"./modal-header.js";import{canAddGroup as g,generateGroupId as C}from"../helpers.js";import{NewCollectionButton as b,NewCollectionInput as I}from"../unit.control.js";import{GuideSteps as P}from"../guide-steps/index.js";var x=function(d){var C=d.open,x=d.onClose,S=d.onConfirm,j=d.groups,y=d.guideStepsProps,k=d.cartItem,G=i(function(){return null!=k&&k.ProductId?j.filter(function(r){var t;return null===(t=r.items)||void 0===t?void 0:t.some(function(r){return r.ProductId===k.ProductId})}).map(function(r){return r.id}).sort():[]},[j,k]),W=G.length>0?G:j.length>0?[j[0].id]:[],A=u(W),E=r(A,2),B=E[0],M=E[1],_=u(!1),D=r(_,2),H=D[0],K=D[1],L=u(""),O=r(L,2),R=O[0],T=O[1];c(function(){if(C){var r=G.length>0?G:j.length>0?[j[0].id]:[];M(r),K(!1),T("")}},[C,G,j.length]);var Y=function(){if(H&&R.trim())return!0;var r=e(B).sort();return G.length!==r.length||G.some(function(t,e){return t!==r[e]})},q=function(){M([]),K(!1),T(""),x()};return n(l,{open:C,onClose:q,maxWidth:"xs",fullWidth:!0,disableScrollLock:!0,keepMounted:!1,scroll:"paper",children:[o(v,{cartItem:k,onClose:q}),n(a,{component:"form",onSubmit:function(r){if(r.preventDefault(),Y())if(H&&R.trim())S([],[],R.trim());else{var t=B.filter(function(r){return!G.includes(r)}),e=G.filter(function(r){return!B.includes(r)});S(t,e)}else q()},children:[n(m,{children:[o(s,{variant:"subtitle1",sx:{mb:1,fontWeight:600},children:"Your Media Rights Package"}),g(j)&&(H?o(I,{value:R,onChange:T}):o(b,{onClick:function(){K(!0)}})),o(h,{groups:j,selectedGroupIds:B,onGroupSelect:function(r){M(function(t){return t.includes(r)?t.filter(function(t){return t!==r}):[].concat(e(t),[r])}),K(!1)}})]}),n(f,{sx:{px:3,pb:3},children:[y&&o(P,t({iconButtonProps:{color:"primary",sx:{mr:"auto"}}},y)),o(p,{onClick:q,variant:"outlined",type:"button",children:"Cancel"}),o(p,{type:"submit",variant:"contained",disabled:!!H&&!R.trim(),sx:{minWidth:100},children:function(){if(H)return"Create & Add";var r=Y();return G.length>0?r?"Save Changes":"OK":"Save"}()})]})]})]})},S=function(r){var e=r.cartItem,n=r.groups,i=r.guideStepsProps,u=r.addGroup,c=r.addItem,l=r.removeItem,a=document.createElement("div");document.body.appendChild(a);var m=d(a);m.render(o(x,{open:!0,onClose:function(){m.unmount(),document.body.removeChild(a)},onConfirm:function(r,n,o){if(e){if(o){var i=C();u({id:i,name:o});var d=t(t({},e),{},{GroupId:i});c(d)}else n.forEach(function(r){e.ProductId&&l(r,e.ProductId)}),r.forEach(function(r){var n=t(t({},e),{},{GroupId:r});c(n)});m.unmount(),document.body.removeChild(a)}},guideStepsProps:i,groups:n,cartItem:e}))};export{x as GroupSelectorModal,S as showGroupSelectorModal};
1
+ import{slicedToArray as r,toConsumableArray as t,objectSpread2 as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as n}from"react/jsx-runtime";import{createRoot as i}from"react-dom/client";import{useMemo as u,useState as c,useEffect as l}from"react";import{Dialog as d,Box as a,DialogContent as m,Typography as s,DialogActions as f,Button as p}from"@mui/material";import{CollectionsList as h}from"./units.js";import{GuideSteps as v}from"../guide-steps/index.js";import{ModalHeader as g}from"./modal-header.js";import{canAddGroup as C,generateGroupId as b}from"../helpers.js";import{NewCollectionButton as I,NewCollectionInput as x}from"../unit.control.js";var P=function(i){var b=i.open,P=i.onClose,y=i.onConfirm,S=i.groups,j=i.guideStepsProps,k=i.cartItem,G=u(function(){return null!=k&&k.ProductId?S.filter(function(r){var t;return null===(t=r.items)||void 0===t?void 0:t.some(function(r){return r.ProductId===k.ProductId})}).map(function(r){return r.id}).sort():[]},[S,k]),W=G.length>0?G:S.length>0?[S[0].id]:[],A=c(W),E=r(A,2),B=E[0],M=E[1],_=c(!1),D=r(_,2),H=D[0],K=D[1],L=c(""),O=r(L,2),R=O[0],T=O[1];l(function(){if(b){var r=G.length>0?G:S.length>0?[S[0].id]:[];M(r),K(!1),T("")}},[b,G,S.length]);var Y=u(function(){if(H&&R.trim())return!0;var r=t(B).sort();return G.length!==r.length||G.some(function(t,e){return t!==r[e]})},[H,R,B,G]),q=function(){M([]),K(!1),T(""),P()};return o(d,{open:b,onClose:q,maxWidth:"xs",fullWidth:!0,disableScrollLock:!0,keepMounted:!1,scroll:"paper",children:[n(g,{cartItem:k,onClose:q}),o(a,{component:"form",onSubmit:function(r){if(r.preventDefault(),Y)if(H&&R.trim())y([],[],R.trim());else{var t=B.filter(function(r){return!G.includes(r)}),e=G.filter(function(r){return!B.includes(r)});y(t,e)}else q()},children:[o(m,{children:[n(s,{variant:"subtitle1",sx:{mb:1,fontWeight:600},children:"Your Media Rights Package"}),C(S)&&(H?n(x,{value:R,onChange:T}):n(I,{onClick:function(){K(!0)}})),n(h,{groups:S,selectedGroupIds:B,onGroupSelect:function(r){M(function(e){return e.includes(r)?e.filter(function(t){return t!==r}):[].concat(t(e),[r])}),K(!1)}})]}),o(f,{sx:{px:3,pb:3},children:[j&&n(v,e({iconButtonProps:{color:"primary",sx:{mr:"auto"}}},j)),n(p,{onClick:q,variant:"text",type:"button",color:"inherit",children:"Cancel"}),n(p,{type:"submit",variant:Y?"contained":"outlined",disabled:!!H&&!R.trim(),color:"primary",sx:{minWidth:100},children:H?"Create & Add":G.length>0?Y?"Save Changes":"OK":"Save"})]})]})]})},y=function(r){var t=r.cartItem,o=r.groups,u=r.guideStepsProps,c=r.addGroup,l=r.addItem,d=r.removeItem,a=document.createElement("div");document.body.appendChild(a);var m=i(a);m.render(n(P,{open:!0,onClose:function(){m.unmount(),document.body.removeChild(a)},onConfirm:function(r,o,n){if(t){if(n){var i=b();c({id:i,name:n});var u=e(e({},t),{},{GroupId:i});l(u)}else o.forEach(function(r){t.ProductId&&d(r,t.ProductId)}),r.forEach(function(r){var o=e(e({},t),{},{GroupId:r});l(o)});m.unmount(),document.body.removeChild(a)}},guideStepsProps:u,groups:o,cartItem:t}))};export{P as GroupSelectorModal,y as showGroupSelectorModal};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/media-right/group-selector/index.tsx"],"sourcesContent":["import { useState, useEffect, useMemo } from 'react'\r\nimport type { FC, FormEvent } from 'react'\r\nimport { createRoot } from 'react-dom/client'\r\nimport { Dialog, DialogContent, DialogActions, Button, Typography, Box } from '@mui/material'\r\nimport type { IMediaRightGroup, IMediaRightItem } from '../types'\r\nimport { CollectionsList } from './units'\r\nimport { ModalHeader } from './modal-header'\r\nimport { canAddGroup, generateGroupId } from '../helpers'\r\nimport { NewCollectionButton, NewCollectionInput } from '../unit.control'\r\nimport { GuideSteps } from '../guide-steps'\r\nimport type { IGuideStepsProps } from '../guide-steps'\r\n\r\nexport interface IGroupSelectorModalProps {\r\n open: boolean\r\n guideStepsProps?: IGuideStepsProps\r\n onClose: () => void\r\n onConfirm: (groupIdsToAdd: string[], groupIdsToRemove: string[], newGroupName?: string) => void\r\n groups: IMediaRightGroup[]\r\n cartItem: IMediaRightItem | null\r\n}\r\n\r\nexport const GroupSelectorModal: FC<IGroupSelectorModalProps> = ({ open, onClose, onConfirm, groups, guideStepsProps, cartItem }) => {\r\n // Find all groups that contain this item\r\n const currentGroupIds = useMemo(() => {\r\n if (!cartItem?.ProductId) return []\r\n const l = groups.filter((g) => g.items?.some((item) => item.ProductId === cartItem.ProductId))\r\n return l.map((g) => g.id).sort()\r\n }, [groups, cartItem])\r\n\r\n // Auto-select: all current groups if exists, otherwise first group if available\r\n const initialGroupIds = currentGroupIds.length > 0 ? currentGroupIds : groups.length > 0 ? [groups[0].id] : []\r\n\r\n const [selectedGroupIds, setSelectedGroupIds] = useState<string[]>(initialGroupIds)\r\n const [showNewGroupInput, setShowNewGroupInput] = useState(false)\r\n const [newName, setNewName] = useState<string>('')\r\n\r\n // Update selection when modal opens or groups/cartItem changes\r\n useEffect(() => {\r\n if (open) {\r\n const newInitialGroupIds = currentGroupIds.length > 0 ? currentGroupIds : groups.length > 0 ? [groups[0].id] : []\r\n setSelectedGroupIds(newInitialGroupIds)\r\n setShowNewGroupInput(false)\r\n setNewName('')\r\n }\r\n }, [open, currentGroupIds, groups.length])\r\n\r\n // Check if there's any change\r\n const hasChanges = () => {\r\n if (showNewGroupInput && newName.trim()) return true\r\n\r\n // Sort and compare arrays (currentGroupIds is already sorted)\r\n const sortedSelected = [...selectedGroupIds].sort()\r\n\r\n // Check if arrays are different\r\n if (currentGroupIds.length !== sortedSelected.length) return true\r\n\r\n return currentGroupIds.some((id, index) => id !== sortedSelected[index])\r\n }\r\n\r\n const handleSubmit = (e: FormEvent) => {\r\n e.preventDefault()\r\n\r\n // Only proceed if there are changes\r\n if (!hasChanges()) {\r\n handleClose()\r\n return\r\n }\r\n\r\n if (showNewGroupInput && newName.trim()) {\r\n // Create new group and add item to it\r\n onConfirm([], [], newName.trim())\r\n } else {\r\n // Calculate changes\r\n const groupIdsToAdd = selectedGroupIds.filter((id) => !currentGroupIds.includes(id))\r\n const groupIdsToRemove = currentGroupIds.filter((id) => !selectedGroupIds.includes(id))\r\n onConfirm(groupIdsToAdd, groupIdsToRemove)\r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n setSelectedGroupIds([])\r\n setShowNewGroupInput(false)\r\n setNewName('')\r\n onClose()\r\n }\r\n\r\n const handleNewGroupClick = () => {\r\n setShowNewGroupInput(true)\r\n }\r\n\r\n const handleGroupSelect = (groupId: string) => {\r\n setSelectedGroupIds((prev) => {\r\n if (prev.includes(groupId)) {\r\n // Uncheck: remove from selection\r\n return prev.filter((id) => id !== groupId)\r\n } else {\r\n // Check: add to selection\r\n return [...prev, groupId]\r\n }\r\n })\r\n setShowNewGroupInput(false)\r\n }\r\n\r\n const isConfirmDisabled = () => {\r\n if (showNewGroupInput) return !newName.trim()\r\n // Allow unchecking all groups (to remove item from all groups)\r\n return false\r\n }\r\n\r\n const getButtonText = () => {\r\n if (showNewGroupInput) return 'Create & Add'\r\n\r\n const changes = hasChanges()\r\n\r\n // Case 1: Item already exists in some groups\r\n if (currentGroupIds.length > 0) {\r\n return changes ? 'Save Changes' : 'OK'\r\n }\r\n\r\n // Case 2: Item doesn't exist in any group yet\r\n return 'Save'\r\n }\r\n\r\n return (\r\n <Dialog open={open} onClose={handleClose} maxWidth='xs' fullWidth disableScrollLock={true} keepMounted={false} scroll='paper'>\r\n <ModalHeader cartItem={cartItem} onClose={handleClose} />\r\n <Box component='form' onSubmit={handleSubmit}>\r\n <DialogContent>\r\n <Typography variant='subtitle1' sx={{ mb: 1, fontWeight: 600 }}>\r\n Your Media Rights Package\r\n </Typography>\r\n {canAddGroup(groups) &&\r\n (!showNewGroupInput ? (\r\n <NewCollectionButton onClick={handleNewGroupClick} />\r\n ) : (\r\n <NewCollectionInput value={newName} onChange={setNewName} />\r\n ))}\r\n <CollectionsList groups={groups} selectedGroupIds={selectedGroupIds} onGroupSelect={handleGroupSelect} />\r\n </DialogContent>\r\n\r\n <DialogActions sx={{ px: 3, pb: 3 }}>\r\n {guideStepsProps && <GuideSteps iconButtonProps={{ color: 'primary', sx: { mr: 'auto' } }} {...guideStepsProps} />}\r\n <Button onClick={handleClose} variant='outlined' type='button'>\r\n Cancel\r\n </Button>\r\n <Button type='submit' variant='contained' disabled={isConfirmDisabled()} sx={{ minWidth: 100 }}>\r\n {getButtonText()}\r\n </Button>\r\n </DialogActions>\r\n </Box>\r\n </Dialog>\r\n )\r\n}\r\n\r\nexport interface IShowGroupSelectorModalProps {\r\n cartItem: IMediaRightItem | null\r\n groups: IMediaRightGroup[]\r\n guideStepsProps?: IGuideStepsProps\r\n addGroup: (group: Omit<IMediaRightGroup, 'createdAt' | 'items' | 'channels'>) => void\r\n addItem: (item: IMediaRightItem) => void\r\n removeItem: (groupId: string, productId: string) => void\r\n}\r\n\r\nexport const showGroupSelectorModal = ({ cartItem, groups, guideStepsProps, addGroup, addItem, removeItem }: IShowGroupSelectorModalProps) => {\r\n const modalContainer = document.createElement('div')\r\n document.body.appendChild(modalContainer)\r\n const root = createRoot(modalContainer)\r\n\r\n const handleModalConfirmInModal = (groupIdsToAdd: string[], groupIdsToRemove: string[], newGroupName?: string) => {\r\n if (!cartItem) return\r\n\r\n // Create new group if needed\r\n if (newGroupName) {\r\n const newGroupId = generateGroupId()\r\n addGroup({\r\n id: newGroupId,\r\n name: newGroupName\r\n })\r\n // Add item to the new group\r\n const cartItemWithGroup: IMediaRightItem = {\r\n ...cartItem,\r\n GroupId: newGroupId\r\n }\r\n addItem(cartItemWithGroup)\r\n } else {\r\n // Remove from groups\r\n groupIdsToRemove.forEach((groupId) => {\r\n if (cartItem.ProductId) {\r\n removeItem(groupId, cartItem.ProductId)\r\n }\r\n })\r\n\r\n // Add to groups\r\n groupIdsToAdd.forEach((groupId) => {\r\n const cartItemWithGroup: IMediaRightItem = {\r\n ...cartItem,\r\n GroupId: groupId\r\n }\r\n addItem(cartItemWithGroup)\r\n })\r\n }\r\n\r\n root.unmount()\r\n document.body.removeChild(modalContainer)\r\n }\r\n root.render(\r\n <GroupSelectorModal\r\n open={true}\r\n onClose={() => {\r\n root.unmount()\r\n document.body.removeChild(modalContainer)\r\n }}\r\n onConfirm={handleModalConfirmInModal}\r\n guideStepsProps={guideStepsProps}\r\n groups={groups}\r\n cartItem={cartItem}\r\n />\r\n )\r\n}\r\n"],"names":["GroupSelectorModal","_ref","open","onClose","onConfirm","groups","guideStepsProps","cartItem","currentGroupIds","useMemo","ProductId","filter","g","_g$items","items","some","item","map","id","sort","initialGroupIds","length","_useState","useState","_useState2","_slicedToArray","selectedGroupIds","setSelectedGroupIds","_useState3","_useState4","showNewGroupInput","setShowNewGroupInput","_useState5","_useState6","newName","setNewName","useEffect","newInitialGroupIds","hasChanges","trim","sortedSelected","_toConsumableArray","index","handleClose","_jsxs","Dialog","maxWidth","fullWidth","disableScrollLock","keepMounted","scroll","children","_jsx","ModalHeader","Box","component","onSubmit","e","preventDefault","groupIdsToAdd","includes","groupIdsToRemove","DialogContent","Typography","variant","sx","mb","fontWeight","canAddGroup","NewCollectionInput","value","onChange","NewCollectionButton","onClick","CollectionsList","onGroupSelect","groupId","prev","concat","DialogActions","px","pb","GuideSteps","_objectSpread","iconButtonProps","color","mr","Button","type","disabled","minWidth","changes","getButtonText","showGroupSelectorModal","_ref2","addGroup","addItem","removeItem","modalContainer","document","createElement","body","appendChild","root","createRoot","render","unmount","removeChild","newGroupName","newGroupId","generateGroupId","name","cartItemWithGroup","GroupId","forEach"],"mappings":"6qBAqBaA,EAAmD,SAAjCC,GAAqG,IAAjEC,EAAID,EAAJC,KAAMC,EAAOF,EAAPE,QAASC,EAASH,EAATG,UAAWC,EAAMJ,EAANI,OAAQC,EAAeL,EAAfK,gBAAiBC,EAAQN,EAARM,SAE9GC,EAAkBC,EAAQ,WAC9B,OAAKF,SAAAA,EAAUG,UACLL,EAAOM,OAAO,SAACC,GAAC,IAAAC,EAAA,OAAY,QAAZA,EAAKD,EAAEE,aAAK,IAAAD,OAAA,EAAPA,EAASE,KAAK,SAACC,GAAI,OAAKA,EAAKN,YAAcH,EAASG,cAC1EO,IAAI,SAACL,GAAC,OAAKA,EAAEM,EAAG,GAACC,OAFO,EAGnC,EAAG,CAACd,EAAQE,IAGNa,EAAkBZ,EAAgBa,OAAS,EAAIb,EAAkBH,EAAOgB,OAAS,EAAI,CAAChB,EAAO,GAAGa,IAAM,GAE5GI,EAAgDC,EAAmBH,GAAgBI,EAAAC,EAAAH,EAAA,GAA5EI,EAAgBF,EAAA,GAAEG,EAAmBH,EAAA,GAC5CI,EAAkDL,GAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAA1DE,EAAiBD,EAAA,GAAEE,EAAoBF,EAAA,GAC9CG,EAA8BT,EAAiB,IAAGU,EAAAR,EAAAO,EAAA,GAA3CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAG1BG,EAAU,WACR,GAAIlC,EAAM,CACR,IAAMmC,EAAqB7B,EAAgBa,OAAS,EAAIb,EAAkBH,EAAOgB,OAAS,EAAI,CAAChB,EAAO,GAAGa,IAAM,GAC/GS,EAAoBU,GACpBN,GAAqB,GACrBI,EAAW,GACZ,CACF,EAAE,CAACjC,EAAMM,EAAiBH,EAAOgB,SAGlC,IAAMiB,EAAa,WACjB,GAAIR,GAAqBI,EAAQK,OAAQ,OAAO,EAGhD,IAAMC,EAAiBC,EAAIf,GAAkBP,OAG7C,OAAIX,EAAgBa,SAAWmB,EAAenB,QAEvCb,EAAgBO,KAAK,SAACG,EAAIwB,GAAK,OAAKxB,IAAOsB,EAAeE,IAClE,EAsBKC,EAAc,WAClBhB,EAAoB,IACpBI,GAAqB,GACrBI,EAAW,IACXhC,GACD,EAuCD,OACEyC,EAACC,EAAO,CAAA3C,KAAMA,EAAMC,QAASwC,EAAaG,SAAS,KAAKC,WAAS,EAACC,mBAAmB,EAAMC,aAAa,EAAOC,OAAO,QAAOC,SAAA,CAC3HC,EAACC,EAAW,CAAC9C,SAAUA,EAAUJ,QAASwC,IAC1CC,EAACU,EAAI,CAAAC,UAAU,OAAOC,SAnEL,SAACC,GAIpB,GAHAA,EAAEC,iBAGGpB,IAKL,GAAIR,GAAqBI,EAAQK,OAE/BnC,EAAU,GAAI,GAAI8B,EAAQK,YACrB,CAEL,IAAMoB,EAAgBjC,EAAiBf,OAAO,SAACO,GAAE,OAAMV,EAAgBoD,SAAS1C,KAC1E2C,EAAmBrD,EAAgBG,OAAO,SAACO,GAAE,OAAMQ,EAAiBkC,SAAS1C,KACnFd,EAAUuD,EAAeE,EAC1B,MAZClB,GAaH,EAkDKQ,SAAA,CAAAP,EAACkB,EACC,CAAAX,SAAA,CAAAC,EAACW,EAAW,CAAAC,QAAQ,YAAYC,GAAI,CAAEC,GAAI,EAAGC,WAAY,KAAKhB,SAAA,8BAG7DiB,EAAY/D,KACTyB,EAGAsB,EAACiB,EAAkB,CAACC,MAAOpC,EAASqC,SAAUpC,IAF9CiB,EAACoB,EAAoB,CAAAC,QA/CL,WAC1B1C,GAAqB,EACtB,KAiDOqB,EAACsB,EAAgB,CAAArE,OAAQA,EAAQqB,iBAAkBA,EAAkBiD,cA/CnD,SAACC,GACzBjD,EAAoB,SAACkD,GACnB,OAAIA,EAAKjB,SAASgB,GAETC,EAAKlE,OAAO,SAACO,GAAE,OAAKA,IAAO0D,IAGlC,GAAAE,OAAArC,EAAWoC,IAAMD,GAErB,GACA7C,GAAqB,EACtB,OAuCKa,EAACmC,EAAc,CAAAd,GAAI,CAAEe,GAAI,EAAGC,GAAI,GAAG9B,SAAA,CAChC7C,GAAmB8C,EAAC8B,EAAUC,EAAA,CAACC,gBAAiB,CAAEC,MAAO,UAAWpB,GAAI,CAAEqB,GAAI,UAAgBhF,IAC/F8C,EAACmC,GAAOd,QAAS9B,EAAaqB,QAAQ,WAAWwB,KAAK,SAE7CrC,SAAA,WACTC,EAACmC,EAAO,CAAAC,KAAK,SAASxB,QAAQ,YAAYyB,WAzC5C3D,IAA2BI,EAAQK,OAyCwC0B,GAAI,CAAEyB,SAAU,KAAKvC,SApChF,WACpB,GAAIrB,EAAmB,MAAO,eAE9B,IAAM6D,EAAUrD,IAGhB,OAAI9B,EAAgBa,OAAS,EACpBsE,EAAU,eAAiB,KAI7B,MACR,CAyBUC,aAMb,EAWaC,EAAyB,SAAHC,GAA0G,IAApGvF,EAAQuF,EAARvF,SAAUF,EAAMyF,EAANzF,OAAQC,EAAewF,EAAfxF,gBAAiByF,EAAQD,EAARC,SAAUC,EAAOF,EAAPE,QAASC,EAAUH,EAAVG,WACvFC,EAAiBC,SAASC,cAAc,OAC9CD,SAASE,KAAKC,YAAYJ,GAC1B,IAAMK,EAAOC,EAAWN,GAuCxBK,EAAKE,OACHrD,EAACpD,EAAkB,CACjBE,MAAM,EACNC,QAAS,WACPoG,EAAKG,UACLP,SAASE,KAAKM,YAAYT,EAC3B,EACD9F,UA5C8B,SAACuD,EAAyBE,EAA4B+C,GACtF,GAAKrG,EAAL,CAGA,GAAIqG,EAAc,CAChB,IAAMC,EAAaC,IACnBf,EAAS,CACP7E,GAAI2F,EACJE,KAAMH,IAGR,IAAMI,EAAiB7B,EAAAA,KAClB5E,GAAQ,GAAA,CACX0G,QAASJ,IAEXb,EAAQgB,EACT,MAECnD,EAAiBqD,QAAQ,SAACtC,GACpBrE,EAASG,WACXuF,EAAWrB,EAASrE,EAASG,UAEjC,GAGAiD,EAAcuD,QAAQ,SAACtC,GACrB,IAAMoC,EAAiB7B,EAAAA,KAClB5E,GAAQ,GAAA,CACX0G,QAASrC,IAEXoB,EAAQgB,EACV,GAGFT,EAAKG,UACLP,SAASE,KAAKM,YAAYT,EAlCX,CAmChB,EASG5F,gBAAiBA,EACjBD,OAAQA,EACRE,SAAUA,IAGhB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/media-right/group-selector/index.tsx"],"sourcesContent":["import { createRoot } from 'react-dom/client'\r\nimport { useState, useEffect, useMemo } from 'react'\r\nimport { Dialog, DialogContent, DialogActions, Button, Typography, Box } from '@mui/material'\r\nimport type { FC, FormEvent } from 'react'\r\nimport { CollectionsList } from './units'\r\nimport { GuideSteps } from '../guide-steps'\r\nimport { ModalHeader } from './modal-header'\r\nimport { canAddGroup, generateGroupId } from '../helpers'\r\nimport { NewCollectionButton, NewCollectionInput } from '../unit.control'\r\nimport type { IGuideStepsProps } from '../guide-steps'\r\nimport type { IMediaRightGroup, IMediaRightItem } from '../types'\r\n\r\nexport interface IGroupSelectorModalProps {\r\n open: boolean\r\n guideStepsProps?: IGuideStepsProps\r\n onClose: () => void\r\n onConfirm: (groupIdsToAdd: string[], groupIdsToRemove: string[], newGroupName?: string) => void\r\n groups: IMediaRightGroup[]\r\n cartItem: IMediaRightItem | null\r\n}\r\n\r\nexport const GroupSelectorModal: FC<IGroupSelectorModalProps> = ({ open, onClose, onConfirm, groups, guideStepsProps, cartItem }) => {\r\n // Find all groups that contain this item\r\n const currentGroupIds = useMemo(() => {\r\n if (!cartItem?.ProductId) return []\r\n const l = groups.filter((g) => g.items?.some((item) => item.ProductId === cartItem.ProductId))\r\n return l.map((g) => g.id).sort()\r\n }, [groups, cartItem])\r\n\r\n // Auto-select: all current groups if exists, otherwise first group if available\r\n const initialGroupIds = currentGroupIds.length > 0 ? currentGroupIds : groups.length > 0 ? [groups[0].id] : []\r\n\r\n const [selectedGroupIds, setSelectedGroupIds] = useState<string[]>(initialGroupIds)\r\n const [showNewGroupInput, setShowNewGroupInput] = useState(false)\r\n const [newName, setNewName] = useState<string>('')\r\n\r\n // Update selection when modal opens or groups/cartItem changes\r\n useEffect(() => {\r\n if (open) {\r\n const newInitialGroupIds = currentGroupIds.length > 0 ? currentGroupIds : groups.length > 0 ? [groups[0].id] : []\r\n setSelectedGroupIds(newInitialGroupIds)\r\n setShowNewGroupInput(false)\r\n setNewName('')\r\n }\r\n }, [open, currentGroupIds, groups.length])\r\n\r\n // Check if there's any change\r\n // const hasChanges = () => {\r\n // if (showNewGroupInput && newName.trim()) return true\r\n\r\n // // Sort and compare arrays (currentGroupIds is already sorted)\r\n // const sortedSelected = [...selectedGroupIds].sort()\r\n\r\n // // Check if arrays are different\r\n // if (currentGroupIds.length !== sortedSelected.length) return true\r\n\r\n // return currentGroupIds.some((id, index) => id !== sortedSelected[index])\r\n // }\r\n\r\n const isChanged = useMemo(() => {\r\n if (showNewGroupInput && newName.trim()) return true\r\n\r\n // Sort and compare arrays (currentGroupIds is already sorted)\r\n const sortedSelected = [...selectedGroupIds].sort()\r\n\r\n // Check if arrays are different\r\n if (currentGroupIds.length !== sortedSelected.length) return true\r\n return currentGroupIds.some((id, index) => id !== sortedSelected[index])\r\n }, [showNewGroupInput, newName, selectedGroupIds, currentGroupIds])\r\n\r\n const handleSubmit = (e: FormEvent) => {\r\n e.preventDefault()\r\n\r\n // Only proceed if there are changes\r\n if (!isChanged) {\r\n handleClose()\r\n return\r\n }\r\n\r\n if (showNewGroupInput && newName.trim()) {\r\n // Create new group and add item to it\r\n onConfirm([], [], newName.trim())\r\n } else {\r\n // Calculate changes\r\n const groupIdsToAdd = selectedGroupIds.filter((id) => !currentGroupIds.includes(id))\r\n const groupIdsToRemove = currentGroupIds.filter((id) => !selectedGroupIds.includes(id))\r\n onConfirm(groupIdsToAdd, groupIdsToRemove)\r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n setSelectedGroupIds([])\r\n setShowNewGroupInput(false)\r\n setNewName('')\r\n onClose()\r\n }\r\n\r\n const handleNewGroupClick = () => {\r\n setShowNewGroupInput(true)\r\n }\r\n\r\n const handleGroupSelect = (groupId: string) => {\r\n setSelectedGroupIds((prev) => {\r\n if (prev.includes(groupId)) {\r\n // Uncheck: remove from selection\r\n return prev.filter((id) => id !== groupId)\r\n } else {\r\n // Check: add to selection\r\n return [...prev, groupId]\r\n }\r\n })\r\n setShowNewGroupInput(false)\r\n }\r\n\r\n const isConfirmDisabled = () => {\r\n if (showNewGroupInput) return !newName.trim()\r\n // Allow unchecking all groups (to remove item from all groups)\r\n return false\r\n }\r\n\r\n const getButtonText = () => {\r\n if (showNewGroupInput) return 'Create & Add'\r\n\r\n // Case 1: Item already exists in some groups\r\n if (currentGroupIds.length > 0) {\r\n return isChanged ? 'Save Changes' : 'OK'\r\n }\r\n\r\n // Case 2: Item doesn't exist in any group yet\r\n return 'Save'\r\n }\r\n\r\n return (\r\n <Dialog open={open} onClose={handleClose} maxWidth='xs' fullWidth disableScrollLock={true} keepMounted={false} scroll='paper'>\r\n <ModalHeader cartItem={cartItem} onClose={handleClose} />\r\n <Box component='form' onSubmit={handleSubmit}>\r\n <DialogContent>\r\n <Typography variant='subtitle1' sx={{ mb: 1, fontWeight: 600 }}>\r\n Your Media Rights Package\r\n </Typography>\r\n {canAddGroup(groups) &&\r\n (!showNewGroupInput ? (\r\n <NewCollectionButton onClick={handleNewGroupClick} />\r\n ) : (\r\n <NewCollectionInput value={newName} onChange={setNewName} />\r\n ))}\r\n <CollectionsList groups={groups} selectedGroupIds={selectedGroupIds} onGroupSelect={handleGroupSelect} />\r\n </DialogContent>\r\n\r\n <DialogActions sx={{ px: 3, pb: 3 }}>\r\n {guideStepsProps && <GuideSteps iconButtonProps={{ color: 'primary', sx: { mr: 'auto' } }} {...guideStepsProps} />}\r\n <Button onClick={handleClose} variant='text' type='button' color='inherit'>\r\n Cancel\r\n </Button>\r\n <Button type='submit' variant={isChanged ? 'contained' : 'outlined'} disabled={isConfirmDisabled()} color='primary' sx={{ minWidth: 100 }}>\r\n {getButtonText()}\r\n </Button>\r\n </DialogActions>\r\n </Box>\r\n </Dialog>\r\n )\r\n}\r\n\r\nexport interface IShowGroupSelectorModalProps {\r\n cartItem: IMediaRightItem | null\r\n groups: IMediaRightGroup[]\r\n guideStepsProps?: IGuideStepsProps\r\n addGroup: (group: Omit<IMediaRightGroup, 'createdAt' | 'items' | 'channels'>) => void\r\n addItem: (item: IMediaRightItem) => void\r\n removeItem: (groupId: string, productId: string) => void\r\n}\r\n\r\nexport const showGroupSelectorModal = ({ cartItem, groups, guideStepsProps, addGroup, addItem, removeItem }: IShowGroupSelectorModalProps) => {\r\n const modalContainer = document.createElement('div')\r\n document.body.appendChild(modalContainer)\r\n const root = createRoot(modalContainer)\r\n\r\n const handleModalConfirmInModal = (groupIdsToAdd: string[], groupIdsToRemove: string[], newGroupName?: string) => {\r\n if (!cartItem) return\r\n\r\n // Create new group if needed\r\n if (newGroupName) {\r\n const newGroupId = generateGroupId()\r\n addGroup({ id: newGroupId, name: newGroupName })\r\n // Add item to the new group\r\n const cartItemWithGroup: IMediaRightItem = { ...cartItem, GroupId: newGroupId }\r\n addItem(cartItemWithGroup)\r\n } else {\r\n // Remove from groups\r\n groupIdsToRemove.forEach((groupId) => {\r\n if (cartItem.ProductId) {\r\n removeItem(groupId, cartItem.ProductId)\r\n }\r\n })\r\n\r\n // Add to groups\r\n groupIdsToAdd.forEach((groupId) => {\r\n const cartItemWithGroup: IMediaRightItem = { ...cartItem, GroupId: groupId }\r\n addItem(cartItemWithGroup)\r\n })\r\n }\r\n\r\n root.unmount()\r\n document.body.removeChild(modalContainer)\r\n }\r\n root.render(\r\n <GroupSelectorModal\r\n open={true}\r\n onClose={() => {\r\n root.unmount()\r\n document.body.removeChild(modalContainer)\r\n }}\r\n onConfirm={handleModalConfirmInModal}\r\n guideStepsProps={guideStepsProps}\r\n groups={groups}\r\n cartItem={cartItem}\r\n />\r\n )\r\n}\r\n"],"names":["GroupSelectorModal","_ref","open","onClose","onConfirm","groups","guideStepsProps","cartItem","currentGroupIds","useMemo","ProductId","filter","g","_g$items","items","some","item","map","id","sort","initialGroupIds","length","_useState","useState","_useState2","_slicedToArray","selectedGroupIds","setSelectedGroupIds","_useState3","_useState4","showNewGroupInput","setShowNewGroupInput","_useState5","_useState6","newName","setNewName","useEffect","newInitialGroupIds","isChanged","trim","sortedSelected","_toConsumableArray","index","handleClose","_jsxs","Dialog","maxWidth","fullWidth","disableScrollLock","keepMounted","scroll","children","_jsx","ModalHeader","Box","component","onSubmit","e","preventDefault","groupIdsToAdd","includes","groupIdsToRemove","DialogContent","Typography","variant","sx","mb","fontWeight","canAddGroup","NewCollectionInput","value","onChange","NewCollectionButton","onClick","CollectionsList","onGroupSelect","groupId","prev","concat","DialogActions","px","pb","GuideSteps","_objectSpread","iconButtonProps","color","mr","Button","type","disabled","minWidth","showGroupSelectorModal","_ref2","addGroup","addItem","removeItem","modalContainer","document","createElement","body","appendChild","root","createRoot","render","unmount","removeChild","newGroupName","newGroupId","generateGroupId","name","cartItemWithGroup","GroupId","forEach"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-group.d.ts","sourceRoot":"","sources":["../../../src/action-license/action-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAEzE,MAAM,WAAW,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,UAAU;IAC9D,YAAY,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACjD,SAAS,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;CAC/C;AAED,eAAO,MAAM,WAAW,mHAOvB,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"action-group.d.ts","sourceRoot":"","sources":["../../../src/action-license/action-group.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAEzE,MAAM,WAAW,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,UAAU;IAC9D,YAAY,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACjD,SAAS,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;CAC/C;AAED,eAAO,MAAM,WAAW,mHAQvB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -3,7 +3,7 @@ import type { AreaQuicklyAddToCartProps } from './quickly-add-to-cart';
3
3
  import type { BtnIconAddToPackageProps } from './btn.icon.add-to-package';
4
4
  import { IPricePackage } from './types';
5
5
  export interface IAreaActionGroupsProps<TProduct, TPrices extends IPricePackage> extends StackProps {
6
- product: TProduct;
6
+ product?: TProduct;
7
7
  packageProps?: Omit<BtnIconAddToPackageProps<TProduct>, 'product'>;
8
8
  cartProps?: Omit<AreaQuicklyAddToCartProps<TProduct, TPrices>, 'product'>;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"area.group.d.ts","sourceRoot":"","sources":["../../../src/action-license/area.group.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,OAAO,SAAS,aAAa,CAAE,SAAQ,UAAU;IACjG,OAAO,EAAE,QAAQ,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;IAClE,SAAS,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;CAC1E;AAED,eAAO,MAAM,gBAAgB,sLA6C5B,CAAA"}
1
+ {"version":3,"file":"area.group.d.ts","sourceRoot":"","sources":["../../../src/action-license/area.group.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,OAAO,SAAS,aAAa,CAAE,SAAQ,UAAU;IACjG,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;IAClE,SAAS,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;CAC1E;AAED,eAAO,MAAM,gBAAgB,sLA8C5B,CAAA"}
@@ -2,7 +2,7 @@
2
2
  import type { ButtonProps, TooltipProps } from '@mui/material';
3
3
  export interface ButtonIconAddToCartProps<T> extends Omit<ButtonProps, 'onClick'> {
4
4
  product: T;
5
- tooltipProps?: TooltipProps;
5
+ tooltipProps?: Partial<TooltipProps>;
6
6
  buttonProps?: ButtonProps;
7
7
  onClick: (item: T, e: React.MouseEvent<HTMLButtonElement>) => void;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"btn.icon.add-to-cart.d.ts","sourceRoot":"","sources":["../../../src/action-license/btn.icon.add-to-cart.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE9D,MAAM,WAAW,wBAAwB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;CACnE;AAED,eAAO,MAAM,mBAAmB,8HAiB/B,CAAA"}
1
+ {"version":3,"file":"btn.icon.add-to-cart.d.ts","sourceRoot":"","sources":["../../../src/action-license/btn.icon.add-to-cart.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE9D,MAAM,WAAW,wBAAwB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAA;IACV,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;CACnE;AAED,eAAO,MAAM,mBAAmB,8HAiB/B,CAAA"}
@@ -1,15 +1,22 @@
1
+ import type { FC } from 'react';
1
2
  import type { ButtonProps, IconButtonProps, TooltipProps } from '@mui/material';
2
3
  export declare enum EBtnAddToPackage {
3
4
  Icon = "icon",
4
5
  Button = "button"
5
6
  }
6
7
  export interface BtnIconAddToPackageProps<T> {
7
- product: T;
8
+ product?: T;
8
9
  buttonProps?: ButtonProps;
9
- tooltipProps?: TooltipProps;
10
+ tooltipProps?: Partial<TooltipProps>;
10
11
  helpProps?: Partial<IconButtonProps> & Record<string, any>;
11
12
  kind?: EBtnAddToPackage;
12
13
  addToCart: (item: T) => void;
13
14
  }
14
- export declare const ButtonIconAddToPackage: <T>({ product, buttonProps, tooltipProps, helpProps, kind, addToCart }: BtnIconAddToPackageProps<T>) => import("react/jsx-runtime").JSX.Element | null;
15
+ export declare const ButtonIconAddToPackage: <T>({ product, buttonProps, tooltipProps, helpProps, kind, addToCart }: BtnIconAddToPackageProps<T>) => import("react/jsx-runtime").JSX.Element;
16
+ interface ButtonIconAddToPackageSkeletonProps {
17
+ kind?: EBtnAddToPackage;
18
+ buttonProps?: ButtonProps;
19
+ }
20
+ export declare const ButtonIconAddToPackageSkeleton: FC<ButtonIconAddToPackageSkeletonProps>;
21
+ export {};
15
22
  //# sourceMappingURL=btn.icon.add-to-package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"btn.icon.add-to-package.d.ts","sourceRoot":"","sources":["../../../src/action-license/btn.icon.add-to-package.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE/E,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AACD,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,OAAO,EAAE,CAAC,CAAA;IACV,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1D,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAC7B;AAED,eAAO,MAAM,sBAAsB,wJAsDlC,CAAA"}
1
+ {"version":3,"file":"btn.icon.add-to-package.d.ts","sourceRoot":"","sources":["../../../src/action-license/btn.icon.add-to-package.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE/E,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AACD,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1D,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAC7B;AAED,eAAO,MAAM,sBAAsB,iJAsDlC,CAAA;AAID,UAAU,mCAAmC;IAC3C,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,eAAO,MAAM,8BAA8B,EAAE,EAAE,CAAC,mCAAmC,CAKlF,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import type { IPricePackage } from '../types';
2
2
  import type { IQuicklyAddToCartConfig } from './type';
3
3
  export interface AreaQuicklyAddToCartProps<TProduct, TPrices extends IPricePackage> {
4
- prices: TPrices[];
5
- product: TProduct;
4
+ prices?: TPrices[];
5
+ product?: TProduct;
6
6
  currentPricePackageId?: string;
7
7
  onAddToCart: (product: TProduct, price: IPricePackage) => void | Promise<void>;
8
8
  onSuccess?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/action-license/quickly-add-to-cart/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAI,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAErD,MAAM,WAAW,yBAAyB,CAAC,QAAQ,EAAE,OAAO,SAAS,aAAa;IAChF,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,OAAO,EAAE,QAAQ,CAAA;IACjB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC;AAED,eAAO,MAAM,oBAAoB,2IAuBhC,CAAA;AAGD,YAAY,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/action-license/quickly-add-to-cart/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAGrD,MAAM,WAAW,yBAAyB,CAAC,QAAQ,EAAE,OAAO,SAAS,aAAa;IAChF,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,uBAAuB,CAAA;CACjC;AAED,eAAO,MAAM,oBAAoB,2IAqChC,CAAA;AAGD,YAAY,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { FC } from 'react';
2
- import type { IMediaRightGroup, IMediaRightItem } from '../types';
3
2
  import type { IGuideStepsProps } from '../guide-steps';
3
+ import type { IMediaRightGroup, IMediaRightItem } from '../types';
4
4
  export interface IGroupSelectorModalProps {
5
5
  open: boolean;
6
6
  guideStepsProps?: IGuideStepsProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/media-right/group-selector/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAMjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/F,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CACjC;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,wBAAwB,CAmI3D,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,CAAA;IACrF,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACzD;AAED,eAAO,MAAM,sBAAsB,yEAA0E,4BAA4B,SAuDxI,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/media-right/group-selector/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,OAAO,CAAA;AAM1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEjE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/F,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CACjC;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,wBAAwB,CA4I3D,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,eAAe,CAAC,EAAE,gBAAgB,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,CAAA;IACrF,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACzD;AAED,eAAO,MAAM,sBAAsB,yEAA0E,4BAA4B,SA8CxI,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.2.20",
3
+ "version": "1.2.22",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",