dinocollab-shared 1.2.43 → 1.2.44

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{objectSpread2 as l}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o,Fragment as i,jsxs as t}from"react/jsx-runtime";import e from"@mui/icons-material/ArrowForward";import{Typography as n}from"@mui/material";import{Header as d,HeaderLeft as r,Footer as s,Root as u,Body as v,Items as a}from"./styled.js";import{NoDataPanel as m}from"../../components/no-data-panel.js";import{ButtonOrange as c}from"../../components/buttons.js";var p=function(p){var h=function(h){var f,b,y,g,x,C,P,j,k,M,S,T,w,I,R,W,z,F,L,N,_,A,B,H,q,D,E,G,J,K=null!==(f=h.carts)&&void 0!==f?f:[],O={carts:K,isMobile:h.isMobile,labels:l(l({},null!==(b=null==p?void 0:p.labels)&&void 0!==b?b:{}),null!==(y=null===(g=h.options)||void 0===g?void 0:g.labels)&&void 0!==y?y:{}),empty:l(l({},null!==(x=null==p?void 0:p.empty)&&void 0!==x?x:{}),null!==(C=null===(P=h.options)||void 0===P?void 0:P.empty)&&void 0!==C?C:{})},Q=function(l,o){return l?"function"==typeof l?l(O):l:o},U=o(m,{title:null===(j=O.empty)||void 0===j?void 0:j.title,subTitle:null===(k=O.empty)||void 0===k?void 0:k.subTitle,sx:{m:1,flex:1}}),V=o(i,{children:K.length>0?K.map(function(l,o){var i;return null!==(i=h.slots)&&void 0!==i&&i.item?h.slots.item(l,o,O):null}):null!==(M=Q(null===(S=h.slots)||void 0===S?void 0:S.empty,null))&&void 0!==M?M:U}),X=t(d,l(l({flexWrap:"wrap"},null===(T=h.slots)||void 0===T?void 0:T.headerProps),{},{children:[Q(null===(w=h.slots)||void 0===w?void 0:w.headerLeft,t(r,l(l({},null===(I=h.slots)||void 0===I?void 0:I.headerLeftProps),{},{children:[o(n,{variant:"h5",component:"h2",fontWeight:"bold",children:null===(R=O.labels)||void 0===R?void 0:R.title}),t(n,{variant:"body2",sx:{color:"var(--color-text-secondary)"},children:[null!==(W=K.length)&&void 0!==W?W:0," ",1===K.length?null===(z=O.labels)||void 0===z?void 0:z.itemsSuffixSingle:null===(F=O.labels)||void 0===F?void 0:F.itemsSuffixMany," in total"]})]}))),(null===(L=h.slots)||void 0===L?void 0:L.headerRight)&&Q(null===(N=h.slots)||void 0===N?void 0:N.headerRight,null)]})),Y=o(s,{children:o(c,l(l(l({variant:"contained",size:"medium",endIcon:o(e,{}),onClick:function(l){var o,i;null===(o=h.onClose)||void 0===o||o.call(h),null===(i=h.onCheckout)||void 0===i||i.call(h,l)},disabled:K.length<1,sx:{height:"56px",borderRadius:3,fontWeight:700,fontSize:"1rem",backgroundColor:"#e88c3f",textTransform:"none"}},h.buttonMoveToCartProps),h.buttonCheckoutProps),{},{children:(null===(_=h.buttonMoveToCartProps)||void 0===_?void 0:_.children)||(null===(A=h.buttonCheckoutProps)||void 0===A?void 0:A.children)||(null===(B=O.labels)||void 0===B?void 0:B.buttonCheckout)}))});return t(u,{className:h.isMobile?"mobile":"",children:[Q(null===(H=h.slots)||void 0===H?void 0:H.header,X),o(v,{children:t(a,{children:[Q(null===(q=h.slots)||void 0===q?void 0:q.beforeItems,null),null!==(D=Q(null===(E=h.slots)||void 0===E?void 0:E.items,V))&&void 0!==D?D:V,Q(null===(G=h.slots)||void 0===G?void 0:G.afterItems,null)]})}),Q(null===(J=h.slots)||void 0===J?void 0:J.footer,Y)]})};return h.displayName="FactoryCartContent",h};export{p as createCartContent,p as default};
1
+ import{objectSpread2 as l}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o,Fragment as i,jsxs as t}from"react/jsx-runtime";import e from"@mui/icons-material/ArrowForward";import{Typography as n}from"@mui/material";import{Header as d,HeaderLeft as r,Footer as s,Root as u,Body as v,Items as a}from"./styled.js";import{NoDataPanel as m}from"../../components/no-data-panel.js";import{ButtonOrange as c}from"../../components/buttons.js";var p=function(p){var h=function(h){var f,b,y,g,x,C,P,j,k,M,S,T,w,I,R,W,z,F,L,N,_,A,B,H,q,D,E,G,J,K=null!==(f=h.carts)&&void 0!==f?f:[],O={carts:K,isMobile:h.isMobile,labels:l(l({},null!==(b=null==p?void 0:p.labels)&&void 0!==b?b:{}),null!==(y=null===(g=h.options)||void 0===g?void 0:g.labels)&&void 0!==y?y:{}),empty:l(l({},null!==(x=null==p?void 0:p.empty)&&void 0!==x?x:{}),null!==(C=null===(P=h.options)||void 0===P?void 0:P.empty)&&void 0!==C?C:{})},Q=function(l,o){return l?"function"==typeof l?l(O):l:o},U=o(m,{title:null===(j=O.empty)||void 0===j?void 0:j.title,subTitle:null===(k=O.empty)||void 0===k?void 0:k.subTitle,sx:{m:1,flex:1}}),V=o(i,{children:K.length>0?K.map(function(l,o){var i;return null!==(i=h.slots)&&void 0!==i&&i.item?h.slots.item(l,o,O):null}):null!==(M=Q(null===(S=h.slots)||void 0===S?void 0:S.empty,null))&&void 0!==M?M:U}),X=t(d,l(l({flexWrap:"wrap"},null===(T=h.slots)||void 0===T?void 0:T.headerProps),{},{children:[Q(null===(w=h.slots)||void 0===w?void 0:w.headerLeft,t(r,l(l({},null===(I=h.slots)||void 0===I?void 0:I.headerLeftProps),{},{children:[o(n,{variant:"h5",component:"h2",fontWeight:"bold",children:null===(R=O.labels)||void 0===R?void 0:R.title}),t(n,{variant:"body2",sx:{color:"var(--color-text-secondary)"},children:[null!==(W=K.length)&&void 0!==W?W:0," ",1===K.length?null===(z=O.labels)||void 0===z?void 0:z.itemsSuffixSingle:null===(F=O.labels)||void 0===F?void 0:F.itemsSuffixMany," in total"]})]}))),(null===(L=h.slots)||void 0===L?void 0:L.headerRight)&&Q(null===(N=h.slots)||void 0===N?void 0:N.headerRight,null)]})),Y=o(s,{children:o(c,l(l(l({variant:"contained",size:"medium",endIcon:o(e,{}),onClick:function(l){var o,i;null===(o=h.onClose)||void 0===o||o.call(h),null===(i=h.onCheckout)||void 0===i||i.call(h,l)},disabled:K.length<1,sx:{height:"42px",borderRadius:1,fontWeight:700,fontSize:"1rem",backgroundColor:"#e88c3f",textTransform:"none"}},h.buttonMoveToCartProps),h.buttonCheckoutProps),{},{children:(null===(_=h.buttonMoveToCartProps)||void 0===_?void 0:_.children)||(null===(A=h.buttonCheckoutProps)||void 0===A?void 0:A.children)||(null===(B=O.labels)||void 0===B?void 0:B.buttonCheckout)}))});return t(u,{className:h.isMobile?"mobile":"",children:[Q(null===(H=h.slots)||void 0===H?void 0:H.header,X),o(v,{children:t(a,{children:[Q(null===(q=h.slots)||void 0===q?void 0:q.beforeItems,null),null!==(D=Q(null===(E=h.slots)||void 0===E?void 0:E.items,V))&&void 0!==D?D:V,Q(null===(G=h.slots)||void 0===G?void 0:G.afterItems,null)]})}),Q(null===(J=h.slots)||void 0===J?void 0:J.footer,Y)]})};return h.displayName="FactoryCartContent",h};export{p as createCartContent,p as default};
2
2
  //# sourceMappingURL=create.cart-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.cart-content.js","sources":["../../../src/factory/cart-content/create.cart-content.tsx"],"sourcesContent":["import React, { ComponentType } from 'react'\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\r\nimport { Typography } from '@mui/material'\r\nimport { ButtonOrange, NoDataPanel } from '../../components'\r\nimport { Root, Header, HeaderLeft, Body, Items, Footer } from './styled'\r\nimport type { ICartContentProps, ICartContentViewContext, ICartContentOptions } from './types'\r\n\r\nexport const createCartContent = <T = {},>(defaultOptions?: ICartContentOptions): ComponentType<ICartContentProps<T>> => {\r\n const FactoryCartContent: ComponentType<ICartContentProps<T>> = (props) => {\r\n const carts = props.carts ?? []\r\n const viewContext: ICartContentViewContext<T> = {\r\n carts: carts as T[],\r\n isMobile: props.isMobile,\r\n labels: {\r\n ...(defaultOptions?.labels ?? {}),\r\n ...(props.options?.labels ?? {})\r\n },\r\n empty: {\r\n ...(defaultOptions?.empty ?? {}),\r\n ...(props.options?.empty ?? {})\r\n }\r\n }\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 emptyDefault = <NoDataPanel title={viewContext.empty?.title} subTitle={viewContext.empty?.subTitle} sx={{ m: 1, flex: 1 }} />\r\n const itemsNode = (\r\n <>\r\n {carts.length > 0\r\n ? carts.map((it, i) => (props.slots?.item ? props.slots.item(it as T, i, viewContext) : null))\r\n : (resolveSlot(props.slots?.empty, null) ?? emptyDefault)}\r\n </>\r\n )\r\n\r\n const headerNode = (\r\n <Header flexWrap={'wrap'} {...props.slots?.headerProps}>\r\n {resolveSlot(\r\n props.slots?.headerLeft,\r\n <HeaderLeft {...props.slots?.headerLeftProps}>\r\n <Typography variant='h5' component='h2' fontWeight={'bold'}>\r\n {viewContext.labels?.title}\r\n </Typography>\r\n <Typography variant='body2' sx={{ color: 'var(--color-text-secondary)' }}>\r\n {carts.length ?? 0} {carts.length === 1 ? viewContext.labels?.itemsSuffixSingle : viewContext.labels?.itemsSuffixMany} in total\r\n </Typography>\r\n </HeaderLeft>\r\n )}\r\n {props.slots?.headerRight && resolveSlot(props.slots?.headerRight, null)}\r\n </Header>\r\n )\r\n\r\n const footerNode = (\r\n <Footer>\r\n <ButtonOrange\r\n variant='contained'\r\n size='medium'\r\n endIcon={<ArrowForwardIcon />}\r\n onClick={(e) => {\r\n props.onClose?.()\r\n props.onCheckout?.(e as React.MouseEvent<HTMLButtonElement, MouseEvent>)\r\n }}\r\n disabled={carts.length < 1}\r\n sx={{ height: '56px', borderRadius: 3, fontWeight: 700, fontSize: '1rem', backgroundColor: '#e88c3f', textTransform: 'none' }}\r\n {...props.buttonMoveToCartProps}\r\n {...props.buttonCheckoutProps}\r\n >\r\n {props.buttonMoveToCartProps?.children || props.buttonCheckoutProps?.children || viewContext.labels?.buttonCheckout}\r\n </ButtonOrange>\r\n </Footer>\r\n )\r\n\r\n return (\r\n <Root className={props.isMobile ? 'mobile' : ''}>\r\n {resolveSlot(props.slots?.header, headerNode)}\r\n <Body>\r\n <Items>\r\n {resolveSlot(props.slots?.beforeItems, null)}\r\n {resolveSlot(props.slots?.items, itemsNode) ?? itemsNode}\r\n {resolveSlot(props.slots?.afterItems, null)}\r\n </Items>\r\n </Body>\r\n {resolveSlot(props.slots?.footer, footerNode)}\r\n </Root>\r\n )\r\n }\r\n\r\n FactoryCartContent.displayName = 'FactoryCartContent'\r\n return FactoryCartContent\r\n}\r\n\r\nexport default createCartContent\r\n"],"names":["createCartContent","defaultOptions","FactoryCartContent","props","_props$carts","_defaultOptions$label","_props$options$labels","_props$options","_defaultOptions$empty","_props$options$empty","_props$options2","_viewContext$empty","_viewContext$empty2","_resolveSlot","_props$slots2","_props$slots3","_props$slots4","_props$slots5","_viewContext$labels","_carts$length","_viewContext$labels2","_viewContext$labels3","_props$slots6","_props$slots7","_props$buttonMoveToCa","_props$buttonCheckout","_viewContext$labels4","_props$slots8","_props$slots9","_resolveSlot2","_props$slots0","_props$slots1","_props$slots10","carts","viewContext","isMobile","labels","_objectSpread","options","empty","resolveSlot","slot","defaultNode","emptyDefault","_jsx","NoDataPanel","title","subTitle","sx","m","flex","itemsNode","_Fragment","children","length","map","it","i","_props$slots","slots","item","headerNode","_jsxs","Header","flexWrap","headerProps","headerLeft","HeaderLeft","headerLeftProps","Typography","variant","component","fontWeight","color","itemsSuffixSingle","itemsSuffixMany","headerRight","footerNode","Footer","ButtonOrange","size","endIcon","ArrowForwardIcon","onClick","e","_props$onClose","_props$onCheckout","onClose","call","onCheckout","disabled","height","borderRadius","fontSize","backgroundColor","textTransform","buttonMoveToCartProps","buttonCheckoutProps","buttonCheckout","Root","className","header","Body","Items","beforeItems","items","afterItems","footer","displayName"],"mappings":"scAOaA,EAAoB,SAAUC,GACzC,IAAMC,EAA0D,SAACC,GAAS,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClEC,EAAmB,QAAd7B,EAAGD,EAAM8B,aAAK,IAAA7B,EAAAA,EAAI,GACvB8B,EAA0C,CAC9CD,MAAOA,EACPE,SAAUhC,EAAMgC,SAChBC,OAAMC,EAAAA,EAAAhC,CAAAA,EACsB,QADtBA,EACAJ,aAAAA,EAAAA,EAAgBmC,cAAM/B,IAAAA,EAAAA,EAAI,CAAE,WAAAC,UAAAC,EAC5BJ,EAAMmC,eAAO,IAAA/B,OAAA,EAAbA,EAAe6B,cAAM,IAAA9B,EAAAA,EAAI,IAE/BiC,MAAKF,EAAAA,EAAA7B,CAAAA,UAAAA,EACCP,aAAc,EAAdA,EAAgBsC,aAAK,IAAA/B,EAAAA,EAAI,CAAE,GACPC,QADOA,EACdC,QADcA,EAC3BP,EAAMmC,mBAAO5B,SAAbA,EAAe6B,iBAAK9B,EAAAA,EAAI,CAAE,IAI5B+B,EAAc,SAACC,EAAWC,GAC9B,OAAKD,EACe,mBAATA,EAA4BA,EAAKP,GACrCO,EAFWC,CAGnB,EAEKC,EAAeC,EAACC,GAAYC,MAAwB,QAAnBnC,EAAEuB,EAAYK,aAAK,IAAA5B,OAAA,EAAjBA,EAAmBmC,MAAOC,SAA2B,QAAnBnC,EAAEsB,EAAYK,aAAK,IAAA3B,OAAA,EAAjBA,EAAmBmC,SAAUC,GAAI,CAAEC,EAAG,EAAGC,KAAM,KACtHC,EACJP,EAAAQ,EAAA,CAAAC,SACGpB,EAAMqB,OAAS,EACZrB,EAAMsB,IAAI,SAACC,EAAIC,GAAC,IAAAC,EAAA,OAAiB,QAAXA,EAAAvD,EAAMwD,aAAK,IAAAD,GAAXA,EAAaE,KAAOzD,EAAMwD,MAAMC,KAAKJ,EAASC,EAAGvB,GAAe,OAChDrB,QADsDA,EAC3F2B,EAAuB,QAAZ1B,EAACX,EAAMwD,aAAN7C,IAAWA,OAAXA,EAAAA,EAAayB,MAAO,aAAK1B,IAAAA,EAAAA,EAAI8B,IAI5CkB,EACJC,EAACC,EAAM1B,EAAAA,EAAA,CAAC2B,SAAU,gBAAMjD,EAAMZ,EAAMwD,aAAK,IAAA5C,OAAA,EAAXA,EAAakD,aAAW,CAAA,EAAA,CAAAZ,SAAA,CACnDb,UAAWxB,EACVb,EAAMwD,aAAK,IAAA3C,OAAA,EAAXA,EAAakD,WACbJ,EAACK,EAAU9B,EAAAA,KAAgBpB,QAAhBA,EAAKd,EAAMwD,aAAN1C,IAAWA,OAAXA,EAAAA,EAAamD,iBAAe,CAAA,EAAA,CAAAf,SAAA,CAC1CT,EAACyB,EAAW,CAAAC,QAAQ,KAAKC,UAAU,KAAKC,WAAY,OACjDnB,SAAkBnC,QAAlBA,EAAAgB,EAAYE,cAAZlB,IAAkBA,OAAlBA,EAAAA,EAAoB4B,QAEvBgB,EAACO,EAAW,CAAAC,QAAQ,QAAQtB,GAAI,CAAEyB,MAAO,+BAA+BpB,SAAA,SAAAlC,EACrEc,EAAMqB,cAAM,IAAAnC,EAAAA,EAAI,EAAC,IAAoB,IAAjBc,EAAMqB,OAAiClC,QAArBA,EAAGc,EAAYE,kBAAMhB,SAAlBA,EAAoBsD,kBAAsCrD,QAArBA,EAAGa,EAAYE,kBAAMf,SAAlBA,EAAoBsD,gBAC3F,qBAGL,QAAXrD,EAAAnB,EAAMwD,aAAK,IAAArC,OAAA,EAAXA,EAAasD,cAAepC,EAAuB,QAAZjB,EAACpB,EAAMwD,aAAK,IAAApC,OAAA,EAAXA,EAAaqD,YAAa,UAIjEC,EACJjC,EAACkC,EAAM,CAAAzB,SACLT,EAACmC,EAAY1C,EAAAA,EAAAA,EAAA,CACXiC,QAAQ,YACRU,KAAK,SACLC,QAASrC,EAACsC,EAAgB,IAC1BC,QAAS,SAACC,GAAK,IAAAC,EAAAC,EACA,QAAbD,EAAAlF,EAAMoF,eAAO,IAAAF,GAAbA,EAAAG,KAAArF,GACgBmF,QAAhBA,EAAAnF,EAAMsF,kBAANH,IAAgBA,GAAhBA,EAAAE,KAAArF,EAAmBiF,EACpB,EACDM,SAAUzD,EAAMqB,OAAS,EACzBN,GAAI,CAAE2C,OAAQ,OAAQC,aAAc,EAAGpB,WAAY,IAAKqB,SAAU,OAAQC,gBAAiB,UAAWC,cAAe,SACjH5F,EAAM6F,uBACN7F,EAAM8F,qBAAmB,CAAA,EAAA,CAE5B5C,UAA2B,QAA3B7B,EAAArB,EAAM6F,6BAAqB,IAAAxE,OAAA,EAA3BA,EAA6B6B,YAAqC,QAA7B5B,EAAItB,EAAM8F,2BAANxE,IAAyBA,OAAzBA,EAAAA,EAA2B4B,YAA8B3B,QAAtBA,EAAIQ,EAAYE,cAAZV,IAAkBA,OAAlBA,EAAAA,EAAoBwE,qBAK3G,OACEpC,EAACqC,GAAKC,UAAWjG,EAAMgC,SAAW,SAAW,aAC1CK,EAAuBb,QAAZA,EAACxB,EAAMwD,iBAAKhC,SAAXA,EAAa0E,OAAQxC,GAClCjB,EAAC0D,EACC,CAAAjD,SAAAS,EAACyC,EACE,CAAAlD,SAAA,CAAAb,EAAuBZ,QAAZA,EAACzB,EAAMwD,aAAN/B,IAAWA,OAAXA,EAAAA,EAAa4E,YAAa,MACI3E,QADCA,EAC3CW,EAAuB,QAAZV,EAAC3B,EAAMwD,aAAK,IAAA7B,OAAA,EAAXA,EAAa2E,MAAOtD,UAAUtB,IAAAA,EAAAA,EAAIsB,EAC9CX,EAAuBT,QAAZA,EAAC5B,EAAMwD,aAAN5B,IAAWA,OAAXA,EAAAA,EAAa2E,WAAY,WAGzClE,EAAuB,QAAZR,EAAC7B,EAAMwD,aAAN3B,IAAWA,OAAXA,EAAAA,EAAa2E,OAAQ9B,KAGvC,EAGD,OADA3E,EAAmB0G,YAAc,qBAC1B1G,CACT"}
