dinocollab-shared 1.2.11 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/auth/profile.js +1 -1
  2. package/dist/cart/event-store.js +2 -0
  3. package/dist/cart/event-store.js.map +1 -0
  4. package/dist/cart/hooks.js +2 -0
  5. package/dist/cart/hooks.js.map +1 -0
  6. package/dist/cart/index.js +1 -1
  7. package/dist/cart/service.js +2 -0
  8. package/dist/cart/service.js.map +1 -0
  9. package/dist/cart/widget.js +1 -1
  10. package/dist/cart/widget.js.map +1 -1
  11. package/dist/components/no-data-panel.js +1 -1
  12. package/dist/components/no-data-panel.js.map +1 -1
  13. package/dist/layout-global/app-footer.js +1 -1
  14. package/dist/layout-global/app-header.js +1 -1
  15. package/dist/layout-global/app-header.nav.js +1 -1
  16. package/dist/layout-global/app-header.nav.js.map +1 -1
  17. package/dist/layout-global/app-theme-provider.js +1 -1
  18. package/dist/layout-global/app-theme-provider.js.map +1 -1
  19. package/dist/layout-global/configs.js +1 -1
  20. package/dist/layout-global/configs.js.map +1 -1
  21. package/dist/layout-global/index.js +1 -1
  22. package/dist/media-right/event-store.js +2 -0
  23. package/dist/media-right/event-store.js.map +1 -0
  24. package/dist/media-right/group-selector/index.js +1 -1
  25. package/dist/media-right/group-selector/index.js.map +1 -1
  26. package/dist/media-right/group-selector/units.js +1 -1
  27. package/dist/media-right/group-selector/units.js.map +1 -1
  28. package/dist/media-right/hooks.js +2 -0
  29. package/dist/media-right/hooks.js.map +1 -0
  30. package/dist/media-right/index.js +1 -1
  31. package/dist/media-right/media-widget/index.js +1 -1
  32. package/dist/media-right/media-widget/index.js.map +1 -1
  33. package/dist/media-right/media-widget/media-group-accordion.js +1 -1
  34. package/dist/media-right/media-widget/media-group-accordion.js.map +1 -1
  35. package/dist/media-right/media-widget/media-list.js +1 -1
  36. package/dist/media-right/media-widget/media-list.js.map +1 -1
  37. package/dist/media-right/media-widget/styled.js +1 -1
  38. package/dist/media-right/media-widget/styled.js.map +1 -1
  39. package/dist/media-right/service.js +2 -0
  40. package/dist/media-right/service.js.map +1 -0
  41. package/dist/types/cart/{cart-store.d.ts → event-store.d.ts} +1 -22
  42. package/dist/types/cart/event-store.d.ts.map +1 -0
  43. package/dist/types/cart/{hook.d.ts → hooks.d.ts} +5 -7
  44. package/dist/types/cart/hooks.d.ts.map +1 -0
  45. package/dist/types/cart/index.d.ts +2 -1
  46. package/dist/types/cart/index.d.ts.map +1 -1
  47. package/dist/types/cart/service.d.ts +28 -0
  48. package/dist/types/cart/service.d.ts.map +1 -0
  49. package/dist/types/layout-global/app-header.nav.d.ts.map +1 -1
  50. package/dist/types/layout-global/app-theme-provider.d.ts +1 -1
  51. package/dist/types/layout-global/app-theme-provider.d.ts.map +1 -1
  52. package/dist/types/layout-global/configs.d.ts +1 -1
  53. package/dist/types/layout-global/configs.d.ts.map +1 -1
  54. package/dist/types/media-right/event-store.d.ts +27 -0
  55. package/dist/types/media-right/event-store.d.ts.map +1 -0
  56. package/dist/types/media-right/group-selector/index.d.ts +4 -3
  57. package/dist/types/media-right/group-selector/index.d.ts.map +1 -1
  58. package/dist/types/media-right/group-selector/units.d.ts +1 -1
  59. package/dist/types/media-right/group-selector/units.d.ts.map +1 -1
  60. package/dist/types/media-right/{hook.d.ts → hooks.d.ts} +1 -1
  61. package/dist/types/media-right/hooks.d.ts.map +1 -0
  62. package/dist/types/media-right/index.d.ts +2 -1
  63. package/dist/types/media-right/index.d.ts.map +1 -1
  64. package/dist/types/media-right/media-widget/index.d.ts.map +1 -1
  65. package/dist/types/media-right/media-widget/media-group-accordion.d.ts.map +1 -1
  66. package/dist/types/media-right/media-widget/media-list.d.ts.map +1 -1
  67. package/dist/types/media-right/media-widget/styled.d.ts +10 -0
  68. package/dist/types/media-right/media-widget/styled.d.ts.map +1 -1
  69. package/dist/types/media-right/service.d.ts +36 -0
  70. package/dist/types/media-right/service.d.ts.map +1 -0
  71. package/package.json +1 -1
  72. package/dist/cart/cart-store.js +0 -2
  73. package/dist/cart/cart-store.js.map +0 -1
  74. package/dist/cart/hook.js +0 -2
  75. package/dist/cart/hook.js.map +0 -1
  76. package/dist/media-right/cart-store.js +0 -2
  77. package/dist/media-right/cart-store.js.map +0 -1
  78. package/dist/media-right/hook.js +0 -2
  79. package/dist/media-right/hook.js.map +0 -1
  80. package/dist/types/cart/cart-store.d.ts.map +0 -1
  81. package/dist/types/cart/hook.d.ts.map +0 -1
  82. package/dist/types/media-right/cart-store.d.ts +0 -48
  83. package/dist/types/media-right/cart-store.d.ts.map +0 -1
  84. package/dist/types/media-right/hook.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- import{inherits as t,createClass as o,objectSpread2 as r,defineProperty as e,classCallCheck as l,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as a}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as d,Tooltip as p,IconButton as u,Avatar as h,Menu as m,Typography as f,Divider as v,MenuItem as g,Box as x,ListItemIcon as b,colors as C}from"@mui/material";import{getAvatarProps as k}from"../layout-global/helpers.js";var y={root:"Profile-root",title:"Profile-title",item:"Profile-item"},P=function(t,o){return"".concat("",".").concat(y[t]).concat("")},M=function(){function C(t){var o;return l(this,C),o=i(this,C,[t]),e(o,"toggle",function(){return o.setState({isOpen:!o.state.isOpen})}),e(o,"handleClick",function(t){o.setState({element:t.currentTarget})}),e(o,"handleClose",function(){o.setState({element:null})}),o.state={isOpen:!1,element:null},o}return t(C,s),o(C,[{key:"render",value:function(){var t,o=this.props.profile,e=(null==o?void 0:o.UserName)||"Guest";return n(c,{children:[a(d,{in:!0,children:a(p,{title:"Account settings",children:a(u,{onClick:this.handleClick,size:"small","aria-controls":this.state.element?"account-menu":void 0,"aria-haspopup":"true","aria-expanded":this.state.element?"true":void 0,sx:{flex:0},children:a(h,r({src:null!==(t=null==o?void 0:o.AvatarUrl)&&void 0!==t?t:""},k(e)))})})}),n(m,{anchorEl:this.state.element,id:"account-menu",disableScrollLock:!0,open:!!this.state.element,onClose:this.handleClose,onClick:this.handleClose,MenuListProps:{component:"div"},slotProps:{paper:S(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[n(f,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",e]}),a(v,{variant:"middle",sx:{mb:1}}),this.props.menuConfigs.map(function(t,o){return a(g,{children:n(x,r(r(r({className:y.item,onClick:t.onClick},t.href?{component:"a",href:t.href}:{}),t.buttonProps),{},{children:[a(b,{children:t.icon}),t.title]}))},o)})]})]})}}])}(),S=function(){var t="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),o=t?"#fff":"#323234",r=t?"#000":"#fff",l=t?C.blue[600]:"#e78a3f",i=t?C.grey[200]:C.grey[700];return{elevation:0,sx:e(e(e(e(e(e(e({"--color-background":o,"--color-text":r,"--color-text-secondary":l,"--color-divider":i,minWidth:"200px",overflow:"visible",filter:"drop-shadow(0px 2px 8px rgba(0,0,0,0.32))",mt:1.5,bgcolor:"var(--color-background)",color:"var(--color-text)"},P("title"),{marginTop:"-8px",padding:"10px 16px",fontWeight:"600",color:"var(--color-text)"}),P("item"),{display:"flex",alignItems:"center",gap:"8px",color:"currentColor",textDecoration:"none",padding:"6px 16px",flex:1}),"& .MuiAvatar-root",{width:32,height:32,ml:-.5,mr:1,bgcolor:"var(--color-avatar-bg)",color:"var(--color-avatar-text)"}),"& .MuiMenuItem-root",{padding:0,transition:"all 0.3s",color:"var(--color-text)",".MuiSvgIcon-root":{transition:"all 0.2s",transform:"translateX(0px) scale(1)"},"&:hover":{color:"var(--color-text-secondary)",backgroundColor:"var(--color-divider)",".MuiSvgIcon-root":{color:"var(--color-text-secondary)",transform:"translateX(4px) scale(1.2)"}}}),"& .MuiListItemIcon-root",{color:"var(--color-text)"}),"& .MuiDivider-root",{borderColor:"var(--color-divider)"}),"&:before",{content:'""',display:"block",position:"absolute",top:0,right:20,width:10,height:10,bgcolor:"var(--color-background)",transform:"translateY(-50%) rotate(45deg)",zIndex:0})}};export{M as Profile,M as default,y as profileClasses};
1
+ import{inherits as t,createClass as o,objectSpread2 as r,classCallCheck as e,callSuper as l,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as a}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as d,Tooltip as p,IconButton as u,Avatar as h,Menu as m,Typography as f,Divider as v,MenuItem as g,Box as x,ListItemIcon as b,colors as C}from"@mui/material";import{getAvatarProps as k}from"../layout-global/helpers.js";var y={root:"Profile-root",title:"Profile-title",item:"Profile-item"},P=function(t,o){return"".concat("",".").concat(y[t]).concat("")},M=function(){function C(t){var o;return e(this,C),o=l(this,C,[t]),i(o,"toggle",function(){return o.setState({isOpen:!o.state.isOpen})}),i(o,"handleClick",function(t){o.setState({element:t.currentTarget})}),i(o,"handleClose",function(){o.setState({element:null})}),o.state={isOpen:!1,element:null},o}return t(C,s),o(C,[{key:"render",value:function(){var t,o=this.props.profile,e=(null==o?void 0:o.UserName)||"Guest";return n(c,{children:[a(d,{in:!0,children:a(p,{title:"Account settings",children:a(u,{onClick:this.handleClick,size:"small","aria-controls":this.state.element?"account-menu":void 0,"aria-haspopup":"true","aria-expanded":this.state.element?"true":void 0,sx:{flex:0},children:a(h,r({src:null!==(t=null==o?void 0:o.AvatarUrl)&&void 0!==t?t:""},k(e)))})})}),n(m,{anchorEl:this.state.element,id:"account-menu",disableScrollLock:!0,open:!!this.state.element,onClose:this.handleClose,onClick:this.handleClose,MenuListProps:{component:"div"},slotProps:{paper:S(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[n(f,{variant:"subtitle1",noWrap:!0,className:y.title,onClick:function(t){return t.stopPropagation()},children:["Hello, ",e]}),a(v,{variant:"middle",sx:{mb:1}}),this.props.menuConfigs.map(function(t,o){return a(g,{children:n(x,r(r(r({className:y.item,onClick:t.onClick},t.href?{component:"a",href:t.href}:{}),t.buttonProps),{},{children:[a(b,{children:t.icon}),t.title]}))},o)})]})]})}}])}(),S=function(){var t="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),o=t?"#fff":"#323234",r=t?"#000":"#fff",e=t?C.blue[600]:"#e78a3f",l=t?C.grey[200]:C.grey[700];return{elevation:0,sx:i(i(i(i(i(i(i({"--color-background":o,"--color-text":r,"--color-text-secondary":e,"--color-divider":l,minWidth:"200px",overflow:"visible",filter:"drop-shadow(0px 2px 8px rgba(0,0,0,0.32))",mt:1.5,bgcolor:"var(--color-background)",color:"var(--color-text)"},P("title"),{marginTop:"-8px",padding:"10px 16px",fontWeight:"600",color:"var(--color-text)"}),P("item"),{display:"flex",alignItems:"center",gap:"8px",color:"currentColor",textDecoration:"none",padding:"6px 16px",flex:1}),"& .MuiAvatar-root",{width:32,height:32,ml:-.5,mr:1,bgcolor:"var(--color-avatar-bg)",color:"var(--color-avatar-text)"}),"& .MuiMenuItem-root",{padding:0,transition:"all 0.3s",color:"var(--color-text)",".MuiSvgIcon-root":{transition:"all 0.2s",transform:"translateX(0px) scale(1)"},"&:hover":{color:"var(--color-text-secondary)",backgroundColor:"var(--color-divider)",".MuiSvgIcon-root":{color:"var(--color-text-secondary)",transform:"translateX(4px) scale(1.2)"}}}),"& .MuiListItemIcon-root",{color:"var(--color-text)"}),"& .MuiDivider-root",{borderColor:"var(--color-divider)"}),"&:before",{content:'""',display:"block",position:"absolute",top:0,right:20,width:10,height:10,bgcolor:"var(--color-background)",transform:"translateY(-50%) rotate(45deg)",zIndex:0})}};export{M as Profile,M as default,y as profileClasses};
2
2
  //# sourceMappingURL=profile.js.map
@@ -0,0 +1,2 @@
1
+ import{inherits as r,createClass as e,superPropGet as t,classCallCheck as i,callSuper as n,defineProperty as s}from"../_virtual/_rollupPluginBabelHelpers.js";import a from"events";var o=function(){function o(){var r;return i(this,o),r=n(this,o),s(r,"_createWrapListener",function(r){return function(){try{r.apply(void 0,arguments)}catch(r){console.error("Error in MfeBridge listener:",r)}}}),r}return r(o,a),e(o,[{key:"subscribe",value:function(r,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(e):e;return t(o,"addListener",this)([r,n]),function(){t(o,"removeListener",i)([r,n])}}}])}();export{o as CartEventStore};
2
+ //# sourceMappingURL=event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-store.js","sources":["../../src/cart/event-store.ts"],"sourcesContent":["import EventEmitter from 'events'\r\n\r\nexport type IIdGetter<T = any> = (item: T) => string\r\n\r\ntype IItem = Record<string, any>\r\n\r\ninterface IEventOptions {\r\n message?: string\r\n}\r\n\r\nexport interface ICartEventConfigs {\r\n stateChange: [{ items: IItem; options?: IEventOptions }]\r\n requestState: [{ options?: IEventOptions }]\r\n}\r\n\r\nexport class CartEventStore extends EventEmitter<ICartEventConfigs> {\r\n constructor() {\r\n super()\r\n }\r\n /**\r\n * Subscribe to a specific channel\r\n * @param channel The channel to subscribe to\r\n * @param callback Function to call when an event occurs on this channel\r\n * @returns Unsubscribe function to remove the event listener\r\n */\r\n _createWrapListener = (callback: (...payload: any[]) => void) => {\r\n return (...payload: any[]) => {\r\n try {\r\n callback(...payload)\r\n } catch (error) {\r\n console.error('Error in MfeBridge listener:', error)\r\n }\r\n }\r\n }\r\n subscribe<K extends keyof ICartEventConfigs>(\r\n eventName: K,\r\n listener: K extends keyof ICartEventConfigs ? (ICartEventConfigs[K] extends unknown[] ? (...args: ICartEventConfigs[K]) => void : never) : never,\r\n isTry: boolean = true\r\n ) {\r\n const action = isTry ? this._createWrapListener(listener) : listener\r\n super.addListener(eventName, action as any)\r\n return () => {\r\n super.removeListener(eventName, action as any)\r\n }\r\n }\r\n}\r\n\r\n// export function getCartEventStore() {\r\n// if (typeof globalThis === undefined) return null\r\n\r\n// if (typeof (globalThis as any).CartEventStore === 'undefined') {\r\n// // If CartEventStore is not defined globally, define it\r\n// // This allows it to be used in other parts of the application\r\n// // without needing to import it explicitly\r\n// ;(globalThis as any).CartEventStore = new CartEventStore()\r\n// }\r\n// const eventEmitter = (globalThis as any).CartEventStore as CartEventStore\r\n// eventEmitter.setMaxListeners(50)\r\n// return eventEmitter\r\n// }\r\n\r\n// export interface ICartStoreConfigs {\r\n// idGetter: IIdGetter\r\n// localStorageKey?: string\r\n// }\r\n\r\n// export class MfeCartStore {\r\n// private configs: ICartStoreConfigs\r\n// constructor(config: ICartStoreConfigs) {\r\n// this.configs = config\r\n// if (!this.configs.localStorageKey) {\r\n// this.configs.localStorageKey = 'cartItems'\r\n// }\r\n// this.initialize()\r\n// }\r\n\r\n// initialize = () => {\r\n// const eventStore = getCartEventStore()\r\n// eventStore?.subscribe('requestState', () => {\r\n// eventStore?.emit('stateChange', { items: this.getState() })\r\n// })\r\n// }\r\n\r\n// destroy = () => {\r\n// const eventStore = getCartEventStore()\r\n// eventStore?.removeAllListeners('requestState')\r\n// }\r\n\r\n// emitStateChange(items: IItem) {\r\n// const eventStore = getCartEventStore()\r\n// this.saveToLocalStorage(items)\r\n// eventStore?.emit('stateChange', { items, options: { message: 'Cart items updated' } })\r\n// }\r\n\r\n// add(item: any, overwrite: boolean = false) {\r\n// const items = this.getState()\r\n// if (overwrite || !(this.configs.idGetter(item) in items)) {\r\n// items[this.configs.idGetter(item)] = item\r\n// }\r\n// this.emitStateChange(items)\r\n// return this\r\n// }\r\n\r\n// addMany(items: any[], overwrite: boolean = false) {\r\n// const currentItems = this.getState()\r\n// items.forEach((item) => {\r\n// if (overwrite || !(this.configs.idGetter(item) in currentItems)) {\r\n// currentItems[this.configs.idGetter(item)] = item\r\n// }\r\n// })\r\n// this.emitStateChange(currentItems)\r\n// return this\r\n// }\r\n\r\n// updateOrAdd(id: string, updates: Partial<any>) {\r\n// const items = this.getState()\r\n// const item = items[id]\r\n// if (item) {\r\n// items[id] = { ...item, ...updates }\r\n// } else {\r\n// items[id] = updates\r\n// }\r\n// this.emitStateChange(items)\r\n// return this\r\n// }\r\n\r\n// remove(id: string) {\r\n// const items = this.getState()\r\n// if (id in items) {\r\n// delete items[id]\r\n// this.emitStateChange(items)\r\n// }\r\n// return this\r\n// }\r\n\r\n// clear() {\r\n// this.emitStateChange({})\r\n// return this\r\n// }\r\n\r\n// getState(): IItem {\r\n// return this.loadFromLocalStorage() || {}\r\n// }\r\n\r\n// getItems(): any[] {\r\n// const items = this.getState()\r\n// const item = Array.isArray(items) ? items : Object.values(items)\r\n// return item\r\n// }\r\n\r\n// private loadFromLocalStorage() {\r\n// // Check if running in client environment with localStorage available\r\n// if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n// const storedItems = localStorage.getItem(this.configs.localStorageKey || 'cartItems')\r\n// if (storedItems) {\r\n// return JSON.parse(storedItems)\r\n// }\r\n// }\r\n// }\r\n\r\n// private saveToLocalStorage(items: IItem) {\r\n// // Check if running in client environment with localStorage available\r\n// if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n// if (this.configs.localStorageKey) {\r\n// localStorage.setItem(this.configs.localStorageKey, JSON.stringify(items))\r\n// } else {\r\n// console.warn('No localStorageKey provided, skipping storage')\r\n// }\r\n// }\r\n// }\r\n// }\r\n"],"names":["CartEventStore","_this","_classCallCheck","_callSuper","this","_defineProperty","callback","apply","arguments","error","console","_inherits","EventEmitter","_createClass","key","value","eventName","listener","_this2","action","_createWrapListener","_superPropGet"],"mappings":"oLAeaA,IAAAA,aACX,SAAAA,IAAA,IAAAC,EAiBC,OAjBDC,OAAAF,GACEC,EAAAE,EAAAC,KAAAJ,GAEFK,EAAAJ,EAMsB,sBAAA,SAACK,GACrB,OAAO,WACL,IACEA,EAAQC,WAAAC,EAAAA,UACT,CAAC,MAAOC,GACPC,QAAQD,MAAM,+BAAgCA,EAC/C,CACF,IACFR,CAfD,CAAC,OAAAU,EAAAX,EAHiCY,GAGjCC,EAAAb,EAAA,CAAA,CAAAc,IAAA,YAAAC,MAgBD,SACEC,EACAC,GACqB,IAAAC,EAAAd,KAEfe,6DAAiBf,KAAKgB,oBAAoBH,GAAYA,EAE5D,OADAI,EAAArB,EAAkBgB,cAAAA,KAAlBK,CAAkBL,CAAAA,EAAWG,IACtB,WACLE,EAAArB,EAAA,iBAAAkB,EAAAG,CAAqBL,CAAAA,EAAWG,GACjC,CACH,IAAC"}
@@ -0,0 +1,2 @@
1
+ import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useRef as t,useState as e,useEffect as a}from"react";import{cartService as n}from"./service.js";function i(){var i=t(!1),u=e(n.getCarts()),o=r(u,2),c=o[0],d=o[1];return a(function(){i.current||(n.initialize(),i.current=!0);var r=n.subscribe("stateChange",function(r){var t=r.items,e=Array.isArray(t)?t:Object.values(t);d(e)});return function(){r&&r()}},[]),{items:c}}function u(){var r=function(r){return r.ProductId};return{idGetter:r,addToCart:function(r){n.addToCart(r)},updateCart:function(r,t){n.updateCart(r,t)},updateOrAddCart:function(r,t){n.updateOrAddCart(r,t)},removeFromCart:function(t){var e=n.getCarts().find(function(e){return r(e)===t});e&&n.removeFromCart(e)},clearCart:function(){n.clearCart()}}}export{u as useCartActions,i as useCartStore};
2
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sources":["../../src/cart/hooks.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\r\nimport { ICartItem } from './types'\r\nimport { cartService } from './service'\r\n\r\nexport function useCartStore<T extends ICartItem = ICartItem>() {\r\n const initializedRef = useRef(false)\r\n const [items, setItems] = useState<T[]>(cartService.getCarts() as T[])\r\n\r\n useEffect(() => {\r\n // Load initial items\r\n // const initialItems = cartService.getCarts() as T[]\r\n // setItems(initialItems)\r\n\r\n // Initialize and subscribe to changes\r\n if (!initializedRef.current) {\r\n cartService.initialize()\r\n initializedRef.current = true\r\n }\r\n\r\n const unsubscribe = cartService.subscribe('stateChange', ({ items }) => {\r\n const itemArray = Array.isArray(items) ? items : Object.values(items)\r\n setItems(itemArray as T[])\r\n })\r\n\r\n return () => {\r\n if (unsubscribe) unsubscribe()\r\n }\r\n }, [])\r\n\r\n return { items }\r\n}\r\n\r\nexport function useCartActions<T extends ICartItem = ICartItem>() {\r\n const idGetter = (item: T) => item.ProductId\r\n\r\n const addToCart = (item: T) => {\r\n cartService.addToCart(item)\r\n }\r\n\r\n const updateCart = (id: string, updates: Partial<T>) => {\r\n cartService.updateCart(id, updates)\r\n }\r\n\r\n const updateOrAddCart = (id: string, updates: Partial<T>) => {\r\n cartService.updateOrAddCart(id, updates)\r\n }\r\n\r\n const removeFromCart = (id: string) => {\r\n const items = cartService.getCarts() as T[]\r\n const itemToRemove = items.find((item) => idGetter(item) === id)\r\n if (itemToRemove) {\r\n cartService.removeFromCart(itemToRemove)\r\n }\r\n }\r\n\r\n const clearCart = () => {\r\n cartService.clearCart()\r\n }\r\n\r\n return { idGetter, addToCart, updateCart, updateOrAddCart, removeFromCart, clearCart }\r\n}\r\n"],"names":["useCartStore","initializedRef","useRef","_useState","useState","cartService","getCarts","_useState2","_slicedToArray","items","setItems","useEffect","current","initialize","unsubscribe","subscribe","_ref","itemArray","Array","isArray","Object","values","useCartActions","idGetter","item","ProductId","addToCart","updateCart","id","updates","updateOrAddCart","removeFromCart","itemToRemove","find","clearCart"],"mappings":"yLAIgBA,IACd,IAAMC,EAAiBC,GAAO,GAC9BC,EAA0BC,EAAcC,EAAYC,YAAkBC,EAAAC,EAAAL,EAAA,GAA/DM,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAuBtB,OArBAI,EAAU,WAMHV,EAAeW,UAClBP,EAAYQ,aACZZ,EAAeW,SAAU,GAG3B,IAAME,EAAcT,EAAYU,UAAU,cAAe,SAAAC,GAAc,IAAXP,EAAKO,EAALP,MACpDQ,EAAYC,MAAMC,QAAQV,GAASA,EAAQW,OAAOC,OAAOZ,GAC/DC,EAASO,EACX,GAEA,OAAO,WACDH,GAAaA,GAClB,CACF,EAAE,IAEI,CAAEL,MAAAA,EACX,UAEgBa,IACd,IAAMC,EAAW,SAACC,GAAO,OAAKA,EAAKC,SAAS,EA0B5C,MAAO,CAAEF,SAAAA,EAAUG,UAxBD,SAACF,GACjBnB,EAAYqB,UAAUF,EACvB,EAsB6BG,WApBX,SAACC,EAAYC,GAC9BxB,EAAYsB,WAAWC,EAAIC,EAC5B,EAkByCC,gBAhBlB,SAACF,EAAYC,GACnCxB,EAAYyB,gBAAgBF,EAAIC,EACjC,EAc0DE,eAZpC,SAACH,GACtB,IACMI,EADQ3B,EAAYC,WACC2B,KAAK,SAACT,GAAI,OAAKD,EAASC,KAAUI,IACzDI,GACF3B,EAAY0B,eAAeC,EAE9B,EAM0EE,UAJzD,WAChB7B,EAAY6B,WACb,EAGH"}
@@ -1,2 +1,2 @@
1
- export{CartWidget,createCartWidget}from"./widget.js";export{useCartActions,useCartStore}from"./hook.js";export{areDuplicatedLink,convertStringToLinks,getTotalData}from"./helpers.js";
1
+ export{CartWidget,createCartWidget}from"./widget.js";export{useCartActions,useCartStore}from"./hooks.js";export{areDuplicatedLink,convertStringToLinks,getTotalData}from"./helpers.js";export{CartService,cartService}from"./service.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import{defineProperty as e,createClass as o,toConsumableArray as r,objectSpread2 as t,classCallCheck as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{createObjectSingleton as l}from"dinocollab-core/utils";import{CartEventStore as i}from"./event-store.js";var n=o(function o(){a(this,o),e(this,"localStorageKey","__cart_default__"),e(this,"store",new i)}),s=function(){function e(){a(this,e)}return o(e,[{key:"initialize",value:function(){e.provider.store.emit("requestState",{})}},{key:"subscribe",value:function(o,r){return e.provider.store.subscribe(o,r)}},{key:"getCarts",value:function(){var e;return null!==(e=this.loadFromLocalStorage().items)&&void 0!==e?e:[]}},{key:"addToCart",value:function(e){var o,t=this.loadFromLocalStorage(),a=Array.isArray(e)?e:[e],l=[].concat(r(null!==(o=t.items)&&void 0!==o?o:[]),r(a));this.saveToLocalStorage(l)}},{key:"removeFromCart",value:function(e){var o,r=this.loadFromLocalStorage(),t=Array.isArray(e)?e:[e],a=(null!==(o=r.items)&&void 0!==o?o:[]).filter(function(e){return!t.some(function(o){return o.ProductId===e.ProductId})});this.saveToLocalStorage(a)}},{key:"updateCart",value:function(e,o){var r,a=(null!==(r=this.loadFromLocalStorage().items)&&void 0!==r?r:[]).map(function(r){return r.ProductId===e?t(t({},r),o):r});this.saveToLocalStorage(a)}},{key:"updateOrAddCart",value:function(e,o){var a,l=this.loadFromLocalStorage(),i=(null!==(a=l.items)&&void 0!==a?a:[]).findIndex(function(o){return o.ProductId===e});if(-1!==i){var n,s=r(null!==(n=l.items)&&void 0!==n?n:[]);s[i]=t(t({},s[i]),o),this.saveToLocalStorage(s)}else this.addToCart(t({ProductId:e},o))}},{key:"clearCart",value:function(){this.saveToLocalStorage([])}},{key:"loadFromLocalStorage",value:function(){var o={version:"1.0",items:[]};try{if("undefined"!=typeof globalThis&&globalThis.localStorage){var r,t=localStorage.getItem(e.provider.localStorageKey),a=t?JSON.parse(t):null;Boolean(null==a||null===(r=a.items)||void 0===r?void 0:r.length)&&(o=a)}}catch(e){console.error("Error loading carts from localStorage:",e)}return o}},{key:"saveToLocalStorage",value:function(o){if("undefined"!=typeof globalThis&&globalThis.localStorage)if(e.provider.localStorageKey){var r={version:"1.0",items:o};localStorage.setItem(e.provider.localStorageKey,JSON.stringify(r)),e.provider.store.emit("stateChange",{items:o})}else console.warn("No localStorageKey provided, skipping storage")}}],[{key:"provider",get:function(){var o;return null!==(o=l(e.key_provider).get())&&void 0!==o?o:new n}},{key:"setProvider",value:function(o){l(e.key_provider).set(null!=o?o:new n)}},{key:"setLocalStorageKey",value:function(o){var r=e.provider;r.localStorageKey=o,e.setProvider(r)}}])}();e(s,"key_provider","__cart_key_provider__");var u=new s;export{s as CartService,u as cartService};
2
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sources":["../../src/cart/service.ts"],"sourcesContent":["import { createObjectSingleton } from 'dinocollab-core/utils'\r\nimport { ICartItem } from './types'\r\nimport { CartEventStore } from './event-store'\r\n\r\nexport interface ICartMetadata<T extends ICartItem = ICartItem> {\r\n version: string\r\n items: T[]\r\n}\r\n\r\nexport interface ICartProvider {\r\n localStorageKey: string\r\n store: CartEventStore\r\n}\r\n\r\nclass CartProviderDefault implements ICartProvider {\r\n localStorageKey = '__cart_default__'\r\n store = new CartEventStore()\r\n}\r\n\r\nexport class CartService<T extends ICartItem = ICartItem> {\r\n static key_provider = '__cart_key_provider__'\r\n static get provider(): ICartProvider {\r\n const ObjectProvider = createObjectSingleton<ICartProvider>(CartService.key_provider)\r\n return ObjectProvider.get() ?? new CartProviderDefault()\r\n }\r\n static setProvider(provider: ICartProvider) {\r\n const ObjectProvider = createObjectSingleton<ICartProvider>(CartService.key_provider)\r\n ObjectProvider.set(provider ?? new CartProviderDefault())\r\n }\r\n static setLocalStorageKey(key: string) {\r\n const provider = CartService.provider\r\n provider.localStorageKey = key\r\n CartService.setProvider(provider)\r\n }\r\n\r\n initialize() {\r\n CartService.provider.store.emit('requestState', {})\r\n }\r\n\r\n subscribe(event: string, callback: (...args: any[]) => void) {\r\n return CartService.provider.store.subscribe(event as any, callback as any)\r\n }\r\n\r\n getCarts(): T[] {\r\n const storedItems = this.loadFromLocalStorage()\r\n return storedItems.items ?? []\r\n }\r\n\r\n addToCart(cartItem: T | T[]): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const itemsToAdd = Array.isArray(cartItem) ? cartItem : [cartItem]\r\n const updatedItems = [...(storedItems.items ?? []), ...itemsToAdd]\r\n this.saveToLocalStorage(updatedItems)\r\n }\r\n\r\n removeFromCart(cartItem: T | T[]): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const itemsToRemove = Array.isArray(cartItem) ? cartItem : [cartItem]\r\n const updatedItems = (storedItems.items ?? []).filter((x) => !itemsToRemove.some((y) => y.ProductId === x.ProductId))\r\n this.saveToLocalStorage(updatedItems)\r\n }\r\n\r\n updateCart(productId: string, updates: Partial<T>): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const updatedItems = (storedItems.items ?? []).map((item) => (item.ProductId === productId ? { ...item, ...updates } : item))\r\n this.saveToLocalStorage(updatedItems)\r\n }\r\n\r\n updateOrAddCart(productId: string, updates: Partial<T>): void {\r\n const storedItems = this.loadFromLocalStorage()\r\n const existingIndex = (storedItems.items ?? []).findIndex((item) => item.ProductId === productId)\r\n\r\n if (existingIndex !== -1) {\r\n const updatedItems = [...(storedItems.items ?? [])]\r\n updatedItems[existingIndex] = { ...updatedItems[existingIndex], ...updates }\r\n this.saveToLocalStorage(updatedItems)\r\n } else {\r\n this.addToCart({ ProductId: productId, ...updates } as T)\r\n }\r\n }\r\n\r\n clearCart(): void {\r\n this.saveToLocalStorage([])\r\n }\r\n\r\n private loadFromLocalStorage(): ICartMetadata<T> {\r\n const defaultValue: ICartMetadata<T> = { version: '1.0', items: [] }\r\n let data = defaultValue\r\n try {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n const temp = localStorage.getItem(CartService.provider.localStorageKey)\r\n const tempParsed = temp ? JSON.parse(temp) : null\r\n if (Boolean(tempParsed?.items?.length)) data = tempParsed\r\n }\r\n } catch (error) {\r\n console.error('Error loading carts from localStorage:', error)\r\n }\r\n return data\r\n }\r\n\r\n private saveToLocalStorage(items: T[]) {\r\n // Check if running in client environment with localStorage available\r\n if (typeof globalThis !== 'undefined' && globalThis.localStorage) {\r\n if (CartService.provider.localStorageKey) {\r\n const value: ICartMetadata<T> = { version: '1.0', items }\r\n localStorage.setItem(CartService.provider.localStorageKey, JSON.stringify(value))\r\n CartService.provider.store.emit('stateChange', { items })\r\n } else {\r\n console.warn('No localStorageKey provided, skipping storage')\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const cartService = new CartService<ICartItem>()\r\n"],"names":["CartProviderDefault","_createClass","_classCallCheck","_defineProperty","this","CartEventStore","CartService","key","value","provider","store","emit","event","callback","subscribe","_storedItems$items","loadFromLocalStorage","items","cartItem","_storedItems$items2","storedItems","itemsToAdd","Array","isArray","updatedItems","concat","_toConsumableArray","saveToLocalStorage","_storedItems$items3","itemsToRemove","filter","x","some","y","ProductId","productId","updates","_storedItems$items4","map","item","_objectSpread","_storedItems$items5","existingIndex","findIndex","_storedItems$items6","addToCart","data","version","globalThis","localStorage","_tempParsed$items","temp","getItem","localStorageKey","tempParsed","JSON","parse","Boolean","length","error","console","setItem","stringify","warn","get","_ObjectProvider$get","createObjectSingleton","key_provider","set","setProvider","cartService"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,jsxs as a}from"react/jsx-runtime";import{Component as c,Fragment as s}from"react";import{ImageWithFallback as d}from"dinocollab-core/components";import{Badge as m,Typography as u,Divider as p,Button as h,Box as f,IconButton as v}from"@mui/material";import C from"@mui/icons-material/Remove";import g from"@mui/icons-material/ShoppingCartOutlined";import x from"@mui/icons-material/ShoppingCartCheckout";import{getTotalData as b}from"./helpers.js";import{MenuStyled as y,CartContentStyled as k,cartContentClasses as P}from"./styled.js";import{IconButtonDark as T}from"../components/buttons.js";import{NoDataPanel as S}from"../components/no-data-panel.js";var N=function(){function N(r){var e;return n(this,N),e=o(this,N,[r]),i(e,"render",function(){var r;return a(s,{children:[l(T,{onClick:function(r){return e.onOpen(r.currentTarget)},children:l(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:l(g,{fontSize:"small"})})}),l(y,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),i(e,"renderContent",function(){var r,n=b(e.carts);return a(k,{children:[a("div",{className:P.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=n.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",n.price.toFixed(2)]})]}),l(p,{}),a("div",{className:P.items,children:[e.carts.map(function(r,t){return l(s,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&l(S,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%"}})]}),l(p,{}),l("div",{className:P.footer,children:l(h,t(t(t({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onMoveToCartClick&&e.props.onMoveToCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),i(e,"renderTitle",function(r){var n,o=e.props,i=o.itemTitleProps,a=o.itemTitlePropsGetter,c=a?a(r,e.onClose):null!=i?i:{};return l(u,t(t({className:P.itemTitle,noWrap:!0,variant:"subtitle1"},c),{},{children:null!==(n=r.ProductName)&&void 0!==n?n:"Unknown Product"}))}),i(e,"renderItem",function(r){var t,n,o,i;return a("div",{className:P.item,children:[l(d,{className:P.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),a("div",{className:P.itemContent,children:[l(u,{className:P.itemTag,variant:"caption",sx:{color:null!==(t=r.PriceColor)&&void 0!==t?t:"#000"},children:null!==(n=r.PriceName)&&void 0!==n?n:"Unknown Price"}),e.renderTitle(r),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(o=r.Price)&&void 0!==o?o:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(i=r.Amount)&&void 0!==i?i:0," urls"]})]})]}),l(v,{size:"small",onClick:function(){var t,n;return null===(t=(n=e.props).onRemoveCart)||void 0===t?void 0:t.call(n,r)},sx:{color:"#818181"},children:l(C,{})})]})}),i(e,"onOpen",function(r){e.setState({anchorEl:r})}),i(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(N,c),e(N,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),j=function(r){var e=function(e){return l(N,t(t({},r),e))};return e.displayName="CartWidget",e};export{N as CartWidget,j as createCartWidget};
1
+ import{inherits as r,createClass as e,classCallCheck as t,callSuper as n,defineProperty as o,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as l,jsx as a}from"react/jsx-runtime";import{Component as c,Fragment as s}from"react";import{ImageWithFallback as d}from"dinocollab-core/components";import{Badge as m,Typography as u,Divider as p,Button as h,Box as f,IconButton as v}from"@mui/material";import C from"@mui/icons-material/Remove";import g from"@mui/icons-material/ShoppingCartOutlined";import x from"@mui/icons-material/ShoppingCartCheckout";import{getTotalData as b}from"./helpers.js";import{IconButtonDark as y}from"../components/buttons.js";import{NoDataPanel as k}from"../components/no-data-panel.js";import{MenuStyled as P,CartContentStyled as T,cartContentClasses as S}from"./styled.js";var N=function(){function N(r){var e;return t(this,N),e=n(this,N,[r]),o(e,"render",function(){var r;return l(s,{children:[a(y,{onClick:function(r){return e.onOpen(r.currentTarget)},children:a(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:a(g,{fontSize:"small"})})}),a(P,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),o(e,"renderContent",function(){var r,t=b(e.carts);return l(T,{children:[l("div",{className:S.header,children:[l(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=t.quantity)&&void 0!==r?r:0," items)"]}),l(u,{variant:"h6",component:"span",children:["Total: $ ",t.price.toFixed(2)]})]}),a(p,{}),l("div",{className:S.items,children:[e.carts.map(function(r,t){return a(s,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&a(k,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%",m:1}})]}),a(p,{}),a("div",{className:S.footer,children:a(h,i(i(i({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:a(x,{}),onClick:function(r){e.onClose(),e.props.onMoveToCartClick&&e.props.onMoveToCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),o(e,"renderTitle",function(r){var t,n=e.props,o=n.itemTitleProps,l=n.itemTitlePropsGetter,c=l?l(r,e.onClose):null!=o?o:{};return a(u,i(i({className:S.itemTitle,noWrap:!0,variant:"subtitle1"},c),{},{children:null!==(t=r.ProductName)&&void 0!==t?t:"Unknown Product"}))}),o(e,"renderItem",function(r){var t,n,o,i;return l("div",{className:S.item,children:[a(d,{className:S.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),l("div",{className:S.itemContent,children:[a(u,{className:S.itemTag,variant:"caption",sx:{color:null!==(t=r.PriceColor)&&void 0!==t?t:"#000"},children:null!==(n=r.PriceName)&&void 0!==n?n:"Unknown Price"}),e.renderTitle(r),l(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[l(u,{variant:"subtitle1",children:["$ ",null!==(o=r.Price)&&void 0!==o?o:0]}),l(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(i=r.Amount)&&void 0!==i?i:0," urls"]})]})]}),a(v,{size:"small",onClick:function(){var t,n;return null===(t=(n=e.props).onRemoveCart)||void 0===t?void 0:t.call(n,r)},sx:{color:"#818181"},children:a(C,{})})]})}),o(e,"onOpen",function(r){e.setState({anchorEl:r})}),o(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(N,c),e(N,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),j=function(r){var e=function(e){return a(N,i(i({},r),e))};return e.displayName="CartWidget",e};export{N as CartWidget,j as createCartWidget};
2
2
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sources":["../../src/cart/widget.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport { ImageWithFallback } from 'dinocollab-core/components'\r\nimport { Badge, Box, Button, ButtonProps, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\r\nimport type { TypographyProps } from '@mui/material'\r\nimport RemoveIcon from '@mui/icons-material/Remove'\r\nimport ShoppingCartOutlinedIcon from '@mui/icons-material/ShoppingCartOutlined'\r\nimport ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout'\r\nimport { ICartItem } from './types'\r\nimport { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { IconButtonDark, NoDataPanel } from '../components'\r\nimport { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\n\r\ntype ITypographyProps = TypographyProps & { [key: string]: any }\r\n\r\ninterface ICartWidgetProps {\r\n baseUrl: IAppSiteBaseUrl\r\n carts?: ICartItem[]\r\n hrefCart?: string\r\n buttonMoveToCartProps?: ButtonProps & { [key: string]: any }\r\n storageKey?: string\r\n onRemoveCart?: (item: ICartItem) => void\r\n onMoveToCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\r\n itemTitleProps?: ITypographyProps\r\n itemTitlePropsGetter?: (item: ICartItem, close?: () => void) => ITypographyProps\r\n}\r\n\r\ninterface ICartWidgetState {\r\n anchorEl: HTMLElement | null\r\n hydrated: boolean\r\n}\r\n\r\nexport class CartWidget extends Component<ICartWidgetProps, ICartWidgetState> {\r\n constructor(props: ICartWidgetProps) {\r\n super(props)\r\n this.state = { anchorEl: null, hydrated: false }\r\n }\r\n\r\n get carts() {\r\n return this.props.carts ?? []\r\n }\r\n\r\n componentDidMount() {\r\n // When mounted on the client, set hydrated = true\r\n this.setState({ hydrated: true })\r\n }\r\n\r\n render = () => (\r\n <Fragment>\r\n <IconButtonDark onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon fontSize='small' />\r\n </Badge>\r\n </IconButtonDark>\r\n <MenuStyled\r\n disableScrollLock\r\n anchorEl={this.state.anchorEl}\r\n open={Boolean(this.state.anchorEl)}\r\n onClose={this.onClose}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n {this.renderContent()}\r\n </MenuStyled>\r\n </Fragment>\r\n )\r\n\r\n renderContent = () => {\r\n const totalData = getTotalData(this.carts)\r\n return (\r\n <CartContentStyled>\r\n <div className={cartContentClasses.header}>\r\n <Typography variant='h6' component='span' sx={{ flex: 1 }}>\r\n Your Cart ({totalData.quantity ?? 0} items)\r\n </Typography>\r\n <Typography variant='h6' component='span'>\r\n Total: $ {totalData.price.toFixed(2)}\r\n </Typography>\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.items}>\r\n {this.carts.map((x, i) => (\r\n <Fragment key={'key' + i}>{this.renderItem(x)}</Fragment>\r\n ))}\r\n {this.carts.length < 1 && <NoDataPanel title='Your cart is empty' subTitle='Try adding some products' sx={{ height: '100%' }} />}\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.footer}>\r\n <Button\r\n {...(this.props.hrefCart ? { component: 'a', href: this.props.hrefCart } : {})}\r\n color='inherit'\r\n endIcon={<ShoppingCartCheckoutIcon />}\r\n onClick={(event) => {\r\n this.onClose()\r\n if (this.props.onMoveToCartClick) {\r\n this.props.onMoveToCartClick(event as React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>)\r\n }\r\n }}\r\n disabled={this.carts.length < 1}\r\n {...this.props.buttonMoveToCartProps}\r\n >\r\n Show in cart\r\n </Button>\r\n </div>\r\n </CartContentStyled>\r\n )\r\n }\r\n\r\n renderTitle = (item: ICartItem) => {\r\n const { itemTitleProps, itemTitlePropsGetter } = this.props\r\n const currentProps: ITypographyProps = itemTitlePropsGetter ? itemTitlePropsGetter(item, this.onClose) : itemTitleProps ?? {}\r\n return (\r\n <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1' {...currentProps}>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\r\n )\r\n }\r\n\r\n renderItem = (item: ICartItem) => (\r\n <div className={cartContentClasses.item}>\r\n <ImageWithFallback\r\n className={cartContentClasses.itemImg}\r\n src={item?.PictureUrl}\r\n title={item?.PictureUrl}\r\n fallbackSrc='images/default-video.webp'\r\n alt='product-picture'\r\n />\r\n <div className={cartContentClasses.itemContent}>\r\n <Typography className={cartContentClasses.itemTag} variant='caption' sx={{ color: item.PriceColor ?? '#000' }}>\r\n {item.PriceName ?? 'Unknown Price'}\r\n </Typography>\r\n {this.renderTitle(item)}\r\n <Box sx={{ display: 'flex', alignItems: 'flex-end', gap: '2px', justifyContent: 'flex-end' }}>\r\n <Typography variant='subtitle1'>$ {item.Price ?? 0}</Typography>\r\n <Typography variant='body1' sx={{ fontSize: '14px', mb: '3px', color: '#818181' }}>\r\n x{item.Amount ?? 0} urls\r\n </Typography>\r\n </Box>\r\n </div>\r\n <IconButton size='small' onClick={() => this.props.onRemoveCart?.(item)} sx={{ color: '#818181' }}>\r\n <RemoveIcon />\r\n </IconButton>\r\n </div>\r\n )\r\n\r\n onOpen = (target: HTMLElement) => {\r\n this.setState({ anchorEl: target })\r\n }\r\n\r\n onClose = () => {\r\n this.setState({ anchorEl: null })\r\n }\r\n}\r\n\r\nexport const createCartWidget = (params: ICartWidgetProps) => {\r\n const _CartWidget: FC<Partial<ICartWidgetProps>> = (props) => <CartWidget {...params} {...props} />\r\n _CartWidget.displayName = 'CartWidget'\r\n return _CartWidget\r\n}\r\n"],"names":["CartWidget","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$carts$length","_jsxs","Fragment","children","_jsx","IconButtonDark","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","fontSize","MenuStyled","disableScrollLock","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","renderContent","_totalData$quantity","totalData","getTotalData","CartContentStyled","className","cartContentClasses","header","Typography","variant","sx","flex","quantity","price","toFixed","Divider","items","map","x","i","renderItem","NoDataPanel","title","subTitle","height","footer","Button","_objectSpread","hrefCart","href","endIcon","ShoppingCartCheckoutIcon","event","onMoveToCartClick","disabled","buttonMoveToCartProps","item","_item$ProductName","_this$props","itemTitleProps","itemTitlePropsGetter","currentProps","itemTitle","noWrap","ProductName","_item$PriceColor","_item$PriceName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","renderTitle","Box","display","alignItems","gap","justifyContent","Price","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props2","onRemoveCart","call","RemoveIcon","target","setState","_inherits","Component","_createClass","key","get","_this$props$carts","this","value","createCartWidget","params","_CartWidget","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"widget.js","sources":["../../src/cart/widget.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport { ImageWithFallback } from 'dinocollab-core/components'\r\nimport { Badge, Box, Button, ButtonProps, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\r\nimport type { TypographyProps } from '@mui/material'\r\nimport RemoveIcon from '@mui/icons-material/Remove'\r\nimport ShoppingCartOutlinedIcon from '@mui/icons-material/ShoppingCartOutlined'\r\nimport ShoppingCartCheckoutIcon from '@mui/icons-material/ShoppingCartCheckout'\r\nimport { ICartItem } from './types'\r\nimport { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { IconButtonDark, NoDataPanel } from '../components'\r\nimport { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\n\r\ntype ITypographyProps = TypographyProps & { [key: string]: any }\r\n\r\ninterface ICartWidgetProps {\r\n baseUrl: IAppSiteBaseUrl\r\n carts?: ICartItem[]\r\n hrefCart?: string\r\n buttonMoveToCartProps?: ButtonProps & { [key: string]: any }\r\n storageKey?: string\r\n onRemoveCart?: (item: ICartItem) => void\r\n onMoveToCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\r\n itemTitleProps?: ITypographyProps\r\n itemTitlePropsGetter?: (item: ICartItem, close?: () => void) => ITypographyProps\r\n}\r\n\r\ninterface ICartWidgetState {\r\n anchorEl: HTMLElement | null\r\n hydrated: boolean\r\n}\r\n\r\nexport class CartWidget extends Component<ICartWidgetProps, ICartWidgetState> {\r\n constructor(props: ICartWidgetProps) {\r\n super(props)\r\n this.state = { anchorEl: null, hydrated: false }\r\n }\r\n\r\n get carts() {\r\n return this.props.carts ?? []\r\n }\r\n\r\n componentDidMount() {\r\n // When mounted on the client, set hydrated = true\r\n this.setState({ hydrated: true })\r\n }\r\n\r\n render = () => (\r\n <Fragment>\r\n <IconButtonDark onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon fontSize='small' />\r\n </Badge>\r\n </IconButtonDark>\r\n <MenuStyled\r\n disableScrollLock\r\n anchorEl={this.state.anchorEl}\r\n open={Boolean(this.state.anchorEl)}\r\n onClose={this.onClose}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n {this.renderContent()}\r\n </MenuStyled>\r\n </Fragment>\r\n )\r\n\r\n renderContent = () => {\r\n const totalData = getTotalData(this.carts)\r\n return (\r\n <CartContentStyled>\r\n <div className={cartContentClasses.header}>\r\n <Typography variant='h6' component='span' sx={{ flex: 1 }}>\r\n Your Cart ({totalData.quantity ?? 0} items)\r\n </Typography>\r\n <Typography variant='h6' component='span'>\r\n Total: $ {totalData.price.toFixed(2)}\r\n </Typography>\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.items}>\r\n {this.carts.map((x, i) => (\r\n <Fragment key={'key' + i}>{this.renderItem(x)}</Fragment>\r\n ))}\r\n {this.carts.length < 1 && <NoDataPanel title='Your cart is empty' subTitle='Try adding some products' sx={{ height: '100%', m: 1 }} />}\r\n </div>\r\n <Divider />\r\n <div className={cartContentClasses.footer}>\r\n <Button\r\n {...(this.props.hrefCart ? { component: 'a', href: this.props.hrefCart } : {})}\r\n color='inherit'\r\n endIcon={<ShoppingCartCheckoutIcon />}\r\n onClick={(event) => {\r\n this.onClose()\r\n if (this.props.onMoveToCartClick) {\r\n this.props.onMoveToCartClick(event as React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>)\r\n }\r\n }}\r\n disabled={this.carts.length < 1}\r\n {...this.props.buttonMoveToCartProps}\r\n >\r\n Show in cart\r\n </Button>\r\n </div>\r\n </CartContentStyled>\r\n )\r\n }\r\n\r\n renderTitle = (item: ICartItem) => {\r\n const { itemTitleProps, itemTitlePropsGetter } = this.props\r\n const currentProps: ITypographyProps = itemTitlePropsGetter ? itemTitlePropsGetter(item, this.onClose) : itemTitleProps ?? {}\r\n return (\r\n <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1' {...currentProps}>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\r\n )\r\n }\r\n\r\n renderItem = (item: ICartItem) => (\r\n <div className={cartContentClasses.item}>\r\n <ImageWithFallback\r\n className={cartContentClasses.itemImg}\r\n src={item?.PictureUrl}\r\n title={item?.PictureUrl}\r\n fallbackSrc='images/default-video.webp'\r\n alt='product-picture'\r\n />\r\n <div className={cartContentClasses.itemContent}>\r\n <Typography className={cartContentClasses.itemTag} variant='caption' sx={{ color: item.PriceColor ?? '#000' }}>\r\n {item.PriceName ?? 'Unknown Price'}\r\n </Typography>\r\n {this.renderTitle(item)}\r\n <Box sx={{ display: 'flex', alignItems: 'flex-end', gap: '2px', justifyContent: 'flex-end' }}>\r\n <Typography variant='subtitle1'>$ {item.Price ?? 0}</Typography>\r\n <Typography variant='body1' sx={{ fontSize: '14px', mb: '3px', color: '#818181' }}>\r\n x{item.Amount ?? 0} urls\r\n </Typography>\r\n </Box>\r\n </div>\r\n <IconButton size='small' onClick={() => this.props.onRemoveCart?.(item)} sx={{ color: '#818181' }}>\r\n <RemoveIcon />\r\n </IconButton>\r\n </div>\r\n )\r\n\r\n onOpen = (target: HTMLElement) => {\r\n this.setState({ anchorEl: target })\r\n }\r\n\r\n onClose = () => {\r\n this.setState({ anchorEl: null })\r\n }\r\n}\r\n\r\nexport const createCartWidget = (params: ICartWidgetProps) => {\r\n const _CartWidget: FC<Partial<ICartWidgetProps>> = (props) => <CartWidget {...params} {...props} />\r\n _CartWidget.displayName = 'CartWidget'\r\n return _CartWidget\r\n}\r\n"],"names":["CartWidget","props","_this","_classCallCheck","_callSuper","_defineProperty","_this$carts$length","_jsxs","Fragment","children","_jsx","IconButtonDark","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","fontSize","MenuStyled","disableScrollLock","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","renderContent","_totalData$quantity","totalData","getTotalData","CartContentStyled","className","cartContentClasses","header","Typography","variant","sx","flex","quantity","price","toFixed","Divider","items","map","x","i","renderItem","NoDataPanel","title","subTitle","height","m","footer","Button","_objectSpread","hrefCart","href","endIcon","ShoppingCartCheckoutIcon","event","onMoveToCartClick","disabled","buttonMoveToCartProps","item","_item$ProductName","_this$props","itemTitleProps","itemTitlePropsGetter","currentProps","itemTitle","noWrap","ProductName","_item$PriceColor","_item$PriceName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","renderTitle","Box","display","alignItems","gap","justifyContent","Price","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props2","onRemoveCart","call","RemoveIcon","target","setState","_inherits","Component","_createClass","key","get","_this$props$carts","this","value","createCartWidget","params","_CartWidget","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as e,jsx as l}from"react/jsx-runtime";import{styled as t,Stack as a,colors as c,Typography as o}from"@mui/material";var s=function(r){var t;return e(i,{sx:r.sx,children:[e(n,{children:[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",width:96,viewBox:"0 0 452 257","aria-hidden":!0,focusable:"false",children:[l("path",{className:"no-rows-primary",d:"M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z"}),l("path",{className:"no-rows-primary",d:"M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z"}),l("path",{className:"no-rows-primary",d:"M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z"}),l("path",{className:"no-rows-secondary",d:"M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z"})]}),l(o,{variant:"h6",color:"text.secondary",gutterBottom:!0,children:null!==(t=r.title)&&void 0!==t?t:"No data available"})]}),r.subTitle&&l(o,{variant:"body2",color:"text.secondary",children:r.subTitle})]})},i=t(a)({padding:"24px 12px",textAlign:"center",border:"1px dashed",borderColor:c.grey[400],borderRadius:"6px",justifyContent:"center"}),n=t("div")(function(e){var l=e.theme;return{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center","& .no-rows-primary":r({fill:"#3D4751"},l.applyStyles("light",{fill:"#AEB8C2"})),"& .no-rows-secondary":r({fill:"#1D2126"},l.applyStyles("light",{fill:"#E8EAED"}))}});export{s as NoDataPanel,s as default};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{styled as t,Stack as a,colors as c,Typography as o}from"@mui/material";var s=function(t){var a;return e(l,{sx:t.sx,children:[e(n,{children:[e("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",width:96,viewBox:"0 0 452 257","aria-hidden":!0,focusable:"false",children:[r("path",{className:"no-rows-primary",d:"M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z"}),r("path",{className:"no-rows-primary",d:"M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z"}),r("path",{className:"no-rows-primary",d:"M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z"}),r("path",{className:"no-rows-secondary",d:"M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z"})]}),r(o,{variant:"h6",color:"text.secondary",gutterBottom:!0,children:null!==(a=t.title)&&void 0!==a?a:"No data available"})]}),t.subTitle&&r(o,{variant:"body2",color:"text.secondary",children:t.subTitle})]})},l=t(a)({padding:"24px 12px",textAlign:"center",border:"1px dashed",borderColor:c.grey[400],borderRadius:"6px",justifyContent:"center"}),n=t("div")(function(e){var r=e.theme;return{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center","& .no-rows-primary":{fill:"dark"===r.palette.mode?"#9BA6B0":"#AEB8C2"},"& .no-rows-secondary":{fill:"dark"===r.palette.mode?"#5A6570":"#E8EAED"}}});export{s as NoDataPanel,s as default};
2
2
  //# sourceMappingURL=no-data-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-data-panel.js","sources":["../../src/components/no-data-panel.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { BoxProps, colors, Stack, styled, Typography } from '@mui/material'\r\n\r\nexport interface INoDataProps {\r\n title?: string\r\n subTitle?: string\r\n sx?: BoxProps['sx']\r\n}\r\n\r\nexport const NoDataPanel: FC<INoDataProps> = (props) => (\r\n <LoadingNoDataWrap sx={props.sx}>\r\n <StyledGridOverlay>\r\n <svg xmlns='http://www.w3.org/2000/svg' fill='none' width={96} viewBox='0 0 452 257' aria-hidden focusable='false'>\r\n <path\r\n className='no-rows-primary'\r\n d='M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z'\r\n />\r\n <path\r\n className='no-rows-secondary'\r\n d='M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z'\r\n />\r\n </svg>\r\n <Typography variant='h6' color='text.secondary' gutterBottom>\r\n {props.title ?? 'No data available'}\r\n </Typography>\r\n </StyledGridOverlay>\r\n {props.subTitle && (\r\n <Typography variant='body2' color='text.secondary'>\r\n {props.subTitle}\r\n </Typography>\r\n )}\r\n </LoadingNoDataWrap>\r\n)\r\nexport default NoDataPanel\r\n\r\nconst LoadingNoDataWrap = styled(Stack)({\r\n padding: '24px 12px',\r\n textAlign: 'center',\r\n border: '1px dashed',\r\n borderColor: colors.grey[400],\r\n borderRadius: '6px',\r\n justifyContent: 'center'\r\n})\r\n\r\nconst StyledGridOverlay = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '& .no-rows-primary': {\r\n fill: '#3D4751',\r\n ...theme.applyStyles('light', {\r\n fill: '#AEB8C2'\r\n })\r\n },\r\n '& .no-rows-secondary': {\r\n fill: '#1D2126',\r\n ...theme.applyStyles('light', { fill: '#E8EAED' })\r\n }\r\n}))\r\n"],"names":["NoDataPanel","props","_props$title","_jsxs","LoadingNoDataWrap","sx","children","StyledGridOverlay","xmlns","fill","width","viewBox","focusable","_jsx","className","d","Typography","variant","color","gutterBottom","title","subTitle","styled","Stack","padding","textAlign","border","borderColor","colors","grey","borderRadius","justifyContent","_ref","theme","display","flexDirection","alignItems","_objectSpread","applyStyles"],"mappings":"6MASaA,EAAgC,SAACC,GAAK,IAAAC,EAAA,OACjDC,EAACC,EAAkB,CAAAC,GAAIJ,EAAMI,GAC3BC,SAAA,CAAAH,EAACI,EAAiB,CAAAD,SAAA,CAChBH,EAAK,MAAA,CAAAK,MAAM,6BAA6BC,KAAK,OAAOC,MAAO,GAAIC,QAAQ,cAAa,eAAA,EAAaC,UAAU,QAAON,SAAA,CAChHO,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,qLAEJF,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,wLAEJF,EAAA,OAAA,CACEC,UAAU,kBACVC,EAAE,yLAEJF,EAAA,OAAA,CACEC,UAAU,oBACVC,EAAE,4lBAGNF,EAACG,EAAW,CAAAC,QAAQ,KAAKC,MAAM,iBAAiBC,cAAY,EAAAb,SAC9CJ,QAD8CA,EACzDD,EAAMmB,aAAKlB,IAAAA,EAAAA,EAAI,yBAGnBD,EAAMoB,UACLR,EAACG,EAAU,CAACC,QAAQ,QAAQC,MAAM,iBAAgBZ,SAC/CL,EAAMoB,aAGO,EAIhBjB,EAAoBkB,EAAOC,EAAPD,CAAc,CACtCE,QAAS,YACTC,UAAW,SACXC,OAAQ,aACRC,YAAaC,EAAOC,KAAK,KACzBC,aAAc,MACdC,eAAgB,WAGZxB,EAAoBe,EAAO,MAAPA,CAAc,SAAAU,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACtDC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZL,eAAgB,SAChB,qBAAoBM,EAAA,CAClB5B,KAAM,WACHwB,EAAMK,YAAY,QAAS,CAC5B7B,KAAM,aAGV,uBAAsB4B,EAAA,CACpB5B,KAAM,WACHwB,EAAMK,YAAY,QAAS,CAAE7B,KAAM,aAEzC"}
1
+ {"version":3,"file":"no-data-panel.js","sources":["../../src/components/no-data-panel.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { BoxProps, colors, Stack, styled, Typography } from '@mui/material'\r\n\r\nexport interface INoDataProps {\r\n title?: string\r\n subTitle?: string\r\n sx?: BoxProps['sx']\r\n}\r\n\r\nexport const NoDataPanel: FC<INoDataProps> = (props) => (\r\n <LoadingNoDataWrap sx={props.sx}>\r\n <StyledGridOverlay>\r\n <svg xmlns='http://www.w3.org/2000/svg' fill='none' width={96} viewBox='0 0 452 257' aria-hidden focusable='false'>\r\n <path\r\n className='no-rows-primary'\r\n d='M348 69c-46.392 0-84 37.608-84 84s37.608 84 84 84 84-37.608 84-84-37.608-84-84-84Zm-104 84c0-57.438 46.562-104 104-104s104 46.562 104 104-46.562 104-104 104-104-46.562-104-104Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 113.929c3.905-3.905 10.237-3.905 14.142 0l63.64 63.64c3.905 3.905 3.905 10.236 0 14.142-3.906 3.905-10.237 3.905-14.142 0l-63.64-63.64c-3.905-3.905-3.905-10.237 0-14.142Z'\r\n />\r\n <path\r\n className='no-rows-primary'\r\n d='M308.929 191.711c-3.905-3.906-3.905-10.237 0-14.142l63.64-63.64c3.905-3.905 10.236-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142l-63.64 63.64c-3.905 3.905-10.237 3.905-14.142 0Z'\r\n />\r\n <path\r\n className='no-rows-secondary'\r\n d='M0 10C0 4.477 4.477 0 10 0h380c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 20 0 15.523 0 10ZM0 59c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10C4.477 69 0 64.523 0 59ZM0 106c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 153c0-5.523 4.477-10 10-10h195.5c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 200c0-5.523 4.477-10 10-10h203c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10ZM0 247c0-5.523 4.477-10 10-10h231c5.523 0 10 4.477 10 10s-4.477 10-10 10H10c-5.523 0-10-4.477-10-10Z'\r\n />\r\n </svg>\r\n <Typography variant='h6' color='text.secondary' gutterBottom>\r\n {props.title ?? 'No data available'}\r\n </Typography>\r\n </StyledGridOverlay>\r\n {props.subTitle && (\r\n <Typography variant='body2' color='text.secondary'>\r\n {props.subTitle}\r\n </Typography>\r\n )}\r\n </LoadingNoDataWrap>\r\n)\r\nexport default NoDataPanel\r\n\r\nconst LoadingNoDataWrap = styled(Stack)({\r\n padding: '24px 12px',\r\n textAlign: 'center',\r\n border: '1px dashed',\r\n borderColor: colors.grey[400],\r\n borderRadius: '6px',\r\n justifyContent: 'center'\r\n})\r\n\r\nconst StyledGridOverlay = styled('div')(({ theme }) => ({\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n '& .no-rows-primary': {\r\n fill: theme.palette.mode === 'dark' ? '#9BA6B0' : '#AEB8C2'\r\n },\r\n '& .no-rows-secondary': {\r\n fill: theme.palette.mode === 'dark' ? '#5A6570' : '#E8EAED'\r\n }\r\n}))\r\n"],"names":["NoDataPanel","props","_props$title","_jsxs","LoadingNoDataWrap","sx","children","StyledGridOverlay","xmlns","fill","width","viewBox","focusable","_jsx","className","d","Typography","variant","color","gutterBottom","title","subTitle","styled","Stack","padding","textAlign","border","borderColor","colors","grey","borderRadius","justifyContent","_ref","theme","display","flexDirection","alignItems","palette","mode"],"mappings":"oIASaA,EAAgC,SAACC,GAAK,IAAAC,EAAA,OACjDC,EAACC,EAAkB,CAAAC,GAAIJ,EAAMI,GAC3BC,SAAA,CAAAH,EAACI,EAAiB,CAAAD,SAAA,CAChBH,EAAK,MAAA,CAAAK,MAAM,6BAA6BC,KAAK,OAAOC,MAAO,GAAIC,QAAQ,cAAa,eAAA,EAAaC,UAAU,QAAON,SAAA,CAChHO,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,qLAEJF,EACE,OAAA,CAAAC,UAAU,kBACVC,EAAE,wLAEJF,EAAA,OAAA,CACEC,UAAU,kBACVC,EAAE,yLAEJF,EAAA,OAAA,CACEC,UAAU,oBACVC,EAAE,4lBAGNF,EAACG,EAAW,CAAAC,QAAQ,KAAKC,MAAM,iBAAiBC,cAAY,EAAAb,SAC9CJ,QAD8CA,EACzDD,EAAMmB,aAAKlB,IAAAA,EAAAA,EAAI,yBAGnBD,EAAMoB,UACLR,EAACG,EAAU,CAACC,QAAQ,QAAQC,MAAM,iBAAgBZ,SAC/CL,EAAMoB,aAGO,EAIhBjB,EAAoBkB,EAAOC,EAAPD,CAAc,CACtCE,QAAS,YACTC,UAAW,SACXC,OAAQ,aACRC,YAAaC,EAAOC,KAAK,KACzBC,aAAc,MACdC,eAAgB,WAGZxB,EAAoBe,EAAO,MAAPA,CAAc,SAAAU,GAAA,IAAGC,EAAKD,EAALC,MAAK,MAAQ,CACtDC,QAAS,OACTC,cAAe,SACfC,WAAY,SACZL,eAAgB,SAChB,qBAAsB,CACpBtB,KAA6B,SAAvBwB,EAAMI,QAAQC,KAAkB,UAAY,WAEpD,uBAAwB,CACtB7B,KAA6B,SAAvBwB,EAAMI,QAAQC,KAAkB,UAAY,WAErD"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as n,classCallCheck as i,callSuper as o,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import{Container as c,Grid as m,Typography as p,Divider as d,Box as h,IconButton as u}from"@mui/material";import{AppLogo as v}from"./app-logo.js";import{TextLineBreak as f}from"./ui.units.js";import{FooterStyled as g,appFooterClasses as k,AppFooterNav as N}from"./app-footer.styled.js";import{getFooterNavConfigs as x,bgFooterUrl as b,appLogoUrl as C,footerDescription as y,appSocialConfigs as F,getCopyrightText as j}from"./configs.js";var I=function(){function I(){var r;i(this,I);for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return r=o(this,I,[].concat(n)),t(r,"handleNavItemClick",function(e,n){r.props.onNavItemClick&&n&&r.props.onNavItemClick(e,n)}),r}return r(I,s),e(I,[{key:"render",value:function(){var r,e,i,o=this,t=x(this.props.baseUrl);return l(g,n(n({className:k.root},null===(r=this.props.slots)||void 0===r?void 0:r.footerElementProps),{},{children:[a("img",{src:null!==(e=this.props.backgroundUrl)&&void 0!==e?e:b,alt:"Footer Background",className:k.background,loading:"lazy"}),l(c,{maxWidth:!1,className:k.content,children:[l(m,{container:!0,children:[l(m,{item:!0,xs:12,lg:7,children:[a(v,{src:null!==(i=this.props.logoUrl)&&void 0!==i?i:C,href:this.props.baseUrl.home,className:k.appLogo}),a(p,{variant:"subtitle1",className:k.description,children:a(f,{children:y})})]}),a(m,{item:!0,xs:12,lg:5,children:a(N,{children:a(m,{container:!0,children:t.map(function(r,e){return a(m,{item:!0,xs:12,md:6,children:a("ul",{children:r.map(function(r,e){var n,i,t;return a("li",{className:k.navItem,children:a(p,{variant:"h5",className:k.navItemText,component:"a",href:null!==(n=null===(i=r.navLink)||void 0===i?void 0:i.href)&&void 0!==n?n:"/",target:null===(t=r.navLink)||void 0===t?void 0:t.target,onClick:function(e){return o.handleNavItemClick(e,r.navLink)},children:a("span",{children:r.title})})},e)})})},e)})})})})]}),l("div",{className:k.copyright,children:[a(d,{sx:{borderColor:"#1E1E1E",mt:{xs:"20px",md:"80px"}}}),a("ul",{className:k.socialList,children:F.map(function(r,e){var i=n({"--social-color-hover":r.color||"#FFFFFF"},r.sx);return a(h,{component:"li",sx:i,children:a(u,{component:"a",href:r.link,target:"_blank",rel:"noopener noreferrer",children:r.icon})},e)})}),a("div",{className:k.copyrightText,children:a(p,{variant:"subtitle1",children:j()})})]})]})]}))}}])}(),L=function(r){var e=function(e){return a(I,n(n({},r),e))};return e.displayName="AppFooter",e};export{I as AppFooter,L as createAppFooter,I as default};
1
+ import{inherits as r,createClass as e,objectSpread2 as n,classCallCheck as i,callSuper as o,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as l}from"react/jsx-runtime";import{Component as s}from"react";import{Container as c,Grid as m,Typography as p,Divider as d,Box as h,IconButton as u}from"@mui/material";import{AppLogo as v}from"./app-logo.js";import{TextLineBreak as f}from"./ui.units.js";import{FooterStyled as g,appFooterClasses as k,AppFooterNav as N}from"./app-footer.styled.js";import{getFooterNavConfigs as x,bgFooterUrl as b,appLogoUrl as C,footerDescription as y,appSocialConfigs as F,getCopyrightText as j}from"./configs.js";var I=function(){function I(){var r;i(this,I);for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];return r=o(this,I,[].concat(n)),t(r,"handleNavItemClick",function(e,n){r.props.onNavItemClick&&n&&r.props.onNavItemClick(e,n)}),r}return r(I,s),e(I,[{key:"render",value:function(){var r,e,i,o=this,t=x(this.props.baseUrl);return a(g,n(n({className:k.root},null===(r=this.props.slots)||void 0===r?void 0:r.footerElementProps),{},{children:[l("img",{src:null!==(e=this.props.backgroundUrl)&&void 0!==e?e:b,alt:"Footer Background",className:k.background,loading:"lazy"}),a(c,{maxWidth:!1,className:k.content,children:[a(m,{container:!0,children:[a(m,{item:!0,xs:12,lg:7,children:[l(v,{src:null!==(i=this.props.logoUrl)&&void 0!==i?i:C,href:this.props.baseUrl.home,className:k.appLogo}),l(p,{variant:"subtitle1",className:k.description,children:l(f,{children:y})})]}),l(m,{item:!0,xs:12,lg:5,children:l(N,{children:l(m,{container:!0,children:t.map(function(r,e){return l(m,{item:!0,xs:12,md:6,children:l("ul",{children:r.map(function(r,e){var n,i,t;return l("li",{className:k.navItem,children:l(p,{variant:"h5",className:k.navItemText,component:"a",href:null!==(n=null===(i=r.navLink)||void 0===i?void 0:i.href)&&void 0!==n?n:"/",target:null===(t=r.navLink)||void 0===t?void 0:t.target,onClick:function(e){return o.handleNavItemClick(e,r.navLink)},children:l("span",{children:r.title})})},e)})})},e)})})})})]}),a("div",{className:k.copyright,children:[l(d,{sx:{borderColor:"#1E1E1E",mt:{xs:"20px",md:"80px"}}}),l("ul",{className:k.socialList,children:F.map(function(r,e){var i=n({"--social-color-hover":r.color||"#FFFFFF"},r.sx);return l(h,{component:"li",sx:i,children:l(u,{component:"a",href:r.link,target:"_blank",rel:"noopener noreferrer",children:r.icon})},e)})}),l("div",{className:k.copyrightText,children:l(p,{variant:"subtitle1",children:j()})})]})]})]}))}}])}(),L=function(r){var e=function(e){return l(I,n(n({},r),e))};return e.displayName="AppFooter",e};export{I as AppFooter,L as createAppFooter,I as default};
2
2
  //# sourceMappingURL=app-footer.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as s,objectSpread2 as e,classCallCheck as o,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{Component as l}from"react";import{Container as n,Stack as p}from"@mui/material";import{AppLogo as m}from"./app-logo.js";import{appHeaderClasses as c,HeaderStyled as h}from"./app-header.styled.js";import{appLogoUrl as d,getHeaderMenuConfigs as f,getHeaderNavConfigs as u}from"./configs.js";import g from"./mobile-menu.js";import v from"./app-header.nav.js";var x=function(){function e(r){var s;return o(this,e),(s=i(this,e,[r])).configs={navs:u(r.baseUrl),menu:f(r.baseUrl)},s}return r(e,l),s(e,[{key:"render",value:function(){var r,s,e=this.props.isFixed,o=[c.root];return!1!==e&&o.push(c.fixed),t(h,{className:o.join(" "),children:t("div",{className:c.rootFixed,children:a(n,{maxWidth:!1,className:c.content,sx:{height:"100%"},children:[t(m,{src:null!==(r=this.props.logoUrl)&&void 0!==r?r:d,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),a(p,{direction:"row",alignItems:"center",spacing:2,children:[t(v,{configs:this.configs,onNavItemClick:this.props.onNavItemClick,sx:{display:{xs:"none",lg:"flex"}},slots:null===(s=this.props.slots)||void 0===s?void 0:s.navItem}),a(p,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,t(g,{baseUrl:this.props.baseUrl,logoUrl:this.props.logoUrl})]})]})]})})})}}])}(),j=function(r){var s=function(s){return t(x,e({},e(e(e({},r),s),{},{slots:e(e({},r.slots),s.slots)})))};return s.displayName="AppHeader",s};export{x as AppHeader,j as createAppHeader,x as default};
1
+ import{inherits as r,createClass as s,classCallCheck as e,callSuper as o,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{Component as l}from"react";import{Container as n,Stack as p}from"@mui/material";import{AppLogo as m}from"./app-logo.js";import{appHeaderClasses as c,HeaderStyled as h}from"./app-header.styled.js";import{appLogoUrl as d,getHeaderMenuConfigs as f,getHeaderNavConfigs as u}from"./configs.js";import g from"./mobile-menu.js";import v from"./app-header.nav.js";var x=function(){function i(r){var s;return e(this,i),(s=o(this,i,[r])).configs={navs:u(r.baseUrl),menu:f(r.baseUrl)},s}return r(i,l),s(i,[{key:"render",value:function(){var r,s,e=this.props.isFixed,o=[c.root];return!1!==e&&o.push(c.fixed),t(h,{className:o.join(" "),children:t("div",{className:c.rootFixed,children:a(n,{maxWidth:!1,className:c.content,sx:{height:"100%"},children:[t(m,{src:null!==(r=this.props.logoUrl)&&void 0!==r?r:d,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),a(p,{direction:"row",alignItems:"center",spacing:2,children:[t(v,{configs:this.configs,onNavItemClick:this.props.onNavItemClick,sx:{display:{xs:"none",lg:"flex"}},slots:null===(s=this.props.slots)||void 0===s?void 0:s.navItem}),a(p,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,t(g,{baseUrl:this.props.baseUrl,logoUrl:this.props.logoUrl})]})]})]})})})}}])}(),j=function(r){var s=function(s){return t(x,i({},i(i(i({},r),s),{},{slots:i(i({},r.slots),s.slots)})))};return s.displayName="AppHeader",s};export{x as AppHeader,j as createAppHeader,x as default};
2
2
  //# sourceMappingURL=app-header.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as n,createClass as e,objectSpread2 as t,classCallCheck as r,callSuper as o,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import c from"@mui/icons-material/ExpandMore";import{NavStyled as m,appHeaderClasses as u}from"./app-header.styled.js";import{ButtonAnimation as p}from"./animated-tabs.units.js";import v from"./sub-menu.js";var d=function(){function d(){var n;r(this,d);for(var e=arguments.length,i=new Array(e),l=0;l<e;l++)i[l]=arguments[l];return n=o(this,d,[].concat(i)),a(n,"getButtonNavProps",function(e){var r,o,a=(n.props.slots||{}).buttonNavProps,i="function"==typeof a?a(e):null!=a?a:{},l=t({},e.options);e.navLink&&!i.component&&(l.component="a",l.href=null!==(r=null===(o=e.navLink)||void 0===o?void 0:o.href)&&void 0!==r?r:"/",l.onClick=function(t){return n.handleClickNavItem(t,e)});return console.log({nav:e,props:t(t({},l),i)}),t(t({},l),i)}),a(n,"handleClickNavItem",function(e,t){null!=t&&t.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,t.navLink)}),n}return n(d,s),e(d,[{key:"render",value:function(){var n,e,r=this,o=this.props.configs,a=o.navs,s=o.menu;return i(m,{sx:this.props.sx,children:l("ul",{className:u.navItems,children:[a.map(function(n,e){return i("li",{className:u.navItem,children:i(p,t(t({forceTheme:"dark"},r.getButtonNavProps(n)),{},{children:n.title}))},e)}),i("li",{className:u.navItem,children:i(v,{menu:s,onNavItemClick:this.props.onNavItemClick,children:i(p,t(t({forceTheme:"dark",endIcon:i(c,{className:u.navItemIcon})},null!==(n=s[0])&&void 0!==n&&null!==(n=n.items)&&void 0!==n&&n[0]?this.getButtonNavProps(null===(e=s[0])||void 0===e||null===(e=e.items)||void 0===e?void 0:e[0]):{}),{},{children:"Get Started"}))})})]})})}}])}();export{d as default};
1
+ import{inherits as n,createClass as e,objectSpread2 as t,classCallCheck as r,callSuper as o,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as l}from"react/jsx-runtime";import{Component as s}from"react";import c from"@mui/icons-material/ExpandMore";import{NavStyled as m,appHeaderClasses as u}from"./app-header.styled.js";import{ButtonAnimation as p}from"./animated-tabs.units.js";import v from"./sub-menu.js";var d=function(){function d(){var n;r(this,d);for(var e=arguments.length,i=new Array(e),l=0;l<e;l++)i[l]=arguments[l];return n=o(this,d,[].concat(i)),a(n,"getButtonNavProps",function(e){var r,o,a=(n.props.slots||{}).buttonNavProps,i="function"==typeof a?a(e):null!=a?a:{},l=t({},e.options);e.navLink&&!i.component&&(l.component="a",l.href=null!==(r=null===(o=e.navLink)||void 0===o?void 0:o.href)&&void 0!==r?r:"/",l.onClick=function(t){return n.handleClickNavItem(t,e)});return t(t({},l),i)}),a(n,"handleClickNavItem",function(e,t){null!=t&&t.navLink&&n.props.onNavItemClick&&n.props.onNavItemClick(e,t.navLink)}),n}return n(d,s),e(d,[{key:"render",value:function(){var n,e,r=this,o=this.props.configs,a=o.navs,s=o.menu;return i(m,{sx:this.props.sx,children:l("ul",{className:u.navItems,children:[a.map(function(n,e){return i("li",{className:u.navItem,children:i(p,t(t({forceTheme:"dark"},r.getButtonNavProps(n)),{},{children:n.title}))},e)}),i("li",{className:u.navItem,children:i(v,{menu:s,onNavItemClick:this.props.onNavItemClick,children:i(p,t(t({forceTheme:"dark",endIcon:i(c,{className:u.navItemIcon})},null!==(n=s[0])&&void 0!==n&&null!==(n=n.items)&&void 0!==n&&n[0]?this.getButtonNavProps(null===(e=s[0])||void 0===e||null===(e=e.items)||void 0===e?void 0:e[0]):{}),{},{children:"Get Started"}))})})]})})}}])}();export{d as default};
2
2
  //# sourceMappingURL=app-header.nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.nav.js","sources":["../../src/layout-global/app-header.nav.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { MouseEvent as RMouseEvent } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport type { IAppMenu, IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu from './sub-menu'\r\n\r\nexport interface IHeaderNavConfigs {\r\n navs: IAppNav[]\r\n menu: IAppMenu[]\r\n}\r\n\r\nexport interface IAppHeaderNavSlots {\r\n buttonNavProps?: Partial<IButtonAnimationProps> | ((item: IAppNav) => Partial<IButtonAnimationProps>)\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IHeaderNavConfigs\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps> {\r\n render() {\r\n const { navs, menu } = this.props.configs\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {navs.map((item, index) => (\r\n <li key={index} className={appHeaderClasses.navItem}>\r\n <ButtonAnimation forceTheme='dark' {...this.getButtonNavProps(item)}>\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n <li className={appHeaderClasses.navItem}>\r\n <SubMenu menu={menu} onNavItemClick={this.props.onNavItemClick}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={<ExpandMoreIcon className={appHeaderClasses.navItemIcon} />}\r\n {...(menu[0]?.items?.[0] ? this.getButtonNavProps(menu[0]?.items?.[0]) : {})}\r\n >\r\n Get Started\r\n </ButtonAnimation>\r\n </SubMenu>\r\n </li>\r\n </ul>\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { buttonNavProps } = this.props.slots || {}\r\n const outsideProps = typeof buttonNavProps === 'function' ? buttonNavProps(item) : buttonNavProps ?? {}\r\n\r\n // Base props from item\r\n const base: Partial<IButtonAnimationProps & { [key: string]: any }> = { ...item.options }\r\n\r\n // Add link if item has navLink and outside hasn't set it\r\n if (item.navLink && !(outsideProps as any).component) {\r\n base.component = 'a'\r\n base.href = item.navLink?.href ?? '/'\r\n base.onClick = (e: any) => this.handleClickNavItem(e, item)\r\n }\r\n console.log({ nav: item, props: { ...base, ...outsideProps } })\r\n\r\n return { ...base, ...outsideProps }\r\n }\r\n\r\n handleClickNavItem = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav?: IAppNav) => {\r\n if (nav?.navLink && this.props.onNavItemClick) {\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","_item$navLink$href","_item$navLink","buttonNavProps","props","slots","outsideProps","base","_objectSpread","options","navLink","component","href","onClick","e","handleClickNavItem","console","log","nav","onNavItemClick","_inherits","Component","_createClass","key","value","_menu$","_menu$2","_this2","_this$props$configs","configs","navs","menu","_jsx","NavStyled","sx","children","_jsxs","className","appHeaderClasses","navItems","map","index","navItem","ButtonAnimation","forceTheme","getButtonNavProps","title","SubMenu","endIcon","ExpandMoreIcon","navItemIcon","items"],"mappings":"kcAyBMA,IAAAA,aAAa,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAmDhB,OAnDgBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EA6BG,oBAAA,SAACY,GACnB,IAOsDC,EAAAC,EAP9CC,GAAmBf,EAAKgB,MAAMC,OAAS,CAAE,GAAzCF,eACFG,EAAyC,mBAAnBH,EAAgCA,EAAeH,GAAQG,QAAAA,EAAkB,CAAE,EAGjGI,EAAIC,KAAiER,EAAKS,SAG5ET,EAAKU,UAAaJ,EAAqBK,YACzCJ,EAAKI,UAAY,IACjBJ,EAAKK,aAAIX,UAAAC,EAAGF,EAAKU,eAAO,IAAAR,OAAA,EAAZA,EAAcU,YAAI,IAAAX,EAAAA,EAAI,IAClCM,EAAKM,QAAU,SAACC,GAAM,OAAK1B,EAAK2B,mBAAmBD,EAAGd,EAAK,GAI7D,OAFAgB,QAAQC,IAAI,CAAEC,IAAKlB,EAAMI,MAAKI,EAAAA,EAAOD,CAAAA,EAAAA,GAASD,KAE9CE,EAAAA,EAAYD,CAAAA,EAAAA,GAASD,KACtBP,EAAAX,EAAA,qBAEoB,SAAC0B,EAA+CI,GAC/DA,SAAAA,EAAKR,SAAWtB,EAAKgB,MAAMe,gBAC7B/B,EAAKgB,MAAMe,eAAeL,EAAGI,EAAIR,WAEpCtB,CAAA,CAAA,OAAAgC,EAAAjC,EAnDwBkC,GAmDxBC,EAAAnC,EAAA,CAAA,CAAAoC,IAAA,SAAAC,MAlDD,WAAM,IAAAC,EAAAC,EAAAC,EAAA9B,KACJ+B,EAAuB/B,KAAKO,MAAMyB,QAA1BC,EAAIF,EAAJE,KAAMC,EAAIH,EAAJG,KACd,OACEC,EAACC,EAAS,CAACC,GAAIrC,KAAKO,MAAM8B,GACxBC,SAAAC,EAAA,KAAA,CAAIC,UAAWC,EAAiBC,SAC7BJ,SAAA,CAAAL,EAAKU,IAAI,SAACxC,EAAMyC,GAAK,OACpBT,QAAgBK,UAAWC,EAAiBI,QAAOP,SACjDH,EAACW,EAAenC,EAAAA,EAAA,CAACoC,WAAW,QAAWjB,EAAKkB,kBAAkB7C,IAAK,CAAA,EAAA,CAAAmC,SAChEnC,EAAK8C,UAFDL,EAIJ,GAEPT,EAAA,KAAA,CAAIK,UAAWC,EAAiBI,iBAC9BV,EAACe,EAAQ,CAAAhB,KAAMA,EAAMZ,eAAgBtB,KAAKO,MAAMe,eAAcgB,SAC5DH,EAACW,EAAenC,EAAAA,EAAA,CACdoC,WAAW,OACXI,QAAShB,EAACiB,GAAeZ,UAAWC,EAAiBY,eACzCzB,QAAPA,EAAAM,EAAK,UAAEN,IAAAA,GAAO,QAAPA,EAAPA,EAAS0B,aAAK,IAAA1B,GAAdA,EAAiB,GAAK5B,KAAKgD,kBAAyBnB,QAARA,EAACK,EAAK,UAAEL,IAAAA,GAAO,QAAPA,EAAPA,EAASyB,aAAK,IAAAzB,OAAA,EAAdA,EAAiB,IAAM,CAAA,GAAE,GAAA,mCASzF,IAAC"}
1
+ {"version":3,"file":"app-header.nav.js","sources":["../../src/layout-global/app-header.nav.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport type { SxProps, Theme } from '@mui/material'\r\nimport type { MouseEvent as RMouseEvent } from 'react'\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore'\r\nimport { appHeaderClasses, NavStyled } from './app-header.styled'\r\nimport { ButtonAnimation, IButtonAnimationProps } from './animated-tabs.units'\r\nimport type { IAppMenu, IAppNav, NavItemClickFunction } from './types'\r\nimport SubMenu from './sub-menu'\r\n\r\nexport interface IHeaderNavConfigs {\r\n navs: IAppNav[]\r\n menu: IAppMenu[]\r\n}\r\n\r\nexport interface IAppHeaderNavSlots {\r\n buttonNavProps?: Partial<IButtonAnimationProps> | ((item: IAppNav) => Partial<IButtonAnimationProps>)\r\n}\r\n\r\nexport interface IHeaderNavProps {\r\n configs: IHeaderNavConfigs\r\n sx?: SxProps<Theme>\r\n onNavItemClick?: NavItemClickFunction\r\n slots?: IAppHeaderNavSlots\r\n}\r\n\r\nclass AppHeaderNav extends Component<IHeaderNavProps> {\r\n render() {\r\n const { navs, menu } = this.props.configs\r\n return (\r\n <NavStyled sx={this.props.sx}>\r\n <ul className={appHeaderClasses.navItems}>\r\n {navs.map((item, index) => (\r\n <li key={index} className={appHeaderClasses.navItem}>\r\n <ButtonAnimation forceTheme='dark' {...this.getButtonNavProps(item)}>\r\n {item.title}\r\n </ButtonAnimation>\r\n </li>\r\n ))}\r\n <li className={appHeaderClasses.navItem}>\r\n <SubMenu menu={menu} onNavItemClick={this.props.onNavItemClick}>\r\n <ButtonAnimation\r\n forceTheme='dark'\r\n endIcon={<ExpandMoreIcon className={appHeaderClasses.navItemIcon} />}\r\n {...(menu[0]?.items?.[0] ? this.getButtonNavProps(menu[0]?.items?.[0]) : {})}\r\n >\r\n Get Started\r\n </ButtonAnimation>\r\n </SubMenu>\r\n </li>\r\n </ul>\r\n </NavStyled>\r\n )\r\n }\r\n\r\n getButtonNavProps = (item: IAppNav): Partial<IButtonAnimationProps> => {\r\n const { buttonNavProps } = this.props.slots || {}\r\n const outsideProps = typeof buttonNavProps === 'function' ? buttonNavProps(item) : buttonNavProps ?? {}\r\n\r\n // Base props from item\r\n const base: Partial<IButtonAnimationProps & { [key: string]: any }> = { ...item.options }\r\n\r\n // Add link if item has navLink and outside hasn't set it\r\n if (item.navLink && !(outsideProps as any).component) {\r\n base.component = 'a'\r\n base.href = item.navLink?.href ?? '/'\r\n base.onClick = (e: any) => this.handleClickNavItem(e, item)\r\n }\r\n return { ...base, ...outsideProps }\r\n }\r\n\r\n handleClickNavItem = (e: RMouseEvent<HTMLAnchorElement, MouseEvent>, nav?: IAppNav) => {\r\n if (nav?.navLink && this.props.onNavItemClick) {\r\n this.props.onNavItemClick(e, nav.navLink)\r\n }\r\n }\r\n}\r\nexport default AppHeaderNav\r\n"],"names":["AppHeaderNav","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","_item$navLink$href","_item$navLink","buttonNavProps","props","slots","outsideProps","base","_objectSpread","options","navLink","component","href","onClick","e","handleClickNavItem","nav","onNavItemClick","_inherits","Component","_createClass","key","value","_menu$","_menu$2","_this2","_this$props$configs","configs","navs","menu","_jsx","NavStyled","sx","children","_jsxs","className","appHeaderClasses","navItems","map","index","navItem","ButtonAnimation","forceTheme","getButtonNavProps","title","SubMenu","endIcon","ExpandMoreIcon","navItemIcon","items"],"mappings":"kcAyBMA,IAAAA,aAAa,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAiDhB,OAjDgBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EA6BG,oBAAA,SAACY,GACnB,IAOsDC,EAAAC,EAP9CC,GAAmBf,EAAKgB,MAAMC,OAAS,CAAE,GAAzCF,eACFG,EAAyC,mBAAnBH,EAAgCA,EAAeH,GAAQG,QAAAA,EAAkB,CAAE,EAGjGI,EAAIC,KAAiER,EAAKS,SAG5ET,EAAKU,UAAaJ,EAAqBK,YACzCJ,EAAKI,UAAY,IACjBJ,EAAKK,aAAIX,UAAAC,EAAGF,EAAKU,eAAO,IAAAR,OAAA,EAAZA,EAAcU,YAAI,IAAAX,EAAAA,EAAI,IAClCM,EAAKM,QAAU,SAACC,GAAM,OAAK1B,EAAK2B,mBAAmBD,EAAGd,EAAK,GAE7D,OAAAQ,EAAAA,EAAYD,CAAAA,EAAAA,GAASD,KACtBP,EAAAX,EAAA,qBAEoB,SAAC0B,EAA+CE,GAC/DA,SAAAA,EAAKN,SAAWtB,EAAKgB,MAAMa,gBAC7B7B,EAAKgB,MAAMa,eAAeH,EAAGE,EAAIN,WAEpCtB,CAAA,CAAA,OAAA8B,EAAA/B,EAjDwBgC,GAiDxBC,EAAAjC,EAAA,CAAA,CAAAkC,IAAA,SAAAC,MAhDD,WAAM,IAAAC,EAAAC,EAAAC,EAAA5B,KACJ6B,EAAuB7B,KAAKO,MAAMuB,QAA1BC,EAAIF,EAAJE,KAAMC,EAAIH,EAAJG,KACd,OACEC,EAACC,EAAS,CAACC,GAAInC,KAAKO,MAAM4B,GACxBC,SAAAC,EAAA,KAAA,CAAIC,UAAWC,EAAiBC,SAC7BJ,SAAA,CAAAL,EAAKU,IAAI,SAACtC,EAAMuC,GAAK,OACpBT,QAAgBK,UAAWC,EAAiBI,QAAOP,SACjDH,EAACW,EAAejC,EAAAA,EAAA,CAACkC,WAAW,QAAWjB,EAAKkB,kBAAkB3C,IAAK,CAAA,EAAA,CAAAiC,SAChEjC,EAAK4C,UAFDL,EAIJ,GAEPT,EAAA,KAAA,CAAIK,UAAWC,EAAiBI,iBAC9BV,EAACe,EAAQ,CAAAhB,KAAMA,EAAMZ,eAAgBpB,KAAKO,MAAMa,eAAcgB,SAC5DH,EAACW,EAAejC,EAAAA,EAAA,CACdkC,WAAW,OACXI,QAAShB,EAACiB,GAAeZ,UAAWC,EAAiBY,eACzCzB,QAAPA,EAAAM,EAAK,UAAEN,IAAAA,GAAO,QAAPA,EAAPA,EAAS0B,aAAK,IAAA1B,GAAdA,EAAiB,GAAK1B,KAAK8C,kBAAyBnB,QAARA,EAACK,EAAK,UAAEL,IAAAA,GAAO,QAAPA,EAAPA,EAASyB,aAAK,IAAAzB,OAAA,EAAdA,EAAiB,IAAM,CAAA,GAAE,GAAA,mCASzF,IAAC"}
@@ -1,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import{createTheme as e,ThemeProvider as n}from"@mui/material";var i=function(t){return Math.round(1e4*t)/1e4},o=function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e({palette:{mode:"light",primary:{main:"#1976d2",contrastText:"#fff"},secondary:{main:"#f48fb1"},background:{default:"#ffffff",paper:"#fff"},text:{primary:"#222",secondary:"#555"}},typography:{fontFamily:"var(".concat(t,"), Arial, sans-serif"),fontSize:i(16*o),fontWeightLight:300,fontWeightRegular:400,fontWeightMedium:500,fontWeightBold:700,h1:{fontSize:"".concat(i(6*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.167},h2:{fontSize:"".concat(i(3.75*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.2},h3:{fontSize:"".concat(i(3*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.167},h4:{fontSize:"".concat(i(2.125*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.235},h5:{fontSize:"".concat(i(1.5*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.334},h6:{fontSize:"".concat(i(1.125*o),"rem"),fontFamily:"var(".concat(n,"), Arial, sans-serif"),fontWeight:500,lineHeight:1.6},subtitle1:{fontSize:"".concat(i(1*o),"rem"),fontWeight:400,lineHeight:1.75},subtitle2:{fontSize:"".concat(i(.875*o),"rem"),fontWeight:500,lineHeight:1.57},body1:{fontSize:"".concat(i(1*o),"rem"),fontWeight:400,lineHeight:1.5},body2:{fontSize:"".concat(i(.875*o),"rem"),fontWeight:400,lineHeight:1.43},button:{fontSize:"".concat(i(.875*o),"rem"),fontWeight:500,lineHeight:1.75,textTransform:"uppercase"},caption:{fontSize:"".concat(i(.75*o),"rem"),fontWeight:400,lineHeight:1.66},overline:{fontSize:"".concat(i(.75*o),"rem"),fontWeight:400,lineHeight:2.66,textTransform:"uppercase",letterSpacing:"0.08em"}}})},a=function(e){var i=e.children,a=e.primaryVar,r=void 0===a?"--font-primary":a,f=e.secondaryVar,c=void 0===f?"--font-secondary":f,h=e.fontScale,l=o(r,c,void 0===h?1:h);return t(n,{theme:l,children:i})};export{a as AppThemeProvider,o as getLightTheme};
1
+ import{objectSpread2 as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t}from"react/jsx-runtime";import{ThemeProvider as i,createTheme as n}from"@mui/material";var o=function(e){return Math.round(100*e)/100},a=function(a){var r=a.children,f=a.mode,c=a.primaryVar,m=a.secondaryVar,l=a.fontScale,h=function(t){var i=t||{},a=i.mode,r=void 0===a?"light":a,f=i.primary,c=void 0===f?"--dino-font-primary":f,m=i.secondary,l=void 0===m?"--dino-font-secondary":m,h=i.fontScale,s=void 0===h?1:h;return n({palette:e({mode:r},"light"===r?{primary:{main:"#1976d2",contrastText:"#fff"},secondary:{main:"#f48fb1"},background:{default:"#ffffff",paper:"#fff"},text:{primary:"#222",secondary:"#555"},divider:"#e0e0e0"}:{primary:{main:"#90caf9",contrastText:"#fff"},secondary:{main:"#f48fb1"},background:{default:"#121212",paper:"#1e1e1e"},text:{primary:"#ffffff",secondary:"#ababab"},divider:"#303030"}),typography:{fontFamily:"var(".concat(c,"), Arial, sans-serif"),fontSize:o(16*s),fontWeightLight:300,fontWeightRegular:400,fontWeightMedium:500,fontWeightBold:700,h1:{fontSize:"".concat(o(6*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.167},h2:{fontSize:"".concat(o(3.75*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:300,lineHeight:1.2},h3:{fontSize:"".concat(o(3*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.167},h4:{fontSize:"".concat(o(2.125*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.235},h5:{fontSize:"".concat(o(1.5*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:400,lineHeight:1.334},h6:{fontSize:"".concat(o(1.125*s),"rem"),fontFamily:"var(".concat(l,"), Arial, sans-serif"),fontWeight:500,lineHeight:1.6},subtitle1:{fontSize:"".concat(o(1*s),"rem"),fontWeight:400,lineHeight:1.75},subtitle2:{fontSize:"".concat(o(.875*s),"rem"),fontWeight:500,lineHeight:1.57},body1:{fontSize:"".concat(o(1*s),"rem"),fontWeight:400,lineHeight:1.5},body2:{fontSize:"".concat(o(.875*s),"rem"),fontWeight:400,lineHeight:1.43},button:{fontSize:"".concat(o(.875*s),"rem"),fontWeight:500,lineHeight:1.75,textTransform:"uppercase"},caption:{fontSize:"".concat(o(.75*s),"rem"),fontWeight:400,lineHeight:1.66},overline:{fontSize:"".concat(o(.75*s),"rem"),fontWeight:400,lineHeight:2.66,textTransform:"uppercase",letterSpacing:"0.08em"}},components:{}})}({mode:f,primary:c,secondary:m,fontScale:void 0===l?1:l});return t(i,{theme:h,children:r})};export{a as AppThemeProvider};
2
2
  //# sourceMappingURL=app-theme-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-theme-provider.js","sources":["../../src/layout-global/app-theme-provider.tsx"],"sourcesContent":["import { ReactNode } from 'react'\r\nimport { createTheme, ThemeProvider } from '@mui/material'\r\n\r\n// Function to round a number to 4 decimal places\r\nconst roundToFour = (num: number): number => {\r\n return Math.round(num * 10000) / 10000\r\n}\r\n\r\nexport const getLightTheme = (primary: string, secondary: string, fontScale: number = 1) => {\r\n return createTheme({\r\n palette: {\r\n mode: 'light',\r\n primary: { main: '#1976d2', contrastText: '#fff' },\r\n secondary: { main: '#f48fb1' },\r\n background: { default: '#ffffff', paper: '#fff' },\r\n text: { primary: '#222', secondary: '#555' }\r\n },\r\n typography: {\r\n fontFamily: `var(${primary}), Arial, sans-serif`,\r\n fontSize: roundToFour(16 * fontScale),\r\n fontWeightLight: 300,\r\n fontWeightRegular: 400,\r\n fontWeightMedium: 500,\r\n fontWeightBold: 700,\r\n h1: { fontSize: `${roundToFour(6 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.167 },\r\n h2: { fontSize: `${roundToFour(3.75 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.2 },\r\n h3: { fontSize: `${roundToFour(3 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.167 },\r\n h4: {\r\n fontSize: `${roundToFour(2.125 * fontScale)}rem`,\r\n fontFamily: `var(${secondary}), Arial, sans-serif`,\r\n fontWeight: 400,\r\n lineHeight: 1.235\r\n },\r\n h5: { fontSize: `${roundToFour(1.5 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.334 },\r\n h6: { fontSize: `${roundToFour(1.125 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 500, lineHeight: 1.6 },\r\n subtitle1: { fontSize: `${roundToFour(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.75 },\r\n subtitle2: { fontSize: `${roundToFour(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.57 },\r\n body1: { fontSize: `${roundToFour(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.5 },\r\n body2: { fontSize: `${roundToFour(0.875 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.43 },\r\n button: { fontSize: `${roundToFour(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.75, textTransform: 'uppercase' },\r\n caption: { fontSize: `${roundToFour(0.75 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.66 },\r\n overline: {\r\n fontSize: `${roundToFour(0.75 * fontScale)}rem`,\r\n fontWeight: 400,\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em'\r\n }\r\n }\r\n })\r\n}\r\n\r\nexport interface IAppThemeProviderProps {\r\n children: ReactNode\r\n primaryVar?: string\r\n secondaryVar?: string\r\n fontScale?: number\r\n}\r\n\r\nexport const AppThemeProvider = (props: IAppThemeProviderProps) => {\r\n const { children, primaryVar = '--font-primary', secondaryVar = '--font-secondary', fontScale = 1 } = props\r\n const theme = getLightTheme(primaryVar, secondaryVar, fontScale)\r\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>\r\n}\r\n"],"names":["roundToFour","num","Math","round","getLightTheme","primary","secondary","fontScale","arguments","length","undefined","createTheme","palette","mode","main","contrastText","background","default","paper","text","typography","fontFamily","concat","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","h1","fontWeight","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","textTransform","caption","overline","letterSpacing","AppThemeProvider","props","children","_props$primaryVar","primaryVar","_props$secondaryVar","secondaryVar","_props$fontScale","theme","_jsx","ThemeProvider"],"mappings":"uGAIA,IAAMA,EAAc,SAACC,GACnB,OAAOC,KAAKC,MAAY,IAANF,GAAe,GACnC,EAEaG,EAAgB,SAACC,EAAiBC,GAA4C,IAAzBC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAoB,EACpF,OAAOG,EAAY,CACjBC,QAAS,CACPC,KAAM,QACNR,QAAS,CAAES,KAAM,UAAWC,aAAc,QAC1CT,UAAW,CAAEQ,KAAM,WACnBE,WAAY,CAAEC,QAAS,UAAWC,MAAO,QACzCC,KAAM,CAAEd,QAAS,OAAQC,UAAW,SAEtCc,WAAY,CACVC,WAAUC,OAAAA,OAASjB,EAA6B,wBAChDkB,SAAUvB,EAAY,GAAKO,GAC3BiB,gBAAiB,IACjBC,kBAAmB,IACnBC,iBAAkB,IAClBC,eAAgB,IAChBC,GAAI,CAAEL,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,OACrIC,GAAI,CAAER,SAAQ,GAAAD,OAAKtB,EAAY,KAAOO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,KACxIE,GAAI,CAAET,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,OACrIG,GAAI,CACFV,SAAQ,GAAAD,OAAKtB,EAAY,MAAQO,GAAe,OAChDc,WAAUC,OAAAA,OAAShB,EAA+B,wBAClDuB,WAAY,IACZC,WAAY,OAEdI,GAAI,CAAEX,SAAQ,GAAAD,OAAKtB,EAAY,IAAMO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,OACvIK,GAAI,CAAEZ,SAAQ,GAAAD,OAAKtB,EAAY,MAAQO,GAAe,OAAEc,WAAUC,OAAAA,OAAShB,EAA+B,wBAAEuB,WAAY,IAAKC,WAAY,KACzIM,UAAW,CAAEb,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MACxFO,UAAW,CAAEd,SAAQ,GAAAD,OAAKtB,EAAY,KAAQO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MAC5FQ,MAAO,CAAEf,SAAQ,GAAAD,OAAKtB,EAAY,EAAIO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,KACpFS,MAAO,CAAEhB,SAAQ,GAAAD,OAAKtB,EAAY,KAAQO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MACxFU,OAAQ,CAAEjB,SAAQ,GAAAD,OAAKtB,EAAY,KAAQO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,KAAMW,cAAe,aAC9GC,QAAS,CAAEnB,SAAQ,GAAAD,OAAKtB,EAAY,IAAOO,GAAe,OAAEsB,WAAY,IAAKC,WAAY,MACzFa,SAAU,CACRpB,SAAQ,GAAAD,OAAKtB,EAAY,IAAOO,GAAe,OAC/CsB,WAAY,IACZC,WAAY,KACZW,cAAe,YACfG,cAAe,YAIvB,EASaC,EAAmB,SAACC,GAC/B,IAAQC,EAA8FD,EAA9FC,SAAQC,EAAsFF,EAApFG,WAAAA,OAAa,IAAHD,EAAG,iBAAgBA,EAAAE,EAAuDJ,EAArDK,aAAAA,OAAe,IAAHD,EAAG,mBAAkBA,EAAAE,EAAoBN,EAAlBvC,UAC9E8C,EAAQjD,EAAc6C,EAAYE,OADwD,IAAHC,EAAG,EAACA,GAEjG,OAAOE,EAACC,EAAc,CAAAF,MAAOA,EAAKN,SAAGA,GACvC"}
1
+ {"version":3,"file":"app-theme-provider.js","sources":["../../src/layout-global/app-theme-provider.tsx"],"sourcesContent":["import { ReactNode } from 'react'\r\nimport { createTheme, PaletteOptions, ThemeProvider } from '@mui/material'\r\n\r\n// Function to round a number to 2 decimal places\r\nconst formatNumber = (num: number): number => {\r\n return Math.round(num * 100) / 100\r\n}\r\n\r\ninterface IGetLightThemeOptions {\r\n mode?: 'light' | 'dark'\r\n primary?: string\r\n secondary?: string\r\n fontScale?: number\r\n}\r\n\r\nconst getTheme = (options?: IGetLightThemeOptions) => {\r\n const { mode = 'light', primary = '--dino-font-primary', secondary = '--dino-font-secondary', fontScale = 1 } = options || {}\r\n let paleteWithMode: PaletteOptions = {}\r\n if (mode === 'light') {\r\n paleteWithMode = {\r\n primary: { main: '#1976d2', contrastText: '#fff' },\r\n secondary: { main: '#f48fb1' },\r\n background: { default: '#ffffff', paper: '#fff' },\r\n text: { primary: '#222', secondary: '#555' },\r\n divider: '#e0e0e0'\r\n }\r\n } else {\r\n paleteWithMode = {\r\n primary: { main: '#90caf9', contrastText: '#fff' },\r\n secondary: { main: '#f48fb1' },\r\n background: { default: '#121212', paper: '#1e1e1e' },\r\n text: { primary: '#ffffff', secondary: '#ababab' },\r\n divider: '#303030'\r\n }\r\n }\r\n return createTheme({\r\n palette: { mode, ...paleteWithMode },\r\n typography: {\r\n fontFamily: `var(${primary}), Arial, sans-serif`,\r\n fontSize: formatNumber(16 * fontScale),\r\n fontWeightLight: 300,\r\n fontWeightRegular: 400,\r\n fontWeightMedium: 500,\r\n fontWeightBold: 700,\r\n h1: { fontSize: `${formatNumber(6 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.167 },\r\n h2: { fontSize: `${formatNumber(3.75 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 300, lineHeight: 1.2 },\r\n h3: { fontSize: `${formatNumber(3 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.167 },\r\n h4: {\r\n fontSize: `${formatNumber(2.125 * fontScale)}rem`,\r\n fontFamily: `var(${secondary}), Arial, sans-serif`,\r\n fontWeight: 400,\r\n lineHeight: 1.235\r\n },\r\n h5: { fontSize: `${formatNumber(1.5 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 400, lineHeight: 1.334 },\r\n h6: { fontSize: `${formatNumber(1.125 * fontScale)}rem`, fontFamily: `var(${secondary}), Arial, sans-serif`, fontWeight: 500, lineHeight: 1.6 },\r\n subtitle1: { fontSize: `${formatNumber(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.75 },\r\n subtitle2: { fontSize: `${formatNumber(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.57 },\r\n body1: { fontSize: `${formatNumber(1 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.5 },\r\n body2: { fontSize: `${formatNumber(0.875 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.43 },\r\n button: { fontSize: `${formatNumber(0.875 * fontScale)}rem`, fontWeight: 500, lineHeight: 1.75, textTransform: 'uppercase' },\r\n caption: { fontSize: `${formatNumber(0.75 * fontScale)}rem`, fontWeight: 400, lineHeight: 1.66 },\r\n overline: {\r\n fontSize: `${formatNumber(0.75 * fontScale)}rem`,\r\n fontWeight: 400,\r\n lineHeight: 2.66,\r\n textTransform: 'uppercase',\r\n letterSpacing: '0.08em'\r\n }\r\n },\r\n components: {}\r\n })\r\n}\r\n\r\nexport interface IAppThemeProviderProps {\r\n children: ReactNode\r\n mode?: 'light' | 'dark'\r\n primaryVar?: string\r\n secondaryVar?: string\r\n fontScale?: number\r\n}\r\n\r\nexport const AppThemeProvider = (props: IAppThemeProviderProps) => {\r\n const { children, mode, primaryVar, secondaryVar, fontScale = 1 } = props\r\n const theme = getTheme({ mode, primary: primaryVar, secondary: secondaryVar, fontScale })\r\n return <ThemeProvider theme={theme}>{children}</ThemeProvider>\r\n}\r\n"],"names":["formatNumber","num","Math","round","AppThemeProvider","props","children","mode","primaryVar","secondaryVar","_props$fontScale","fontScale","theme","options","_ref","_ref$mode","_ref$primary","primary","_ref$secondary","secondary","_ref$fontScale","createTheme","palette","_objectSpread","main","contrastText","background","default","paper","text","divider","typography","fontFamily","concat","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","h1","fontWeight","lineHeight","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","textTransform","caption","overline","letterSpacing","components","getTheme","_jsx","ThemeProvider"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as e}from"react/jsx-runtime";import i from"@mui/icons-material/Reddit";import o from"@mui/icons-material/YouTube";import n from"@mui/icons-material/Twitter";import r from"@mui/icons-material/Instagram";import a from"@mui/icons-material/Pinterest";import{IconVideoBase64 as s,IconAudioBase64 as c}from"./animated-tabs.units.js";import{ENavKey as u}from"./types.js";var m,l="images/logo.webp",v="images/bg-footer.webp",h=[{link:"https://www.youtube.com",icon:e(o,{}),color:"#FF0000"},{link:"https://www.instagram.com",icon:e(r,{}),color:"#E4405F"},{link:"https://www.twitter.com",icon:e(n,{}),color:"#1DA1F2"},{link:"https://www.pinterest.com",icon:e(a,{}),color:"#BD081C"},{link:"https://www.reddit.com",icon:e(i,{}),color:"#FF4500"}],d=(t(t(t(t(t(t(t(t(t(t(m={},u.Home,"Home"),u.Pricing,"Pricing"),u.SubmitMedia,"Submit Media"),u.Faqs,"FAQs"),u.Videos,"Videos"),u.Audios,"Audios"),u.Privacy,"Privacy Policy"),u.Terms,"Terms of Submission"),u.About,"About Us"),u.CreateAccount,"Create Account"),t(t(t(m,u.ContactUs,"Contact Us"),u.PurchaseLicenses,"Purchase Licenses"),u.GetStarted,"Get Started")),k=function(t){return JSON.stringify(t)},p=function(e){var i;return t(t(t(t(t(t(t(t(t(t(i={},u.Home,{site:"home",key:u.Home,href:e.home,routerPath:"/",options:k({toLocate:"home"})}),u.Pricing,{site:"home",key:u.Pricing,href:e.home+"/#Pricing",routerPath:"/#Pricing",options:k({toLocate:"pricing"})}),u.Faqs,{site:"home",key:u.Faqs,href:e.home+"/#Faq",routerPath:"/#Faq",options:k({toLocate:"faqs"})}),u.About,{site:"home",key:u.About,href:e.home+"/#About",routerPath:"/#About",options:k({toLocate:"about"})}),u.ContactUs,{site:"home",key:u.ContactUs,href:e.home+"/#Contact",routerPath:"/#Contact",options:k({toLocate:"contact"})}),u.Videos,{site:"home",key:u.Videos,href:e.home+"/video-discovery",routerPath:"/video-discovery"}),u.PurchaseLicenses,{site:"client",key:u.PurchaseLicenses,href:e.client+"/purchase-licenses",routerPath:"/purchase-licenses"}),u.SubmitMedia,{site:"client",key:u.SubmitMedia,href:e.client+"/submit",routerPath:"/submit"}),u.Privacy,{site:"client",key:u.Privacy,href:e.client+"/privacy-policy",routerPath:"/privacy-policy"}),u.Terms,{site:"client",key:u.Terms,href:e.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),t(t(t(i,u.CreateAccount,{site:"client",key:u.CreateAccount,href:e.home+"/Identity/Account/Register"}),u.Audios,{site:"music",key:u.Audios,href:e.music,routerPath:"/",options:k({tabKey:"audio"})}),u.GetStarted,{site:"client",key:u.GetStarted,href:e.client+"/get-started",routerPath:"/get-started"})},L=function(t){var e=p(t);return[{title:"Support & Info",enableTitle:!1,items:[{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]}]}]},P=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},f=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]},y="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",b=function(){var t=(new Date).getFullYear();return"Copyright © 2024".concat(t>2024?" - ".concat(t):""," BERLINTOMEK. All rights reserved.")},g=function(t){var e=p(t);return[{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},A=function(t){var e=p(t);return[[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.GetStarted],navLink:e[u.GetStarted]}],[{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]]};export{l as appLogoUrl,h as appSocialConfigs,v as bgFooterUrl,y as footerDescription,b as getCopyrightText,A as getFooterNavConfigs,g as getFooterNavTabConfigs,L as getHeaderMenuConfigs,P as getHeaderNavConfigs,f as getMenuNavConfigs,p as getNavLinks,d as mapNavTitles};
1
+ import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as e}from"react/jsx-runtime";import i from"@mui/icons-material/Reddit";import o from"@mui/icons-material/YouTube";import n from"@mui/icons-material/Twitter";import r from"@mui/icons-material/Instagram";import a from"@mui/icons-material/Pinterest";import{IconVideoBase64 as s,IconAudioBase64 as c}from"./animated-tabs.units.js";import{ENavKey as u}from"./types.js";var m,l="images/logo.webp",v="images/bg-footer.jpg",h=[{link:"https://www.youtube.com",icon:e(o,{}),color:"#FF0000"},{link:"https://www.instagram.com",icon:e(r,{}),color:"#E4405F"},{link:"https://www.twitter.com",icon:e(n,{}),color:"#1DA1F2"},{link:"https://www.pinterest.com",icon:e(a,{}),color:"#BD081C"},{link:"https://www.reddit.com",icon:e(i,{}),color:"#FF4500"}],d=(t(t(t(t(t(t(t(t(t(t(m={},u.Home,"Home"),u.Pricing,"Pricing"),u.SubmitMedia,"Submit Media"),u.Faqs,"FAQs"),u.Videos,"Videos"),u.Audios,"Audios"),u.Privacy,"Privacy Policy"),u.Terms,"Terms of Submission"),u.About,"About Us"),u.CreateAccount,"Create Account"),t(t(t(m,u.ContactUs,"Contact Us"),u.PurchaseLicenses,"Purchase Licenses"),u.GetStarted,"Get Started")),k=function(t){return JSON.stringify(t)},p=function(e){var i;return t(t(t(t(t(t(t(t(t(t(i={},u.Home,{site:"home",key:u.Home,href:e.home,routerPath:"/",options:k({toLocate:"home"})}),u.Pricing,{site:"home",key:u.Pricing,href:e.home+"/#Pricing",routerPath:"/#Pricing",options:k({toLocate:"pricing"})}),u.Faqs,{site:"home",key:u.Faqs,href:e.home+"/#Faq",routerPath:"/#Faq",options:k({toLocate:"faqs"})}),u.About,{site:"home",key:u.About,href:e.home+"/#About",routerPath:"/#About",options:k({toLocate:"about"})}),u.ContactUs,{site:"home",key:u.ContactUs,href:e.home+"/#Contact",routerPath:"/#Contact",options:k({toLocate:"contact"})}),u.Videos,{site:"home",key:u.Videos,href:e.home+"/video-discovery",routerPath:"/video-discovery"}),u.PurchaseLicenses,{site:"client",key:u.PurchaseLicenses,href:e.client+"/purchase-licenses",routerPath:"/purchase-licenses"}),u.SubmitMedia,{site:"client",key:u.SubmitMedia,href:e.client+"/submit",routerPath:"/submit"}),u.Privacy,{site:"client",key:u.Privacy,href:e.client+"/privacy-policy",routerPath:"/privacy-policy"}),u.Terms,{site:"client",key:u.Terms,href:e.client+"/terms-of-submission",routerPath:"/terms-of-submission"}),t(t(t(i,u.CreateAccount,{site:"client",key:u.CreateAccount,href:e.home+"/Identity/Account/Register"}),u.Audios,{site:"music",key:u.Audios,href:e.music,routerPath:"/",options:k({tabKey:"audio"})}),u.GetStarted,{site:"client",key:u.GetStarted,href:e.client+"/get-started",routerPath:"/get-started"})},L=function(t){var e=p(t);return[{title:"Support & Info",enableTitle:!1,items:[{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]}]}]},P=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},f=function(t){var e=p(t);return[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.GetStarted],navLink:e[u.GetStarted]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]},y="We provide licensing services for music, images, and digital media,\ncopyright management, revenue optimization, and legal representation\nfor creators across multiple platforms.",b=function(){var t=(new Date).getFullYear();return"Copyright © 2024".concat(t>2024?" - ".concat(t):""," BERLINTOMEK. All rights reserved.")},g=function(t){var e=p(t);return[{title:d[u.Videos],navLink:e[u.Videos],options:{startIcon:s}},{title:d[u.Audios],navLink:e[u.Audios],options:{startIcon:c}}]},A=function(t){var e=p(t);return[[{title:d[u.Home],navLink:e[u.Home]},{title:d[u.Pricing],navLink:e[u.Pricing]},{title:d[u.About],navLink:e[u.About]},{title:d[u.Terms],navLink:e[u.Terms]},{title:d[u.Privacy],navLink:e[u.Privacy]},{title:d[u.GetStarted],navLink:e[u.GetStarted]}],[{title:d[u.CreateAccount],navLink:e[u.CreateAccount]},{title:d[u.Faqs],navLink:e[u.Faqs]},{title:d[u.ContactUs],navLink:e[u.ContactUs]},{title:d[u.SubmitMedia],navLink:e[u.SubmitMedia]},{title:d[u.PurchaseLicenses],navLink:e[u.PurchaseLicenses]}]]};export{l as appLogoUrl,h as appSocialConfigs,v as bgFooterUrl,y as footerDescription,b as getCopyrightText,A as getFooterNavConfigs,g as getFooterNavTabConfigs,L as getHeaderMenuConfigs,P as getHeaderNavConfigs,f as getMenuNavConfigs,p as getNavLinks,d as mapNavTitles};
2
2
  //# sourceMappingURL=configs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configs.js","sources":["../../src/layout-global/configs.tsx"],"sourcesContent":["import RedditIcon from '@mui/icons-material/Reddit'\r\nimport YouTubeIcon from '@mui/icons-material/YouTube'\r\nimport TwitterIcon from '@mui/icons-material/Twitter'\r\nimport InstagramIcon from '@mui/icons-material/Instagram'\r\nimport PinterestIcon from '@mui/icons-material/Pinterest'\r\nimport { IconAudioBase64, IconVideoBase64 } from './animated-tabs.units'\r\nimport { IAppMenu, IAppNav, IAppSocial, ENavKey, INavLink, INavLinkOptions } from './types'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\n\r\nexport const appLogoUrl = 'images/logo.webp'\r\nexport const getAppLogoUrl = (base: IAppSiteBaseUrl) => base.client + appLogoUrl\r\n\r\nexport const bgFooterUrl = 'images/bg-footer.webp'\r\nexport const getBgFooterUrl = (base: IAppSiteBaseUrl) => base.client + bgFooterUrl\r\n\r\nexport const appSocialConfigs: IAppSocial[] = [\r\n { link: 'https://www.youtube.com', icon: <YouTubeIcon />, color: '#FF0000' },\r\n { link: 'https://www.instagram.com', icon: <InstagramIcon />, color: '#E4405F' },\r\n { link: 'https://www.twitter.com', icon: <TwitterIcon />, color: '#1DA1F2' },\r\n { link: 'https://www.pinterest.com', icon: <PinterestIcon />, color: '#BD081C' },\r\n { link: 'https://www.reddit.com', icon: <RedditIcon />, color: '#FF4500' }\r\n]\r\n\r\nexport const mapNavTitles: Record<ENavKey, string> = {\r\n [ENavKey.Home]: 'Home',\r\n [ENavKey.Pricing]: 'Pricing',\r\n [ENavKey.SubmitMedia]: 'Submit Media',\r\n [ENavKey.Faqs]: 'FAQs',\r\n [ENavKey.Videos]: 'Videos',\r\n [ENavKey.Audios]: 'Audios',\r\n [ENavKey.Privacy]: 'Privacy Policy',\r\n [ENavKey.Terms]: 'Terms of Submission',\r\n [ENavKey.About]: 'About Us',\r\n [ENavKey.CreateAccount]: 'Create Account',\r\n [ENavKey.ContactUs]: 'Contact Us',\r\n [ENavKey.PurchaseLicenses]: 'Purchase Licenses',\r\n [ENavKey.GetStarted]: 'Get Started'\r\n}\r\n\r\nconst getNavLinkOptions = (options: INavLinkOptions): string => {\r\n return JSON.stringify(options)\r\n}\r\n\r\nexport const getNavLinks: (baseUrl: IAppSiteBaseUrl) => Record<ENavKey, INavLink> = (baseUrl) => ({\r\n [ENavKey.Home]: { site: 'home', key: ENavKey.Home, href: baseUrl.home, routerPath: '/', options: getNavLinkOptions({ toLocate: 'home' }) },\r\n [ENavKey.Pricing]: {\r\n site: 'home',\r\n key: ENavKey.Pricing,\r\n href: baseUrl.home + '/#Pricing',\r\n routerPath: '/#Pricing',\r\n options: getNavLinkOptions({ toLocate: 'pricing' })\r\n },\r\n [ENavKey.Faqs]: {\r\n site: 'home',\r\n key: ENavKey.Faqs,\r\n href: baseUrl.home + '/#Faq',\r\n routerPath: '/#Faq',\r\n options: getNavLinkOptions({ toLocate: 'faqs' })\r\n },\r\n [ENavKey.About]: {\r\n site: 'home',\r\n key: ENavKey.About,\r\n href: baseUrl.home + '/#About',\r\n routerPath: '/#About',\r\n options: getNavLinkOptions({ toLocate: 'about' })\r\n },\r\n [ENavKey.ContactUs]: {\r\n site: 'home',\r\n key: ENavKey.ContactUs,\r\n href: baseUrl.home + '/#Contact',\r\n routerPath: '/#Contact',\r\n options: getNavLinkOptions({ toLocate: 'contact' })\r\n },\r\n [ENavKey.Videos]: {\r\n site: 'home',\r\n key: ENavKey.Videos,\r\n href: baseUrl.home + '/video-discovery',\r\n routerPath: '/video-discovery'\r\n },\r\n [ENavKey.PurchaseLicenses]: {\r\n site: 'client',\r\n key: ENavKey.PurchaseLicenses,\r\n href: baseUrl.client + '/purchase-licenses',\r\n routerPath: '/purchase-licenses'\r\n },\r\n [ENavKey.SubmitMedia]: { site: 'client', key: ENavKey.SubmitMedia, href: baseUrl.client + '/submit', routerPath: '/submit' },\r\n [ENavKey.Privacy]: { site: 'client', key: ENavKey.Privacy, href: baseUrl.client + '/privacy-policy', routerPath: '/privacy-policy' },\r\n [ENavKey.Terms]: { site: 'client', key: ENavKey.Terms, href: baseUrl.client + '/terms-of-submission', routerPath: '/terms-of-submission' },\r\n [ENavKey.CreateAccount]: { site: 'client', key: ENavKey.CreateAccount, href: baseUrl.home + '/Identity/Account/Register' },\r\n [ENavKey.Audios]: { site: 'music', key: ENavKey.Audios, href: baseUrl.music, routerPath: '/', options: getNavLinkOptions({ tabKey: 'audio' }) },\r\n [ENavKey.GetStarted]: { site: 'client', key: ENavKey.GetStarted, href: baseUrl.client + '/get-started', routerPath: '/get-started' }\r\n})\r\n\r\nexport const getHeaderMenuConfigs = (baseUrl: IAppSiteBaseUrl): IAppMenu[] => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n // {\r\n // title: 'Media',\r\n // items: [\r\n // { title: mapNavTitles[ENavKey.Videos], icon: IconVideoBase64, navLink: navLinks[ENavKey.Videos] },\r\n // { title: mapNavTitles[ENavKey.Audios], icon: IconAudioBase64, navLink: navLinks[ENavKey.Audios] }\r\n // ]\r\n // },\r\n // {\r\n // title: 'Quick Actions',\r\n // items: [\r\n // { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n // { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n // { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n // { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] }\r\n // ]\r\n // },\r\n {\r\n title: 'Support & Info',\r\n enableTitle: false,\r\n items: [\r\n { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n // { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] }\r\n ]\r\n }\r\n ]\r\n}\r\n\r\nexport const getHeaderNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } }\r\n ]\r\n}\r\n\r\nexport const getMenuNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] },\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n}\r\n\r\nexport const footerDescription = `We provide licensing services for music, images, and digital media,\\ncopyright management, revenue optimization, and legal representation\\nfor creators across multiple platforms.`\r\n\r\nexport const getCopyrightText = () => {\r\n const currentYear = new Date().getFullYear()\r\n return `Copyright © 2024${currentYear > 2024 ? ` - ${currentYear}` : ''} BERLINTOMEK. All rights reserved.`\r\n}\r\n\r\nexport const getFooterNavTabConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } }\r\n ]\r\n}\r\n\r\nexport const getFooterNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[][] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] },\r\n { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] }\r\n ],\r\n [\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n ]\r\n}\r\n"],"names":["appLogoUrl","bgFooterUrl","appSocialConfigs","link","icon","_jsx","YouTubeIcon","color","InstagramIcon","TwitterIcon","PinterestIcon","RedditIcon","mapNavTitles","_defineProperty","_mapNavTitles","ENavKey","Home","Pricing","SubmitMedia","Faqs","Videos","Audios","Privacy","Terms","About","CreateAccount","ContactUs","PurchaseLicenses","GetStarted","getNavLinkOptions","options","JSON","stringify","getNavLinks","baseUrl","_ref","site","key","href","home","routerPath","toLocate","client","music","tabKey","getHeaderMenuConfigs","navLinks","title","enableTitle","items","navLink","getHeaderNavConfigs","startIcon","IconVideoBase64","IconAudioBase64","getMenuNavConfigs","footerDescription","getCopyrightText","currentYear","Date","getFullYear","concat","getFooterNavTabConfigs","getFooterNavConfigs"],"mappings":"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"}
1
+ {"version":3,"file":"configs.js","sources":["../../src/layout-global/configs.tsx"],"sourcesContent":["import RedditIcon from '@mui/icons-material/Reddit'\r\nimport YouTubeIcon from '@mui/icons-material/YouTube'\r\nimport TwitterIcon from '@mui/icons-material/Twitter'\r\nimport InstagramIcon from '@mui/icons-material/Instagram'\r\nimport PinterestIcon from '@mui/icons-material/Pinterest'\r\nimport { IconAudioBase64, IconVideoBase64 } from './animated-tabs.units'\r\nimport { IAppMenu, IAppNav, IAppSocial, ENavKey, INavLink, INavLinkOptions } from './types'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\n\r\nexport const appLogoUrl = 'images/logo.webp'\r\nexport const getAppLogoUrl = (base: IAppSiteBaseUrl) => base.client + appLogoUrl\r\n\r\nexport const bgFooterUrl = 'images/bg-footer.jpg'\r\nexport const getBgFooterUrl = (base: IAppSiteBaseUrl) => base.client + bgFooterUrl\r\n\r\nexport const appSocialConfigs: IAppSocial[] = [\r\n { link: 'https://www.youtube.com', icon: <YouTubeIcon />, color: '#FF0000' },\r\n { link: 'https://www.instagram.com', icon: <InstagramIcon />, color: '#E4405F' },\r\n { link: 'https://www.twitter.com', icon: <TwitterIcon />, color: '#1DA1F2' },\r\n { link: 'https://www.pinterest.com', icon: <PinterestIcon />, color: '#BD081C' },\r\n { link: 'https://www.reddit.com', icon: <RedditIcon />, color: '#FF4500' }\r\n]\r\n\r\nexport const mapNavTitles: Record<ENavKey, string> = {\r\n [ENavKey.Home]: 'Home',\r\n [ENavKey.Pricing]: 'Pricing',\r\n [ENavKey.SubmitMedia]: 'Submit Media',\r\n [ENavKey.Faqs]: 'FAQs',\r\n [ENavKey.Videos]: 'Videos',\r\n [ENavKey.Audios]: 'Audios',\r\n [ENavKey.Privacy]: 'Privacy Policy',\r\n [ENavKey.Terms]: 'Terms of Submission',\r\n [ENavKey.About]: 'About Us',\r\n [ENavKey.CreateAccount]: 'Create Account',\r\n [ENavKey.ContactUs]: 'Contact Us',\r\n [ENavKey.PurchaseLicenses]: 'Purchase Licenses',\r\n [ENavKey.GetStarted]: 'Get Started'\r\n}\r\n\r\nconst getNavLinkOptions = (options: INavLinkOptions): string => {\r\n return JSON.stringify(options)\r\n}\r\n\r\nexport const getNavLinks: (baseUrl: IAppSiteBaseUrl) => Record<ENavKey, INavLink> = (baseUrl) => ({\r\n [ENavKey.Home]: { site: 'home', key: ENavKey.Home, href: baseUrl.home, routerPath: '/', options: getNavLinkOptions({ toLocate: 'home' }) },\r\n [ENavKey.Pricing]: {\r\n site: 'home',\r\n key: ENavKey.Pricing,\r\n href: baseUrl.home + '/#Pricing',\r\n routerPath: '/#Pricing',\r\n options: getNavLinkOptions({ toLocate: 'pricing' })\r\n },\r\n [ENavKey.Faqs]: {\r\n site: 'home',\r\n key: ENavKey.Faqs,\r\n href: baseUrl.home + '/#Faq',\r\n routerPath: '/#Faq',\r\n options: getNavLinkOptions({ toLocate: 'faqs' })\r\n },\r\n [ENavKey.About]: {\r\n site: 'home',\r\n key: ENavKey.About,\r\n href: baseUrl.home + '/#About',\r\n routerPath: '/#About',\r\n options: getNavLinkOptions({ toLocate: 'about' })\r\n },\r\n [ENavKey.ContactUs]: {\r\n site: 'home',\r\n key: ENavKey.ContactUs,\r\n href: baseUrl.home + '/#Contact',\r\n routerPath: '/#Contact',\r\n options: getNavLinkOptions({ toLocate: 'contact' })\r\n },\r\n [ENavKey.Videos]: {\r\n site: 'home',\r\n key: ENavKey.Videos,\r\n href: baseUrl.home + '/video-discovery',\r\n routerPath: '/video-discovery'\r\n },\r\n [ENavKey.PurchaseLicenses]: {\r\n site: 'client',\r\n key: ENavKey.PurchaseLicenses,\r\n href: baseUrl.client + '/purchase-licenses',\r\n routerPath: '/purchase-licenses'\r\n },\r\n [ENavKey.SubmitMedia]: { site: 'client', key: ENavKey.SubmitMedia, href: baseUrl.client + '/submit', routerPath: '/submit' },\r\n [ENavKey.Privacy]: { site: 'client', key: ENavKey.Privacy, href: baseUrl.client + '/privacy-policy', routerPath: '/privacy-policy' },\r\n [ENavKey.Terms]: { site: 'client', key: ENavKey.Terms, href: baseUrl.client + '/terms-of-submission', routerPath: '/terms-of-submission' },\r\n [ENavKey.CreateAccount]: { site: 'client', key: ENavKey.CreateAccount, href: baseUrl.home + '/Identity/Account/Register' },\r\n [ENavKey.Audios]: { site: 'music', key: ENavKey.Audios, href: baseUrl.music, routerPath: '/', options: getNavLinkOptions({ tabKey: 'audio' }) },\r\n [ENavKey.GetStarted]: { site: 'client', key: ENavKey.GetStarted, href: baseUrl.client + '/get-started', routerPath: '/get-started' }\r\n})\r\n\r\nexport const getHeaderMenuConfigs = (baseUrl: IAppSiteBaseUrl): IAppMenu[] => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n // {\r\n // title: 'Media',\r\n // items: [\r\n // { title: mapNavTitles[ENavKey.Videos], icon: IconVideoBase64, navLink: navLinks[ENavKey.Videos] },\r\n // { title: mapNavTitles[ENavKey.Audios], icon: IconAudioBase64, navLink: navLinks[ENavKey.Audios] }\r\n // ]\r\n // },\r\n // {\r\n // title: 'Quick Actions',\r\n // items: [\r\n // { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n // { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n // { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n // { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] }\r\n // ]\r\n // },\r\n {\r\n title: 'Support & Info',\r\n enableTitle: false,\r\n items: [\r\n { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n // { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] }\r\n ]\r\n }\r\n ]\r\n}\r\n\r\nexport const getHeaderNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } }\r\n ]\r\n}\r\n\r\nexport const getMenuNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] },\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n}\r\n\r\nexport const footerDescription = `We provide licensing services for music, images, and digital media,\\ncopyright management, revenue optimization, and legal representation\\nfor creators across multiple platforms.`\r\n\r\nexport const getCopyrightText = () => {\r\n const currentYear = new Date().getFullYear()\r\n return `Copyright © 2024${currentYear > 2024 ? ` - ${currentYear}` : ''} BERLINTOMEK. All rights reserved.`\r\n}\r\n\r\nexport const getFooterNavTabConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n { title: mapNavTitles[ENavKey.Videos], navLink: navLinks[ENavKey.Videos], options: { startIcon: IconVideoBase64 } },\r\n { title: mapNavTitles[ENavKey.Audios], navLink: navLinks[ENavKey.Audios], options: { startIcon: IconAudioBase64 } }\r\n ]\r\n}\r\n\r\nexport const getFooterNavConfigs: (baseUrl: IAppSiteBaseUrl) => IAppNav[][] = (baseUrl) => {\r\n const navLinks = getNavLinks(baseUrl)\r\n return [\r\n [\r\n { title: mapNavTitles[ENavKey.Home], navLink: navLinks[ENavKey.Home] },\r\n { title: mapNavTitles[ENavKey.Pricing], navLink: navLinks[ENavKey.Pricing] },\r\n { title: mapNavTitles[ENavKey.About], navLink: navLinks[ENavKey.About] },\r\n { title: mapNavTitles[ENavKey.Terms], navLink: navLinks[ENavKey.Terms] },\r\n { title: mapNavTitles[ENavKey.Privacy], navLink: navLinks[ENavKey.Privacy] },\r\n { title: mapNavTitles[ENavKey.GetStarted], navLink: navLinks[ENavKey.GetStarted] }\r\n ],\r\n [\r\n { title: mapNavTitles[ENavKey.CreateAccount], navLink: navLinks[ENavKey.CreateAccount] },\r\n { title: mapNavTitles[ENavKey.Faqs], navLink: navLinks[ENavKey.Faqs] },\r\n { title: mapNavTitles[ENavKey.ContactUs], navLink: navLinks[ENavKey.ContactUs] },\r\n { title: mapNavTitles[ENavKey.SubmitMedia], navLink: navLinks[ENavKey.SubmitMedia] },\r\n { title: mapNavTitles[ENavKey.PurchaseLicenses], navLink: navLinks[ENavKey.PurchaseLicenses] }\r\n ]\r\n ]\r\n}\r\n"],"names":["appLogoUrl","bgFooterUrl","appSocialConfigs","link","icon","_jsx","YouTubeIcon","color","InstagramIcon","TwitterIcon","PinterestIcon","RedditIcon","mapNavTitles","_defineProperty","_mapNavTitles","ENavKey","Home","Pricing","SubmitMedia","Faqs","Videos","Audios","Privacy","Terms","About","CreateAccount","ContactUs","PurchaseLicenses","GetStarted","getNavLinkOptions","options","JSON","stringify","getNavLinks","baseUrl","_ref","site","key","href","home","routerPath","toLocate","client","music","tabKey","getHeaderMenuConfigs","navLinks","title","enableTitle","items","navLink","getHeaderNavConfigs","startIcon","IconVideoBase64","IconAudioBase64","getMenuNavConfigs","footerDescription","getCopyrightText","currentYear","Date","getFullYear","concat","getFooterNavTabConfigs","getFooterNavConfigs"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider,getLightTheme}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";
1
+ export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import{inherits as r,createClass as e,superPropGet as t,classCallCheck as i,callSuper as n,defineProperty as s}from"../_virtual/_rollupPluginBabelHelpers.js";import a from"events";var o=function(){function o(){var r;return i(this,o),r=n(this,o),s(r,"_createWrapListener",function(r){return function(){try{r.apply(void 0,arguments)}catch(r){console.error("Error in MediaRight listener:",r)}}}),r}return r(o,a),e(o,[{key:"subscribe",value:function(r,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(e):e;return t(o,"addListener",this)([r,n]),function(){t(o,"removeListener",i)([r,n])}}}])}();export{o as MediaRightEventStore};
2
+ //# sourceMappingURL=event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-store.js","sources":["../../src/media-right/event-store.ts"],"sourcesContent":["import EventEmitter from 'events'\r\nimport type { IMediaRightGroup } from './types'\r\n\r\nexport interface IEventOptions {\r\n message?: string\r\n}\r\n\r\nexport interface IMediaRightEventConfigs {\r\n stateChange: [{ groups: Record<string, IMediaRightGroup>; options?: IEventOptions }]\r\n requestState: [{ options?: IEventOptions }]\r\n}\r\n\r\nexport class MediaRightEventStore extends EventEmitter<IMediaRightEventConfigs> {\r\n constructor() {\r\n super()\r\n }\r\n\r\n /**\r\n * Subscribe to a specific channel\r\n * @param channel The channel to subscribe to\r\n * @param callback Function to call when an event occurs on this channel\r\n * @returns Unsubscribe function to remove the event listener\r\n */\r\n _createWrapListener = (callback: (...payload: any[]) => void) => {\r\n return (...payload: any[]) => {\r\n try {\r\n callback(...payload)\r\n } catch (error) {\r\n console.error('Error in MediaRight listener:', error)\r\n }\r\n }\r\n }\r\n\r\n subscribe<K extends keyof IMediaRightEventConfigs>(\r\n eventName: K,\r\n listener: K extends keyof IMediaRightEventConfigs\r\n ? IMediaRightEventConfigs[K] extends unknown[]\r\n ? (...args: IMediaRightEventConfigs[K]) => void\r\n : never\r\n : never,\r\n isTry: boolean = true\r\n ) {\r\n const action = isTry ? this._createWrapListener(listener) : listener\r\n super.addListener(eventName, action as any)\r\n return () => {\r\n super.removeListener(eventName, action as any)\r\n }\r\n }\r\n}\r\n"],"names":["MediaRightEventStore","_this","_classCallCheck","_callSuper","this","_defineProperty","callback","apply","arguments","error","console","_inherits","EventEmitter","_createClass","key","value","eventName","listener","_this2","action","_createWrapListener","_superPropGet"],"mappings":"oLAYaA,IAAAA,aACX,SAAAA,IAAA,IAAAC,EAkBC,OAlBDC,OAAAF,GACEC,EAAAE,EAAAC,KAAAJ,GAGFK,EAAAJ,EAMsB,sBAAA,SAACK,GACrB,OAAO,WACL,IACEA,EAAQC,WAAAC,EAAAA,UACT,CAAC,MAAOC,GACPC,QAAQD,MAAM,gCAAiCA,EAChD,CACF,IACFR,CAhBD,CAAC,OAAAU,EAAAX,EAHuCY,GAGvCC,EAAAb,EAAA,CAAA,CAAAc,IAAA,YAAAC,MAkBD,SACEC,EACAC,GAKqB,IAAAC,EAAAd,KAEfe,6DAAiBf,KAAKgB,oBAAoBH,GAAYA,EAE5D,OADAI,EAAArB,EAAkBgB,cAAAA,KAAlBK,CAAkBL,CAAAA,EAAWG,IACtB,WACLE,EAAArB,EAAA,iBAAAkB,EAAAG,CAAqBL,CAAAA,EAAWG,GACjC,CACH,IAAC"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as o,objectSpread2 as e}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as r,jsx as t}from"react/jsx-runtime";import{useState as n}from"react";import{createRoot as i}from"react-dom/client";import{Dialog as l,Box as m,DialogContent as u,Typography as d,DialogActions as a,Button as p}from"@mui/material";import{CollectionsList as c}from"./units.js";import{ModalHeader as s}from"./modal-header.js";import{canAddGroup as f,generateGroupId as h}from"../helpers.js";import{NewCollectionButton as v,NewCollectionInput as C}from"../unit.control.js";import{GuideSteps as b}from"../guide-steps/index.js";var g=function(i){var h=i.open,g=i.onClose,x=i.onConfirm,j=i.groups,S=i.guideStepsProps,y=i.cartItem,I=n(null),P=o(I,2),k=P[0],G=P[1],W=n(!1),A=o(W,2),B=A[0],M=A[1],_=n(""),D=o(_,2),E=D[0],H=D[1],L=function(){G(null),M(!1),H(""),g()};return r(l,{open:h,onClose:L,maxWidth:"xs",fullWidth:!0,disableScrollLock:!0,keepMounted:!1,scroll:"paper",children:[t(s,{cartItem:y,onClose:L}),r(m,{component:"form",onSubmit:function(o){o.preventDefault(),B&&E.trim()?x(null,E.trim()):x(k||null)},children:[r(u,{children:[t(d,{variant:"subtitle1",sx:{mb:1,fontWeight:600},children:"Your Media Rights Package"}),f(j)&&(B?t(C,{value:E,onChange:H}):t(v,{onClick:function(){G(null),M(!0)}})),t(c,{groups:j,selectedGroupId:k,onGroupSelect:function(o){G(o),M(!1)}})]}),r(a,{sx:{px:3,pb:3},children:[S&&t(b,e({iconButtonProps:{color:"primary",sx:{mr:"auto"}}},S)),t(p,{onClick:L,variant:"outlined",type:"button",children:"Cancel"}),t(p,{type:"submit",variant:"contained",disabled:B?!E.trim():!k,sx:{minWidth:100},children:B?"Create & Add":k?"Add":"Save"})]})]})]})},x=function(o){var r=o.cartItem,n=o.groups,l=o.guideStepsProps,m=o.addGroup,u=o.addItem,d=document.createElement("div");document.body.appendChild(d);var a=i(d);a.render(t(g,{open:!0,onClose:function(){a.unmount(),document.body.removeChild(d)},onConfirm:function(o,t){if(r){var n=o;!o&&t&&(n=h(),m({id:n,name:t,channels:[]}));var i=e(e({},r),{},{GroupId:n||""});n&&u(i),a.unmount(),document.body.removeChild(d)}},guideStepsProps:l,groups:n,cartItem:r}))};export{g as GroupSelectorModal,x as showGroupSelectorModal};
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};
2
2
  //# sourceMappingURL=index.js.map