1
+ {"version":3,"file":"create.cart-content.js","sources":["../../../src/factory/cart-content/create.cart-content.tsx"],"sourcesContent":["import React, { ComponentType } from 'react'\r\nimport ArrowForwardIcon from '@mui/icons-material/ArrowForward'\r\nimport { Typography } from '@mui/material'\r\nimport { ButtonOrange, NoDataPanel } from '../../components'\r\nimport { Root, Header, HeaderLeft, Body, Items, Footer } from './styled'\r\nimport type { ICartContentProps, ICartContentViewContext, ICartContentOptions } from './types'\r\n\r\nexport const createCartContent = <T = {},>(defaultOptions?: ICartContentOptions): ComponentType<ICartContentProps<T>> => {\r\n const FactoryCartContent: ComponentType<ICartContentProps<T>> = (props) => {\r\n const carts = props.carts ?? []\r\n const viewContext: ICartContentViewContext<T> = {\r\n carts: carts as T[],\r\n isMobile: props.isMobile,\r\n labels: {\r\n ...(defaultOptions?.labels ?? {}),\r\n ...(props.options?.labels ?? {})\r\n },\r\n empty: {\r\n ...(defaultOptions?.empty ?? {}),\r\n ...(props.options?.empty ?? {})\r\n }\r\n }\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 emptyDefault = <NoDataPanel title={viewContext.empty?.title} subTitle={viewContext.empty?.subTitle} sx={{ m: 1, flex: 1 }} />\r\n const itemsNode = (\r\n <>\r\n {carts.length > 0\r\n ? carts.map((it, i) => (props.slots?.item ? props.slots.item(it as T, i, viewContext) : null))\r\n : (resolveSlot(props.slots?.empty, null) ?? emptyDefault)}\r\n </>\r\n )\r\n\r\n const headerNode = (\r\n <Header flexWrap={'wrap'} {...props.slots?.headerProps}>\r\n {resolveSlot(\r\n props.slots?.headerLeft,\r\n <HeaderLeft {...props.slots?.headerLeftProps}>\r\n <Typography variant='h5' component='h2' fontWeight={'bold'}>\r\n {viewContext.labels?.title}\r\n </Typography>\r\n <Typography variant='body2' sx={{ color: 'var(--color-text-secondary)' }}>\r\n {carts.length ?? 0} {carts.length === 1 ? viewContext.labels?.itemsSuffixSingle : viewContext.labels?.itemsSuffixMany} in total\r\n </Typography>\r\n </HeaderLeft>\r\n )}\r\n {props.slots?.headerRight && resolveSlot(props.slots?.headerRight, null)}\r\n </Header>\r\n )\r\n\r\n const footerNode = (\r\n <Footer>\r\n <ButtonOrange\r\n variant='contained'\r\n size='medium'\r\n endIcon={<ArrowForwardIcon />}\r\n onClick={(e) => {\r\n props.onClose?.()\r\n props.onCheckout?.(e as React.MouseEvent<HTMLButtonElement, MouseEvent>)\r\n }}\r\n disabled={carts.length < 1}\r\n sx={{ height: '42px', borderRadius: 1, fontWeight: 700, fontSize: '1rem', backgroundColor: '#e88c3f', textTransform: 'none' }}\r\n {...props.buttonMoveToCartProps}\r\n {...props.buttonCheckoutProps}\r\n >\r\n {props.buttonMoveToCartProps?.children || props.buttonCheckoutProps?.children || viewContext.labels?.buttonCheckout}\r\n </ButtonOrange>\r\n </Footer>\r\n )\r\n\r\n return (\r\n <Root className={props.isMobile ? 'mobile' : ''}>\r\n {resolveSlot(props.slots?.header, headerNode)}\r\n <Body>\r\n <Items>\r\n {resolveSlot(props.slots?.beforeItems, null)}\r\n {resolveSlot(props.slots?.items, itemsNode) ?? itemsNode}\r\n {resolveSlot(props.slots?.afterItems, null)}\r\n </Items>\r\n </Body>\r\n {resolveSlot(props.slots?.footer, footerNode)}\r\n </Root>\r\n )\r\n }\r\n\r\n FactoryCartContent.displayName = 'FactoryCartContent'\r\n return FactoryCartContent\r\n}\r\n\r\nexport default createCartContent\r\n"],"names":["createCartContent","defaultOptions","FactoryCartContent","props","_props$carts","_defaultOptions$label","_props$options$labels","_props$options","_defaultOptions$empty","_props$options$empty","_props$options2","_viewContext$empty","_viewContext$empty2","_resolveSlot","_props$slots2","_props$slots3","_props$slots4","_props$slots5","_viewContext$labels","_carts$length","_viewContext$labels2","_viewContext$labels3","_props$slots6","_props$slots7","_props$buttonMoveToCa","_props$buttonCheckout","_viewContext$labels4","_props$slots8","_props$slots9","_resolveSlot2","_props$slots0","_props$slots1","_props$slots10","carts","viewContext","isMobile","labels","_objectSpread","options","empty","resolveSlot","slot","defaultNode","emptyDefault","_jsx","NoDataPanel","title","subTitle","sx","m","flex","itemsNode","_Fragment","children","length","map","it","i","_props$slots","slots","item","headerNode","_jsxs","Header","flexWrap","headerProps","headerLeft","HeaderLeft","headerLeftProps","Typography","variant","component","fontWeight","color","itemsSuffixSingle","itemsSuffixMany","headerRight","footerNode","Footer","ButtonOrange","size","endIcon","ArrowForwardIcon","onClick","e","_props$onClose","_props$onCheckout","onClose","call","onCheckout","disabled","height","borderRadius","fontSize","backgroundColor","textTransform","buttonMoveToCartProps","buttonCheckoutProps","buttonCheckout","Root","className","header","Body","Items","beforeItems","items","afterItems","footer","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{styled as r,Box as e,Stack as o}from"@mui/material";var t=r(e)(function(r){var e=r.theme;return{"--height-item":"auto","--color-bg":"var(--cart-color-bg, ".concat("dark"===e.palette.mode?"#1a1a1a":"#FFFFFF",")"),"--color-bg-secondary":"var(--cart-color-bg-secondary, ".concat("dark"===e.palette.mode?"#0F0F0F":"#F9FAFB",")"),"--color-text":e.palette.text.primary,"--color-text-secondary":"dark"===e.palette.mode?"#a1a1aa":"#64748b","--color-border":"dark"===e.palette.mode?"#27272a":"#f1f5f9","--color-primary":e.palette.primary.main||"#E11D48","--border-radius":"12px","--border-radius-lg":"16px",flex:"1",display:"flex",flexDirection:"column",minHeight:0,maxHeight:"60vh","&.mobile":{height:"100%",maxHeight:"none"}}}),a=r(o)(function(r){var e=r.theme;return{padding:e.spacing(1,2),justifyContent:"space-between",flexDirection:"row",alignItems:"center",gap:e.spacing(2),position:"sticky",top:0,background:"var(--color-bg)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",zIndex:2,borderBottom:"1px solid var(--color-border)"}}),i=r(o)(function(){return{gap:4}}),n=r(e)(function(){return{flex:1,minHeight:0,overflowY:"auto"}}),c=r(e)(function(r){var e=r.theme;return{padding:e.spacing(1),display:"flex",flexDirection:"column",gap:e.spacing(1)}}),l=r(e)(function(r){return{padding:"24px",display:"flex",flexDirection:"column",gap:r.theme.spacing(2),position:"sticky",bottom:0,background:"var(--color-bg)",zIndex:1,borderTop:"1px solid var(--color-border)"}});export{n as Body,l as Footer,a as Header,i as HeaderLeft,c as Items,t as Root,t as default};
1
+ import{styled as r,Box as e,Stack as o}from"@mui/material";var t=r(e)(function(r){var e=r.theme;return{"--height-item":"auto","--color-bg":"var(--cart-color-bg, ".concat("dark"===e.palette.mode?"#1a1a1a":"#FFFFFF",")"),"--color-bg-secondary":"var(--cart-color-bg-secondary, ".concat("dark"===e.palette.mode?"#0F0F0F":"#F9FAFB",")"),"--color-text":e.palette.text.primary,"--color-text-secondary":"dark"===e.palette.mode?"#a1a1aa":"#64748b","--color-border":"dark"===e.palette.mode?"#27272a":"#f1f5f9","--color-primary":e.palette.primary.main||"#E11D48","--border-radius":"12px","--border-radius-lg":"16px",flex:"1",display:"flex",flexDirection:"column",minHeight:0,maxHeight:"60vh","&.mobile":{height:"100%",maxHeight:"none"}}}),a=r(o)(function(r){var e=r.theme;return{padding:e.spacing(1,2),justifyContent:"space-between",flexDirection:"row",alignItems:"center",gap:e.spacing(2),position:"sticky",top:0,background:"var(--color-bg)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",zIndex:2,borderBottom:"1px solid var(--color-border)"}}),i=r(o)(function(){return{gap:4}}),n=r(e)(function(){return{flex:1,minHeight:0,overflowY:"auto"}}),c=r(e)(function(r){var e=r.theme;return{padding:e.spacing(1),display:"flex",flexDirection:"column",gap:e.spacing(1)}}),l=r(e)(function(r){var e=r.theme;return{padding:e.spacing(1.5),display:"flex",flexDirection:"column",gap:e.spacing(2),position:"sticky",bottom:0,background:"var(--color-bg)",zIndex:1,borderTop:"1px solid var(--color-border)"}});export{n as Body,l as Footer,a as Header,i as HeaderLeft,c as Items,t as Root,t 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 '--height-item': 'auto',\r\n '--color-bg': `var(--cart-color-bg, ${theme.palette.mode === 'dark' ? '#1a1a1a' : '#FFFFFF'})`,\r\n '--color-bg-secondary': `var(--cart-color-bg-secondary, ${theme.palette.mode === 'dark' ? '#0F0F0F' : '#F9FAFB'})`,\r\n '--color-text': theme.palette.text.primary,\r\n '--color-text-secondary': theme.palette.mode === 'dark' ? '#a1a1aa' : '#64748b',\r\n '--color-border': theme.palette.mode === 'dark' ? '#27272a' : '#f1f5f9',\r\n '--color-primary': theme.palette.primary.main || '#E11D48',\r\n '--border-radius': '12px',\r\n '--border-radius-lg': '16px',\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 background: 'var(--color-bg)',\r\n backdropFilter: 'blur(20px)',\r\n WebkitBackdropFilter: 'blur(20px)',\r\n zIndex: 2,\r\n borderBottom: '1px solid var(--color-border)'\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: '24px',\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: 'var(--color-bg)',\r\n zIndex: 1,\r\n borderTop: '1px solid var(--color-border)'\r\n}))\r\n\r\nexport default Root\r\n"],"names":["Root","styled","Box","_ref","theme","concat","palette","mode","text","primary","main","flex","display","flexDirection","minHeight","maxHeight","height","Header","Stack","_ref2","padding","spacing","justifyContent","alignItems","gap","position","top","background","backdropFilter","WebkitBackdropFilter","zIndex","borderBottom","HeaderLeft","Body","overflowY","Items","_ref3","Footer","_ref4","bottom","borderTop"],"mappings":"2DAGO,IAAMA,EAAgCC,EAAOC,EAAPD,CAAY,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACvE,gBAAiB,OACjB,aAAYC,wBAAAA,OAAiD,SAAvBD,EAAME,QAAQC,KAAkB,UAAY,UAAY,KAC9F,uBAAsBF,kCAAAA,OAA2D,SAAvBD,EAAME,QAAQC,KAAkB,UAAY,UAAY,KAClH,eAAgBH,EAAME,QAAQE,KAAKC,QACnC,yBAAiD,SAAvBL,EAAME,QAAQC,KAAkB,UAAY,UACtE,iBAAyC,SAAvBH,EAAME,QAAQC,KAAkB,UAAY,UAC9D,kBAAmBH,EAAME,QAAQG,QAAQC,MAAQ,UACjD,kBAAmB,OACnB,qBAAsB,OACtBC,KAAM,IACNC,QAAS,OACTC,cAAe,SACfC,UAAW,EACXC,UAAW,OACX,WAAY,CAAEC,OAAQ,OAAQD,UAAW,QAC1C,GAEYE,EAAoChB,EAAOiB,EAAPjB,CAAc,SAAAkB,GAAA,IAAGf,EAAKe,EAALf,MAAK,MAAQ,CAC7EgB,QAAShB,EAAMiB,QAAQ,EAAG,GAC1BC,eAAgB,gBAChBT,cAAe,MACfU,WAAY,SACZC,IAAKpB,EAAMiB,QAAQ,GACnBI,SAAU,SACVC,IAAK,EACLC,WAAY,kBACZC,eAAgB,aAChBC,qBAAsB,aACtBC,OAAQ,EACRC,aAAc,gCACf,GAEYC,EAAwC/B,EAAOiB,EAAPjB,CAAc,WAAA,MAAO,CAAEuB,IAAK,EAAG,GAEvES,EAAgChC,EAAOC,EAAPD,CAAY,WAAA,MAAO,CAAEU,KAAM,EAAGG,UAAW,EAAGoB,UAAW,OAAQ,GAE/FC,EAAiClC,EAAOC,EAAPD,CAAY,SAAAmC,GAAA,IAAGhC,EAAKgC,EAALhC,MAAK,MAAQ,CACxEgB,QAAShB,EAAMiB,QAAQ,GACvBT,QAAS,OACTC,cAAe,SACfW,IAAKpB,EAAMiB,QAAQ,GACpB,GAEYgB,EAAkCpC,EAAOC,EAAPD,CAAY,SAAAqC,GAAQ,MAAQ,CACzElB,QAAS,OACTR,QAAS,OACTC,cAAe,SACfW,IAJiEc,EAALlC,MAIjDiB,QAAQ,GACnBI,SAAU,SACVc,OAAQ,EACRZ,WAAY,kBACZG,OAAQ,EACRU,UAAW,gCACZ"}
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 '--height-item': 'auto',\r\n '--color-bg': `var(--cart-color-bg, ${theme.palette.mode === 'dark' ? '#1a1a1a' : '#FFFFFF'})`,\r\n '--color-bg-secondary': `var(--cart-color-bg-secondary, ${theme.palette.mode === 'dark' ? '#0F0F0F' : '#F9FAFB'})`,\r\n '--color-text': theme.palette.text.primary,\r\n '--color-text-secondary': theme.palette.mode === 'dark' ? '#a1a1aa' : '#64748b',\r\n '--color-border': theme.palette.mode === 'dark' ? '#27272a' : '#f1f5f9',\r\n '--color-primary': theme.palette.primary.main || '#E11D48',\r\n '--border-radius': '12px',\r\n '--border-radius-lg': '16px',\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 background: 'var(--color-bg)',\r\n backdropFilter: 'blur(20px)',\r\n WebkitBackdropFilter: 'blur(20px)',\r\n zIndex: 2,\r\n borderBottom: '1px solid var(--color-border)'\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: 'var(--color-bg)',\r\n zIndex: 1,\r\n borderTop: '1px solid var(--color-border)'\r\n}))\r\n\r\nexport default Root\r\n"],"names":["Root","styled","Box","_ref","theme","concat","palette","mode","text","primary","main","flex","display","flexDirection","minHeight","maxHeight","height","Header","Stack","_ref2","padding","spacing","justifyContent","alignItems","gap","position","top","background","backdropFilter","WebkitBackdropFilter","zIndex","borderBottom","HeaderLeft","Body","overflowY","Items","_ref3","Footer","_ref4","bottom","borderTop"],"mappings":"2DAGO,IAAMA,EAAgCC,EAAOC,EAAPD,CAAY,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACvE,gBAAiB,OACjB,aAAYC,wBAAAA,OAAiD,SAAvBD,EAAME,QAAQC,KAAkB,UAAY,UAAY,KAC9F,uBAAsBF,kCAAAA,OAA2D,SAAvBD,EAAME,QAAQC,KAAkB,UAAY,UAAY,KAClH,eAAgBH,EAAME,QAAQE,KAAKC,QACnC,yBAAiD,SAAvBL,EAAME,QAAQC,KAAkB,UAAY,UACtE,iBAAyC,SAAvBH,EAAME,QAAQC,KAAkB,UAAY,UAC9D,kBAAmBH,EAAME,QAAQG,QAAQC,MAAQ,UACjD,kBAAmB,OACnB,qBAAsB,OACtBC,KAAM,IACNC,QAAS,OACTC,cAAe,SACfC,UAAW,EACXC,UAAW,OACX,WAAY,CAAEC,OAAQ,OAAQD,UAAW,QAC1C,GAEYE,EAAoChB,EAAOiB,EAAPjB,CAAc,SAAAkB,GAAA,IAAGf,EAAKe,EAALf,MAAK,MAAQ,CAC7EgB,QAAShB,EAAMiB,QAAQ,EAAG,GAC1BC,eAAgB,gBAChBT,cAAe,MACfU,WAAY,SACZC,IAAKpB,EAAMiB,QAAQ,GACnBI,SAAU,SACVC,IAAK,EACLC,WAAY,kBACZC,eAAgB,aAChBC,qBAAsB,aACtBC,OAAQ,EACRC,aAAc,gCACf,GAEYC,EAAwC/B,EAAOiB,EAAPjB,CAAc,WAAA,MAAO,CAAEuB,IAAK,EAAG,GAEvES,EAAgChC,EAAOC,EAAPD,CAAY,WAAA,MAAO,CAAEU,KAAM,EAAGG,UAAW,EAAGoB,UAAW,OAAQ,GAE/FC,EAAiClC,EAAOC,EAAPD,CAAY,SAAAmC,GAAA,IAAGhC,EAAKgC,EAALhC,MAAK,MAAQ,CACxEgB,QAAShB,EAAMiB,QAAQ,GACvBT,QAAS,OACTC,cAAe,SACfW,IAAKpB,EAAMiB,QAAQ,GACpB,GAEYgB,EAAkCpC,EAAOC,EAAPD,CAAY,SAAAqC,GAAA,IAAGlC,EAAKkC,EAALlC,MAAK,MAAQ,CACzEgB,QAAShB,EAAMiB,QAAQ,KACvBT,QAAS,OACTC,cAAe,SACfW,IAAKpB,EAAMiB,QAAQ,GACnBI,SAAU,SACVc,OAAQ,EACRZ,WAAY,kBACZG,OAAQ,EACRU,UAAW,gCACZ"}
@@ -1,2 +1,2 @@
1
- import{styled as e,Box as o,alpha as r}from"@mui/material";import{ImageWithFallback as t}from"dinocollab-core/components";var a=e(o)(function(e){var o=e.theme;return{"--height-item":"auto","--color-bg":"dark"===o.palette.mode?"#1A1A1A":"#FFFFFF","--color-bg-rgb":"dark"===o.palette.mode?"26, 26, 26":"255, 255, 255","--color-bg-secondary":"dark"===o.palette.mode?"#0F0F0F":"#F9FAFB","--color-text":"dark"===o.palette.mode?o.palette.common.white:o.palette.common.black,"--color-text-secondary":"dark"===o.palette.mode?"#a1a1aa":"#64748b","--color-border":"dark"===o.palette.mode?"#27272a":"#f1f5f9","--border-radius":"6px","--border-radius-lg":"16px","--mui-palette-text-primary":"dark"===o.palette.mode?"#FFFFFF":"#000000",position:"relative",display:"flex",gap:o.spacing(1),padding:o.spacing(1),background:"rgba(var(--color-bg-rgb), 0.7)",borderRadius:"var(--border-radius-lg)",border:"1px solid var(--color-border)",transition:"all 0.2s ease","& a":{textDecoration:"none",color:"var(--color-text)"},"&:hover":{boxShadow:"0 0 0 1px ".concat(r(o.palette.primary.main||"#E11D48",.2)),borderColor:r(o.palette.primary.main||"#E11D48",.3)},"&:hover a":{textDecoration:"underline"}}}),i=e(t)(function(e){var o=e.theme;return{height:"62px",aspectRatio:"1 / 1",borderRadius:"var(--border-radius)",objectFit:"cover",flex:"0 0 auto",backgroundColor:"dark"===o.palette.mode?"#27272a":r(o.palette.grey[200],.5)}}),l=e(o)({flex:1,marginBlock:" auto",alignItems:"flex-start",display:"flex",flexDirection:"column",justifyContent:"space-between",minWidth:0}),d=e(o)(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{l as ItemContent,i as ItemImg,a as ItemRoot,d as ItemTitle};
1
+ import{styled as e,Box as o,alpha as r}from"@mui/material";import{ImageWithFallback as t}from"dinocollab-core/components";var a=e(o)(function(e){var o=e.theme;return{"--height-item":"auto","--color-bg":"dark"===o.palette.mode?"#1A1A1A":"#FFFFFF","--color-bg-rgb":"dark"===o.palette.mode?"26, 26, 26":"255, 255, 255","--color-bg-secondary":"dark"===o.palette.mode?"#0F0F0F":"#F9FAFB","--color-text":"dark"===o.palette.mode?o.palette.common.white:o.palette.common.black,"--color-text-secondary":"dark"===o.palette.mode?"#a1a1aa":"#64748b","--color-border":"dark"===o.palette.mode?"#27272a":"#f1f5f9","--border-radius":"6px","--border-radius-lg":"16px","--mui-palette-text-primary":"dark"===o.palette.mode?"#FFFFFF":"#000000",position:"relative",display:"flex",gap:o.spacing(1),padding:o.spacing(1),background:"rgba(var(--color-bg-rgb), 0.7)",borderRadius:"var(--border-radius)",border:"1px solid var(--color-border)",transition:"all 0.2s ease","& a":{textDecoration:"none",color:"var(--color-text)"},"&:hover":{boxShadow:"0 0 0 1px ".concat(r(o.palette.primary.main||"#E11D48",.2)),borderColor:r(o.palette.primary.main||"#E11D48",.3)},"&:hover a":{textDecoration:"underline"}}}),i=e(t)(function(e){var o=e.theme;return{height:"62px",aspectRatio:"1 / 1",borderRadius:"var(--border-radius)",objectFit:"cover",flex:"0 0 auto",backgroundColor:"dark"===o.palette.mode?"#27272a":r(o.palette.grey[200],.5)}}),l=e(o)({flex:1,marginBlock:" auto",alignItems:"flex-start",display:"flex",flexDirection:"column",justifyContent:"space-between",minWidth:0}),d=e(o)(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{l as ItemContent,i as ItemImg,a as ItemRoot,d 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 '--height-item': 'auto',\r\n '--color-bg': theme.palette.mode === 'dark' ? '#1A1A1A' : '#FFFFFF',\r\n '--color-bg-rgb': theme.palette.mode === 'dark' ? '26, 26, 26' : '255, 255, 255',\r\n '--color-bg-secondary': theme.palette.mode === 'dark' ? '#0F0F0F' : '#F9FAFB',\r\n '--color-text': theme.palette.mode === 'dark' ? theme.palette.common.white : theme.palette.common.black,\r\n '--color-text-secondary': theme.palette.mode === 'dark' ? '#a1a1aa' : '#64748b',\r\n '--color-border': theme.palette.mode === 'dark' ? '#27272a' : '#f1f5f9',\r\n '--border-radius': '6px',\r\n '--border-radius-lg': '16px',\r\n '--mui-palette-text-primary': theme.palette.mode === 'dark' ? '#FFFFFF' : '#000000',\r\n\r\n position: 'relative',\r\n display: 'flex',\r\n gap: theme.spacing(1),\r\n padding: theme.spacing(1),\r\n background: 'rgba(var(--color-bg-rgb), 0.7)',\r\n borderRadius: 'var(--border-radius-lg)',\r\n border: '1px solid var(--color-border)',\r\n transition: 'all 0.2s ease',\r\n '& a': { textDecoration: 'none', color: 'var(--color-text)' },\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: 'var(--border-radius)',\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","palette","mode","common","white","black","position","display","gap","spacing","padding","background","borderRadius","border","transition","textDecoration","color","boxShadow","concat","alpha","primary","main","borderColor","ItemImg","ImageWithFallback","_ref2","height","aspectRatio","objectFit","flex","backgroundColor","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,CAC3E,gBAAiB,OACjB,aAAqC,SAAvBA,EAAMC,QAAQC,KAAkB,UAAY,UAC1D,iBAAyC,SAAvBF,EAAMC,QAAQC,KAAkB,aAAe,gBACjE,uBAA+C,SAAvBF,EAAMC,QAAQC,KAAkB,UAAY,UACpE,eAAuC,SAAvBF,EAAMC,QAAQC,KAAkBF,EAAMC,QAAQE,OAAOC,MAAQJ,EAAMC,QAAQE,OAAOE,MAClG,yBAAiD,SAAvBL,EAAMC,QAAQC,KAAkB,UAAY,UACtE,iBAAyC,SAAvBF,EAAMC,QAAQC,KAAkB,UAAY,UAC9D,kBAAmB,MACnB,qBAAsB,OACtB,6BAAqD,SAAvBF,EAAMC,QAAQC,KAAkB,UAAY,UAE1EI,SAAU,WACVC,QAAS,OACTC,IAAKR,EAAMS,QAAQ,GACnBC,QAASV,EAAMS,QAAQ,GACvBE,WAAY,iCACZC,aAAc,0BACdC,OAAQ,gCACRC,WAAY,gBACZ,MAAO,CAAEC,eAAgB,OAAQC,MAAO,qBACxC,UAAW,CACTC,uBAASC,OAAeC,EAAMnB,EAAMC,QAAQmB,QAAQC,MAAQ,UAAW,KACvEC,YAAaH,EAAMnB,EAAMC,QAAQmB,QAAQC,MAAQ,UAAW,KAE9D,YAAa,CAAEN,eAAgB,aAChC,GAEYQ,EAAkD1B,EAAO2B,EAAP3B,CAA4C,SAAA4B,GAAA,IAAGzB,EAAKyB,EAALzB,MAAK,MAAQ,CACzH0B,OAAQ,OACRC,YAAa,QACbf,aAAc,uBACdgB,UAAW,QACXC,KAAM,WACNC,gBAAwC,SAAvB9B,EAAMC,QAAQC,KAAkB,UAAYiB,EAAMnB,EAAMC,QAAQ8B,KAAK,KAAM,IAC7F,GAEYC,EAAuCnC,EAAOC,EAAPD,CAAY,CAC9DgC,KAAM,EACNI,YAAa,QACbC,WAAY,aACZ3B,QAAS,OACT4B,cAAe,SACfC,eAAgB,gBAChBC,SAAU,IAGCC,EAAqCzC,EAAOC,EAAPD,CAAY,SAAA0C,GAAQ,MAAQ,CAC5EvB,MAAO,oBACPwB,WAAY,IACZC,SAAU,WACVC,WAAY,KACZT,YALoEM,EAALvC,MAK5CS,QAAQ,IAC3B4B,SAAU,EACVM,MAAO,OACPC,SAAU,SACVC,aAAc,WACdtC,QAAS,cACTuC,gBAAiB,EACjBC,gBAAiB,WAClB"}
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 '--height-item': 'auto',\r\n '--color-bg': theme.palette.mode === 'dark' ? '#1A1A1A' : '#FFFFFF',\r\n '--color-bg-rgb': theme.palette.mode === 'dark' ? '26, 26, 26' : '255, 255, 255',\r\n '--color-bg-secondary': theme.palette.mode === 'dark' ? '#0F0F0F' : '#F9FAFB',\r\n '--color-text': theme.palette.mode === 'dark' ? theme.palette.common.white : theme.palette.common.black,\r\n '--color-text-secondary': theme.palette.mode === 'dark' ? '#a1a1aa' : '#64748b',\r\n '--color-border': theme.palette.mode === 'dark' ? '#27272a' : '#f1f5f9',\r\n '--border-radius': '6px',\r\n '--border-radius-lg': '16px',\r\n '--mui-palette-text-primary': theme.palette.mode === 'dark' ? '#FFFFFF' : '#000000',\r\n\r\n position: 'relative',\r\n display: 'flex',\r\n gap: theme.spacing(1),\r\n padding: theme.spacing(1),\r\n background: 'rgba(var(--color-bg-rgb), 0.7)',\r\n borderRadius: 'var(--border-radius)',\r\n border: '1px solid var(--color-border)',\r\n transition: 'all 0.2s ease',\r\n '& a': { textDecoration: 'none', color: 'var(--color-text)' },\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: 'var(--border-radius)',\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","palette","mode","common","white","black","position","display","gap","spacing","padding","background","borderRadius","border","transition","textDecoration","color","boxShadow","concat","alpha","primary","main","borderColor","ItemImg","ImageWithFallback","_ref2","height","aspectRatio","objectFit","flex","backgroundColor","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,CAC3E,gBAAiB,OACjB,aAAqC,SAAvBA,EAAMC,QAAQC,KAAkB,UAAY,UAC1D,iBAAyC,SAAvBF,EAAMC,QAAQC,KAAkB,aAAe,gBACjE,uBAA+C,SAAvBF,EAAMC,QAAQC,KAAkB,UAAY,UACpE,eAAuC,SAAvBF,EAAMC,QAAQC,KAAkBF,EAAMC,QAAQE,OAAOC,MAAQJ,EAAMC,QAAQE,OAAOE,MAClG,yBAAiD,SAAvBL,EAAMC,QAAQC,KAAkB,UAAY,UACtE,iBAAyC,SAAvBF,EAAMC,QAAQC,KAAkB,UAAY,UAC9D,kBAAmB,MACnB,qBAAsB,OACtB,6BAAqD,SAAvBF,EAAMC,QAAQC,KAAkB,UAAY,UAE1EI,SAAU,WACVC,QAAS,OACTC,IAAKR,EAAMS,QAAQ,GACnBC,QAASV,EAAMS,QAAQ,GACvBE,WAAY,iCACZC,aAAc,uBACdC,OAAQ,gCACRC,WAAY,gBACZ,MAAO,CAAEC,eAAgB,OAAQC,MAAO,qBACxC,UAAW,CACTC,uBAASC,OAAeC,EAAMnB,EAAMC,QAAQmB,QAAQC,MAAQ,UAAW,KACvEC,YAAaH,EAAMnB,EAAMC,QAAQmB,QAAQC,MAAQ,UAAW,KAE9D,YAAa,CAAEN,eAAgB,aAChC,GAEYQ,EAAkD1B,EAAO2B,EAAP3B,CAA4C,SAAA4B,GAAA,IAAGzB,EAAKyB,EAALzB,MAAK,MAAQ,CACzH0B,OAAQ,OACRC,YAAa,QACbf,aAAc,uBACdgB,UAAW,QACXC,KAAM,WACNC,gBAAwC,SAAvB9B,EAAMC,QAAQC,KAAkB,UAAYiB,EAAMnB,EAAMC,QAAQ8B,KAAK,KAAM,IAC7F,GAEYC,EAAuCnC,EAAOC,EAAPD,CAAY,CAC9DgC,KAAM,EACNI,YAAa,QACbC,WAAY,aACZ3B,QAAS,OACT4B,cAAe,SACfC,eAAgB,gBAChBC,SAAU,IAGCC,EAAqCzC,EAAOC,EAAPD,CAAY,SAAA0C,GAAQ,MAAQ,CAC5EvB,MAAO,oBACPwB,WAAY,IACZC,SAAU,WACVC,WAAY,KACZT,YALoEM,EAALvC,MAK5CS,QAAQ,IAC3B4B,SAAU,EACVM,MAAO,OACPC,SAAU,SACVC,aAAc,WACdtC,QAAS,cACTuC,gBAAiB,EACjBC,gBAAiB,WAClB"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as o,objectSpread2 as r}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useState as i,useCallback as l}from"react";import{useTheme as a,useMediaQuery as c,Badge as u,Drawer as s}from"@mui/material";import p from"@mui/icons-material/PlaylistPlay";import{canAddGroup as m,generateGroupId as d}from"../helpers.js";import{Root as f,MenuStyled as h}from"./styled.js";import{IconButtonDark as g}from"../../components/buttons.js";import{MediaGroupAccordion as y}from"./media-group-accordion.js";import{useMediaRightStore as P,useMediaRightActions as b}from"../hooks.js";import{createCartContent as v}from"../../factory/cart-content/create.cart-content.js";import{createCartItem as x}from"../../factory/cart-item/create.cart-item.js";import{NewGroupArea as C}from"./new-group-area.js";var j=v({labels:{title:"Your Playlist",buttonCheckout:"Show in playlist",itemsSuffixMany:"playlists",itemsSuffixSingle:"playlist"},empty:{title:"Your playlist is empty",subTitle:"Try adding some media items"}}),S=x({}),T=function(r){var v=r.localStorageKey,x=P({localStorageKey:v}).groups,T=b({localStorageKey:v}),G=a(),M=c(G.breakpoints.down("sm")),k=i(null),w=o(k,2),D=w[0],I=w[1],L=i(!1),B=o(L,2),K=B[0],z=B[1],A=function(o){T.addGroup({name:o,id:d()})},E=function(o){T.updateGroup(o.id,o)},N=function(o){T.removeGroup(o)},O=function(o,r){T.removeItem(o,r)},R=l(function(){return t(j,{isMobile:M,carts:x,onClose:function(){return I(null)},onCheckout:function(){return I(null)},buttonMoveToCartProps:r.buttonMoveToCartProps,slots:{headerLeftProps:{flexDirection:"row",alignItems:"flex-end",justifyContent:"space-between",gap:1,flex:1},headerRight:function(o){return m(x)&&t(C,{onSaveGroup:A})},item:function(o){return t(y,{group:o,onEditGroup:E,onDeleteGroup:N,onDeleteMedia:O,accordionProps:{expanded:K===o.id,onChange:function(r,t){return z(!!t&&o.id)}},accordionDetailsProps:{sx:{display:"flex",flexDirection:"column",position:"relative",gap:1,p:1,"& .MuiAccordionDetails-root":{p:0}}},renderItem:function(e){return t(S,{item:e,name:e.ProductName,imageUrl:e.PictureUrl,onRemoveCart:function(){return O(o.id,e.ProductId)},itemTitleProps:r.itemTitleProps,itemTitlePropsGetter:r.itemTitlePropsGetter,onClose:function(){return I(null)}},e.ProductId)}},o.id)}}})},[x,M,r,K]);return e(n,{children:[t(g,{onClick:function(o){return I(o.currentTarget)},children:t(u,{badgeContent:x.length||0,color:"error",children:t(p,{})})}),M?t(s,{anchor:"right",open:Boolean(D),onClose:function(){return I(null)},disableScrollLock:!0,PaperProps:{sx:{width:"calc(100% - 100px)",maxWidth:360}},children:t(f,{children:R()})}):t(h,{disableScrollLock:!0,anchorEl:D,open:Boolean(D),onClose:function(){return I(null)},anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:t(f,{children:R()})})]})},G=function(o){var e=function(e){return t(T,r(r({},o),e))};return e.displayName="MediaGroupWidget",e};export{T as MediaGroupWidget,G as createMediaGroupWidget};
1
+ import{slicedToArray as o,objectSpread2 as r}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useState as i,useCallback as l}from"react";import{useTheme as a,useMediaQuery as c,Badge as u,Drawer as s}from"@mui/material";import p from"@mui/icons-material/PlaylistPlay";import{canAddGroup as m,generateGroupId as d}from"../helpers.js";import{Root as f,MenuStyled as h}from"./styled.js";import{IconButtonDark as g}from"../../components/buttons.js";import{MediaGroupAccordion as y}from"./media-group-accordion.js";import{useMediaRightStore as P,useMediaRightActions as b}from"../hooks.js";import{createCartContent as v}from"../../factory/cart-content/create.cart-content.js";import{createCartItem as x}from"../../factory/cart-item/create.cart-item.js";import{NewGroupArea as C}from"./new-group-area.js";var j=v({labels:{title:"Your Playlist",buttonCheckout:"Show in playlist",itemsSuffixMany:"playlists",itemsSuffixSingle:"playlist"},empty:{title:"Your playlist is empty",subTitle:"Try adding some playlist"}}),S=x({}),T=function(r){var v=r.localStorageKey,x=P({localStorageKey:v}).groups,T=b({localStorageKey:v}),G=a(),M=c(G.breakpoints.down("sm")),k=i(null),w=o(k,2),D=w[0],I=w[1],L=i(!1),B=o(L,2),K=B[0],z=B[1],A=function(o){T.addGroup({name:o,id:d()})},E=function(o){T.updateGroup(o.id,o)},N=function(o){T.removeGroup(o)},O=function(o,r){T.removeItem(o,r)},R=l(function(){return t(j,{isMobile:M,carts:x,onClose:function(){return I(null)},onCheckout:function(){return I(null)},buttonMoveToCartProps:r.buttonMoveToCartProps,slots:{headerLeftProps:{flexDirection:"row",alignItems:"flex-end",justifyContent:"space-between",gap:1,flex:1},headerRight:function(o){return m(x)&&t(C,{onSaveGroup:A})},item:function(o){return t(y,{group:o,onEditGroup:E,onDeleteGroup:N,onDeleteMedia:O,accordionProps:{expanded:K===o.id,onChange:function(r,t){return z(!!t&&o.id)}},accordionDetailsProps:{sx:{display:"flex",flexDirection:"column",position:"relative",gap:1,p:1,"& .MuiAccordionDetails-root":{p:0}}},renderItem:function(e){return t(S,{item:e,name:e.ProductName,imageUrl:e.PictureUrl,onRemoveCart:function(){return O(o.id,e.ProductId)},itemTitleProps:r.itemTitleProps,itemTitlePropsGetter:r.itemTitlePropsGetter,onClose:function(){return I(null)}},e.ProductId)}},o.id)}}})},[x,M,r,K]);return e(n,{children:[t(g,{onClick:function(o){return I(o.currentTarget)},children:t(u,{badgeContent:x.length||0,color:"error",children:t(p,{})})}),M?t(s,{anchor:"right",open:Boolean(D),onClose:function(){return I(null)},disableScrollLock:!0,PaperProps:{sx:{width:"calc(100% - 100px)",maxWidth:360}},children:t(f,{children:R()})}):t(h,{disableScrollLock:!0,anchorEl:D,open:Boolean(D),onClose:function(){return I(null)},anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:t(f,{children:R()})})]})},G=function(o){var e=function(e){return t(T,r(r({},o),e))};return e.displayName="MediaGroupWidget",e};export{T as MediaGroupWidget,G as createMediaGroupWidget};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/media-right/media-widget/index.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\r\nimport { Badge, ButtonProps, Drawer, TypographyProps, useMediaQuery, useTheme } from '@mui/material'\r\nimport PlaylistPlayIcon from '@mui/icons-material/PlaylistPlay'\r\nimport { canAddGroup, generateGroupId } from '../helpers'\r\nimport { MenuStyled, Root } from './styled'\r\nimport { IconButtonDark } from '../../components/buttons'\r\nimport { MediaGroupAccordion } from './media-group-accordion'\r\nimport { useMediaRightStore, useMediaRightActions } from '../hooks'\r\nimport type { IMediaRightGroup, IMediaRightItem } from '../types'\r\nimport createCartContent from '../../factory/cart-content/create.cart-content'\r\nimport createCartItem from '../../factory/cart-item/create.cart-item'\r\nimport { NewGroupArea } from './new-group-area'\r\n\r\nexport interface IMediaGroupWidgetProps {\r\n itemTitleProps?: TypographyProps & { [key: string]: any }\r\n itemTitlePropsGetter?: (item: IMediaRightItem, onClose?: () => void) => TypographyProps & { [key: string]: any }\r\n onClose?: () => void\r\n localStorageKey?: string\r\n hrefCart?: string\r\n buttonMoveToCartProps?: ButtonProps & { [key: string]: any }\r\n onDetailClick?: ButtonProps['onClick']\r\n}\r\n\r\nconst CartContent = createCartContent<IMediaRightGroup>({\r\n labels: {\r\n title: 'Your Playlist',\r\n buttonCheckout: 'Show in playlist',\r\n itemsSuffixMany: 'playlists',\r\n itemsSuffixSingle: 'playlist'\r\n },\r\n empty: {\r\n title: 'Your playlist is empty',\r\n subTitle: 'Try adding some media items'\r\n }\r\n})\r\n\r\nconst CartItem = createCartItem<IMediaRightItem>({})\r\n\r\nexport const MediaGroupWidget: React.FC<IMediaGroupWidgetProps> = (props) => {\r\n const { localStorageKey } = props\r\n const { groups } = useMediaRightStore({ localStorageKey })\r\n const actions = useMediaRightActions({ localStorageKey })\r\n const theme = useTheme()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\r\n const [expandedGroupId, setExpandedGroupId] = useState<string | false>(false)\r\n\r\n const handleSaveNewGroup = (groupName: string) => {\r\n actions.addGroup({\r\n name: groupName,\r\n id: generateGroupId()\r\n })\r\n }\r\n\r\n const handleEditGroup = (group: IMediaRightGroup) => {\r\n actions.updateGroup(group.id, group)\r\n }\r\n\r\n const handleDeleteGroup = (groupId: string) => {\r\n actions.removeGroup(groupId)\r\n }\r\n\r\n const handleDeleteMedia = (groupId: string, productId: string) => {\r\n actions.removeItem(groupId, productId)\r\n }\r\n\r\n const renderContent = useCallback(\r\n () => (\r\n <CartContent\r\n isMobile={isMobile}\r\n carts={groups}\r\n onClose={() => setAnchorEl(null)}\r\n onCheckout={() => setAnchorEl(null)}\r\n buttonMoveToCartProps={props.buttonMoveToCartProps}\r\n slots={{\r\n headerLeftProps: {\r\n flexDirection: 'row',\r\n alignItems: 'flex-end',\r\n justifyContent: 'space-between',\r\n gap: 1,\r\n flex: 1\r\n },\r\n headerRight: (ctx) => canAddGroup(groups) && <NewGroupArea onSaveGroup={handleSaveNewGroup} />,\r\n item: (group) => (\r\n <MediaGroupAccordion\r\n key={group.id}\r\n group={group}\r\n onEditGroup={handleEditGroup}\r\n onDeleteGroup={handleDeleteGroup}\r\n onDeleteMedia={handleDeleteMedia}\r\n accordionProps={{\r\n expanded: expandedGroupId === group.id,\r\n onChange: (_, isExpanded) => setExpandedGroupId(isExpanded ? group.id : false)\r\n }}\r\n accordionDetailsProps={{\r\n sx: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n gap: 1,\r\n p: 1,\r\n '& .MuiAccordionDetails-root': { p: 0 }\r\n }\r\n }}\r\n renderItem={(item) => (\r\n <CartItem\r\n item={item}\r\n key={item.ProductId}\r\n name={item.ProductName}\r\n imageUrl={item.PictureUrl}\r\n onRemoveCart={() => handleDeleteMedia(group.id, item.ProductId)}\r\n itemTitleProps={props.itemTitleProps}\r\n itemTitlePropsGetter={props.itemTitlePropsGetter}\r\n onClose={() => setAnchorEl(null)}\r\n />\r\n )}\r\n />\r\n )\r\n }}\r\n />\r\n ),\r\n [groups, isMobile, props, expandedGroupId]\r\n )\r\n\r\n return (\r\n <>\r\n <IconButtonDark onClick={(e) => setAnchorEl(e.currentTarget)}>\r\n <Badge badgeContent={groups.length || 0} color='error'>\r\n <PlaylistPlayIcon />\r\n </Badge>\r\n </IconButtonDark>\r\n {isMobile ? (\r\n <Drawer\r\n anchor='right'\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n disableScrollLock\r\n PaperProps={{ sx: { width: 'calc(100% - 100px)', maxWidth: 360 } }}\r\n >\r\n <Root>{renderContent()}</Root>\r\n </Drawer>\r\n ) : (\r\n <MenuStyled\r\n disableScrollLock\r\n anchorEl={anchorEl}\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n <Root>{renderContent()}</Root>\r\n </MenuStyled>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport const createMediaGroupWidget = (params: IMediaGroupWidgetProps) => {\r\n const _MediaGroupWidget: React.FC<Partial<IMediaGroupWidgetProps>> = (props) => <MediaGroupWidget {...params} {...props} />\r\n _MediaGroupWidget.displayName = 'MediaGroupWidget'\r\n return _MediaGroupWidget\r\n}\r\n"],"names":["CartContent","createCartContent","labels","title","buttonCheckout","itemsSuffixMany","itemsSuffixSingle","empty","subTitle","CartItem","createCartItem","MediaGroupWidget","props","localStorageKey","groups","useMediaRightStore","actions","useMediaRightActions","theme","useTheme","isMobile","useMediaQuery","breakpoints","down","_useState","useState","_useState2","_slicedToArray","anchorEl","setAnchorEl","_useState3","_useState4","expandedGroupId","setExpandedGroupId","handleSaveNewGroup","groupName","addGroup","name","id","generateGroupId","handleEditGroup","group","updateGroup","handleDeleteGroup","groupId","removeGroup","handleDeleteMedia","productId","removeItem","renderContent","useCallback","_jsx","carts","onClose","onCheckout","buttonMoveToCartProps","slots","headerLeftProps","flexDirection","alignItems","justifyContent","gap","flex","headerRight","ctx","canAddGroup","NewGroupArea","onSaveGroup","item","MediaGroupAccordion","onEditGroup","onDeleteGroup","onDeleteMedia","accordionProps","expanded","onChange","_","isExpanded","accordionDetailsProps","sx","display","position","p","renderItem","ProductName","imageUrl","PictureUrl","onRemoveCart","ProductId","itemTitleProps","itemTitlePropsGetter","_jsxs","_Fragment","children","IconButtonDark","onClick","e","currentTarget","Badge","badgeContent","length","color","PlaylistPlayIcon","Drawer","anchor","open","Boolean","disableScrollLock","PaperProps","width","maxWidth","Root","MenuStyled","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","createMediaGroupWidget","params","_MediaGroupWidget","_objectSpread","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/media-right/media-widget/index.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\r\nimport { Badge, ButtonProps, Drawer, TypographyProps, useMediaQuery, useTheme } from '@mui/material'\r\nimport PlaylistPlayIcon from '@mui/icons-material/PlaylistPlay'\r\nimport { canAddGroup, generateGroupId } from '../helpers'\r\nimport { MenuStyled, Root } from './styled'\r\nimport { IconButtonDark } from '../../components/buttons'\r\nimport { MediaGroupAccordion } from './media-group-accordion'\r\nimport { useMediaRightStore, useMediaRightActions } from '../hooks'\r\nimport type { IMediaRightGroup, IMediaRightItem } from '../types'\r\nimport createCartContent from '../../factory/cart-content/create.cart-content'\r\nimport createCartItem from '../../factory/cart-item/create.cart-item'\r\nimport { NewGroupArea } from './new-group-area'\r\n\r\nexport interface IMediaGroupWidgetProps {\r\n itemTitleProps?: TypographyProps & { [key: string]: any }\r\n itemTitlePropsGetter?: (item: IMediaRightItem, onClose?: () => void) => TypographyProps & { [key: string]: any }\r\n onClose?: () => void\r\n localStorageKey?: string\r\n hrefCart?: string\r\n buttonMoveToCartProps?: ButtonProps & { [key: string]: any }\r\n onDetailClick?: ButtonProps['onClick']\r\n}\r\n\r\nconst CartContent = createCartContent<IMediaRightGroup>({\r\n labels: {\r\n title: 'Your Playlist',\r\n buttonCheckout: 'Show in playlist',\r\n itemsSuffixMany: 'playlists',\r\n itemsSuffixSingle: 'playlist'\r\n },\r\n empty: {\r\n title: 'Your playlist is empty',\r\n subTitle: 'Try adding some playlist'\r\n }\r\n})\r\n\r\nconst CartItem = createCartItem<IMediaRightItem>({})\r\n\r\nexport const MediaGroupWidget: React.FC<IMediaGroupWidgetProps> = (props) => {\r\n const { localStorageKey } = props\r\n const { groups } = useMediaRightStore({ localStorageKey })\r\n const actions = useMediaRightActions({ localStorageKey })\r\n const theme = useTheme()\r\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n\r\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\r\n const [expandedGroupId, setExpandedGroupId] = useState<string | false>(false)\r\n\r\n const handleSaveNewGroup = (groupName: string) => {\r\n actions.addGroup({\r\n name: groupName,\r\n id: generateGroupId()\r\n })\r\n }\r\n\r\n const handleEditGroup = (group: IMediaRightGroup) => {\r\n actions.updateGroup(group.id, group)\r\n }\r\n\r\n const handleDeleteGroup = (groupId: string) => {\r\n actions.removeGroup(groupId)\r\n }\r\n\r\n const handleDeleteMedia = (groupId: string, productId: string) => {\r\n actions.removeItem(groupId, productId)\r\n }\r\n\r\n const renderContent = useCallback(\r\n () => (\r\n <CartContent\r\n isMobile={isMobile}\r\n carts={groups}\r\n onClose={() => setAnchorEl(null)}\r\n onCheckout={() => setAnchorEl(null)}\r\n buttonMoveToCartProps={props.buttonMoveToCartProps}\r\n slots={{\r\n headerLeftProps: {\r\n flexDirection: 'row',\r\n alignItems: 'flex-end',\r\n justifyContent: 'space-between',\r\n gap: 1,\r\n flex: 1\r\n },\r\n headerRight: (ctx) => canAddGroup(groups) && <NewGroupArea onSaveGroup={handleSaveNewGroup} />,\r\n item: (group) => (\r\n <MediaGroupAccordion\r\n key={group.id}\r\n group={group}\r\n onEditGroup={handleEditGroup}\r\n onDeleteGroup={handleDeleteGroup}\r\n onDeleteMedia={handleDeleteMedia}\r\n accordionProps={{\r\n expanded: expandedGroupId === group.id,\r\n onChange: (_, isExpanded) => setExpandedGroupId(isExpanded ? group.id : false)\r\n }}\r\n accordionDetailsProps={{\r\n sx: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n gap: 1,\r\n p: 1,\r\n '& .MuiAccordionDetails-root': { p: 0 }\r\n }\r\n }}\r\n renderItem={(item) => (\r\n <CartItem\r\n item={item}\r\n key={item.ProductId}\r\n name={item.ProductName}\r\n imageUrl={item.PictureUrl}\r\n onRemoveCart={() => handleDeleteMedia(group.id, item.ProductId)}\r\n itemTitleProps={props.itemTitleProps}\r\n itemTitlePropsGetter={props.itemTitlePropsGetter}\r\n onClose={() => setAnchorEl(null)}\r\n />\r\n )}\r\n />\r\n )\r\n }}\r\n />\r\n ),\r\n [groups, isMobile, props, expandedGroupId]\r\n )\r\n\r\n return (\r\n <>\r\n <IconButtonDark onClick={(e) => setAnchorEl(e.currentTarget)}>\r\n <Badge badgeContent={groups.length || 0} color='error'>\r\n <PlaylistPlayIcon />\r\n </Badge>\r\n </IconButtonDark>\r\n {isMobile ? (\r\n <Drawer\r\n anchor='right'\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n disableScrollLock\r\n PaperProps={{ sx: { width: 'calc(100% - 100px)', maxWidth: 360 } }}\r\n >\r\n <Root>{renderContent()}</Root>\r\n </Drawer>\r\n ) : (\r\n <MenuStyled\r\n disableScrollLock\r\n anchorEl={anchorEl}\r\n open={Boolean(anchorEl)}\r\n onClose={() => setAnchorEl(null)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n <Root>{renderContent()}</Root>\r\n </MenuStyled>\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport const createMediaGroupWidget = (params: IMediaGroupWidgetProps) => {\r\n const _MediaGroupWidget: React.FC<Partial<IMediaGroupWidgetProps>> = (props) => <MediaGroupWidget {...params} {...props} />\r\n _MediaGroupWidget.displayName = 'MediaGroupWidget'\r\n return _MediaGroupWidget\r\n}\r\n"],"names":["CartContent","createCartContent","labels","title","buttonCheckout","itemsSuffixMany","itemsSuffixSingle","empty","subTitle","CartItem","createCartItem","MediaGroupWidget","props","localStorageKey","groups","useMediaRightStore","actions","useMediaRightActions","theme","useTheme","isMobile","useMediaQuery","breakpoints","down","_useState","useState","_useState2","_slicedToArray","anchorEl","setAnchorEl","_useState3","_useState4","expandedGroupId","setExpandedGroupId","handleSaveNewGroup","groupName","addGroup","name","id","generateGroupId","handleEditGroup","group","updateGroup","handleDeleteGroup","groupId","removeGroup","handleDeleteMedia","productId","removeItem","renderContent","useCallback","_jsx","carts","onClose","onCheckout","buttonMoveToCartProps","slots","headerLeftProps","flexDirection","alignItems","justifyContent","gap","flex","headerRight","ctx","canAddGroup","NewGroupArea","onSaveGroup","item","MediaGroupAccordion","onEditGroup","onDeleteGroup","onDeleteMedia","accordionProps","expanded","onChange","_","isExpanded","accordionDetailsProps","sx","display","position","p","renderItem","ProductName","imageUrl","PictureUrl","onRemoveCart","ProductId","itemTitleProps","itemTitlePropsGetter","_jsxs","_Fragment","children","IconButtonDark","onClick","e","currentTarget","Badge","badgeContent","length","color","PlaylistPlayIcon","Drawer","anchor","open","Boolean","disableScrollLock","PaperProps","width","maxWidth","Root","MenuStyled","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","createMediaGroupWidget","params","_MediaGroupWidget","_objectSpread","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as o,slicedToArray as r,objectSpread2 as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as i,jsx as n}from"react/jsx-runtime";import{useState as t}from"react";import{styled as a,Accordion as m,accordionSummaryClasses as l,Box as p,Typography as c,AccordionSummary as d,Chip as s,IconButton as u,AccordionDetails as f}from"@mui/material";import g from"@mui/icons-material/Edit";import x from"@mui/icons-material/ExpandMore";import h from"@mui/icons-material/FolderOutlined";import{DeleteButton as b}from"./button.delete.js";import{InlineEditing as v}from"./inline-editing.js";import{mediaRightStoreOptions as y}from"../configs.js";var P=function(o){var a,m=t(!1),l=r(m,2),p=l[0],c=l[1];return i(k,e(e({component:"div"},o.accordionProps),{},{sx:e({my:"0 !important"},null===(a=o.accordionProps)||void 0===a?void 0:a.sx),children:[n(d,e(e({component:"div",expandIcon:n(x,{})},o.accordionSummaryProps),{},{children:i(S,{children:[n(h,{fontSize:"small"}),i(v,{isEdit:p,setShowEdit:c,onSubmit:function(r){o.onEditGroup(e(e({},o.group),{},{name:r})),c(!1)},defaultValue:o.group.name,textField:{inputProps:{maxLength:y.MAX_NAME_GROUP},sx:{flex:1,minWidth:0,"& .MuiOutlinedInput-root":{height:"32px"}}},sxForm:{flex:1},children:[n(W,{variant:"body2",noWrap:!0,title:o.group.name,children:o.group.name}),n(s,{sx:{fontSize:"12px"},label:"".concat(o.group.items.length," items"),size:"small"}),n(u,{size:"small",onClick:function(o){o.stopPropagation(),c(!0)},color:"success",children:n(g,{fontSize:"small"})}),n(b,{onDelete:function(){return o.onDeleteGroup(o.group.id)},size:"small"})]},o.group.id+o.group.name+p)]})})),n(f,e(e({},o.accordionDetailsProps),{},{children:o.group.items.map(function(r){return o.renderItem?o.renderItem(r):null})}))]}))},k=a(m)(o({backgroundColor:"transparent",boxShadow:"none",backgroundImage:"none","&:before":{display:"none"},"&.Mui-expanded":{margin:0}},".".concat(l.root),o({position:"sticky",top:0,zIndex:1,background:"rgba(var(--color-bg-rba),0.7)",backdropFilter:"blur(500px)",WebkitBackdropFilter:"blur(500px)",borderRadius:"12px",minWidth:0},"& .".concat(l.content),{minWidth:0,margin:0}))),S=a(p)(function(o){return{display:"flex",alignItems:"center",flex:1,gap:o.theme.spacing(1),minWidth:0}}),W=a(c)(function(o){var r=o.theme;return{fontWeight:600,flex:1,minWidth:0,color:r.palette.text.primary,marginLeft:r.spacing(1)}});export{S as ItemBox,W as ItemTitle,P as MediaGroupAccordion,k as PlaylistAccordion};
1
+ import{defineProperty as o,slicedToArray as r,objectSpread2 as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as i,jsx as n}from"react/jsx-runtime";import{useState as t}from"react";import{styled as a,Accordion as m,accordionSummaryClasses as l,Box as p,Typography as s,AccordionSummary as c,Chip as d,IconButton as u,AccordionDetails as f}from"@mui/material";import g from"@mui/icons-material/Edit";import x from"@mui/icons-material/ExpandMore";import h from"@mui/icons-material/FolderOutlined";import{DeleteButton as b}from"./button.delete.js";import{InlineEditing as v}from"./inline-editing.js";import{mediaRightStoreOptions as y}from"../configs.js";import{NoDataPanel as P}from"../../components/no-data-panel.js";var k=function(o){var a,m=t(!1),l=r(m,2),p=l[0],s=l[1];return i(S,e(e({component:"div"},o.accordionProps),{},{sx:e({my:"0 !important"},null===(a=o.accordionProps)||void 0===a?void 0:a.sx),children:[n(c,e(e({component:"div",expandIcon:n(x,{})},o.accordionSummaryProps),{},{children:i(W,{children:[n(h,{fontSize:"small"}),i(v,{isEdit:p,setShowEdit:s,onSubmit:function(r){o.onEditGroup(e(e({},o.group),{},{name:r})),s(!1)},defaultValue:o.group.name,textField:{inputProps:{maxLength:y.MAX_NAME_GROUP},sx:{flex:1,minWidth:0,"& .MuiOutlinedInput-root":{height:"32px"}}},sxForm:{flex:1},children:[n(j,{variant:"body2",noWrap:!0,title:o.group.name,children:o.group.name}),n(d,{sx:{fontSize:"12px"},label:"".concat(o.group.items.length," items"),size:"small"}),n(u,{size:"small",onClick:function(o){o.stopPropagation(),s(!0)},color:"success",children:n(g,{fontSize:"small"})}),n(b,{onDelete:function(){return o.onDeleteGroup(o.group.id)},size:"small"})]},o.group.id+o.group.name+p)]})})),n(f,e(e({},o.accordionDetailsProps),{},{children:o.group.items.length>0?o.group.items.map(function(r){return o.renderItem?o.renderItem(r):null}):n(P,{title:"No media in this playlist",sx:{flex:1}})}))]}))},S=a(m)(o({backgroundColor:"transparent",boxShadow:"none",backgroundImage:"none","&:before":{display:"none"},"&.Mui-expanded":{margin:0}},".".concat(l.root),o({position:"sticky",top:0,zIndex:1,background:"rgba(var(--color-bg-rba),0.7)",backdropFilter:"blur(500px)",WebkitBackdropFilter:"blur(500px)",borderRadius:"12px",minWidth:0},"& .".concat(l.content),{minWidth:0,margin:0}))),W=a(p)(function(o){return{display:"flex",alignItems:"center",flex:1,gap:o.theme.spacing(1),minWidth:0}}),j=a(s)(function(o){var r=o.theme;return{fontWeight:600,flex:1,minWidth:0,color:r.palette.text.primary,marginLeft:r.spacing(1)}});export{W as ItemBox,j as ItemTitle,k as MediaGroupAccordion,S as PlaylistAccordion};
2
2
  //# sourceMappingURL=media-group-accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-group-accordion.js","sources":["../../../src/media-right/media-widget/media-group-accordion.tsx"],"sourcesContent":["// imports\r\nimport { useState } from 'react'\r\nimport { Accordion, AccordionSummary, AccordionDetails, Box, Typography, Chip, IconButton, styled, accordionSummaryClasses } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport FolderOutlinedIcon from '@mui/icons-material/FolderOutlined'\r\nimport { DeleteButton } from './button.delete'\r\nimport { InlineEditing } from './inline-editing'\r\nimport { mediaRightStoreOptions } from '../configs'\r\n// types\r\nimport type { ComponentType, FC, MouseEvent } from 'react'\r\nimport type { AccordionProps, AccordionDetailsProps, AccordionSummaryProps, BoxProps, TypographyProps } from '@mui/material'\r\nimport type { IMediaRightGroup, IMediaRightItem } from '../types'\r\n\r\nexport interface IMediaGroupAccordionProps {\r\n group: IMediaRightGroup\r\n accordionProps?: Partial<AccordionProps>\r\n accordionSummaryProps?: Partial<AccordionSummaryProps>\r\n accordionDetailsProps?: Partial<AccordionDetailsProps>\r\n renderItem?: (item: IMediaRightItem) => React.ReactNode\r\n onEditGroup: (group: IMediaRightGroup) => void\r\n onDeleteGroup: (groupId: string) => void\r\n onDeleteMedia: (groupId: string, mediaId: string) => void\r\n}\r\n\r\nexport const MediaGroupAccordion: FC<IMediaGroupAccordionProps> = (props) => {\r\n const [isEditing, setIsEditing] = useState(false)\r\n\r\n const handleSaveEdit = (value: string) => {\r\n props.onEditGroup({ ...props.group, name: value })\r\n setIsEditing(false)\r\n }\r\n\r\n const handleEditClick = (e: MouseEvent) => {\r\n e.stopPropagation()\r\n setIsEditing(true)\r\n }\r\n\r\n return (\r\n <PlaylistAccordion component='div' {...props.accordionProps} sx={{ my: '0 !important', ...props.accordionProps?.sx }}>\r\n <AccordionSummary component='div' expandIcon={<ExpandMoreIcon />} {...props.accordionSummaryProps}>\r\n <ItemBox>\r\n <FolderOutlinedIcon fontSize='small' />\r\n <InlineEditing\r\n key={props.group.id + props.group.name + isEditing}\r\n isEdit={isEditing}\r\n setShowEdit={setIsEditing}\r\n onSubmit={handleSaveEdit}\r\n defaultValue={props.group.name}\r\n textField={{\r\n inputProps: { maxLength: mediaRightStoreOptions.MAX_NAME_GROUP },\r\n sx: { flex: 1, minWidth: 0, '& .MuiOutlinedInput-root': { height: '32px' } }\r\n }}\r\n sxForm={{ flex: 1 }}\r\n >\r\n <ItemTitle variant='body2' noWrap title={props.group.name}>\r\n {props.group.name}\r\n </ItemTitle>\r\n <Chip sx={{ fontSize: '12px' }} label={`${props.group.items.length} items`} size='small' />\r\n <IconButton size='small' onClick={handleEditClick} color='success'>\r\n <EditIcon fontSize='small' />\r\n </IconButton>\r\n <DeleteButton onDelete={() => props.onDeleteGroup(props.group.id)} size='small' />\r\n </InlineEditing>\r\n </ItemBox>\r\n </AccordionSummary>\r\n <AccordionDetails {...props.accordionDetailsProps}>\r\n {props.group.items.map((item) => (props.renderItem ? props.renderItem(item) : null))}\r\n </AccordionDetails>\r\n </PlaylistAccordion>\r\n )\r\n}\r\n\r\nexport const PlaylistAccordion: ComponentType<AccordionProps> = styled(Accordion)({\r\n backgroundColor: 'transparent',\r\n boxShadow: 'none',\r\n backgroundImage: 'none',\r\n '&:before': { display: 'none' },\r\n '&.Mui-expanded': { margin: 0 },\r\n [`.${accordionSummaryClasses.root}`]: {\r\n position: 'sticky',\r\n top: 0,\r\n zIndex: 1,\r\n background: 'rgba(var(--color-bg-rba),0.7)',\r\n backdropFilter: 'blur(500px)',\r\n WebkitBackdropFilter: 'blur(500px)',\r\n borderRadius: '12px',\r\n minWidth: 0,\r\n [`& .${accordionSummaryClasses.content}`]: {\r\n minWidth: 0,\r\n margin: 0\r\n }\r\n }\r\n})\r\n\r\nexport const ItemBox: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n flex: 1,\r\n gap: theme.spacing(1),\r\n minWidth: 0\r\n}))\r\n\r\nexport const ItemTitle: ComponentType<TypographyProps> = styled(Typography)(({ theme }) => ({\r\n fontWeight: 600,\r\n flex: 1,\r\n minWidth: 0,\r\n color: theme.palette.text.primary,\r\n marginLeft: theme.spacing(1)\r\n}))\r\n"],"names":["MediaGroupAccordion","props","_props$accordionProps","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_jsxs","PlaylistAccordion","_objectSpread","component","accordionProps","sx","my","children","_jsx","AccordionSummary","expandIcon","ExpandMoreIcon","accordionSummaryProps","ItemBox","FolderOutlinedIcon","fontSize","InlineEditing","isEdit","setShowEdit","onSubmit","value","onEditGroup","group","name","defaultValue","textField","inputProps","maxLength","mediaRightStoreOptions","MAX_NAME_GROUP","flex","minWidth","height","sxForm","ItemTitle","variant","noWrap","title","Chip","label","concat","items","length","size","IconButton","onClick","e","stopPropagation","color","EditIcon","DeleteButton","onDelete","onDeleteGroup","id","AccordionDetails","accordionDetailsProps","map","item","renderItem","styled","Accordion","_defineProperty","backgroundColor","boxShadow","backgroundImage","display","margin","accordionSummaryClasses","root","position","top","zIndex","background","backdropFilter","WebkitBackdropFilter","borderRadius","content","Box","_ref","alignItems","gap","theme","spacing","Typography","_ref2","fontWeight","palette","text","primary","marginLeft"],"mappings":"iqBAyBaA,EAAqD,SAACC,GAAS,IAAAC,EAC1EC,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAY9B,OACEI,EAACC,EAAiBC,EAAAA,EAAA,CAACC,UAAU,OAAUX,EAAMY,gBAAc,GAAA,CAAEC,GAAEH,EAAA,CAAII,GAAI,gBAAuCb,QAAzBA,EAAKD,EAAMY,sBAANX,IAAoBA,OAApBA,EAAAA,EAAsBY,IAC9GE,SAAA,CAAAC,EAACC,EAAgBP,EAAAA,EAAA,CAACC,UAAU,MAAMO,WAAYF,EAACG,EAAc,CAAA,IAASnB,EAAMoB,uBAAqB,GAAA,CAAAL,SAC/FP,EAACa,aACCL,EAACM,EAAmB,CAAAC,SAAS,UAC7Bf,EAACgB,GAECC,OAAQnB,EACRoB,YAAanB,EACboB,SAnBa,SAACC,GACtB5B,EAAM6B,YAAWnB,EAAAA,EAAA,CAAA,EAAMV,EAAM8B,OAAK,GAAA,CAAEC,KAAMH,KAC1CrB,GAAa,EACd,EAiBSyB,aAAchC,EAAM8B,MAAMC,KAC1BE,UAAW,CACTC,WAAY,CAAEC,UAAWC,EAAuBC,gBAChDxB,GAAI,CAAEyB,KAAM,EAAGC,SAAU,EAAG,2BAA4B,CAAEC,OAAQ,UAEpEC,OAAQ,CAAEH,KAAM,GAAGvB,SAAA,CAEnBC,EAAC0B,GAAUC,QAAQ,QAAQC,UAAOC,MAAO7C,EAAM8B,MAAMC,KAClDhB,SAAAf,EAAM8B,MAAMC,OAEff,EAAC8B,GAAKjC,GAAI,CAAEU,SAAU,QAAUwB,MAAK,GAAAC,OAAKhD,EAAM8B,MAAMmB,MAAMC,OAAc,UAAEC,KAAK,UACjFnC,EAACoC,EAAU,CAACD,KAAK,QAAQE,QA1BX,SAACC,GACvBA,EAAEC,kBACFhD,GAAa,EACd,EAuB4DiD,MAAM,mBACvDxC,EAACyC,GAASlC,SAAS,YAErBP,EAAC0C,EAAa,CAAAC,SAAU,WAAF,OAAQ3D,EAAM4D,cAAc5D,EAAM8B,MAAM+B,GAAG,EAAEV,KAAK,YAlBnEnD,EAAM8B,MAAM+B,GAAK7D,EAAM8B,MAAMC,KAAOzB,SAsB/CU,EAAC8C,EAAgBpD,EAAAA,EAAA,CAAA,EAAKV,EAAM+D,uBAAqB,GAAA,CAC9ChD,SAAAf,EAAM8B,MAAMmB,MAAMe,IAAI,SAACC,GAAI,OAAMjE,EAAMkE,WAAalE,EAAMkE,WAAWD,GAAQ,IAAK,SAI3F,EAEaxD,EAAmD0D,EAAOC,EAAPD,CAAiBE,EAAA,CAC/EC,gBAAiB,cACjBC,UAAW,OACXC,gBAAiB,OACjB,WAAY,CAAEC,QAAS,QACvB,iBAAkB,CAAEC,OAAQ,IAAG,IAAA1B,OAC1B2B,EAAwBC,MAAIP,EAAA,CAC/BQ,SAAU,SACVC,IAAK,EACLC,OAAQ,EACRC,WAAY,gCACZC,eAAgB,cAChBC,qBAAsB,cACtBC,aAAc,OACd5C,SAAU,GAAC,MAAAS,OACJ2B,EAAwBS,SAAY,CACzC7C,SAAU,EACVmC,OAAQ,MAKDrD,EAAmC8C,EAAOkB,EAAPlB,CAAY,SAAAmB,GAAQ,MAAQ,CAC1Eb,QAAS,OACTc,WAAY,SACZjD,KAAM,EACNkD,IAJkEF,EAALG,MAIlDC,QAAQ,GACnBnD,SAAU,EACX,GAEYG,EAA4CyB,EAAOwB,EAAPxB,CAAmB,SAAAyB,GAAA,IAAGH,EAAKG,EAALH,MAAK,MAAQ,CAC1FI,WAAY,IACZvD,KAAM,EACNC,SAAU,EACViB,MAAOiC,EAAMK,QAAQC,KAAKC,QAC1BC,WAAYR,EAAMC,QAAQ,GAC3B"}
1
+ {"version":3,"file":"media-group-accordion.js","sources":["../../../src/media-right/media-widget/media-group-accordion.tsx"],"sourcesContent":["// imports\r\nimport { useState } from 'react'\r\nimport { Accordion, AccordionSummary, AccordionDetails, Box, Typography, Chip, IconButton, styled, accordionSummaryClasses } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport FolderOutlinedIcon from '@mui/icons-material/FolderOutlined'\r\nimport { DeleteButton } from './button.delete'\r\nimport { InlineEditing } from './inline-editing'\r\nimport { mediaRightStoreOptions } from '../configs'\r\nimport { NoDataPanel } from '../../components'\r\n// types\r\nimport type { ComponentType, FC, MouseEvent } from 'react'\r\nimport type { AccordionProps, AccordionDetailsProps, AccordionSummaryProps, BoxProps, TypographyProps } from '@mui/material'\r\nimport type { IMediaRightGroup, IMediaRightItem } from '../types'\r\n\r\nexport interface IMediaGroupAccordionProps {\r\n group: IMediaRightGroup\r\n accordionProps?: Partial<AccordionProps>\r\n accordionSummaryProps?: Partial<AccordionSummaryProps>\r\n accordionDetailsProps?: Partial<AccordionDetailsProps>\r\n renderItem?: (item: IMediaRightItem) => React.ReactNode\r\n onEditGroup: (group: IMediaRightGroup) => void\r\n onDeleteGroup: (groupId: string) => void\r\n onDeleteMedia: (groupId: string, mediaId: string) => void\r\n}\r\n\r\nexport const MediaGroupAccordion: FC<IMediaGroupAccordionProps> = (props) => {\r\n const [isEditing, setIsEditing] = useState(false)\r\n\r\n const handleSaveEdit = (value: string) => {\r\n props.onEditGroup({ ...props.group, name: value })\r\n setIsEditing(false)\r\n }\r\n\r\n const handleEditClick = (e: MouseEvent) => {\r\n e.stopPropagation()\r\n setIsEditing(true)\r\n }\r\n\r\n return (\r\n <PlaylistAccordion component='div' {...props.accordionProps} sx={{ my: '0 !important', ...props.accordionProps?.sx }}>\r\n <AccordionSummary component='div' expandIcon={<ExpandMoreIcon />} {...props.accordionSummaryProps}>\r\n <ItemBox>\r\n <FolderOutlinedIcon fontSize='small' />\r\n <InlineEditing\r\n key={props.group.id + props.group.name + isEditing}\r\n isEdit={isEditing}\r\n setShowEdit={setIsEditing}\r\n onSubmit={handleSaveEdit}\r\n defaultValue={props.group.name}\r\n textField={{\r\n inputProps: { maxLength: mediaRightStoreOptions.MAX_NAME_GROUP },\r\n sx: { flex: 1, minWidth: 0, '& .MuiOutlinedInput-root': { height: '32px' } }\r\n }}\r\n sxForm={{ flex: 1 }}\r\n >\r\n <ItemTitle variant='body2' noWrap title={props.group.name}>\r\n {props.group.name}\r\n </ItemTitle>\r\n <Chip sx={{ fontSize: '12px' }} label={`${props.group.items.length} items`} size='small' />\r\n <IconButton size='small' onClick={handleEditClick} color='success'>\r\n <EditIcon fontSize='small' />\r\n </IconButton>\r\n <DeleteButton onDelete={() => props.onDeleteGroup(props.group.id)} size='small' />\r\n </InlineEditing>\r\n </ItemBox>\r\n </AccordionSummary>\r\n <AccordionDetails {...props.accordionDetailsProps}>\r\n {props.group.items.length > 0 ? (\r\n props.group.items.map((item) => (props.renderItem ? props.renderItem(item) : null))\r\n ) : (\r\n <NoDataPanel title={'No media in this playlist'} sx={{ flex: 1 }} />\r\n )}\r\n </AccordionDetails>\r\n </PlaylistAccordion>\r\n )\r\n}\r\n\r\nexport const PlaylistAccordion: ComponentType<AccordionProps> = styled(Accordion)({\r\n backgroundColor: 'transparent',\r\n boxShadow: 'none',\r\n backgroundImage: 'none',\r\n '&:before': { display: 'none' },\r\n '&.Mui-expanded': { margin: 0 },\r\n [`.${accordionSummaryClasses.root}`]: {\r\n position: 'sticky',\r\n top: 0,\r\n zIndex: 1,\r\n background: 'rgba(var(--color-bg-rba),0.7)',\r\n backdropFilter: 'blur(500px)',\r\n WebkitBackdropFilter: 'blur(500px)',\r\n borderRadius: '12px',\r\n minWidth: 0,\r\n [`& .${accordionSummaryClasses.content}`]: {\r\n minWidth: 0,\r\n margin: 0\r\n }\r\n }\r\n})\r\n\r\nexport const ItemBox: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n flex: 1,\r\n gap: theme.spacing(1),\r\n minWidth: 0\r\n}))\r\n\r\nexport const ItemTitle: ComponentType<TypographyProps> = styled(Typography)(({ theme }) => ({\r\n fontWeight: 600,\r\n flex: 1,\r\n minWidth: 0,\r\n color: theme.palette.text.primary,\r\n marginLeft: theme.spacing(1)\r\n}))\r\n"],"names":["MediaGroupAccordion","props","_props$accordionProps","_useState","useState","_useState2","_slicedToArray","isEditing","setIsEditing","_jsxs","PlaylistAccordion","_objectSpread","component","accordionProps","sx","my","children","_jsx","AccordionSummary","expandIcon","ExpandMoreIcon","accordionSummaryProps","ItemBox","FolderOutlinedIcon","fontSize","InlineEditing","isEdit","setShowEdit","onSubmit","value","onEditGroup","group","name","defaultValue","textField","inputProps","maxLength","mediaRightStoreOptions","MAX_NAME_GROUP","flex","minWidth","height","sxForm","ItemTitle","variant","noWrap","title","Chip","label","concat","items","length","size","IconButton","onClick","e","stopPropagation","color","EditIcon","DeleteButton","onDelete","onDeleteGroup","id","AccordionDetails","accordionDetailsProps","map","item","renderItem","NoDataPanel","styled","Accordion","_defineProperty","backgroundColor","boxShadow","backgroundImage","display","margin","accordionSummaryClasses","root","position","top","zIndex","background","backdropFilter","WebkitBackdropFilter","borderRadius","content","Box","_ref","alignItems","gap","theme","spacing","Typography","_ref2","fontWeight","palette","text","primary","marginLeft"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-group-accordion.d.ts","sourceRoot":"","sources":["../../../../src/media-right/media-widget/media-group-accordion.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAc,MAAM,OAAO,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC5H,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,gBAAgB,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACtD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAA;IACvD,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1D;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,yBAAyB,CA8C7D,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,cAAc,CAoB1D,CAAA;AAEF,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,QAAQ,CAMzC,CAAA;AAEH,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,eAAe,CAMlD,CAAA"}
1
+ {"version":3,"file":"media-group-accordion.d.ts","sourceRoot":"","sources":["../../../../src/media-right/media-widget/media-group-accordion.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAc,MAAM,OAAO,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC5H,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAEjE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,gBAAgB,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACtD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,KAAK,CAAC,SAAS,CAAA;IACvD,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1D;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,yBAAyB,CAkD7D,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,cAAc,CAoB1D,CAAA;AAEF,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,QAAQ,CAMzC,CAAA;AAEH,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,eAAe,CAMlD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.2.43",
3
+ "version": "1.2.44",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",