dinocollab-shared 1.1.0 → 1.1.1

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 (48) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -2
  2. package/dist/auth/profile.js +1 -1
  3. package/dist/auth/profile.js.map +1 -1
  4. package/dist/auth/widget.js +1 -1
  5. package/dist/auth/widget.js.map +1 -1
  6. package/dist/cart/cart-store.js +1 -1
  7. package/dist/cart/cart-store.js.map +1 -1
  8. package/dist/cart/helpers.js +1 -1
  9. package/dist/cart/helpers.js.map +1 -1
  10. package/dist/cart/hook.js +1 -1
  11. package/dist/cart/hook.js.map +1 -1
  12. package/dist/cart/index.js +1 -1
  13. package/dist/cart/widget.js +1 -1
  14. package/dist/cart/widget.js.map +1 -1
  15. package/dist/layout-global/animated-tabs.units.js +1 -1
  16. package/dist/layout-global/animated-tabs.units.js.map +1 -1
  17. package/dist/layout-global/sub-menu.js +1 -1
  18. package/dist/layout-global/sub-menu.js.map +1 -1
  19. package/dist/layout-global/sub-menu.styled.js +1 -1
  20. package/dist/layout-global/sub-menu.styled.js.map +1 -1
  21. package/dist/types/auth/hook.d.ts +2 -0
  22. package/dist/types/auth/hook.d.ts.map +1 -0
  23. package/dist/types/auth/index.d.ts +1 -0
  24. package/dist/types/auth/index.d.ts.map +1 -1
  25. package/dist/types/auth/profile.d.ts +10 -16
  26. package/dist/types/auth/profile.d.ts.map +1 -1
  27. package/dist/types/auth/store.d.ts +2 -0
  28. package/dist/types/auth/store.d.ts.map +1 -0
  29. package/dist/types/auth/types.d.ts +18 -0
  30. package/dist/types/auth/types.d.ts.map +1 -0
  31. package/dist/types/auth/widget.d.ts +13 -2
  32. package/dist/types/auth/widget.d.ts.map +1 -1
  33. package/dist/types/cart/cart-store.d.ts +3 -15
  34. package/dist/types/cart/cart-store.d.ts.map +1 -1
  35. package/dist/types/cart/helpers.d.ts +10 -2
  36. package/dist/types/cart/helpers.d.ts.map +1 -1
  37. package/dist/types/cart/hook.d.ts +5 -2
  38. package/dist/types/cart/hook.d.ts.map +1 -1
  39. package/dist/types/cart/index.d.ts +1 -0
  40. package/dist/types/cart/index.d.ts.map +1 -1
  41. package/dist/types/cart/types.d.ts +5 -7
  42. package/dist/types/cart/types.d.ts.map +1 -1
  43. package/dist/types/cart/widget.d.ts +22 -4
  44. package/dist/types/cart/widget.d.ts.map +1 -1
  45. package/dist/types/layout-global/sub-menu.d.ts.map +1 -1
  46. package/dist/types/layout-global/sub-menu.styled.d.ts +1 -0
  47. package/dist/types/layout-global/sub-menu.styled.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function r(t){if(Array.isArray(t))return t}function e(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function n(t,r,e,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var r=this,e=arguments;return new Promise(function(o,i){var a=t.apply(r,e);function u(t){n(a,o,i,u,c,"next",t)}function c(t){n(a,o,i,u,c,"throw",t)}u(void 0)})}}function i(t,r,e){return r=l(r),g(t,p()?Reflect.construct(r,e||[],l(t).constructor):r.apply(t,e))}function a(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function u(t,r,e){return r&&function(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,E(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function c(t,r,e){return(r=E(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,e){var n=S(t,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?t:e):o.value}},f.apply(null,arguments)}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function s(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&m(t,r)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(p=function(){return!!t})()}function y(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,u=[],c=!0,f=!1;try{if(i=(e=e.call(t)).next,0===r);else for(;!(c=(n=i.call(e)).done)&&(u.push(n.value),u.length!==r);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw o}}return u}}function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function O(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?v(Object(e),!0).forEach(function(r){c(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):v(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function h(t,r){if(null==t)return{};var e,n,o=d(t,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)e=i[n],-1===r.indexOf(e)&&{}.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}function d(t,r){if(null==t)return{};var e={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==r.indexOf(n))continue;e[n]=t[n]}return e}function g(t,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return e(t)}function j(){
1
+ function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function r(t){if(Array.isArray(t))return t}function e(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function n(t,r,e,n,o,i,u){try{var a=t[i](u),c=a.value}catch(t){return void e(t)}a.done?r(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var r=this,e=arguments;return new Promise(function(o,i){var u=t.apply(r,e);function a(t){n(u,o,i,a,c,"next",t)}function c(t){n(u,o,i,a,c,"throw",t)}a(void 0)})}}function i(t,r,e){return r=l(r),m(t,p()?Reflect.construct(r,e||[],l(t).constructor):r.apply(t,e))}function u(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function a(t,r,e){return r&&function(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,E(n.key),n)}}(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function c(t,r,e){return(r=E(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,e){var n=S(t,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?t:e):o.value}},f.apply(null,arguments)}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function s(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&P(t,r)}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(p=function(){return!!t})()}function y(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,u,a=[],c=!0,f=!1;try{if(i=(e=e.call(t)).next,0===r);else for(;!(c=(n=i.call(e)).done)&&(a.push(n.value),a.length!==r);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=e.return&&(u=e.return(),Object(u)!==u))return}finally{if(f)throw o}}return a}}function b(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function O(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?v(Object(e),!0).forEach(function(r){c(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):v(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function h(t,r){if(null==t)return{};var e,n,o=d(t,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)e=i[n],-1===r.indexOf(e)&&{}.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}function d(t,r){if(null==t)return{};var e={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==r.indexOf(n))continue;e[n]=t[n]}return e}function m(t,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return e(t)}function g(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var t,r,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function i(e,n,o,i){var c=n&&n.prototype instanceof u?n:u,f=Object.create(c.prototype);return P(f,"_invoke",function(e,n,o){var i,u,c,f=0,l=o||[],s=!1,p={p:0,n:0,v:t,a:y,f:y.bind(t,4),d:function(r,e){return i=r,u=0,c=t,p.n=e,a}};function y(e,n){for(u=e,c=n,r=0;!s&&f&&!o&&r<l.length;r++){var o,i=l[r],y=p.p,b=i[2];e>3?(o=b===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=y&&((o=e<2&&y<i[1])?(u=0,p.v=n,p.n=i[1]):y<b&&(o=e<3||i[0]>n||n>b)&&(i[4]=e,i[5]=n,p.n=b,u=0))}if(o||e>1)return a;throw s=!0,n}return function(o,l,b){if(f>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,b),u=l,c=b;(r=u<2?t:c)||!s;){i||(u?u<3?(u>1&&(p.n=-1),y(u,c)):p.n=c:p.v=c);try{if(f=2,i){if(u||(o="next"),r=i[o]){if(!(r=r.call(i,c)))throw TypeError("iterator result is not an object");if(!r.done)return r;c=r.value,u<2&&(u=0)}else 1===u&&(r=i.return)&&r.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((r=(s=p.n<0)?c:e.call(n,p))!==a)break}catch(r){i=t,u=1,c=r}finally{f=1}}return{value:r,done:s}}}(e,o,i),!0),f}var a={};function u(){}function c(){}function f(){}r=Object.getPrototypeOf;var l=[][n]?r(r([][n]())):(P(r={},n,function(){return this}),r),s=f.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,P(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return c.prototype=f,P(s,"constructor",f),P(f,"constructor",c),c.displayName="GeneratorFunction",P(f,o,"GeneratorFunction"),P(s),P(s,o,"Generator"),P(s,n,function(){return this}),P(s,"toString",function(){return"[object Generator]"}),(j=function(){return{w:i,m:p}})()}function P(t,r,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}P=function(t,r,e,n){function i(r,e){P(t,r,function(t){return this._invoke(r,e,t)})}r?o?o(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e:(i("next",0),i("throw",1),i("return",2))},P(t,r,e,n)}function m(t,r){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},m(t,r)}function w(t,e){return r(t)||y(t,e)||A(t,e)||b()}function S(t,r){for(;!{}.hasOwnProperty.call(t,r)&&null!==(t=l(t)););return t}function T(t,r,e,n){var o=f(l(t.prototype),r,e);return"function"==typeof o?function(t){return o.apply(e,t)}:o}function _(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function E(t){var r=_(t,"string");return"symbol"==typeof r?r:r+""}function A(r,e){if(r){if("string"==typeof r)return t(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(r,e):void 0}}export{t as arrayLikeToArray,r as arrayWithHoles,e as assertThisInitialized,o as asyncToGenerator,i as callSuper,a as classCallCheck,u as createClass,c as defineProperty,f as get,l as getPrototypeOf,s as inherits,p as isNativeReflectConstruct,y as iterableToArrayLimit,b as nonIterableRest,O as objectSpread2,h as objectWithoutProperties,d as objectWithoutPropertiesLoose,g as possibleConstructorReturn,j as regenerator,P as regeneratorDefine,m as setPrototypeOf,w as slicedToArray,S as superPropBase,T as superPropGet,_ as toPrimitive,E as toPropertyKey,A as unsupportedIterableToArray};
3
+ var t,r,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function i(e,n,o,i){var c=n&&n.prototype instanceof a?n:a,f=Object.create(c.prototype);return j(f,"_invoke",function(e,n,o){var i,a,c,f=0,l=o||[],s=!1,p={p:0,n:0,v:t,a:y,f:y.bind(t,4),d:function(r,e){return i=r,a=0,c=t,p.n=e,u}};function y(e,n){for(a=e,c=n,r=0;!s&&f&&!o&&r<l.length;r++){var o,i=l[r],y=p.p,b=i[2];e>3?(o=b===n)&&(c=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=t):i[0]<=y&&((o=e<2&&y<i[1])?(a=0,p.v=n,p.n=i[1]):y<b&&(o=e<3||i[0]>n||n>b)&&(i[4]=e,i[5]=n,p.n=b,a=0))}if(o||e>1)return u;throw s=!0,n}return function(o,l,b){if(f>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,b),a=l,c=b;(r=a<2?t:c)||!s;){i||(a?a<3?(a>1&&(p.n=-1),y(a,c)):p.n=c:p.v=c);try{if(f=2,i){if(a||(o="next"),r=i[o]){if(!(r=r.call(i,c)))throw TypeError("iterator result is not an object");if(!r.done)return r;c=r.value,a<2&&(a=0)}else 1===a&&(r=i.return)&&r.call(i),a<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=t}else if((r=(s=p.n<0)?c:e.call(n,p))!==u)break}catch(r){i=t,a=1,c=r}finally{f=1}}return{value:r,done:s}}}(e,o,i),!0),f}var u={};function a(){}function c(){}function f(){}r=Object.getPrototypeOf;var l=[][n]?r(r([][n]())):(j(r={},n,function(){return this}),r),s=f.prototype=a.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,j(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return c.prototype=f,j(s,"constructor",f),j(f,"constructor",c),c.displayName="GeneratorFunction",j(f,o,"GeneratorFunction"),j(s),j(s,o,"Generator"),j(s,n,function(){return this}),j(s,"toString",function(){return"[object Generator]"}),(g=function(){return{w:i,m:p}})()}function j(t,r,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}j=function(t,r,e,n){function i(r,e){j(t,r,function(t){return this._invoke(r,e,t)})}r?o?o(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e:(i("next",0),i("throw",1),i("return",2))},j(t,r,e,n)}function P(t,r){return P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},P(t,r)}function w(t,e){return r(t)||y(t,e)||R(t,e)||b()}function S(t,r){for(;!{}.hasOwnProperty.call(t,r)&&null!==(t=l(t)););return t}function T(t,r,e,n){var o=f(l(t.prototype),r,e);return"function"==typeof o?function(t){return o.apply(e,t)}:o}function _(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function E(t){var r=_(t,"string");return"symbol"==typeof r?r:r+""}function A(t){return A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},A(t)}function R(r,e){if(r){if("string"==typeof r)return t(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(r,e):void 0}}export{t as arrayLikeToArray,r as arrayWithHoles,e as assertThisInitialized,o as asyncToGenerator,i as callSuper,u as classCallCheck,a as createClass,c as defineProperty,f as get,l as getPrototypeOf,s as inherits,p as isNativeReflectConstruct,y as iterableToArrayLimit,b as nonIterableRest,O as objectSpread2,h as objectWithoutProperties,d as objectWithoutPropertiesLoose,m as possibleConstructorReturn,g as regenerator,j as regeneratorDefine,P as setPrototypeOf,w as slicedToArray,S as superPropBase,T as superPropGet,_ as toPrimitive,E as toPropertyKey,A as typeof,R as unsupportedIterableToArray};
4
4
  //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as o,createClass as t,objectSpread2 as r,defineProperty as e,classCallCheck as l,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as n}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as p,Tooltip as d,IconButton as u,Avatar as h,Menu as m,Box as v,Typography as g,Divider as f,MenuItem as x,ListItemIcon as b,colors as C}from"@mui/material";import k from"@mui/icons-material/Logout";import y from"@mui/icons-material/ManageAccounts";import{getAvatarProps as M}from"../layout-global/helpers.js";var S={title:"AvatarButton-title"},I=function(){function C(o){var t;return l(this,C),t=i(this,C,[o]),e(t,"toggle",function(){return t.setState({isOpen:!t.state.isOpen})}),e(t,"handleClick",function(o){t.setState({element:o.currentTarget})}),e(t,"handleClose",function(){t.setState({element:null})}),t.state={isOpen:!1,element:null},t}return o(C,s),t(C,[{key:"render",value:function(){var o,t,e=this.props,l=e.logoutHref,i=e.profileHref,s=this.props.userName||"Guest";return a(c,{children:[n(p,{in:!0,children:n(d,{title:"Account settings",children:n(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,children:n(h,r({src:this.props.urlAvatar},M(s)))})})}),a(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:z(this.props.theme)},transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:[n(v,{sx:{px:2,pt:1,pb:.5,display:"flex",alignItems:"center",gap:1},component:"div",onClick:function(o){return o.stopPropagation()},children:a(g,{variant:"subtitle1",noWrap:!0,className:S.title,children:["Hello, ",s]})}),n(f,{variant:"middle",sx:{my:1}}),n(x,{children:a("a",{href:null!==(o=null==i?void 0:i.primary)&&void 0!==o?o:"/profile",children:[n(b,{children:n(y,{fontSize:"small"})}),"Manage Profile"]})}),n(x,{children:a("a",{href:null!==(t=null==l?void 0:l.primary)&&void 0!==t?t:"/authentication/logout",onClick:this.props.onLogout,children:[n(b,{children:n(k,{fontSize:"small"})}),"Logout"]})})]})]})}}])}(),z=function(){var o="light"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"dark"),t=o?"#fff":"#323234",r=o?"#000":"#fff",l=o?C.blue[600]:"#e78a3f",i=o?C.grey[200]:C.grey[700];return{elevation:0,sx:e(e(e(e(e(e({"--color-background":t,"--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)"},"& .".concat(S.title),{fontWeight:"600",color:"var(--color-text)"}),"& .MuiAvatar-root",{width:32,height:32,ml:-.5,mr:1,bgcolor:"var(--color-avatar-bg)",color:"var(--color-avatar-text)"}),"& .MuiMenuItem-root",{a:{padding:"6px 16px",textDecoration:"none",color:"currentColor",display:"flex",alignItems:"center",gap:"8px"},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{I as Profile,S as avatarButtonClasses,I as default};
1
+ import{inherits as t,createClass as o,objectSpread2 as e,defineProperty as r,classCallCheck as n,callSuper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as l,jsx as i}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{Fade as d,Tooltip as u,IconButton as p,Avatar as h,Menu as m,Typography as v,Divider as f,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:"AvatarButton-root",title:"AvatarButton-title",content:"AvatarButton-content",item:"AvatarButton-item"},I=function(t,o){return"".concat("",".").concat(y[t]).concat("")},M=function(){function C(t){var o;return n(this,C),o=a(this,C,[t]),r(o,"toggle",function(){return o.setState({isOpen:!o.state.isOpen})}),r(o,"handleClick",function(t){o.setState({element:t.currentTarget})}),r(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,r=(null==o?void 0:o.UserName)||"Guest";return l(c,{children:[i(d,{in:!0,children:i(u,{title:"Account settings",children:i(p,{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,children:i(h,e({src:null!==(t=null==o?void 0:o.AvatarUrl)&&void 0!==t?t:""},k(r)))})})}),l(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:[i("div",{className:y.content,onClick:function(t){return t.stopPropagation()},children:l(v,{variant:"subtitle1",noWrap:!0,className:y.title,children:["Hello, ",r]})}),i(f,{variant:"middle",sx:{my:1}}),this.props.menuConfigs.map(function(t,o){return i(g,{children:l(x,e(e({className:y.item},t.href?{component:"a",href:t.href}:{}),{},{onClick:t.onClick,children:[i(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",e=t?"#000":"#fff",n=t?C.blue[600]:"#e78a3f",a=t?C.grey[200]:C.grey[700];return{elevation:0,sx:r(r(r(r(r(r(r(r({"--color-background":o,"--color-text":e,"--color-text-secondary":n,"--color-divider":a,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)"},I("content"),{padding:"16px 24px 8px",display:"flex",alignItems:"center",gap:1}),I("title"),{fontWeight:"600",color:"var(--color-text)"}),I("item"),{padding:"6px 16px",textDecoration:"none",color:"currentColor",display:"flex",alignItems:"center",gap:"8px"}),"& .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
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sources":["../../src/auth/profile.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport type { PropsWithChildren, MouseEvent as RMouseEvent } from 'react'\r\nimport { Box, MenuItem, Divider, IconButton, Tooltip, colors } from '@mui/material'\r\nimport { Avatar, Fade, ListItemIcon, Menu, PaperProps, Typography } from '@mui/material'\r\nimport Logout from '@mui/icons-material/Logout'\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts'\r\nimport { getAvatarProps } from '../layout-global/helpers'\r\n\r\nexport const avatarButtonClasses = {\r\n root: 'AvatarButton-root',\r\n title: 'AvatarButton-title'\r\n}\r\n\r\ninterface IAvatarButtonProps extends PropsWithChildren {\r\n userName?: string\r\n // logoutPath?: any\r\n // profilePath?: string\r\n urlAvatar?: string\r\n /* Optional: theme prop to switch between light and dark themes\r\n * If not provided, defaults to 'dark'.\r\n * This can be used to apply different styles based on the theme.\r\n */\r\n theme?: 'dark' | 'light'\r\n onLogout?: (event: RMouseEvent<HTMLAnchorElement, MouseEvent>) => void\r\n profileHref?: { primary: string; secondary?: string }\r\n logoutHref?: { primary: string; secondary?: string }\r\n}\r\n\r\ninterface IAvatarButtonState {\r\n isOpen: boolean\r\n element: HTMLElement | null\r\n}\r\n\r\nexport class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {\r\n constructor(props: IAvatarButtonProps) {\r\n super(props)\r\n this.state = {\r\n isOpen: false,\r\n element: null\r\n }\r\n }\r\n\r\n toggle = () => this.setState({ isOpen: !this.state.isOpen })\r\n\r\n handleClick = (event: RMouseEvent<HTMLElement>) => {\r\n this.setState({ element: event.currentTarget })\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ element: null })\r\n }\r\n\r\n render() {\r\n const { logoutHref, profileHref } = this.props\r\n const usename = this.props.userName || 'Guest'\r\n return (\r\n <Fragment>\r\n <Fade in>\r\n <Tooltip title='Account settings'>\r\n <IconButton\r\n onClick={this.handleClick}\r\n size='small'\r\n aria-controls={this.state.element ? 'account-menu' : undefined}\r\n aria-haspopup='true'\r\n aria-expanded={this.state.element ? 'true' : undefined}\r\n >\r\n <Avatar src={this.props.urlAvatar} {...getAvatarProps(usename)} />\r\n </IconButton>\r\n </Tooltip>\r\n </Fade>\r\n <Menu\r\n anchorEl={this.state.element}\r\n id='account-menu'\r\n disableScrollLock\r\n open={!!this.state.element}\r\n onClose={this.handleClose}\r\n onClick={this.handleClose}\r\n MenuListProps={{ component: 'div' }}\r\n slotProps={{ paper: getStylePaper(this.props.theme) }}\r\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\r\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\r\n >\r\n <Box\r\n sx={{ px: 2, pt: 1, pb: 0.5, display: 'flex', alignItems: 'center', gap: 1 }}\r\n component='div'\r\n onClick={(e: RMouseEvent<HTMLDivElement, MouseEvent>) => e.stopPropagation()}\r\n >\r\n <Typography variant='subtitle1' noWrap className={avatarButtonClasses.title}>\r\n Hello, {usename}\r\n </Typography>\r\n </Box>\r\n <Divider variant='middle' sx={{ my: 1 }} />\r\n <MenuItem>\r\n <a href={profileHref?.primary ?? '/profile'}>\r\n <ListItemIcon>\r\n <ManageAccountsIcon fontSize='small' />\r\n </ListItemIcon>\r\n Manage Profile\r\n </a>\r\n </MenuItem>\r\n <MenuItem>\r\n <a href={logoutHref?.primary ?? '/authentication/logout'} onClick={this.props.onLogout}>\r\n <ListItemIcon>\r\n <Logout fontSize='small' />\r\n </ListItemIcon>\r\n Logout\r\n </a>\r\n </MenuItem>\r\n </Menu>\r\n </Fragment>\r\n )\r\n }\r\n}\r\nexport default Profile\r\n\r\nconst getStylePaper = (theme: 'dark' | 'light' = 'dark'): Partial<PaperProps<'div', {}>> => {\r\n const isLightTheme = theme === 'light'\r\n const backgroundColor = isLightTheme ? '#fff' : '#323234'\r\n const textColor = isLightTheme ? '#000' : '#fff'\r\n const textSecondaryColor = isLightTheme ? colors.blue[600] : '#e78a3f'\r\n const dividerColor = isLightTheme ? colors.grey[200] : colors.grey[700]\r\n return {\r\n elevation: 0,\r\n sx: {\r\n '--color-background': backgroundColor,\r\n '--color-text': textColor,\r\n '--color-text-secondary': textSecondaryColor,\r\n '--color-divider': dividerColor,\r\n\r\n minWidth: '200px',\r\n overflow: 'visible',\r\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\r\n mt: 1.5,\r\n bgcolor: 'var(--color-background)', // dark background\r\n color: 'var(--color-text)', // white text,\r\n [`& .${avatarButtonClasses.title}`]: {\r\n fontWeight: '600',\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiAvatar-root': {\r\n width: 32,\r\n height: 32,\r\n ml: -0.5,\r\n mr: 1,\r\n bgcolor: 'var(--color-avatar-bg)',\r\n color: 'var(--color-avatar-text)'\r\n },\r\n '& .MuiMenuItem-root': {\r\n a: {\r\n padding: '6px 16px',\r\n textDecoration: 'none',\r\n color: 'currentColor',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px'\r\n },\r\n padding: 0,\r\n transition: 'all 0.3s',\r\n color: 'var(--color-text)',\r\n '.MuiSvgIcon-root': {\r\n transition: 'all 0.2s',\r\n transform: 'translateX(0px) scale(1)'\r\n },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': {\r\n color: 'var(--color-text-secondary)',\r\n transform: 'translateX(4px) scale(1.2)'\r\n }\r\n }\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiDivider-root': {\r\n borderColor: 'var(--color-divider)'\r\n },\r\n '&:before': {\r\n content: '\"\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n right: 20,\r\n width: 10,\r\n height: 10,\r\n bgcolor: 'var(--color-background)',\r\n transform: 'translateY(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["avatarButtonClasses","title","Profile","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isOpen","state","event","element","currentTarget","_inherits","Component","_createClass","key","value","_profileHref$primary","_logoutHref$primary","_this$props","this","logoutHref","profileHref","usename","userName","_jsxs","Fragment","children","_jsx","Fade","in","Tooltip","IconButton","onClick","handleClick","size","undefined","Avatar","_objectSpread","src","urlAvatar","getAvatarProps","Menu","anchorEl","id","disableScrollLock","open","onClose","handleClose","MenuListProps","component","slotProps","paper","getStylePaper","theme","transformOrigin","horizontal","vertical","anchorOrigin","Box","sx","px","pt","pb","display","alignItems","gap","e","stopPropagation","Typography","variant","noWrap","className","Divider","my","MenuItem","href","primary","ListItemIcon","ManageAccountsIcon","fontSize","onLogout","Logout","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","concat","fontWeight","width","height","ml","mr","a","padding","textDecoration","transition","transform","borderColor","content","position","top","right","zIndex"],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sources":["../../src/auth/profile.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport type { PropsWithChildren } from 'react'\r\nimport { Box, MenuItem, Divider, IconButton, Tooltip, colors } from '@mui/material'\r\nimport { Avatar, Fade, ListItemIcon, Menu, PaperProps, Typography } from '@mui/material'\r\nimport { getAvatarProps } from '../layout-global/helpers'\r\nimport type { IIMenuConfigs, IProfile } from './types'\r\n\r\nexport const profileClasses = {\r\n root: 'AvatarButton-root',\r\n title: 'AvatarButton-title',\r\n content: 'AvatarButton-content',\r\n item: 'AvatarButton-item'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof profileClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${profileClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport interface IAvatarButtonProps extends PropsWithChildren {\r\n profile: IProfile | null\r\n menuConfigs: IIMenuConfigs\r\n theme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IAvatarButtonState {\r\n isOpen: boolean\r\n element: HTMLElement | null\r\n}\r\n\r\nexport class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {\r\n constructor(props: IAvatarButtonProps) {\r\n super(props)\r\n this.state = {\r\n isOpen: false,\r\n element: null\r\n }\r\n }\r\n\r\n toggle = () => this.setState({ isOpen: !this.state.isOpen })\r\n\r\n handleClick = (event: React.MouseEvent<HTMLElement>) => {\r\n this.setState({ element: event.currentTarget })\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ element: null })\r\n }\r\n\r\n render() {\r\n const { profile } = this.props\r\n const userName = profile?.UserName || 'Guest'\r\n return (\r\n <Fragment>\r\n <Fade in>\r\n <Tooltip title='Account settings'>\r\n <IconButton\r\n onClick={this.handleClick}\r\n size='small'\r\n aria-controls={this.state.element ? 'account-menu' : undefined}\r\n aria-haspopup='true'\r\n aria-expanded={this.state.element ? 'true' : undefined}\r\n >\r\n <Avatar src={profile?.AvatarUrl ?? ''} {...getAvatarProps(userName)} />\r\n </IconButton>\r\n </Tooltip>\r\n </Fade>\r\n <Menu\r\n anchorEl={this.state.element}\r\n id='account-menu'\r\n disableScrollLock\r\n open={!!this.state.element}\r\n onClose={this.handleClose}\r\n onClick={this.handleClose}\r\n MenuListProps={{ component: 'div' }}\r\n slotProps={{ paper: getStylePaper(this.props.theme) }}\r\n transformOrigin={{ horizontal: 'right', vertical: 'top' }}\r\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\r\n >\r\n <div className={profileClasses.content} onClick={(e: React.MouseEvent<HTMLDivElement, MouseEvent>) => e.stopPropagation()}>\r\n <Typography variant='subtitle1' noWrap className={profileClasses.title}>\r\n Hello, {userName}\r\n </Typography>\r\n </div>\r\n <Divider variant='middle' sx={{ my: 1 }} />\r\n {this.props.menuConfigs.map((menuConfig, index) => (\r\n <MenuItem key={index}>\r\n <Box\r\n className={profileClasses.item}\r\n {...(menuConfig.href ? { component: 'a', href: menuConfig.href } : {})}\r\n onClick={menuConfig.onClick}\r\n >\r\n <ListItemIcon>{menuConfig.icon}</ListItemIcon>\r\n {menuConfig.title}\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Fragment>\r\n )\r\n }\r\n}\r\nexport default Profile\r\n\r\nconst getStylePaper = (theme: 'dark' | 'light' = 'dark'): Partial<PaperProps<'div', {}>> => {\r\n const isLightTheme = theme === 'light'\r\n const backgroundColor = isLightTheme ? '#fff' : '#323234'\r\n const textColor = isLightTheme ? '#000' : '#fff'\r\n const textSecondaryColor = isLightTheme ? colors.blue[600] : '#e78a3f'\r\n const dividerColor = isLightTheme ? colors.grey[200] : colors.grey[700]\r\n return {\r\n elevation: 0,\r\n sx: {\r\n '--color-background': backgroundColor,\r\n '--color-text': textColor,\r\n '--color-text-secondary': textSecondaryColor,\r\n '--color-divider': dividerColor,\r\n\r\n minWidth: '200px',\r\n overflow: 'visible',\r\n filter: 'drop-shadow(0px 2px 8px rgba(0,0,0,0.32))',\r\n mt: 1.5,\r\n bgcolor: 'var(--color-background)', // dark background\r\n color: 'var(--color-text)', // white text,\r\n [getClasses('content')]: {\r\n padding: '16px 24px 8px', //theme.spacing(1, 2, 0.5),\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: 1\r\n },\r\n [getClasses('title')]: {\r\n fontWeight: '600',\r\n color: 'var(--color-text)'\r\n },\r\n\r\n [getClasses('item')]: {\r\n padding: '6px 16px',\r\n textDecoration: 'none',\r\n color: 'currentColor',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px'\r\n },\r\n '& .MuiAvatar-root': {\r\n width: 32,\r\n height: 32,\r\n ml: -0.5,\r\n mr: 1,\r\n bgcolor: 'var(--color-avatar-bg)',\r\n color: 'var(--color-avatar-text)'\r\n },\r\n '& .MuiMenuItem-root': {\r\n padding: 0,\r\n transition: 'all 0.3s',\r\n color: 'var(--color-text)',\r\n '.MuiSvgIcon-root': {\r\n transition: 'all 0.2s',\r\n transform: 'translateX(0px) scale(1)'\r\n },\r\n '&:hover': {\r\n color: 'var(--color-text-secondary)',\r\n backgroundColor: 'var(--color-divider)',\r\n '.MuiSvgIcon-root': {\r\n color: 'var(--color-text-secondary)',\r\n transform: 'translateX(4px) scale(1.2)'\r\n }\r\n }\r\n },\r\n '& .MuiListItemIcon-root': {\r\n color: 'var(--color-text)'\r\n },\r\n '& .MuiDivider-root': {\r\n borderColor: 'var(--color-divider)'\r\n },\r\n '&:before': {\r\n content: '\"\"',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n right: 20,\r\n width: 10,\r\n height: 10,\r\n bgcolor: 'var(--color-background)',\r\n transform: 'translateY(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n }\r\n }\r\n}\r\n"],"names":["profileClasses","root","title","content","item","getClasses","key","options","concat","Profile","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isOpen","state","event","element","currentTarget","_inherits","Component","_createClass","value","_profile$AvatarUrl","profile","this","userName","UserName","_jsxs","Fragment","children","_jsx","Fade","in","Tooltip","IconButton","onClick","handleClick","size","undefined","Avatar","_objectSpread","src","AvatarUrl","getAvatarProps","Menu","anchorEl","id","disableScrollLock","open","onClose","handleClose","MenuListProps","component","slotProps","paper","getStylePaper","theme","transformOrigin","horizontal","vertical","anchorOrigin","className","e","stopPropagation","Typography","variant","noWrap","Divider","sx","my","menuConfigs","map","menuConfig","index","MenuItem","Box","href","ListItemIcon","icon","isLightTheme","arguments","length","backgroundColor","textColor","textSecondaryColor","colors","blue","dividerColor","grey","elevation","minWidth","overflow","filter","mt","bgcolor","color","padding","display","alignItems","gap","fontWeight","textDecoration","width","height","ml","mr","transition","transform","borderColor","position","top","right","zIndex"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import{Typography as o}from"@mui/material";import{useMfeAuth as e}from"dinocollab-core/mfe-shared";import a from"@mui/icons-material/Login";import{AppButtonOrange as t,AppIconButtonOrange as n}from"../layout-global/ui.units.js";import{Profile as l}from"./profile.js";import m from"../components/responsive-display.js";var s=function(s){var u=e(),f=u.isAuthenticated,p=u.user;if(u.isLoading)return null;if(!f){var c="/login";return i(m,{xs:i(n,r(r({},{component:"a",href:c}),{},{children:i(a,{fontSize:"small"})})),md:i(t,r(r({className:"animate-bounce",startIcon:i(a,{fontSize:"small"})},{component:"a",href:c}),{},{children:i(o,{variant:"h6",children:"Login"})}))})}return i(l,{userName:(null==p?void 0:p.displayName)||"Guest User",urlAvatar:null==p?void 0:p.avatar})},u=function(o){var e=function(e){return i(s,r(r({},o),e))};return e.displayName="AuthWidget",e};export{s as AuthWidget,u as createAuthWidget,s as default};
1
+ import{objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i}from"react/jsx-runtime";import{Typography as n}from"@mui/material";import r from"@mui/icons-material/Logout";import e from"@mui/icons-material/Login";import t from"@mui/icons-material/ManageAccounts";import{AppButtonOrange as l,AppIconButtonOrange as a}from"../layout-global/ui.units.js";import{Profile as m}from"./profile.js";import f from"../components/responsive-display.js";var c=function(c){var u,s,p=c.isAuthenticated,g=c.profile;return c.isLoading?null:p?i(m,{profile:g,menuConfigs:[{title:"Manage Profile",icon:i(t,{fontSize:"small"}),href:c.hrefProfile,onClick:c.onProfileClick},{title:"Logout",icon:i(r,{fontSize:"small"}),href:c.hrefLogout,onClick:c.onLogoutClick}]}):i(f,{xs:i(a,o(o({},{component:"a",href:null!==(u=c.hrefLogin)&&void 0!==u?u:"/"}),{},{onClick:c.onLoginClick,children:i(e,{fontSize:"small"})})),md:i(l,o(o({className:"animate-bounce",startIcon:i(e,{fontSize:"small"})},{component:"a",href:null!==(s=c.hrefLogin)&&void 0!==s?s:"/"}),{},{onClick:c.onLoginClick,children:i(n,{variant:"h6",children:"Login"})}))})},u=function(n){var r=function(r){return i(c,o(o({},n),r))};return r.displayName="AuthWidget",r};export{c as AuthWidget,u as createAuthWidget,c as default};
2
2
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sources":["../../src/auth/widget.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { Typography } from '@mui/material'\r\nimport { useMfeAuth } from 'dinocollab-core/mfe-shared'\r\nimport LoginIcon from '@mui/icons-material/Login'\r\nimport { AppButtonOrange, AppIconButtonOrange } from '../layout-global/ui.units'\r\nimport Profile from './profile'\r\nimport ResponsiveDisplay from '../components/responsive-display'\r\n\r\nexport interface IAuthWidgetProps {}\r\n\r\nexport const AuthWidget: FC<IAuthWidgetProps> = (props) => {\r\n const { isAuthenticated, user, isLoading } = useMfeAuth()\r\n\r\n if (isLoading) return null\r\n\r\n if (!isAuthenticated) {\r\n const loginPath = '/login'\r\n return (\r\n <ResponsiveDisplay\r\n xs={\r\n <AppIconButtonOrange {...{ component: 'a', href: loginPath }}>\r\n <LoginIcon fontSize='small' />\r\n </AppIconButtonOrange>\r\n }\r\n md={\r\n <AppButtonOrange className='animate-bounce' startIcon={<LoginIcon fontSize='small' />} {...{ component: 'a', href: loginPath }}>\r\n <Typography variant='h6'>Login</Typography>\r\n </AppButtonOrange>\r\n }\r\n />\r\n )\r\n }\r\n\r\n // If the user is authenticated, display the AuthWidget with user details\r\n return <Profile userName={user?.displayName || 'Guest User'} urlAvatar={user?.avatar} />\r\n}\r\nexport default AuthWidget\r\n\r\nexport const createAuthWidget = (params: IAuthWidgetProps) => {\r\n const _AuthWidget: FC<Partial<IAuthWidgetProps>> = (props) => <AuthWidget {...params} {...props} />\r\n _AuthWidget.displayName = 'AuthWidget'\r\n return _AuthWidget\r\n}\r\n"],"names":["AuthWidget","props","_useMfeAuth","useMfeAuth","isAuthenticated","user","isLoading","loginPath","_jsx","ResponsiveDisplay","xs","AppIconButtonOrange","_objectSpread","component","href","children","LoginIcon","fontSize","md","AppButtonOrange","className","startIcon","Typography","variant","Profile","userName","displayName","urlAvatar","avatar","createAuthWidget","params","_AuthWidget"],"mappings":"mbAUaA,EAAmC,SAACC,GAC/C,IAAAC,EAA6CC,IAArCC,EAAeF,EAAfE,gBAAiBC,EAAIH,EAAJG,KAEzB,GAFwCH,EAATI,UAEhB,OAAO,KAEtB,IAAKF,EAAiB,CACpB,IAAMG,EAAY,SAClB,OACEC,EAACC,EAAiB,CAChBC,GACEF,EAACG,EAAmBC,EAAAA,EAAK,CAAA,EAAA,CAAEC,UAAW,IAAKC,KAAMP,IAAW,CAAA,EAAA,CAAAQ,SAC1DP,EAACQ,GAAUC,SAAS,aAGxBC,GACEV,EAACW,EAAeP,EAAAA,EAAA,CAACQ,UAAU,iBAAiBC,UAAWb,EAACQ,EAAS,CAACC,SAAS,WAAgB,CAAEJ,UAAW,IAAKC,KAAMP,IAAW,CAAA,EAAA,CAAAQ,SAC5HP,EAACc,EAAU,CAACC,QAAQ,KAAIR,SAAA,cAKjC,CAGD,OAAOP,EAACgB,EAAO,CAACC,UAAUpB,eAAAA,EAAMqB,cAAe,aAAcC,UAAWtB,aAAI,EAAJA,EAAMuB,QAChF,EAGaC,EAAmB,SAACC,GAC/B,IAAMC,EAA6C,SAAC9B,GAAK,OAAKO,EAACR,EAAUY,EAAAA,EAAA,CAAA,EAAKkB,GAAY7B,GAAS,EAEnG,OADA8B,EAAYL,YAAc,aACnBK,CACT"}
1
+ {"version":3,"file":"widget.js","sources":["../../src/auth/widget.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { Typography } from '@mui/material'\r\nimport Logout from '@mui/icons-material/Logout'\r\nimport LoginIcon from '@mui/icons-material/Login'\r\nimport ManageAccountsIcon from '@mui/icons-material/ManageAccounts'\r\nimport { AppButtonOrange, AppIconButtonOrange } from '../layout-global/ui.units'\r\nimport type { IAuthState } from './types'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport Profile from './profile'\r\nimport ResponsiveDisplay from '../components/responsive-display'\r\n\r\nexport interface ICreateAuthBase {\r\n baseUrl: IAppSiteBaseUrl\r\n hrefProfile?: string\r\n onProfileClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n hrefLogin?: string\r\n onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n hrefLogout?: string\r\n onLogoutClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void\r\n}\r\n\r\nexport interface IAuthWidgetProps extends IAuthState, ICreateAuthBase {}\r\n\r\n// interface IAuthWidgetBaseProps extends IAuthWidgetProps {}\r\n\r\nexport const AuthWidget: FC<IAuthWidgetProps> = (props) => {\r\n const { isAuthenticated, profile, isLoading } = props\r\n if (isLoading) return null\r\n\r\n if (!isAuthenticated) {\r\n return (\r\n <ResponsiveDisplay\r\n xs={\r\n <AppIconButtonOrange {...{ component: 'a', href: props.hrefLogin ?? '/' }} onClick={props.onLoginClick as any}>\r\n <LoginIcon fontSize='small' />\r\n </AppIconButtonOrange>\r\n }\r\n md={\r\n <AppButtonOrange\r\n className='animate-bounce'\r\n startIcon={<LoginIcon fontSize='small' />}\r\n {...{ component: 'a', href: props.hrefLogin ?? '/' }}\r\n onClick={props.onLoginClick as any}\r\n >\r\n <Typography variant='h6'>Login</Typography>\r\n </AppButtonOrange>\r\n }\r\n />\r\n )\r\n }\r\n\r\n // If the user is authenticated, display the AuthWidget with user details\r\n return (\r\n <Profile\r\n profile={profile}\r\n menuConfigs={[\r\n {\r\n title: 'Manage Profile',\r\n icon: <ManageAccountsIcon fontSize='small' />,\r\n href: props.hrefProfile,\r\n onClick: props.onProfileClick\r\n },\r\n { title: 'Logout', icon: <Logout fontSize='small' />, href: props.hrefLogout, onClick: props.onLogoutClick }\r\n ]}\r\n />\r\n )\r\n}\r\n\r\n// const AuthWidget: FC<IAuthWidgetProps> = (props) => {\r\n// const { profile, isAuthenticated, isLoading, ...otherProps } = props\r\n// const authState: IAuthState = { profile, isAuthenticated, isLoading }\r\n// const currentAuth = useAuth()\r\n// const { setState } = useAuthActions()\r\n\r\n// useEffect(() => {\r\n// setState(authState)\r\n// return () => {}\r\n// }, [JSON.stringify(authState)])\r\n\r\n// return <AuthWidgetBase profile={currentAuth.profile} {...otherProps} />\r\n// }\r\n\r\nexport default AuthWidget\r\n\r\nexport const createAuthWidget = (params: ICreateAuthBase) => {\r\n const _AuthWidget: FC<Omit<IAuthWidgetProps, 'baseUrl'>> = (props) => <AuthWidget {...params} {...props} />\r\n _AuthWidget.displayName = 'AuthWidget'\r\n return _AuthWidget\r\n}\r\n"],"names":["AuthWidget","props","_props$hrefLogin","_props$hrefLogin2","isAuthenticated","profile","isLoading","_jsx","Profile","menuConfigs","title","icon","ManageAccountsIcon","fontSize","href","hrefProfile","onClick","onProfileClick","Logout","hrefLogout","onLogoutClick","ResponsiveDisplay","xs","AppIconButtonOrange","_objectSpread","component","hrefLogin","onLoginClick","LoginIcon","md","AppButtonOrange","className","startIcon","children","Typography","variant","createAuthWidget","params","_AuthWidget","displayName"],"mappings":"udAyBaA,EAAmC,SAACC,GAC/C,IAGsBC,EAAAC,EAHdC,EAAwCH,EAAxCG,gBAAiBC,EAAuBJ,EAAvBI,QACzB,OADgDJ,EAAdK,UACZ,KAEjBF,EAwBHG,EAACC,EAAO,CACNH,QAASA,EACTI,YAAa,CACX,CACEC,MAAO,iBACPC,KAAMJ,EAACK,GAAmBC,SAAS,UACnCC,KAAMb,EAAMc,YACZC,QAASf,EAAMgB,gBAEjB,CAAEP,MAAO,SAAUC,KAAMJ,EAACW,EAAO,CAAAL,SAAS,UAAYC,KAAMb,EAAMkB,WAAYH,QAASf,EAAMmB,kBA/B/Fb,EAACc,GACCC,GACEf,EAACgB,EAAmBC,EAAAA,EAAK,CAAA,EAAA,CAAEC,UAAW,IAAKX,KAAqBZ,QAAjBA,EAAED,EAAMyB,iBAASxB,IAAAA,EAAAA,EAAI,MAAK,CAAA,EAAA,CAAEc,QAASf,EAAM0B,sBACxFpB,EAACqB,GAAUf,SAAS,aAGxBgB,GACEtB,EAACuB,EAAeN,EAAAA,EAAA,CACdO,UAAU,iBACVC,UAAWzB,EAACqB,GAAUf,SAAS,WAC3B,CAAEY,UAAW,IAAKX,KAAqBX,QAAjBA,EAAEF,EAAMyB,iBAASvB,IAAAA,EAAAA,EAAI,MAAK,CAAA,EAAA,CACpDa,QAASf,EAAM0B,aAAmBM,SAElC1B,EAAC2B,EAAU,CAACC,QAAQ,4BAsBhC,EAkBaC,EAAmB,SAACC,GAC/B,IAAMC,EAAqD,SAACrC,GAAK,OAAKM,EAACP,EAAUwB,EAAAA,EAAA,CAAA,EAAKa,GAAYpC,GAAS,EAE3G,OADAqC,EAAYC,YAAc,aACnBD,CACT"}
@@ -1,2 +1,2 @@
1
- import{createClass as t,objectSpread2 as e,classCallCheck as a,inherits as r,superPropGet as i,callSuper as n,defineProperty as o}from"../_virtual/_rollupPluginBabelHelpers.js";import s from"events";var l=function(){function e(){var t;return a(this,e),t=n(this,e),o(t,"_createWrapListener",function(t){return function(){try{t.apply(void 0,arguments)}catch(t){console.error("Error in MfeBridge listener:",t)}}}),t}return r(e,s),t(e,[{key:"subscribe",value:function(t,a){var r=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(a):a;return i(e,"addListener",this)([t,n]),function(){i(e,"removeListener",r)([t,n])}}}])}();function c(){return void 0===globalThis.CartEventStore&&(globalThis.CartEventStore=new l),globalThis.CartEventStore}var u=function(){return t(function t(e){a(this,t),this.configs=e,this.configs.localStorageKey||(this.configs.localStorageKey="cartItems"),this.loadFromLocalStorage()},[{key:"emitStateChange",value:function(t){var e=c();this.saveToLocalStorage(t),e.emit("stateChange",{items:t,options:{message:"Cart items updated"}})}},{key:"add",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.getState();return!e&&this.configs.idGetter(t)in a||(a[this.configs.idGetter(t)]=t),this.emitStateChange(a),this}},{key:"addMany",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.getState();return t.forEach(function(t){!a&&e.configs.idGetter(t)in r||(r[e.configs.idGetter(t)]=t)}),this.emitStateChange(r),this}},{key:"updateOrAdd",value:function(t,a){var r=this.getState(),i=r[t];return r[t]=i?e(e({},i),a):a,this.emitStateChange(r),this}},{key:"remove",value:function(t){var e=this.getState();return t in e&&(delete e[t],this.emitStateChange(e)),this}},{key:"clear",value:function(){return this.emitStateChange({}),this}},{key:"getState",value:function(){return this.loadFromLocalStorage()||{}}},{key:"getItems",value:function(){var t=this.getState();return Array.isArray(t)?t:Object.values(t)}},{key:"loadFromLocalStorage",value:function(){var t=localStorage.getItem(this.configs.localStorageKey||"cartItems");if(t)return JSON.parse(t)}},{key:"saveToLocalStorage",value:function(t){this.configs.localStorageKey?localStorage.setItem(this.configs.localStorageKey,JSON.stringify(t)):console.warn("No localStorageKey provided, skipping storage")}}])}();export{l as CartEventStore,u as MfeCartStore,c as getCartEventStore};
1
+ import{createClass as e,objectSpread2 as t,typeof as i,classCallCheck as a,defineProperty as r,inherits as n,superPropGet as o,callSuper as s}from"../_virtual/_rollupPluginBabelHelpers.js";import l from"events";var u=function(){function t(){var e;return a(this,t),e=s(this,t),r(e,"_createWrapListener",function(e){return function(){try{e.apply(void 0,arguments)}catch(e){console.error("Error in MfeBridge listener:",e)}}}),e}return n(t,l),e(t,[{key:"subscribe",value:function(e,i){var a=this,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?this._createWrapListener(i):i;return o(t,"addListener",this)([e,r]),function(){o(t,"removeListener",a)([e,r])}}}])}();function c(){return void 0===("undefined"==typeof globalThis?"undefined":i(globalThis))?null:(void 0===globalThis.CartEventStore&&(globalThis.CartEventStore=new u),globalThis.CartEventStore)}var h=function(){return e(function e(t){var i=this;a(this,e),r(this,"initialize",function(){var e=c();null==e||e.subscribe("requestState",function(){null==e||e.emit("stateChange",{items:i.getState()})})}),r(this,"destroy",function(){var e=c();null==e||e.removeAllListeners("requestState")}),this.configs=t,this.configs.localStorageKey||(this.configs.localStorageKey="cartItems"),this.initialize()},[{key:"emitStateChange",value:function(e){var t=c();this.saveToLocalStorage(e),null==t||t.emit("stateChange",{items:e,options:{message:"Cart items updated"}})}},{key:"add",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.getState();return!t&&this.configs.idGetter(e)in i||(i[this.configs.idGetter(e)]=e),this.emitStateChange(i),this}},{key:"addMany",value:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.getState();return e.forEach(function(e){!i&&t.configs.idGetter(e)in a||(a[t.configs.idGetter(e)]=e)}),this.emitStateChange(a),this}},{key:"updateOrAdd",value:function(e,i){var a=this.getState(),r=a[e];return a[e]=r?t(t({},r),i):i,this.emitStateChange(a),this}},{key:"remove",value:function(e){var t=this.getState();return e in t&&(delete t[e],this.emitStateChange(t)),this}},{key:"clear",value:function(){return this.emitStateChange({}),this}},{key:"getState",value:function(){return this.loadFromLocalStorage()||{}}},{key:"getItems",value:function(){var e=this.getState();return Array.isArray(e)?e:Object.values(e)}},{key:"loadFromLocalStorage",value:function(){if("undefined"!=typeof globalThis&&globalThis.localStorage){var e=localStorage.getItem(this.configs.localStorageKey||"cartItems");if(e)return JSON.parse(e)}}},{key:"saveToLocalStorage",value:function(e){"undefined"!=typeof globalThis&&globalThis.localStorage&&(this.configs.localStorageKey?localStorage.setItem(this.configs.localStorageKey,JSON.stringify(e)):console.warn("No localStorageKey provided, skipping storage"))}}])}();export{u as CartEventStore,h as MfeCartStore,c as getCartEventStore};
2
2
  //# sourceMappingURL=cart-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-store.js","sources":["../../src/cart/cart-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 add: [{ item: IItem }]\r\n update: [{ id: string; updates: Partial<IItem> }]\r\n remove: [{ id: string }]\r\n clear: []\r\n setState: [{ items: IItem }]\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\nexport function getCartEventStore() {\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 return (globalThis as any).CartEventStore as CartEventStore\r\n}\r\n\r\nexport interface ICartStoreConfigs {\r\n idGetter: IIdGetter\r\n localStorageKey?: string\r\n}\r\n\r\nexport 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.loadFromLocalStorage()\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 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 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 private saveToLocalStorage(items: IItem) {\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"],"names":["CartEventStore","_this","_classCallCheck","_callSuper","this","_defineProperty","callback","apply","arguments","error","console","_inherits","EventEmitter","_createClass","key","value","eventName","listener","_this2","action","_createWrapListener","_superPropGet","getCartEventStore","globalThis","MfeCartStore","config","configs","localStorageKey","loadFromLocalStorage","items","eventStore","saveToLocalStorage","emit","options","message","item","overwrite","length","undefined","getState","idGetter","emitStateChange","_this3","currentItems","forEach","id","updates","_objectSpread","Array","isArray","Object","values","storedItems","localStorage","getItem","JSON","parse","setItem","stringify","warn"],"mappings":"uMAoBaA,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,aAGaG,IAOd,YANkD,IAAtCC,WAAmBvB,iBAI3BuB,WAAmBvB,eAAiB,IAAIA,GAEpCuB,WAAmBvB,cAC7B,CAOA,IAAawB,EAAY,WAQtB,OAAAX,EAND,SAAAW,EAAYC,GAAyBvB,OAAAsB,GACnCpB,KAAKsB,QAAUD,EACVrB,KAAKsB,QAAQC,kBAChBvB,KAAKsB,QAAQC,gBAAkB,aAEjCvB,KAAKwB,sBACP,EAAC,CAAA,CAAAd,IAAA,kBAAAC,MAED,SAAgBc,GACd,IAAMC,EAAaR,IACnBlB,KAAK2B,mBAAmBF,GACxBC,EAAWE,KAAK,cAAe,CAAEH,MAAAA,EAAOI,QAAS,CAAEC,QAAS,uBAC9D,GAAC,CAAApB,IAAA,MAAAC,MAED,SAAIoB,GAAqC,IAA1BC,EAAA5B,UAAA6B,OAAA,QAAAC,IAAA9B,UAAA,IAAAA,UAAA,GACPqB,EAAQzB,KAAKmC,WAKnB,OAJIH,GAAehC,KAAKsB,QAAQc,SAASL,KAASN,IAChDA,EAAMzB,KAAKsB,QAAQc,SAASL,IAASA,GAEvC/B,KAAKqC,gBAAgBZ,GACdzB,IACT,GAAC,CAAAU,IAAA,UAAAC,MAED,SAAQc,GAAwC,IAAAa,EAAAtC,KAA1BgC,EAAA5B,UAAA6B,OAAA,QAAAC,IAAA9B,UAAA,IAAAA,UAAA,GACdmC,EAAevC,KAAKmC,WAO1B,OANAV,EAAMe,QAAQ,SAACT,IACTC,GAAeM,EAAKhB,QAAQc,SAASL,KAASQ,IAChDA,EAAaD,EAAKhB,QAAQc,SAASL,IAASA,EAEhD,GACA/B,KAAKqC,gBAAgBE,GACdvC,IACT,GAAC,CAAAU,IAAA,cAAAC,MAED,SAAY8B,EAAYC,GACtB,IAAMjB,EAAQzB,KAAKmC,WACbJ,EAAON,EAAMgB,GAOnB,OALEhB,EAAMgB,GADJV,EACOY,EAAAA,EAAQZ,GAAAA,GAASW,GAEdA,EAEd1C,KAAKqC,gBAAgBZ,GACdzB,IACT,GAAC,CAAAU,IAAA,SAAAC,MAED,SAAO8B,GACL,IAAMhB,EAAQzB,KAAKmC,WAKnB,OAJIM,KAAMhB,WACDA,EAAMgB,GACbzC,KAAKqC,gBAAgBZ,IAEhBzB,IACT,GAAC,CAAAU,IAAA,QAAAC,MAED,WAEE,OADAX,KAAKqC,gBAAgB,IACdrC,IACT,GAAC,CAAAU,IAAA,WAAAC,MAED,WACE,OAAOX,KAAKwB,wBAA0B,CAAE,CAC1C,GAAC,CAAAd,IAAA,WAAAC,MACD,WACE,IAAMc,EAAQzB,KAAKmC,WAEnB,OADaS,MAAMC,QAAQpB,GAASA,EAAQqB,OAAOC,OAAOtB,EAE5D,GAAC,CAAAf,IAAA,uBAAAC,MAEO,WACN,IAAMqC,EAAcC,aAAaC,QAAQlD,KAAKsB,QAAQC,iBAAmB,aACzE,GAAIyB,EACF,OAAOG,KAAKC,MAAMJ,EAEtB,GAAC,CAAAtC,IAAA,qBAAAC,MAEO,SAAmBc,GACrBzB,KAAKsB,QAAQC,gBACf0B,aAAaI,QAAQrD,KAAKsB,QAAQC,gBAAiB4B,KAAKG,UAAU7B,IAElEnB,QAAQiD,KAAK,gDAEjB,IAAC,CApFsB"}
1
+ {"version":3,"file":"cart-store.js","sources":["../../src/cart/cart-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\nexport 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 return (globalThis as any).CartEventStore as CartEventStore\r\n}\r\n\r\nexport interface ICartStoreConfigs {\r\n idGetter: IIdGetter\r\n localStorageKey?: string\r\n}\r\n\r\nexport 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","getCartEventStore","undefined","globalThis","_typeof","MfeCartStore","config","_this3","eventStore","subscribe","emit","items","getState","removeAllListeners","configs","localStorageKey","initialize","saveToLocalStorage","options","message","item","overwrite","length","idGetter","emitStateChange","_this4","currentItems","forEach","id","updates","_objectSpread","loadFromLocalStorage","Array","isArray","Object","values","localStorage","storedItems","getItem","JSON","parse","setItem","stringify","warn"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var n=function(n){return n.reduce(function(n,r){return{amount:n.amount+(r.Amount||0),price:n.price+(r.Price||0)*(r.Amount||0)}},{amount:0,price:0})};export{n as getTotalData};
1
+ var t=function(){var t,n;return null!==(n=(null!==(t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split("http").join(" http").match(/[hH][tT][tT][pP][sS]?:\/\/[^\s]+/g))&&void 0!==t?t:[]).filter(function(t){return t}).map(function(t){return t.trim()}))&&void 0!==n?n:[]},n=function(){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=new Set(t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")),r=n.trim();return i.has(r)},i=function(t){return t.reduce(function(t,n){return{quantity:t.quantity+1,quantityLinks:t.quantityLinks+(n.Amount||0),price:t.price+(n.Price||0)*(n.Amount||0)}},{quantity:0,quantityLinks:0,price:0})};export{n as areDuplicatedLink,t as convertStringToLinks,i as getTotalData};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/cart/helpers.ts"],"sourcesContent":["import { ICartItem } from './types'\r\n\r\n/**\r\n * Convert a string to an array of URLs using improved regex\r\n * @param text Input string\r\n * @returns Array of matched URLs\r\n */\r\nexport const convertStringToLinks = (text: string): string[] => {\r\n // Improved regex to match URLs more accurately\r\n const urlRegex = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/g\r\n return text.match(urlRegex) || []\r\n}\r\n\r\n/**\r\n * Calculate total amount and price from an array of cart items\r\n * Note: If item.Amount is undefined, it will be treated as 0\r\n * @param data Array of ICartItem\r\n * @returns Object with total amount and total price\r\n */\r\nexport const getTotalData = (data: ICartItem[]) => {\r\n return data.reduce(\r\n (acc, item) => ({\r\n amount: acc.amount + (item.Amount || 0),\r\n price: acc.price + (item.Price || 0) * (item.Amount || 0)\r\n }),\r\n { amount: 0, price: 0 }\r\n )\r\n}\r\n"],"names":["getTotalData","data","reduce","acc","item","amount","Amount","price","Price"],"mappings":"IAmBaA,EAAe,SAACC,GAC3B,OAAOA,EAAKC,OACV,SAACC,EAAKC,GAAI,MAAM,CACdC,OAAQF,EAAIE,QAAUD,EAAKE,QAAU,GACrCC,MAAOJ,EAAII,OAASH,EAAKI,OAAS,IAAMJ,EAAKE,QAAU,GACxD,EACD,CAAED,OAAQ,EAAGE,MAAO,GAExB"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/cart/helpers.ts"],"sourcesContent":["import { ICartItem } from './types'\r\n\r\n/**\r\n * Convert a string to an array of URLs using improved regex\r\n * @param text Input string\r\n * @returns Array of matched URLs\r\n */\r\nexport const convertStringToLinks = (text: string = ''): string[] => {\r\n const updatedText = text.split('http').join(' http')\r\n const list = updatedText.match(/[hH][tT][tT][pP][sS]?:\\/\\/[^\\s]+/g) ?? []\r\n return list.filter((x) => x).map((x) => x.trim()) ?? []\r\n}\r\n\r\n/**\r\n * Check if a link is duplicated in a string\r\n * @param linkString Input string containing links\r\n * @param value Link to check\r\n * @returns True if the link is duplicated, false otherwise\r\n */\r\nexport const areDuplicatedLink = (linkString: string = '', value: string = '') => {\r\n const linkSet = new Set(convertStringToLinks(linkString))\r\n const formatString = value.trim()\r\n return linkSet.has(formatString)\r\n}\r\n\r\n/**\r\n * Calculate total amount and price from an array of cart items\r\n * Note: If item.Amount is undefined, it will be treated as 0\r\n * @param data Array of ICartItem\r\n * @returns Object with total amount and total price\r\n */\r\nexport const getTotalData = (data: ICartItem[]) => {\r\n return data.reduce(\r\n (acc, item) => ({\r\n quantity: acc.quantity + 1,\r\n quantityLinks: acc.quantityLinks + (item.Amount || 0),\r\n price: acc.price + (item.Price || 0) * (item.Amount || 0)\r\n }),\r\n { quantity: 0, quantityLinks: 0, price: 0 }\r\n )\r\n}\r\n"],"names":["convertStringToLinks","_updatedText$match","_list$filter$map","arguments","length","undefined","split","join","match","filter","x","map","trim","areDuplicatedLink","value","linkSet","Set","formatString","has","getTotalData","data","reduce","acc","item","quantity","quantityLinks","Amount","price","Price"],"mappings":"IAOaA,EAAuB,WAAgC,IAAAC,EAAAC,EAGlE,OAAiDA,QAAjDA,GADmED,QAAzDA,GAFwCE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,IACzBG,MAAM,QAAQC,KAAK,SACnBC,MAAM,4CAAoCP,IAAAA,EAAAA,EAAI,IAC3DQ,OAAO,SAACC,GAAC,OAAKA,CAAC,GAAEC,IAAI,SAACD,GAAC,OAAKA,EAAEE,MAAM,UAACV,IAAAA,EAAAA,EAAI,EACvD,EAQaW,EAAoB,WAAgD,IAAtBC,EAAAX,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAgB,GACnEY,EAAU,IAAIC,IAAIhB,EAD6BG,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAA,KAE/Cc,EAAeH,EAAMF,OAC3B,OAAOG,EAAQG,IAAID,EACrB,EAQaE,EAAe,SAACC,GAC3B,OAAOA,EAAKC,OACV,SAACC,EAAKC,GAAI,MAAM,CACdC,SAAUF,EAAIE,SAAW,EACzBC,cAAeH,EAAIG,eAAiBF,EAAKG,QAAU,GACnDC,MAAOL,EAAIK,OAASJ,EAAKK,OAAS,IAAML,EAAKG,QAAU,GACxD,EACD,CAAEF,SAAU,EAAGC,cAAe,EAAGE,MAAO,GAE5C"}
package/dist/cart/hook.js CHANGED
@@ -1,2 +1,2 @@
1
- import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useState as t,useEffect as e}from"react";import{MfeCartStore as n,getCartEventStore as i}from"./cart-store.js";function a(){var a=new n({idGetter:function(r){return r.ProductId}}),o=t(a.getItems()),u=r(o,2),d=u[0],c=u[1];return e(function(){var r=i();r.emit("requestState",{});var t=r.subscribe("stateChange",function(r){var t=r.items,e=Array.isArray(t)?t:Object.values(t);c(e)});return function(){t()}},[]),{items:d}}function o(){var r=function(r){return r.ProductId};return{addToCart:function(t){new n({idGetter:r}).add(t)},updateOrAddCart:function(t,e){new n({idGetter:r}).updateOrAdd(t,e)},removeFromCart:function(t){new n({idGetter:r}).remove(t)},clearCart:function(){new n({idGetter:r}).clear()},idGetter:r}}export{o as useCartActions,a as useCartStore};
1
+ import{slicedToArray as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{useRef as t,useState as e,useEffect as n}from"react";import{MfeCartStore as o,getCartEventStore as a}from"./cart-store.js";function u(u){var c=t();c.current||(c.current=new o({localStorageKey:null==u?void 0:u.localStorageKey,idGetter:function(r){return r.ProductId}}));var i=c.current,l=e(i.getItems()),d=r(l,2),s=d[0],f=d[1];return n(function(){var r=a();(!s||s.length<1)&&(null==r||r.emit("requestState",{}));var t=null==r?void 0:r.subscribe("stateChange",function(r){var t=r.items,e=Array.isArray(t)?t:Object.values(t);f(e)});return function(){t&&t(),i.destroy()}},[]),{items:s}}function c(r){var e=function(r){return r.ProductId},n=t();n.current||(n.current=new o({localStorageKey:null==r?void 0:r.localStorageKey,idGetter:e}));var a=n.current;return{addToCart:function(r){a.add(r)},updateOrAddCart:function(r,t){a.updateOrAdd(r,t)},removeFromCart:function(r){a.remove(r)},clearCart:function(){a.clear()},idGetter:e}}export{c as useCartActions,u as useCartStore};
2
2
  //# sourceMappingURL=hook.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sources":["../../src/cart/hook.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\nimport { getCartEventStore, MfeCartStore } from './cart-store'\r\nimport { ICartItem } from './types'\r\n\r\nexport function useCartStore<T extends ICartItem = ICartItem>() {\r\n const store = new MfeCartStore({ idGetter: (item: T) => item.ProductId })\r\n const [items, setItems] = useState<T[]>(store.getItems() as T[])\r\n\r\n useEffect(() => {\r\n const event = getCartEventStore()\r\n event.emit('requestState', {})\r\n\r\n const unsubscribe = event.subscribe('stateChange', ({ items }) => {\r\n const item = Array.isArray(items) ? items : Object.values(items)\r\n setItems(item as T[])\r\n })\r\n return () => {\r\n unsubscribe()\r\n }\r\n }, [])\r\n\r\n return { items }\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 const store = new MfeCartStore({ idGetter })\r\n store.add(item)\r\n }\r\n\r\n const updateOrAddCart = (id: string, updates: Partial<T>) => {\r\n const store = new MfeCartStore({ idGetter })\r\n store.updateOrAdd(id, updates)\r\n }\r\n\r\n const removeFromCart = (id: string) => {\r\n const store = new MfeCartStore({ idGetter })\r\n store.remove(id)\r\n }\r\n\r\n const clearCart = () => {\r\n const store = new MfeCartStore({ idGetter })\r\n store.clear()\r\n }\r\n\r\n return {\r\n addToCart,\r\n updateOrAddCart,\r\n removeFromCart,\r\n clearCart,\r\n idGetter\r\n }\r\n}\r\n"],"names":["useCartStore","store","MfeCartStore","idGetter","item","ProductId","_useState","useState","getItems","_useState2","_slicedToArray","items","setItems","useEffect","event","getCartEventStore","emit","unsubscribe","subscribe","_ref","Array","isArray","Object","values","useCartActions","addToCart","add","updateOrAddCart","id","updates","updateOrAdd","removeFromCart","remove","clearCart","clear"],"mappings":"wMAIgBA,IACd,IAAMC,EAAQ,IAAIC,EAAa,CAAEC,SAAU,SAACC,GAAO,OAAKA,EAAKC,SAAS,IACtEC,EAA0BC,EAAcN,EAAMO,YAAkBC,EAAAC,EAAAJ,EAAA,GAAzDK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAetB,OAbAI,EAAU,WACR,IAAMC,EAAQC,IACdD,EAAME,KAAK,eAAgB,IAE3B,IAAMC,EAAcH,EAAMI,UAAU,cAAe,SAAAC,GAAc,IAAXR,EAAKQ,EAALR,MAC9CP,EAAOgB,MAAMC,QAAQV,GAASA,EAAQW,OAAOC,OAAOZ,GAC1DC,EAASR,EACX,GACA,OAAO,WACLa,GACD,CACF,EAAE,IAEI,CAAEN,MAAAA,EACX,UACgBa,IACd,IAAMrB,EAAW,SAACC,GAAO,OAAKA,EAAKC,SAAS,EAsB5C,MAAO,CACLoB,UArBgB,SAACrB,GACH,IAAIF,EAAa,CAAEC,SAAAA,IAC3BuB,IAAItB,EACX,EAmBCuB,gBAjBsB,SAACC,EAAYC,GACrB,IAAI3B,EAAa,CAAEC,SAAAA,IAC3B2B,YAAYF,EAAIC,EACvB,EAeCE,eAbqB,SAACH,GACR,IAAI1B,EAAa,CAAEC,SAAAA,IAC3B6B,OAAOJ,EACd,EAWCK,UATgB,WACF,IAAI/B,EAAa,CAAEC,SAAAA,IAC3B+B,OACP,EAOC/B,SAAAA,EAEJ"}
1
+ {"version":3,"file":"hook.js","sources":["../../src/cart/hook.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\r\nimport { getCartEventStore, MfeCartStore } from './cart-store'\r\nimport { ICartItem } from './types'\r\n\r\nexport interface ICartStoreOptions {\r\n localStorageKey?: string\r\n}\r\n\r\nexport function useCartStore<T extends ICartItem = ICartItem>(params?: ICartStoreOptions) {\r\n const storeRef = useRef<MfeCartStore>()\r\n if (!storeRef.current) {\r\n storeRef.current = new MfeCartStore({ localStorageKey: params?.localStorageKey, idGetter: (item: T) => item.ProductId })\r\n }\r\n const store = storeRef.current\r\n const [items, setItems] = useState<T[]>(store.getItems() as T[])\r\n\r\n useEffect(() => {\r\n const event = getCartEventStore()\r\n if (!items || items.length < 1) event?.emit('requestState', {})\r\n\r\n const unsubscribe = event?.subscribe('stateChange', ({ items }) => {\r\n const item = Array.isArray(items) ? items : Object.values(items)\r\n setItems(item as T[])\r\n })\r\n return () => {\r\n if (unsubscribe) unsubscribe()\r\n store.destroy()\r\n }\r\n }, [])\r\n\r\n return { items }\r\n}\r\n\r\nexport function useCartActions<T extends ICartItem = ICartItem>(params?: ICartStoreOptions) {\r\n const idGetter = (item: T) => item.ProductId\r\n\r\n const storeRef = useRef<MfeCartStore>()\r\n if (!storeRef.current) {\r\n storeRef.current = new MfeCartStore({ localStorageKey: params?.localStorageKey, idGetter })\r\n }\r\n const store = storeRef.current\r\n\r\n const addToCart = (item: T) => {\r\n store.add(item)\r\n }\r\n\r\n const updateOrAddCart = (id: string, updates: Partial<T>) => {\r\n store.updateOrAdd(id, updates)\r\n }\r\n\r\n const removeFromCart = (id: string) => {\r\n store.remove(id)\r\n }\r\n\r\n const clearCart = () => {\r\n store.clear()\r\n }\r\n\r\n return {\r\n addToCart,\r\n updateOrAddCart,\r\n removeFromCart,\r\n clearCart,\r\n idGetter\r\n }\r\n}\r\n"],"names":["useCartStore","params","storeRef","useRef","current","MfeCartStore","localStorageKey","idGetter","item","ProductId","store","_useState","useState","getItems","_useState2","_slicedToArray","items","setItems","useEffect","event","getCartEventStore","length","emit","unsubscribe","subscribe","_ref","Array","isArray","Object","values","destroy","useCartActions","addToCart","add","updateOrAddCart","id","updates","updateOrAdd","removeFromCart","remove","clearCart","clear"],"mappings":"2MAQM,SAAUA,EAA8CC,GAC5D,IAAMC,EAAWC,IACZD,EAASE,UACZF,EAASE,QAAU,IAAIC,EAAa,CAAEC,gBAAiBL,aAAAA,EAAAA,EAAQK,gBAAiBC,SAAU,SAACC,GAAO,OAAKA,EAAKC,SAAS,KAEvH,IAAMC,EAAQR,EAASE,QACvBO,EAA0BC,EAAcF,EAAMG,YAAkBC,EAAAC,EAAAJ,EAAA,GAAzDK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAgBtB,OAdAI,EAAU,WACR,IAAMC,EAAQC,MACTJ,GAASA,EAAMK,OAAS,KAAGF,SAAAA,EAAOG,KAAK,eAAgB,CAAA,IAE5D,IAAMC,EAAcJ,aAAAA,EAAAA,EAAOK,UAAU,cAAe,SAAAC,GAAc,IAAXT,EAAKS,EAALT,MAC/CR,EAAOkB,MAAMC,QAAQX,GAASA,EAAQY,OAAOC,OAAOb,GAC1DC,EAAST,EACX,GACA,OAAO,WACDe,GAAaA,IACjBb,EAAMoB,SACP,CACF,EAAE,IAEI,CAAEd,MAAAA,EACX,CAEM,SAAUe,EAAgD9B,GAC9D,IAAMM,EAAW,SAACC,GAAO,OAAKA,EAAKC,SAAS,EAEtCP,EAAWC,IACZD,EAASE,UACZF,EAASE,QAAU,IAAIC,EAAa,CAAEC,gBAAiBL,aAAAA,EAAAA,EAAQK,gBAAiBC,SAAAA,KAElF,IAAMG,EAAQR,EAASE,QAkBvB,MAAO,CACL4B,UAjBgB,SAACxB,GACjBE,EAAMuB,IAAIzB,EACX,EAgBC0B,gBAdsB,SAACC,EAAYC,GACnC1B,EAAM2B,YAAYF,EAAIC,EACvB,EAaCE,eAXqB,SAACH,GACtBzB,EAAM6B,OAAOJ,EACd,EAUCK,UARgB,WAChB9B,EAAM+B,OACP,EAOClC,SAAAA,EAEJ"}
@@ -1,2 +1,2 @@
1
- export{CartWidget,createCartWidget}from"./widget.js";export{useCartActions,useCartStore}from"./hook.js";
1
+ export{CartWidget,createCartWidget}from"./widget.js";export{useCartActions,useCartStore}from"./hook.js";export{areDuplicatedLink,convertStringToLinks,getTotalData}from"./helpers.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r,inherits as e,createClass as n,classCallCheck as o,callSuper as t,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{Fragment as c,Component as s}from"react";import{ImageWithFallback as m}from"dinocollab-core/components";import{Badge as d,Typography as p,Divider as u,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{MenuStyled as b,CartContentStyled as k,cartContentClasses as N}from"./styled.js";import{getTotalData as P}from"./helpers.js";import{useCartStore as y,useCartActions as S}from"./hook.js";import{DarkIconButton as j}from"../components/buttons.js";import{NoDataPanel as E}from"../components/no-data-panel.js";var I=function(){function r(e){var n;return o(this,r),n=t(this,r,[e]),i(n,"render",function(){return l(c,{children:[a(j,{onClick:function(r){return n.onOpen(r.currentTarget)},children:a(d,{badgeContent:n.props.data.length,color:"primary",children:a(g,{})})}),a(b,{disableScrollLock:!0,anchorEl:n.state.anchorEl,open:Boolean(n.state.anchorEl),onClose:n.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:n.renderContent()})]})}),i(n,"renderContent",function(){var r=P(n.props.data);return l(k,{children:[l("div",{className:N.header,children:[l(p,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",r.amount," items)"]}),l(p,{variant:"h6",component:"span",children:["Total: $ ",r.price.toFixed(2)]})]}),a(u,{}),l("div",{className:N.items,children:[n.props.data.map(function(r,e){return a(c,{children:n.renderItem(r)},"key"+e)}),n.props.data.length<1&&a(E,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%"}})]}),a(u,{}),a("div",{className:N.footer,children:a(h,{component:"a",href:n.props.baseUrl.client+"/cart",color:"inherit",endIcon:a(x,{}),onClick:n.onClose,disabled:n.props.data.length<1,children:"Show in cart"})})]})}),i(n,"renderItem",function(r){var e,o,t,i,c,s=n.props.baseUrl.api+(null==r?void 0:r.PictureUrl);return l("div",{className:N.item,children:[a(m,{className:N.itemImg,src:s,title:s,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),l("div",{className:N.itemContent,children:[a(p,{className:N.itemTag,variant:"caption",sx:{color:null!==(e=r.PriceColor)&&void 0!==e?e:"#000"},children:null!==(o=r.PriceName)&&void 0!==o?o:"Unknown Price"}),a(p,{className:N.itemTitle,noWrap:!0,variant:"subtitle1",children:null!==(t=r.ProductName)&&void 0!==t?t:"Unknown Product"}),l(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[l(p,{variant:"subtitle1",children:["$ ",null!==(i=r.Price)&&void 0!==i?i:0]}),l(p,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(c=r.Amount)&&void 0!==c?c:0," urls"]})]})]}),a(v,{size:"small",onClick:function(){var e,o;return null===(e=(o=n.props).onRemove)||void 0===e?void 0:e.call(o,r)},sx:{color:"#818181"},children:a(C,{})})]})}),i(n,"onOpen",function(r){n.setState({anchorEl:r})}),i(n,"onClose",function(){n.setState({anchorEl:null})}),n.state={anchorEl:null},n}return e(r,s),n(r)}(),T=function(e){var n=y().items,o=S().removeFromCart;return a(I,r({data:n,onRemove:function(r){o(r.ProductId)}},e))},O=function(e){var n=function(n){return a(T,r(r({},e),n))};return n.displayName="CartWidget",n};export{T as CartWidget,O 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 a,jsx as l}from"react/jsx-runtime";import{Fragment as c,Component 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{MenuStyled as y,CartContentStyled as b,cartContentClasses as k}from"./styled.js";import{getTotalData as N}from"./helpers.js";import{DarkIconButton as P}from"../components/buttons.js";import{NoDataPanel as S}from"../components/no-data-panel.js";var j=function(){function j(r){var e;return t(this,j),e=n(this,j,[r]),o(e,"render",function(){var r;return a(c,{children:[l(P,{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,{})})}),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()})]})}),o(e,"renderContent",function(){var r,t=N(e.carts);return a(b,{children:[a("div",{className:k.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=t.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",t.price.toFixed(2)]})]}),l(p,{}),a("div",{className:k.items,children:[e.carts.map(function(r,t){return l(c,{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:k.footer,children:l(h,i(i({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onCartClick&&e.props.onCartClick(r)},disabled:e.carts.length<1,children:"Show in cart"}))})]})}),o(e,"renderItem",function(r){var t,n,o,i,c;return a("div",{className:k.item,children:[l(d,{className:k.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:k.itemContent,children:[l(u,{className:k.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"}),l(u,{className:k.itemTitle,noWrap:!0,variant:"subtitle1",children:null!==(o=r.ProductName)&&void 0!==o?o:"Unknown Product"}),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(i=r.Price)&&void 0!==i?i:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(c=r.Amount)&&void 0!==c?c: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,{})})]})}),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(j,s),e(j,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),E=function(r){var e=function(e){return l(j,i(i({},r),e))};return e.displayName="CartWidget",e};export{j as CartWidget,E 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, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\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 { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\nimport { getTotalData } from './helpers'\r\nimport { useCartActions, useCartStore } from './hook'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { DarkIconButton, NoDataPanel } from '../components'\r\n\r\ninterface ICartWidgetBaseProps {\r\n baseUrl: IAppSiteBaseUrl\r\n /** Optional storage key to differentiate between different cart instances */\r\n storageKey?: string\r\n}\r\n\r\ninterface ICartWidgetProps extends ICartWidgetBaseProps {\r\n data: ICartItem[]\r\n onRemove?: (item: ICartItem) => void\r\n}\r\n\r\ninterface ICartWidgetState {\r\n anchorEl: HTMLElement | null\r\n}\r\n\r\nclass CartWidgetBase extends Component<ICartWidgetProps, ICartWidgetState> {\r\n constructor(props: ICartWidgetProps) {\r\n super(props)\r\n this.state = { anchorEl: null }\r\n }\r\n\r\n render = () => (\r\n <Fragment>\r\n <DarkIconButton onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.props.data.length} color='primary'>\r\n <ShoppingCartOutlinedIcon />\r\n </Badge>\r\n </DarkIconButton>\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.props.data)\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.amount} 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.props.data.map((x, i) => (\r\n <Fragment key={'key' + i}>{this.renderItem(x)}</Fragment>\r\n ))}\r\n {this.props.data.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 component='a'\r\n href={this.props.baseUrl.client + '/cart'}\r\n color='inherit'\r\n endIcon={<ShoppingCartCheckoutIcon />}\r\n onClick={this.onClose}\r\n disabled={this.props.data.length < 1}\r\n >\r\n Show in cart\r\n </Button>\r\n </div>\r\n </CartContentStyled>\r\n )\r\n }\r\n\r\n renderItem = (item: ICartItem) => {\r\n const src = this.props.baseUrl.api + item?.PictureUrl\r\n return (\r\n <div className={cartContentClasses.item}>\r\n <ImageWithFallback\r\n className={cartContentClasses.itemImg}\r\n src={src}\r\n title={src}\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 <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1'>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\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.onRemove?.(item)} sx={{ color: '#818181' }}>\r\n <RemoveIcon />\r\n </IconButton>\r\n </div>\r\n )\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 CartWidget: FC<ICartWidgetBaseProps> = (props) => {\r\n const { items } = useCartStore()\r\n const { removeFromCart } = useCartActions<ICartItem>()\r\n\r\n return (\r\n <CartWidgetBase\r\n data={items}\r\n onRemove={(x) => {\r\n removeFromCart(x.ProductId)\r\n }}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport const createCartWidget = (params: ICartWidgetBaseProps) => {\r\n const _CartWidget: FC<Partial<ICartWidgetBaseProps>> = (props) => <CartWidget {...params} {...props} />\r\n _CartWidget.displayName = 'CartWidget'\r\n return _CartWidget\r\n}\r\n"],"names":["CartWidgetBase","props","_this","_classCallCheck","_callSuper","_defineProperty","_jsxs","Fragment","children","_jsx","DarkIconButton","onClick","e","onOpen","currentTarget","Badge","badgeContent","data","length","color","ShoppingCartOutlinedIcon","MenuStyled","disableScrollLock","anchorEl","state","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","MenuListProps","component","renderContent","totalData","getTotalData","CartContentStyled","className","cartContentClasses","header","Typography","variant","sx","flex","amount","price","toFixed","Divider","items","map","x","i","renderItem","NoDataPanel","title","subTitle","height","footer","Button","href","baseUrl","client","endIcon","ShoppingCartCheckoutIcon","disabled","item","_item$PriceColor","_item$PriceName","_item$ProductName","_item$Price","_item$Amount","src","api","PictureUrl","ImageWithFallback","itemImg","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","itemTitle","noWrap","ProductName","Box","display","alignItems","gap","justifyContent","Price","fontSize","mb","Amount","IconButton","size","_this$props$onRemove","_this$props","onRemove","call","RemoveIcon","target","setState","_inherits","Component","_createClass","CartWidget","useCartStore","removeFromCart","useCartActions","_objectSpread","ProductId","createCartWidget","params","_CartWidget","displayName"],"mappings":"03BAY2D,IAiBrDA,aACJ,SAAAA,EAAYC,GAAuB,IAAAC,EAEF,OAFEC,OAAAH,GACjCE,EAAAE,EAAAJ,KAAAA,GAAMC,IAAMI,EAAAH,EAIL,SAAA,WAAA,OACPI,EAACC,EACC,CAAAC,SAAA,CAAAC,EAACC,EAAc,CAACC,QAAS,SAACC,GAAC,OAAKV,EAAKW,OAAOD,EAAEE,cAAc,EAC1DN,SAAAC,EAACM,EAAM,CAAAC,aAAcd,EAAKD,MAAMgB,KAAKC,OAAQC,MAAM,UACjDX,SAAAC,EAACW,EAAwB,CAAA,OAG7BX,EAACY,EAAU,CACTC,mBAAiB,EACjBC,SAAUrB,EAAKsB,MAAMD,SACrBE,KAAMC,QAAQxB,EAAKsB,MAAMD,UACzBI,QAASzB,EAAKyB,QACdC,aAAc,CAAEC,SAAU,MAAOC,WAAY,SAC7CC,gBAAiB,CAAEF,SAAU,MAAOC,WAAY,SAChDE,cAAe,CAAEC,UAAW,OAE3BzB,SAAAN,EAAKgC,uBAGX7B,EAAAH,EAAA,gBAEe,WACd,IAAMiC,EAAYC,EAAalC,EAAKD,MAAMgB,MAC1C,OACEX,EAAC+B,EAAiB,CAAA7B,SAAA,CAChBF,SAAKgC,UAAWC,EAAmBC,iBACjClC,EAACmC,GAAWC,QAAQ,KAAKT,UAAU,OAAOU,GAAI,CAAEC,KAAM,GACxCpC,SAAA,CAAA,cAAA2B,EAAUU,OAAM,aAE9BvC,EAACmC,GAAWC,QAAQ,KAAKT,UAAU,OACvBzB,SAAA,CAAA,YAAA2B,EAAUW,MAAMC,QAAQ,SAGtCtC,EAACuC,MACD1C,EAAA,MAAA,CAAKgC,UAAWC,EAAmBU,MAAKzC,SAAA,CACrCN,EAAKD,MAAMgB,KAAKiC,IAAI,SAACC,EAAGC,GAAC,OACxB3C,EAACF,YAA0BL,EAAKmD,WAAWF,IAA5B,MAAQC,EAAkC,GAE1DlD,EAAKD,MAAMgB,KAAKC,OAAS,GAAKT,EAAC6C,EAAW,CAACC,MAAM,qBAAqBC,SAAS,2BAA2Bb,GAAI,CAAEc,OAAQ,aAE3HhD,EAACuC,EAAO,CAAA,GACRvC,EAAK,MAAA,CAAA6B,UAAWC,EAAmBmB,OAAMlD,SACvCC,EAACkD,GACC1B,UAAU,IACV2B,KAAM1D,EAAKD,MAAM4D,QAAQC,OAAS,QAClC3C,MAAM,UACN4C,QAAStD,EAACuD,MACVrD,QAAST,EAAKyB,QACdsC,SAAU/D,EAAKD,MAAMgB,KAAKC,OAAS,EAG5BV,SAAA,wBAIhBH,EAAAH,EAEY,aAAA,SAACgE,GAAmB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzBC,EAAMtE,EAAKD,MAAM4D,QAAQY,KAAMP,aAAAA,EAAAA,EAAMQ,YAC3C,OACEpE,SAAKgC,UAAWC,EAAmB2B,eACjCzD,EAACkE,GACCrC,UAAWC,EAAmBqC,QAC9BJ,IAAKA,EACLjB,MAAOiB,EACPK,YAAY,4BACZC,IAAI,oBAENxE,EAAK,MAAA,CAAAgC,UAAWC,EAAmBwC,YACjCvE,SAAA,CAAAC,EAACgC,EAAW,CAAAH,UAAWC,EAAmByC,QAAStC,QAAQ,UAAUC,GAAI,CAAExB,MAAsBgD,QAAjBA,EAAED,EAAKe,kBAAUd,IAAAA,EAAAA,EAAI,QAClG3D,SAAc4D,QAAdA,EAAAF,EAAKgB,iBAASd,IAAAA,EAAAA,EAAI,kBAErB3D,EAACgC,EAAW,CAAAH,UAAWC,EAAmB4C,UAAWC,QAAO,EAAA1C,QAAQ,qBACjD2B,UAAhBH,EAAKmB,mBAAWhB,IAAAA,EAAAA,EAAI,oBAEvB/D,EAACgF,EAAG,CAAC3C,GAAI,CAAE4C,QAAS,OAAQC,WAAY,WAAYC,IAAK,MAAOC,eAAgB,YAAYlF,SAAA,CAC1FF,EAACmC,EAAU,CAACC,QAAQ,YAAWlC,SAAA,CAAA,KAAc8D,QAAdA,EAAIJ,EAAKyB,aAAKrB,IAAAA,EAAAA,EAAI,KACjDhE,EAACmC,EAAW,CAAAC,QAAQ,QAAQC,GAAI,CAAEiD,SAAU,OAAQC,GAAI,MAAO1E,MAAO,yBACvD,UAAX+C,EAAK4B,cAAMvB,IAAAA,EAAAA,EAAI,mBAIvB9D,EAACsF,GAAWC,KAAK,QAAQrF,QAAS,WAAF,IAAAsF,EAAAC,EAAA,eAAAD,GAAQC,EAAAhG,EAAKD,OAAMkG,gBAAQ,IAAAF,OAAA,EAAnBA,EAAAG,KAAAF,EAAsBhC,EAAK,EAAEvB,GAAI,CAAExB,MAAO,WAChFX,SAAAC,EAAC4F,EAAa,CAAA,UAIrBhG,EAAAH,EAEQ,SAAA,SAACoG,GACRpG,EAAKqG,SAAS,CAAEhF,SAAU+E,MAC3BjG,EAAAH,EAAA,UAES,WACRA,EAAKqG,SAAS,CAAEhF,SAAU,SAjG1BrB,EAAKsB,MAAQ,CAAED,SAAU,MAAMrB,CACjC,CAAC,OAAAsG,EAAAxG,EAJ0ByG,GAI1BC,EAAA1G,EAAA,IAoGU2G,EAAuC,SAAC1G,GACnD,IAAQgD,EAAU2D,IAAV3D,MACA4D,EAAmBC,IAAnBD,eAER,OACEpG,EAACT,EAAc+G,EAAA,CACb9F,KAAMgC,EACNkD,SAAU,SAAChD,GACT0D,EAAe1D,EAAE6D,UACnB,GACI/G,GAGV,EAEagH,EAAmB,SAACC,GAC/B,IAAMC,EAAiD,SAAClH,GAAK,OAAKQ,EAACkG,EAAUI,EAAAA,EAAA,CAAA,EAAKG,GAAYjH,GAAS,EAEvG,OADAkH,EAAYC,YAAc,aACnBD,CACT"}
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, Divider, IconButton, Typography } from '@mui/material'\r\nimport type { FC } from 'react'\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 { cartContentClasses, CartContentStyled, MenuStyled } from './styled'\r\nimport { getTotalData } from './helpers'\r\nimport { IAppSiteBaseUrl } from '../types'\r\nimport { DarkIconButton, NoDataPanel } from '../components'\r\n\r\ninterface ICartWidgetProps {\r\n baseUrl: IAppSiteBaseUrl\r\n carts?: ICartItem[]\r\n hrefCart?: string\r\n storageKey?: string\r\n onRemoveCart?: (item: ICartItem) => void\r\n onCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void\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 <DarkIconButton onClick={(e) => this.onOpen(e.currentTarget)}>\r\n <Badge badgeContent={this.state.hydrated ? this.carts.length ?? 0 : 0} color='error'>\r\n <ShoppingCartOutlinedIcon />\r\n </Badge>\r\n </DarkIconButton>\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.onCartClick) {\r\n this.props.onCartClick(event as React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>)\r\n }\r\n }}\r\n disabled={this.carts.length < 1}\r\n >\r\n Show in cart\r\n </Button>\r\n </div>\r\n </CartContentStyled>\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 <Typography className={cartContentClasses.itemTitle} noWrap variant='subtitle1'>\r\n {item.ProductName ?? 'Unknown Product'}\r\n </Typography>\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","DarkIconButton","onClick","e","onOpen","currentTarget","Badge","badgeContent","state","hydrated","carts","length","color","ShoppingCartOutlinedIcon","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","onCartClick","disabled","item","_item$PriceColor","_item$PriceName","_item$ProductName","_item$Price","_item$Amount","ImageWithFallback","itemImg","src","PictureUrl","fallbackSrc","alt","itemContent","itemTag","PriceColor","PriceName","itemTitle","noWrap","ProductName","Box","display","alignItems","gap","justifyContent","Price","fontSize","mb","Amount","IconButton","size","_this$props$onRemoveC","_this$props","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{objectWithoutProperties as e,objectSpread2 as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as r}from"react/jsx-runtime";import{useCallback as a,useMemo as o}from"react";import{styled as n,Button as s,Box as c,Typography as l}from"@mui/material";var A=["children","startIcon","className","forceTheme"],g="data:image/webp;base64,UklGRkwEAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSM4DAAABoEXb2iFJ+jKzjLZt27Zt27Zt27Zt27Zt24jM+5BfZPzxR/yrn2ZWREwA/Xdy+ctuYHMU9QRp8D4eQTnZwJ8JUU1aHZwMV0waPZwKUhUORFYVjioLJ8JVhT1hqsJhp2o0HewPU8zkAzo44FLLqJA9OtgeppQJFHZMB3sUQ3REB3uDFBNpvw42+AkqtXBFc1ui4BM6aCmmPQBssiUKOaZzSkis914oY0sUeoI7IaT8H6aPPVHocaa2kBoaM9imKMoaQBvtElL1LzPArogylE9NYu1P/D9f9Lp1Yyip7BvgXUWHgj4CwNsg9WQGm1k9NbmqNpavfGwxFbhythX3GPCjiUNEebvbBu/M6gkAO1Y9ibhVEjiiR7KXeNwS8xId+vFxRbjlAoo2TOfg4soS5Q0A7Lda0DkA0ySrq3n9yWGxA/BuI1dXeLvrWivea2a3S6rOXD0uxoQz++tYIPk75liwVJ24OkzgVQBaU/mScYcDrdMM3mfkS2q9xcwnBS1hvitoIfPVUEDqah0GDu3bonQCh0qCKy554gGvXR6V1WlPi5lvvoR0uA+DniMlnXa0nPniQ7kHELkncTJDybmjQdbpyVzXcczTIPbrMEOJ3jIHA6xQl4ny3qs3F+UkzPbB9ZCZRlJ14xoylHrXh2dDgpgYFyAP5XIDuBMgV3O3l1aGIwoNIP489D1XprSsVKpK1yXPxFHGqesHRCa50v/0ekGGXaug+3d5NifxQZVOCPNZGmr2B3ifw1hpt86VXA7y1dX0h3kJuZXmUZIGtSKR8Z/g1wWR0RSPTYvCzZFA7EDw2wLJePJ7ZtFbppI1wl5wN0hoetOKfgM86wOt0RSsllUMdTCLMoyd19ifrLGBm06CI9/kRgrz2UBVrooZr7nsomg0t1C6ElwRM8B+J+EJuHsO2fy4MBNKcWPF0W8G0tF4AJ4pThOGcllMOM8lls5RY/Wa2mTmEi7AhC1cHunM32jeaq6Q7cw1bzmX03b6c8VN2MHFsZ2c3FITfnAO2yEO4rKBvWhDd7iiwhZzo8l+5nFrXIJivmT+VpShhsYMkabSXwblBC0A+zamDGV+Mz2lcdziPocLqQl+BckY8TVTSBqqz+F6dAHFP+s4paDKXlNI4pscricxVPUn+EEkaZpBI0uQzBm/cfjQ0ulTzLka+PORZJF/kA5wuXlsnUzD30E/A9n2cj3gx5HZg3oPXXYFPrork30HrvLoCfS0cdoYuWaJ02qSzbf4KOhmJrL9pFvdAr6OdZECnfk3/jbwdmoCUmXC9pufcH+uL60Vkf6XMVZQOCBYAAAAEAcAnQEqeAB4AD6RSJ9LpaQioaSIALASCWlu4XEgAqWZ93Pu1keUUni2PHdLNfliQEgJASAkBICQEgJASAkBGAAA/v6knwxv//8VGk/xH3//+MPIwAAAAA==",m="data:image/webp;base64,UklGRngCAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSAgCAAABkAXZtmk769nvxbbt5M+2bdvOp23btm3btm0nBzM8r9a5a8WpiogJoP8XB5eZceCMsMfXdkzuxVf4HkS2p4Vz9Tch9e3UPK0APJ/cuVFDURs0H3AEwOUwjtQGcCUTSTzUAKZyDAbexyOZRwMmx1mgLUkNWBwAkok1D+B5GFesLv8AyFyuZHIvheLMBYDpqfTZgW8+ba5NUXx/bXpdtjiA2TlMkztOgItVFbnuDJgeXY1rkcH1elrB2pRKKeBd/yClgGu5tMKH6b5KATfr+SgF7ErlpRTMDr5KASczagVkU+uUWq9zaPWhuFavMmm1h5R6nUSpDclJpRdViFWwWTFJpRuFiVuolz2CSKXD8cmFEj1u5kMaGcvCyZ3i3CxKbvW465GwegaTFrcc2ftykIs9bpOT+x3I1R6X28H0RKQKLfzWtdLkds8L7wngXZ+YpA5R2qoVEpEHSuCpf7nZQGqxVsPmOAH0lCoIsDj6Akgjk9d04CNHHAN4UkyisEU20J+DygOwlg/pLWzfyQ8A7PdnoVbvIfWxuMScb69MrwYGErtv9u5zVsu6ZunI8rHoD8LYBeLpFH4YJ4JUSvwEVoRW0CnRIxjhetRZuvz7Gz8Aa5aLunI8B4TneCabzZGhSdPvd38Nu11TUZvV4HCc6BE+hpPGSZ4CESolfICP4Sr5jn01yVel/+8CVlA4IEoAAACQBgCdASp4AHgAPpFIoUylpCMiIIgAsBIJaW7hdJAAT22IvEgubeI386q8sEbEFRz2xF4gqOe2IvEFRzvAAP7/Uk9vLwAAAAAAAA==",d=function(n){var s=n.children,g=n.startIcon,m=n.className,d=n.forceTheme,b=e(n,A),v=a(function(){if(!g)return null;var e=g;return"string"==typeof g&&(e=i(c,{component:"span",className:"icon-img",sx:{"--mask-url":"url(".concat(g,")")}})),i("span",{className:"icon-static",children:e})},[g]),u=o(function(){var e=["tab-button"];return e.push(m||""),e.join(" ")},[m]);return r(p,t(t({},b),{},{className:u,forceTheme:d,children:[v(),r("div",{className:"text-container",children:[i(l,{variant:"h6",className:"text text-visible",children:s}),i(l,{variant:"h6",className:"text text-hidden",children:s})]})]}))},p=n(s,{shouldForwardProp:function(e){return"forceTheme"!==e}})(function(e){var t=e.theme,i=e.forceTheme,r={dark:{primary:t.palette.common.white,secondary:"rgb(249, 169, 37)",iconActive:"rgb(249, 169, 37)",bgGradient:"linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%",iconImageFilter:"invert(1) brightness(2)"},light:{primary:t.palette.common.black,secondary:"rgb(156, 39, 176)",iconActive:"rgb(156, 39, 176)",bgGradient:"linear-gradient(45deg, rgb(25, 118, 210) 0%, rgb(156, 39, 176) 70%, rgb(25, 118, 210) 100%) 0% 0% / 200%",iconImageFilter:"invert(0) brightness(0.2)"}}[i||t.palette.mode];return{"--color-primary":r.primary,"--color-secondary":r.secondary,"--bg-underline":r.bgGradient,"--bg-icon":r.bgGradient,"--icon-color-active":r.iconActive,"--size-icon":"24px","--spacing-x-size":"12px","--timing-fast":"0.25s","--timing-medium":"0.3s","--easing-smooth":"cubic-bezier(0.25, 0.46, 0.45, 0.94)","--easing-bounce":"cubic-bezier(0.34, 1.56, 0.64, 1)",height:"var(--height-button, 40px)",position:"relative",overflow:"hidden",transition:"transform 0.2s, box-shadow 0.2s",display:"flex",alignItems:"center",gap:"8px",padding:"6px var(--spacing-x-size)",color:"var(--color-primary)",backgroundColor:"transparent !important","&::after":{content:'""',position:"absolute",bottom:"2px",left:"var(--spacing-x-size)",width:"0",height:"2px",background:"var(--bg-underline)",transition:"width var(--timing-fast) var(--easing-smooth)"},"& .icon-static":{display:"flex",alignItems:"center",flexShrink:0,transition:"transform var(--timing-medium) var(--easing-bounce)",transformOrigin:"left bottom",position:"relative","img, svg, .icon-img":{width:"var(--size-icon)",height:"var(--size-icon)"},".icon-img":{backgroundImage:"var(--mask-url)",backgroundSize:"cover",backgroundPosition:"center",display:"block",borderRadius:4,transition:"filter 0.3s",position:"relative",zIndex:1,filter:r.iconImageFilter}},"& .text-container":{position:"relative",overflow:"hidden",flex:1},".text":{textTransform:"none",fontWeight:600,fontSize:"1.125rem",lineHeight:1.6,transformOrigin:"left bottom"},"& .text-visible, & .text-hidden":{transition:"transform var(--timing-medium) var(--easing-smooth)",display:"block",width:"100%",textAlign:"left",margin:0},"& .text-visible":{transform:"translateY(0) skewY(0)",opacity:1},"& .text-hidden":{position:"absolute",top:"50%",left:"0",transform:"translateY(50%) skewY(15deg)",opacity:1},"&.active-tab":{"& .icon-static":{color:"var(--icon-color-active)",".icon-img":{background:"var(--bg-icon)",WebkitMaskImage:"var(--mask-url)",maskImage:"var(--mask-url)",WebkitMaskRepeat:"no-repeat",maskRepeat:"no-repeat",WebkitMaskSize:"cover",maskSize:"cover",filter:"none"}},"&::after":{width:"var(--size-icon)"}},"&.inactive-tab":{"&::after":{width:"0"}},"&:hover":{"&::after":{width:"calc(100% - (var(--spacing-x-size) * 2))"},"& .icon-static":{transform:"rotate(-10deg)"},"& .text-visible":{transform:"translateY(-100%) skewY(-15deg)",opacity:1},"& .text-hidden":{transform:"translateY(-50%) skewY(0)",opacity:1}}}});export{d as ButtonAnimation,g as IconAudioBase64,m as IconVideoBase64};
1
+ import{objectWithoutProperties as e,objectSpread2 as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{useCallback as r,useMemo as n}from"react";import{styled as o,Button as s,Box as c,Typography as l}from"@mui/material";var A=["children","startIcon","className","forceTheme"],g="data:image/webp;base64,UklGRkwEAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSM4DAAABoEXb2iFJ+jKzjLZt27Zt27Zt27Zt27Zt24jM+5BfZPzxR/yrn2ZWREwA/Xdy+ctuYHMU9QRp8D4eQTnZwJ8JUU1aHZwMV0waPZwKUhUORFYVjioLJ8JVhT1hqsJhp2o0HewPU8zkAzo44FLLqJA9OtgeppQJFHZMB3sUQ3REB3uDFBNpvw42+AkqtXBFc1ui4BM6aCmmPQBssiUKOaZzSkis914oY0sUeoI7IaT8H6aPPVHocaa2kBoaM9imKMoaQBvtElL1LzPArogylE9NYu1P/D9f9Lp1Yyip7BvgXUWHgj4CwNsg9WQGm1k9NbmqNpavfGwxFbhythX3GPCjiUNEebvbBu/M6gkAO1Y9ibhVEjiiR7KXeNwS8xId+vFxRbjlAoo2TOfg4soS5Q0A7Lda0DkA0ySrq3n9yWGxA/BuI1dXeLvrWivea2a3S6rOXD0uxoQz++tYIPk75liwVJ24OkzgVQBaU/mScYcDrdMM3mfkS2q9xcwnBS1hvitoIfPVUEDqah0GDu3bonQCh0qCKy554gGvXR6V1WlPi5lvvoR0uA+DniMlnXa0nPniQ7kHELkncTJDybmjQdbpyVzXcczTIPbrMEOJ3jIHA6xQl4ny3qs3F+UkzPbB9ZCZRlJ14xoylHrXh2dDgpgYFyAP5XIDuBMgV3O3l1aGIwoNIP489D1XprSsVKpK1yXPxFHGqesHRCa50v/0ekGGXaug+3d5NifxQZVOCPNZGmr2B3ifw1hpt86VXA7y1dX0h3kJuZXmUZIGtSKR8Z/g1wWR0RSPTYvCzZFA7EDw2wLJePJ7ZtFbppI1wl5wN0hoetOKfgM86wOt0RSsllUMdTCLMoyd19ifrLGBm06CI9/kRgrz2UBVrooZr7nsomg0t1C6ElwRM8B+J+EJuHsO2fy4MBNKcWPF0W8G0tF4AJ4pThOGcllMOM8lls5RY/Wa2mTmEi7AhC1cHunM32jeaq6Q7cw1bzmX03b6c8VN2MHFsZ2c3FITfnAO2yEO4rKBvWhDd7iiwhZzo8l+5nFrXIJivmT+VpShhsYMkabSXwblBC0A+zamDGV+Mz2lcdziPocLqQl+BckY8TVTSBqqz+F6dAHFP+s4paDKXlNI4pscricxVPUn+EEkaZpBI0uQzBm/cfjQ0ulTzLka+PORZJF/kA5wuXlsnUzD30E/A9n2cj3gx5HZg3oPXXYFPrork30HrvLoCfS0cdoYuWaJ02qSzbf4KOhmJrL9pFvdAr6OdZECnfk3/jbwdmoCUmXC9pufcH+uL60Vkf6XMVZQOCBYAAAAEAcAnQEqeAB4AD6RSJ9LpaQioaSIALASCWlu4XEgAqWZ93Pu1keUUni2PHdLNfliQEgJASAkBICQEgJASAkBGAAA/v6knwxv//8VGk/xH3//+MPIwAAAAA==",m="data:image/webp;base64,UklGRngCAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSAgCAAABkAXZtmk769nvxbbt5M+2bdvOp23btm3btm0nBzM8r9a5a8WpiogJoP8XB5eZceCMsMfXdkzuxVf4HkS2p4Vz9Tch9e3UPK0APJ/cuVFDURs0H3AEwOUwjtQGcCUTSTzUAKZyDAbexyOZRwMmx1mgLUkNWBwAkok1D+B5GFesLv8AyFyuZHIvheLMBYDpqfTZgW8+ba5NUXx/bXpdtjiA2TlMkztOgItVFbnuDJgeXY1rkcH1elrB2pRKKeBd/yClgGu5tMKH6b5KATfr+SgF7ErlpRTMDr5KASczagVkU+uUWq9zaPWhuFavMmm1h5R6nUSpDclJpRdViFWwWTFJpRuFiVuolz2CSKXD8cmFEj1u5kMaGcvCyZ3i3CxKbvW465GwegaTFrcc2ftykIs9bpOT+x3I1R6X28H0RKQKLfzWtdLkds8L7wngXZ+YpA5R2qoVEpEHSuCpf7nZQGqxVsPmOAH0lCoIsDj6Akgjk9d04CNHHAN4UkyisEU20J+DygOwlg/pLWzfyQ8A7PdnoVbvIfWxuMScb69MrwYGErtv9u5zVsu6ZunI8rHoD8LYBeLpFH4YJ4JUSvwEVoRW0CnRIxjhetRZuvz7Gz8Aa5aLunI8B4TneCabzZGhSdPvd38Nu11TUZvV4HCc6BE+hpPGSZ4CESolfICP4Sr5jn01yVel/+8CVlA4IEoAAACQBgCdASp4AHgAPpFIoUylpCMiIIgAsBIJaW7hdJAAT22IvEgubeI386q8sEbEFRz2xF4gqOe2IvEFRzvAAP7/Uk9vLwAAAAAAAA==",d=function(o){var s=o.children,g=o.startIcon,m=o.className,d=o.forceTheme,b=e(o,A),v=r(function(){if(!g)return null;var e=g;return"string"==typeof g&&(e=i(c,{component:"span",className:"icon-img",sx:{"--mask-url":"url(".concat(g,")")}})),i("span",{className:"icon-static",children:e})},[g]),u=n(function(){var e=["tab-button"];return e.push(m||""),e.join(" ")},[m]);return a(p,t(t({},b),{},{className:u,forceTheme:d,children:[v(),a("div",{className:"text-container",children:[i(l,{variant:"h6",className:"text text-visible",children:s}),i(l,{variant:"h6",className:"text text-hidden",children:s})]})]}))},p=o(s,{shouldForwardProp:function(e){return"forceTheme"!==e}})(function(e){var t=e.theme,i=e.forceTheme,a={dark:{primary:t.palette.common.white,secondary:"rgb(249, 169, 37)",iconActive:"rgb(249, 169, 37)",bgGradient:"linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%",iconImageFilter:"invert(1) brightness(2)"},light:{primary:t.palette.common.black,secondary:"rgb(156, 39, 176)",iconActive:"rgb(156, 39, 176)",bgGradient:"linear-gradient(45deg, rgb(25, 118, 210) 0%, rgb(156, 39, 176) 70%, rgb(25, 118, 210) 100%) 0% 0% / 200%",iconImageFilter:"invert(0) brightness(0.2)"}}[i||t.palette.mode];return{"--color-primary":a.primary,"--color-secondary":a.secondary,"--bg-underline":a.bgGradient,"--bg-icon":a.bgGradient,"--icon-color-active":a.iconActive,"--size-icon":"24px","--spacing-x-size":"12px","--timing-fast":"0.25s","--timing-medium":"0.3s","--easing-smooth":"cubic-bezier(0.25, 0.46, 0.45, 0.94)","--easing-bounce":"cubic-bezier(0.34, 1.56, 0.64, 1)",height:"var(--height-button, 40px)",position:"relative",overflow:"hidden",transition:"transform 0.2s, box-shadow 0.2s",display:"flex",alignItems:"center",gap:"8px",padding:"6px var(--spacing-x-size)",color:"var(--color-primary)",backgroundColor:"transparent !important",a:{display:"flex",alignItems:"center"},"&::after":{content:'""',position:"absolute",bottom:"2px",left:"var(--spacing-x-size)",width:"0",height:"2px",background:"var(--bg-underline)",transition:"width var(--timing-fast) var(--easing-smooth)"},"& .icon-static":{display:"flex",alignItems:"center",flexShrink:0,transition:"transform var(--timing-medium) var(--easing-bounce)",transformOrigin:"left bottom",position:"relative","img, svg, .icon-img":{width:"var(--size-icon)",height:"var(--size-icon)"},".icon-img":{backgroundImage:"var(--mask-url)",backgroundSize:"cover",backgroundPosition:"center",display:"block",borderRadius:4,transition:"filter 0.3s",position:"relative",zIndex:1,filter:a.iconImageFilter}},"& .text-container":{position:"relative",overflow:"hidden",flex:1},".text":{textTransform:"none",fontWeight:600,fontSize:"1.125rem",lineHeight:1.6,transformOrigin:"left bottom"},"& .text-visible, & .text-hidden":{transition:"transform var(--timing-medium) var(--easing-smooth)",display:"block",width:"100%",textAlign:"left",margin:0},"& .text-visible":{transform:"translateY(0) skewY(0)",opacity:1},"& .text-hidden":{position:"absolute",top:"50%",left:"0",transform:"translateY(50%) skewY(15deg)",opacity:1},"&.active-tab":{"& .icon-static":{color:"var(--icon-color-active)",".icon-img":{background:"var(--bg-icon)",WebkitMaskImage:"var(--mask-url)",maskImage:"var(--mask-url)",WebkitMaskRepeat:"no-repeat",maskRepeat:"no-repeat",WebkitMaskSize:"cover",maskSize:"cover",filter:"none"}},"&::after":{width:"var(--size-icon)"}},"&.inactive-tab":{"&::after":{width:"0"}},"&:hover":{"&::after":{width:"calc(100% - (var(--spacing-x-size) * 2))"},"& .icon-static":{transform:"rotate(-10deg)"},"& .text-visible":{transform:"translateY(-100%) skewY(-15deg)",opacity:1},"& .text-hidden":{transform:"translateY(-50%) skewY(0)",opacity:1}}}});export{d as ButtonAnimation,g as IconAudioBase64,m as IconVideoBase64};
2
2
  //# sourceMappingURL=animated-tabs.units.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-tabs.units.js","sources":["../../src/layout-global/animated-tabs.units.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react'\r\nimport { Box, Button, styled, Typography } from '@mui/material'\r\nimport type { FC, ReactNode } from 'react'\r\nimport type { ButtonProps, Theme } from '@mui/material'\r\n\r\nexport const IconAudioBase64 = `data:image/webp;base64,UklGRkwEAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSM4DAAABoEXb2iFJ+jKzjLZt27Zt27Zt27Zt27Zt24jM+5BfZPzxR/yrn2ZWREwA/Xdy+ctuYHMU9QRp8D4eQTnZwJ8JUU1aHZwMV0waPZwKUhUORFYVjioLJ8JVhT1hqsJhp2o0HewPU8zkAzo44FLLqJA9OtgeppQJFHZMB3sUQ3REB3uDFBNpvw42+AkqtXBFc1ui4BM6aCmmPQBssiUKOaZzSkis914oY0sUeoI7IaT8H6aPPVHocaa2kBoaM9imKMoaQBvtElL1LzPArogylE9NYu1P/D9f9Lp1Yyip7BvgXUWHgj4CwNsg9WQGm1k9NbmqNpavfGwxFbhythX3GPCjiUNEebvbBu/M6gkAO1Y9ibhVEjiiR7KXeNwS8xId+vFxRbjlAoo2TOfg4soS5Q0A7Lda0DkA0ySrq3n9yWGxA/BuI1dXeLvrWivea2a3S6rOXD0uxoQz++tYIPk75liwVJ24OkzgVQBaU/mScYcDrdMM3mfkS2q9xcwnBS1hvitoIfPVUEDqah0GDu3bonQCh0qCKy554gGvXR6V1WlPi5lvvoR0uA+DniMlnXa0nPniQ7kHELkncTJDybmjQdbpyVzXcczTIPbrMEOJ3jIHA6xQl4ny3qs3F+UkzPbB9ZCZRlJ14xoylHrXh2dDgpgYFyAP5XIDuBMgV3O3l1aGIwoNIP489D1XprSsVKpK1yXPxFHGqesHRCa50v/0ekGGXaug+3d5NifxQZVOCPNZGmr2B3ifw1hpt86VXA7y1dX0h3kJuZXmUZIGtSKR8Z/g1wWR0RSPTYvCzZFA7EDw2wLJePJ7ZtFbppI1wl5wN0hoetOKfgM86wOt0RSsllUMdTCLMoyd19ifrLGBm06CI9/kRgrz2UBVrooZr7nsomg0t1C6ElwRM8B+J+EJuHsO2fy4MBNKcWPF0W8G0tF4AJ4pThOGcllMOM8lls5RY/Wa2mTmEi7AhC1cHunM32jeaq6Q7cw1bzmX03b6c8VN2MHFsZ2c3FITfnAO2yEO4rKBvWhDd7iiwhZzo8l+5nFrXIJivmT+VpShhsYMkabSXwblBC0A+zamDGV+Mz2lcdziPocLqQl+BckY8TVTSBqqz+F6dAHFP+s4paDKXlNI4pscricxVPUn+EEkaZpBI0uQzBm/cfjQ0ulTzLka+PORZJF/kA5wuXlsnUzD30E/A9n2cj3gx5HZg3oPXXYFPrork30HrvLoCfS0cdoYuWaJ02qSzbf4KOhmJrL9pFvdAr6OdZECnfk3/jbwdmoCUmXC9pufcH+uL60Vkf6XMVZQOCBYAAAAEAcAnQEqeAB4AD6RSJ9LpaQioaSIALASCWlu4XEgAqWZ93Pu1keUUni2PHdLNfliQEgJASAkBICQEgJASAkBGAAA/v6knwxv//8VGk/xH3//+MPIwAAAAA==`\r\n\r\nexport const IconVideoBase64 = `data:image/webp;base64,UklGRngCAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSAgCAAABkAXZtmk769nvxbbt5M+2bdvOp23btm3btm0nBzM8r9a5a8WpiogJoP8XB5eZceCMsMfXdkzuxVf4HkS2p4Vz9Tch9e3UPK0APJ/cuVFDURs0H3AEwOUwjtQGcCUTSTzUAKZyDAbexyOZRwMmx1mgLUkNWBwAkok1D+B5GFesLv8AyFyuZHIvheLMBYDpqfTZgW8+ba5NUXx/bXpdtjiA2TlMkztOgItVFbnuDJgeXY1rkcH1elrB2pRKKeBd/yClgGu5tMKH6b5KATfr+SgF7ErlpRTMDr5KASczagVkU+uUWq9zaPWhuFavMmm1h5R6nUSpDclJpRdViFWwWTFJpRuFiVuolz2CSKXD8cmFEj1u5kMaGcvCyZ3i3CxKbvW465GwegaTFrcc2ftykIs9bpOT+x3I1R6X28H0RKQKLfzWtdLkds8L7wngXZ+YpA5R2qoVEpEHSuCpf7nZQGqxVsPmOAH0lCoIsDj6Akgjk9d04CNHHAN4UkyisEU20J+DygOwlg/pLWzfyQ8A7PdnoVbvIfWxuMScb69MrwYGErtv9u5zVsu6ZunI8rHoD8LYBeLpFH4YJ4JUSvwEVoRW0CnRIxjhetRZuvz7Gz8Aa5aLunI8B4TneCabzZGhSdPvd38Nu11TUZvV4HCc6BE+hpPGSZ4CESolfICP4Sr5jn01yVel/+8CVlA4IEoAAACQBgCdASp4AHgAPpFIoUylpCMiIIgAsBIJaW7hdJAAT22IvEgubeI386q8sEbEFRz2xF4gqOe2IvEFRzvAAP7/Uk9vLwAAAAAAAA==`\r\n\r\nexport interface IButtonThemeProps {\r\n forceTheme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IButtonAnimationProps extends ButtonProps, IButtonThemeProps {\r\n children: ReactNode\r\n startIcon?: ReactNode\r\n [key: string]: any // Allow additional props\r\n}\r\n\r\nexport const ButtonAnimation: FC<IButtonAnimationProps> = (props) => {\r\n const { children, startIcon, className, forceTheme, ...otherProps } = props\r\n\r\n const renderIcon = useCallback(() => {\r\n if (!startIcon) return null\r\n let finalIcon = startIcon\r\n if (typeof startIcon === 'string') {\r\n finalIcon = <Box component='span' className='icon-img' sx={{ '--mask-url': `url(${startIcon})` }} />\r\n }\r\n return <span className='icon-static'>{finalIcon}</span>\r\n }, [startIcon])\r\n\r\n const rootClasses = useMemo(() => {\r\n const classes = ['tab-button']\r\n classes.push(className || '')\r\n return classes.join(' ')\r\n }, [className])\r\n\r\n return (\r\n <ButtonAnimationStyled {...otherProps} className={rootClasses} forceTheme={forceTheme}>\r\n {renderIcon()}\r\n <div className='text-container'>\r\n <Typography variant='h6' className='text text-visible'>\r\n {children}\r\n </Typography>\r\n <Typography variant='h6' className='text text-hidden'>\r\n {children}\r\n </Typography>\r\n </div>\r\n </ButtonAnimationStyled>\r\n )\r\n}\r\n\r\nconst ButtonAnimationStyled = styled(Button, {\r\n shouldForwardProp: (prop: PropertyKey) => prop !== 'forceTheme'\r\n})<IButtonThemeProps>(({ theme, forceTheme }: { theme: Theme; forceTheme?: 'dark' | 'light' }) => {\r\n const sxMap = {\r\n dark: {\r\n primary: theme.palette.common.white,\r\n secondary: 'rgb(249, 169, 37)',\r\n iconActive: 'rgb(249, 169, 37)',\r\n bgGradient: 'linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%',\r\n iconImageFilter: 'invert(1) brightness(2)'\r\n },\r\n light: {\r\n primary: theme.palette.common.black,\r\n secondary: 'rgb(156, 39, 176)',\r\n iconActive: 'rgb(156, 39, 176)',\r\n bgGradient: 'linear-gradient(45deg, rgb(25, 118, 210) 0%, rgb(156, 39, 176) 70%, rgb(25, 118, 210) 100%) 0% 0% / 200%',\r\n iconImageFilter: 'invert(0) brightness(0.2)'\r\n }\r\n }\r\n\r\n const mode = forceTheme || theme.palette.mode\r\n const currentSx = sxMap[mode as keyof typeof sxMap]\r\n\r\n return {\r\n '--color-primary': currentSx.primary,\r\n '--color-secondary': currentSx.secondary,\r\n '--bg-underline': currentSx.bgGradient,\r\n '--bg-icon': currentSx.bgGradient,\r\n '--icon-color-active': currentSx.iconActive,\r\n '--size-icon': '24px',\r\n '--spacing-x-size': '12px',\r\n '--timing-fast': '0.25s',\r\n '--timing-medium': '0.3s',\r\n '--easing-smooth': 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\r\n '--easing-bounce': 'cubic-bezier(0.34, 1.56, 0.64, 1)',\r\n height: 'var(--height-button, 40px)',\r\n position: 'relative',\r\n overflow: 'hidden',\r\n transition: 'transform 0.2s, box-shadow 0.2s',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n padding: '6px var(--spacing-x-size)',\r\n color: 'var(--color-primary)',\r\n backgroundColor: 'transparent !important',\r\n\r\n '&::after': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n bottom: '2px',\r\n left: 'var(--spacing-x-size)',\r\n width: '0',\r\n height: '2px',\r\n background: 'var(--bg-underline)',\r\n transition: 'width var(--timing-fast) var(--easing-smooth)'\r\n },\r\n\r\n '& .icon-static': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexShrink: 0,\r\n transition: 'transform var(--timing-medium) var(--easing-bounce)',\r\n transformOrigin: 'left bottom',\r\n position: 'relative',\r\n 'img, svg, .icon-img': { width: 'var(--size-icon)', height: 'var(--size-icon)' },\r\n '.icon-img': {\r\n backgroundImage: `var(--mask-url)`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n display: 'block',\r\n borderRadius: 4,\r\n transition: 'filter 0.3s',\r\n position: 'relative',\r\n zIndex: 1,\r\n filter: currentSx.iconImageFilter\r\n }\r\n },\r\n\r\n '& .text-container': { position: 'relative', overflow: 'hidden', flex: 1 },\r\n\r\n '.text': {\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n fontSize: '1.125rem',\r\n lineHeight: 1.6,\r\n transformOrigin: 'left bottom'\r\n },\r\n\r\n '& .text-visible, & .text-hidden': {\r\n transition: 'transform var(--timing-medium) var(--easing-smooth)',\r\n display: 'block',\r\n width: '100%',\r\n textAlign: 'left',\r\n margin: 0\r\n },\r\n\r\n '& .text-visible': { transform: 'translateY(0) skewY(0)', opacity: 1 },\r\n\r\n '& .text-hidden': {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '0',\r\n transform: 'translateY(50%) skewY(15deg)',\r\n opacity: 1\r\n },\r\n\r\n '&.active-tab': {\r\n '& .icon-static': {\r\n color: 'var(--icon-color-active)',\r\n '.icon-img': {\r\n background: 'var(--bg-icon)',\r\n WebkitMaskImage: 'var(--mask-url)',\r\n maskImage: 'var(--mask-url)',\r\n WebkitMaskRepeat: 'no-repeat',\r\n maskRepeat: 'no-repeat',\r\n WebkitMaskSize: 'cover',\r\n maskSize: 'cover',\r\n filter: 'none'\r\n }\r\n },\r\n '&::after': { width: 'var(--size-icon)' }\r\n },\r\n '&.inactive-tab': { '&::after': { width: '0' } },\r\n\r\n '&:hover': {\r\n // transform: 'scale(1.02)',\r\n '&::after': { width: 'calc(100% - (var(--spacing-x-size) * 2))' },\r\n '& .icon-static': { transform: 'rotate(-10deg)' },\r\n '& .text-visible': { transform: 'translateY(-100%) skewY(-15deg)', opacity: 1 },\r\n '& .text-hidden': { transform: 'translateY(-50%) skewY(0)', opacity: 1 }\r\n }\r\n }\r\n})\r\n"],"names":["IconAudioBase64","IconVideoBase64","ButtonAnimation","props","children","startIcon","className","forceTheme","otherProps","_objectWithoutProperties","_excluded","renderIcon","useCallback","finalIcon","_jsx","Box","component","sx","concat","rootClasses","useMemo","classes","push","join","_jsxs","ButtonAnimationStyled","_objectSpread","Typography","variant","styled","Button","shouldForwardProp","prop","_ref","theme","currentSx","dark","primary","palette","common","white","secondary","iconActive","bgGradient","iconImageFilter","light","black","mode","height","position","overflow","transition","display","alignItems","gap","padding","color","backgroundColor","content","bottom","left","width","background","flexShrink","transformOrigin","backgroundImage","backgroundSize","backgroundPosition","borderRadius","zIndex","filter","flex","textTransform","fontWeight","fontSize","lineHeight","textAlign","margin","transform","opacity","top","WebkitMaskImage","maskImage","WebkitMaskRepeat","maskRepeat","WebkitMaskSize","maskSize"],"mappings":"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"}
1
+ {"version":3,"file":"animated-tabs.units.js","sources":["../../src/layout-global/animated-tabs.units.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react'\r\nimport { Box, Button, styled, Typography } from '@mui/material'\r\nimport type { FC, ReactNode } from 'react'\r\nimport type { ButtonProps, Theme } from '@mui/material'\r\n\r\nexport const IconAudioBase64 = `data:image/webp;base64,UklGRkwEAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSM4DAAABoEXb2iFJ+jKzjLZt27Zt27Zt27Zt27Zt24jM+5BfZPzxR/yrn2ZWREwA/Xdy+ctuYHMU9QRp8D4eQTnZwJ8JUU1aHZwMV0waPZwKUhUORFYVjioLJ8JVhT1hqsJhp2o0HewPU8zkAzo44FLLqJA9OtgeppQJFHZMB3sUQ3REB3uDFBNpvw42+AkqtXBFc1ui4BM6aCmmPQBssiUKOaZzSkis914oY0sUeoI7IaT8H6aPPVHocaa2kBoaM9imKMoaQBvtElL1LzPArogylE9NYu1P/D9f9Lp1Yyip7BvgXUWHgj4CwNsg9WQGm1k9NbmqNpavfGwxFbhythX3GPCjiUNEebvbBu/M6gkAO1Y9ibhVEjiiR7KXeNwS8xId+vFxRbjlAoo2TOfg4soS5Q0A7Lda0DkA0ySrq3n9yWGxA/BuI1dXeLvrWivea2a3S6rOXD0uxoQz++tYIPk75liwVJ24OkzgVQBaU/mScYcDrdMM3mfkS2q9xcwnBS1hvitoIfPVUEDqah0GDu3bonQCh0qCKy554gGvXR6V1WlPi5lvvoR0uA+DniMlnXa0nPniQ7kHELkncTJDybmjQdbpyVzXcczTIPbrMEOJ3jIHA6xQl4ny3qs3F+UkzPbB9ZCZRlJ14xoylHrXh2dDgpgYFyAP5XIDuBMgV3O3l1aGIwoNIP489D1XprSsVKpK1yXPxFHGqesHRCa50v/0ekGGXaug+3d5NifxQZVOCPNZGmr2B3ifw1hpt86VXA7y1dX0h3kJuZXmUZIGtSKR8Z/g1wWR0RSPTYvCzZFA7EDw2wLJePJ7ZtFbppI1wl5wN0hoetOKfgM86wOt0RSsllUMdTCLMoyd19ifrLGBm06CI9/kRgrz2UBVrooZr7nsomg0t1C6ElwRM8B+J+EJuHsO2fy4MBNKcWPF0W8G0tF4AJ4pThOGcllMOM8lls5RY/Wa2mTmEi7AhC1cHunM32jeaq6Q7cw1bzmX03b6c8VN2MHFsZ2c3FITfnAO2yEO4rKBvWhDd7iiwhZzo8l+5nFrXIJivmT+VpShhsYMkabSXwblBC0A+zamDGV+Mz2lcdziPocLqQl+BckY8TVTSBqqz+F6dAHFP+s4paDKXlNI4pscricxVPUn+EEkaZpBI0uQzBm/cfjQ0ulTzLka+PORZJF/kA5wuXlsnUzD30E/A9n2cj3gx5HZg3oPXXYFPrork30HrvLoCfS0cdoYuWaJ02qSzbf4KOhmJrL9pFvdAr6OdZECnfk3/jbwdmoCUmXC9pufcH+uL60Vkf6XMVZQOCBYAAAAEAcAnQEqeAB4AD6RSJ9LpaQioaSIALASCWlu4XEgAqWZ93Pu1keUUni2PHdLNfliQEgJASAkBICQEgJASAkBGAAA/v6knwxv//8VGk/xH3//+MPIwAAAAA==`\r\n\r\nexport const IconVideoBase64 = `data:image/webp;base64,UklGRngCAABXRUJQVlA4WAoAAAAQAAAAdwAAdwAAQUxQSAgCAAABkAXZtmk769nvxbbt5M+2bdvOp23btm3btm0nBzM8r9a5a8WpiogJoP8XB5eZceCMsMfXdkzuxVf4HkS2p4Vz9Tch9e3UPK0APJ/cuVFDURs0H3AEwOUwjtQGcCUTSTzUAKZyDAbexyOZRwMmx1mgLUkNWBwAkok1D+B5GFesLv8AyFyuZHIvheLMBYDpqfTZgW8+ba5NUXx/bXpdtjiA2TlMkztOgItVFbnuDJgeXY1rkcH1elrB2pRKKeBd/yClgGu5tMKH6b5KATfr+SgF7ErlpRTMDr5KASczagVkU+uUWq9zaPWhuFavMmm1h5R6nUSpDclJpRdViFWwWTFJpRuFiVuolz2CSKXD8cmFEj1u5kMaGcvCyZ3i3CxKbvW465GwegaTFrcc2ftykIs9bpOT+x3I1R6X28H0RKQKLfzWtdLkds8L7wngXZ+YpA5R2qoVEpEHSuCpf7nZQGqxVsPmOAH0lCoIsDj6Akgjk9d04CNHHAN4UkyisEU20J+DygOwlg/pLWzfyQ8A7PdnoVbvIfWxuMScb69MrwYGErtv9u5zVsu6ZunI8rHoD8LYBeLpFH4YJ4JUSvwEVoRW0CnRIxjhetRZuvz7Gz8Aa5aLunI8B4TneCabzZGhSdPvd38Nu11TUZvV4HCc6BE+hpPGSZ4CESolfICP4Sr5jn01yVel/+8CVlA4IEoAAACQBgCdASp4AHgAPpFIoUylpCMiIIgAsBIJaW7hdJAAT22IvEgubeI386q8sEbEFRz2xF4gqOe2IvEFRzvAAP7/Uk9vLwAAAAAAAA==`\r\n\r\nexport interface IButtonThemeProps {\r\n forceTheme?: 'dark' | 'light'\r\n}\r\n\r\nexport interface IButtonAnimationProps extends ButtonProps, IButtonThemeProps {\r\n children: ReactNode\r\n startIcon?: ReactNode\r\n [key: string]: any // Allow additional props\r\n}\r\n\r\nexport const ButtonAnimation: FC<IButtonAnimationProps> = (props) => {\r\n const { children, startIcon, className, forceTheme, ...otherProps } = props\r\n\r\n const renderIcon = useCallback(() => {\r\n if (!startIcon) return null\r\n let finalIcon = startIcon\r\n if (typeof startIcon === 'string') {\r\n finalIcon = <Box component='span' className='icon-img' sx={{ '--mask-url': `url(${startIcon})` }} />\r\n }\r\n return <span className='icon-static'>{finalIcon}</span>\r\n }, [startIcon])\r\n\r\n const rootClasses = useMemo(() => {\r\n const classes = ['tab-button']\r\n classes.push(className || '')\r\n return classes.join(' ')\r\n }, [className])\r\n\r\n return (\r\n <ButtonAnimationStyled {...otherProps} className={rootClasses} forceTheme={forceTheme}>\r\n {renderIcon()}\r\n <div className='text-container'>\r\n <Typography variant='h6' className='text text-visible'>\r\n {children}\r\n </Typography>\r\n <Typography variant='h6' className='text text-hidden'>\r\n {children}\r\n </Typography>\r\n </div>\r\n </ButtonAnimationStyled>\r\n )\r\n}\r\n\r\nconst ButtonAnimationStyled = styled(Button, {\r\n shouldForwardProp: (prop: PropertyKey) => prop !== 'forceTheme'\r\n})<IButtonThemeProps>(({ theme, forceTheme }: { theme: Theme; forceTheme?: 'dark' | 'light' }) => {\r\n const sxMap = {\r\n dark: {\r\n primary: theme.palette.common.white,\r\n secondary: 'rgb(249, 169, 37)',\r\n iconActive: 'rgb(249, 169, 37)',\r\n bgGradient: 'linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%',\r\n iconImageFilter: 'invert(1) brightness(2)'\r\n },\r\n light: {\r\n primary: theme.palette.common.black,\r\n secondary: 'rgb(156, 39, 176)',\r\n iconActive: 'rgb(156, 39, 176)',\r\n bgGradient: 'linear-gradient(45deg, rgb(25, 118, 210) 0%, rgb(156, 39, 176) 70%, rgb(25, 118, 210) 100%) 0% 0% / 200%',\r\n iconImageFilter: 'invert(0) brightness(0.2)'\r\n }\r\n }\r\n\r\n const mode = forceTheme || theme.palette.mode\r\n const currentSx = sxMap[mode as keyof typeof sxMap]\r\n\r\n return {\r\n '--color-primary': currentSx.primary,\r\n '--color-secondary': currentSx.secondary,\r\n '--bg-underline': currentSx.bgGradient,\r\n '--bg-icon': currentSx.bgGradient,\r\n '--icon-color-active': currentSx.iconActive,\r\n '--size-icon': '24px',\r\n '--spacing-x-size': '12px',\r\n '--timing-fast': '0.25s',\r\n '--timing-medium': '0.3s',\r\n '--easing-smooth': 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\r\n '--easing-bounce': 'cubic-bezier(0.34, 1.56, 0.64, 1)',\r\n height: 'var(--height-button, 40px)',\r\n position: 'relative',\r\n overflow: 'hidden',\r\n transition: 'transform 0.2s, box-shadow 0.2s',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '8px',\r\n padding: '6px var(--spacing-x-size)',\r\n color: 'var(--color-primary)',\r\n backgroundColor: 'transparent !important',\r\n\r\n a: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n\r\n '&::after': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n bottom: '2px',\r\n left: 'var(--spacing-x-size)',\r\n width: '0',\r\n height: '2px',\r\n background: 'var(--bg-underline)',\r\n transition: 'width var(--timing-fast) var(--easing-smooth)'\r\n },\r\n\r\n '& .icon-static': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexShrink: 0,\r\n transition: 'transform var(--timing-medium) var(--easing-bounce)',\r\n transformOrigin: 'left bottom',\r\n position: 'relative',\r\n 'img, svg, .icon-img': { width: 'var(--size-icon)', height: 'var(--size-icon)' },\r\n '.icon-img': {\r\n backgroundImage: `var(--mask-url)`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n display: 'block',\r\n borderRadius: 4,\r\n transition: 'filter 0.3s',\r\n position: 'relative',\r\n zIndex: 1,\r\n filter: currentSx.iconImageFilter\r\n }\r\n },\r\n\r\n '& .text-container': { position: 'relative', overflow: 'hidden', flex: 1 },\r\n\r\n '.text': {\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n fontSize: '1.125rem',\r\n lineHeight: 1.6,\r\n transformOrigin: 'left bottom'\r\n },\r\n\r\n '& .text-visible, & .text-hidden': {\r\n transition: 'transform var(--timing-medium) var(--easing-smooth)',\r\n display: 'block',\r\n width: '100%',\r\n textAlign: 'left',\r\n margin: 0\r\n },\r\n\r\n '& .text-visible': { transform: 'translateY(0) skewY(0)', opacity: 1 },\r\n\r\n '& .text-hidden': {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '0',\r\n transform: 'translateY(50%) skewY(15deg)',\r\n opacity: 1\r\n },\r\n\r\n '&.active-tab': {\r\n '& .icon-static': {\r\n color: 'var(--icon-color-active)',\r\n '.icon-img': {\r\n background: 'var(--bg-icon)',\r\n WebkitMaskImage: 'var(--mask-url)',\r\n maskImage: 'var(--mask-url)',\r\n WebkitMaskRepeat: 'no-repeat',\r\n maskRepeat: 'no-repeat',\r\n WebkitMaskSize: 'cover',\r\n maskSize: 'cover',\r\n filter: 'none'\r\n }\r\n },\r\n '&::after': { width: 'var(--size-icon)' }\r\n },\r\n '&.inactive-tab': { '&::after': { width: '0' } },\r\n\r\n '&:hover': {\r\n // transform: 'scale(1.02)',\r\n '&::after': { width: 'calc(100% - (var(--spacing-x-size) * 2))' },\r\n '& .icon-static': { transform: 'rotate(-10deg)' },\r\n '& .text-visible': { transform: 'translateY(-100%) skewY(-15deg)', opacity: 1 },\r\n '& .text-hidden': { transform: 'translateY(-50%) skewY(0)', opacity: 1 }\r\n }\r\n }\r\n})\r\n"],"names":["IconAudioBase64","IconVideoBase64","ButtonAnimation","props","children","startIcon","className","forceTheme","otherProps","_objectWithoutProperties","_excluded","renderIcon","useCallback","finalIcon","_jsx","Box","component","sx","concat","rootClasses","useMemo","classes","push","join","_jsxs","ButtonAnimationStyled","_objectSpread","Typography","variant","styled","Button","shouldForwardProp","prop","_ref","theme","currentSx","dark","primary","palette","common","white","secondary","iconActive","bgGradient","iconImageFilter","light","black","mode","height","position","overflow","transition","display","alignItems","gap","padding","color","backgroundColor","a","content","bottom","left","width","background","flexShrink","transformOrigin","backgroundImage","backgroundSize","backgroundPosition","borderRadius","zIndex","filter","flex","textTransform","fontWeight","fontSize","lineHeight","textAlign","margin","transform","opacity","top","WebkitMaskImage","maskImage","WebkitMaskRepeat","maskRepeat","WebkitMaskSize","maskSize"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{inherits as n,createClass as e,classCallCheck as r,callSuper as i,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as a}from"react/jsx-runtime";import{Component as l}from"react";import{Box as c,Divider as s,alpha as m,colors as u,Stack as d,Typography as p,MenuItem as h}from"@mui/material";import v from"@mui/icons-material/Facebook";import{toArray as f}from"./helpers.js";import{MenuStyled as g,subMenuClasses as k}from"./sub-menu.styled.js";var C=function(){function C(){var n;r(this,C);for(var e=arguments.length,l=new Array(e),s=0;s<e;s++)l[s]=arguments[s];return n=i(this,C,[].concat(l)),t(n,"renderItem",function(e,r){var i;return o(c,{className:k.group,children:[a(p,{variant:"h6",className:k.title,children:e.title}),null===(i=e.items)||void 0===i?void 0:i.map(function(e,r){var i,t;return a(h,{component:"div",className:k.item,children:o(c,{component:"a",href:null!==(i=null===(t=e.navLink)||void 0===t?void 0:t.href)&&void 0!==i?i:"/",onClick:function(r){return n.handleNavItemClick(r,e.navLink)},children:[e.icon&&a("span",{className:k.itemIcon,children:n.renderIcon(e.icon)}),a(p,{component:"div",variant:"body1",className:k.itemText,children:a("span",{children:e.title})})]})},r)})]},r)}),t(n,"renderIcon",function(n){if(!n)return null;var e=n;return"string"==typeof n&&(e=a(c,{component:"span",className:"icon-img",sx:{"--mask-url":"url(".concat(n,")")}})),a("span",{className:"icon-static",children:e})}),t(n,"getMenuData",function(){var e=n.props.navSelected;return f(null==e?void 0:e.menu).filter(function(n){var e;return n.items&&(null===(e=n.items)||void 0===e?void 0:e.length)>0})}),t(n,"handleNavItemClick",function(e,r){n.props.onNavItemClick&&r&&n.props.onNavItemClick(e,r)}),n}return n(C,l),e(C,[{key:"render",value:function(){var n=this.props,e=n.anchorEl,r=n.onClose,i=n.navSelected,t=this.getMenuData();return null===e||0===t.length?null:o(g,{anchorEl:e,open:Boolean(i),onClose:r,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,MenuListProps:{component:"div"},children:[a(c,{className:k.root,children:t.map(this.renderItem)}),a(s,{variant:"middle",sx:{borderColor:m(u.common.white,.1)}}),o(d,{direction:"row",spacing:1,justifyContent:"flex-end",alignItems:"center",padding:1,children:[a(p,{variant:"body2",children:"Follow us on social media for updates and news!"}),a(v,{})]})]})}}])}();export{C as default};
1
+ import{inherits as n,createClass as e,classCallCheck as r,callSuper as t,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as a}from"react/jsx-runtime";import{Component as l}from"react";import{Box as c,Divider as s,alpha as m,colors as u,Stack as d,Typography as p,MenuItem as h}from"@mui/material";import v from"@mui/icons-material/Facebook";import{toArray as f}from"./helpers.js";import{MenuStyled as g,subMenuClasses as C}from"./sub-menu.styled.js";var N=function(){function N(){var n;r(this,N);for(var e=arguments.length,l=new Array(e),s=0;s<e;s++)l[s]=arguments[s];return n=t(this,N,[].concat(l)),i(n,"renderItem",function(e,r){var t;return o(c,{className:C.group,children:[a(p,{variant:"h6",className:C.title,children:e.title}),null===(t=e.items)||void 0===t?void 0:t.map(function(e,r){var t,i;return a(h,{component:"div",className:C.item,children:o(c,{className:C.itemContent,component:"a",href:null!==(t=null===(i=e.navLink)||void 0===i?void 0:i.href)&&void 0!==t?t:"/",onClick:function(r){return n.handleNavItemClick(r,e.navLink)},children:[e.icon&&a("span",{className:C.itemIcon,children:n.renderIcon(e.icon)}),a(p,{component:"div",variant:"body1",className:C.itemText,children:a("span",{children:e.title})})]})},r)})]},r)}),i(n,"renderIcon",function(n){if(!n)return null;var e=n;return"string"==typeof n&&(e=a(c,{component:"span",className:"icon-img",sx:{"--mask-url":"url(".concat(n,")")}})),a("span",{className:"icon-static",children:e})}),i(n,"getMenuData",function(){var e=n.props.navSelected;return f(null==e?void 0:e.menu).filter(function(n){var e;return n.items&&(null===(e=n.items)||void 0===e?void 0:e.length)>0})}),i(n,"handleNavItemClick",function(e,r){n.props.onNavItemClick&&r&&n.props.onNavItemClick(e,r)}),n}return n(N,l),e(N,[{key:"render",value:function(){var n=this.props,e=n.anchorEl,r=n.onClose,t=n.navSelected,i=this.getMenuData();return null===e||0===i.length?null:o(g,{anchorEl:e,open:Boolean(t),onClose:r,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0,MenuListProps:{component:"div"},children:[a(c,{className:C.root,children:i.map(this.renderItem)}),a(s,{variant:"middle",sx:{borderColor:m(u.common.white,.1)}}),o(d,{direction:"row",spacing:1,justifyContent:"flex-end",alignItems:"center",padding:1,children:[a(p,{variant:"body2",children:"Follow us on social media for updates and news!"}),a(v,{})]})]})}}])}();export{N as default};
2
2
  //# sourceMappingURL=sub-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.js","sources":["../../src/layout-global/sub-menu.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { alpha, Box, colors, Divider, MenuItem, Stack, Typography } from '@mui/material'\r\nimport type { ReactNode } from 'react'\r\nimport FacebookIcon from '@mui/icons-material/Facebook'\r\nimport { toArray } from './helpers'\r\nimport { MenuStyled, subMenuClasses } from './sub-menu.styled'\r\nimport type { IAppMenu, IAppNav, INavLink, NavItemClickFunction } from './types'\r\n\r\ninterface ISubMenuProps {\r\n anchorEl: HTMLElement | null\r\n onClose: () => void\r\n navSelected: IAppNav | null\r\n onNavItemClick?: NavItemClickFunction\r\n}\r\n\r\nclass SubMenu extends Component<ISubMenuProps> {\r\n render() {\r\n const { anchorEl, onClose, navSelected } = this.props\r\n const menu = this.getMenuData()\r\n\r\n if (anchorEl === null || menu.length === 0) return null\r\n // Render sub-items only if anchorEl is set and subItems are available\r\n // This prevents rendering when there are no sub-items or the menu is not open\r\n return (\r\n <MenuStyled\r\n anchorEl={anchorEl}\r\n open={Boolean(navSelected)}\r\n onClose={onClose}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n disableScrollLock\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n {/* Render sub-menu items */}\r\n <Box className={subMenuClasses.root}>{menu.map(this.renderItem)}</Box>\r\n\r\n {/* Optional footer or additional content */}\r\n <Divider variant='middle' sx={{ borderColor: alpha(colors.common.white, 0.1) }} />\r\n <Stack direction='row' spacing={1} justifyContent='flex-end' alignItems='center' padding={1}>\r\n <Typography variant='body2'>Follow us on social media for updates and news!</Typography>\r\n {/* Add social media links or icons here if needed */}\r\n <FacebookIcon />\r\n </Stack>\r\n </MenuStyled>\r\n )\r\n }\r\n\r\n renderItem = (item: IAppMenu, index: number) => (\r\n <Box key={index} className={subMenuClasses.group}>\r\n <Typography variant='h6' className={subMenuClasses.title}>\r\n {item.title}\r\n </Typography>\r\n {/* <Divider sx={{ borderColor: alpha(colors.common.white, 0.1), my: 1 }} /> */}\r\n {item.items?.map((item, j) => (\r\n <MenuItem key={j} component='div' className={subMenuClasses.item}>\r\n <Box component='a' href={item.navLink?.href ?? '/'} onClick={(e) => this.handleNavItemClick(e, item.navLink)}>\r\n {item.icon && <span className={subMenuClasses.itemIcon}>{this.renderIcon(item.icon)}</span>}\r\n <Typography component='div' variant='body1' className={subMenuClasses.itemText}>\r\n <span>{item.title}</span>\r\n </Typography>\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Box>\r\n )\r\n\r\n renderIcon = (value: ReactNode) => {\r\n if (!value) return null\r\n let finalIcon = value\r\n if (typeof value === 'string') {\r\n finalIcon = <Box component='span' className='icon-img' sx={{ '--mask-url': `url(${value})` }} />\r\n }\r\n return <span className='icon-static'>{finalIcon}</span>\r\n }\r\n\r\n getMenuData = () => {\r\n const { navSelected } = this.props\r\n const list = toArray<IAppMenu>(navSelected?.menu)\r\n return list.filter((item) => item.items && item.items?.length > 0)\r\n }\r\n\r\n handleNavItemClick = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>, item?: INavLink) => {\r\n if (!this.props.onNavItemClick || !item) return\r\n this.props.onNavItemClick(event, item)\r\n }\r\n}\r\nexport default SubMenu\r\n"],"names":["SubMenu","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","index","_item$items","_jsxs","Box","className","subMenuClasses","group","children","_jsx","Typography","variant","title","items","map","j","_item$navLink$href","_item$navLink","MenuItem","component","href","navLink","onClick","e","handleNavItemClick","icon","itemIcon","renderIcon","itemText","value","finalIcon","sx","navSelected","props","toArray","menu","filter","_item$items2","event","onNavItemClick","_inherits","Component","_createClass","key","_this$props","anchorEl","onClose","getMenuData","MenuStyled","open","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disableScrollLock","MenuListProps","root","renderItem","Divider","borderColor","alpha","colors","common","white","Stack","direction","spacing","justifyContent","alignItems","padding","FacebookIcon"],"mappings":"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"}
1
+ {"version":3,"file":"sub-menu.js","sources":["../../src/layout-global/sub-menu.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { alpha, Box, colors, Divider, MenuItem, Stack, Typography } from '@mui/material'\r\nimport type { ReactNode } from 'react'\r\nimport FacebookIcon from '@mui/icons-material/Facebook'\r\nimport { toArray } from './helpers'\r\nimport { MenuStyled, subMenuClasses } from './sub-menu.styled'\r\nimport type { IAppMenu, IAppNav, INavLink, NavItemClickFunction } from './types'\r\n\r\ninterface ISubMenuProps {\r\n anchorEl: HTMLElement | null\r\n onClose: () => void\r\n navSelected: IAppNav | null\r\n onNavItemClick?: NavItemClickFunction\r\n}\r\n\r\nclass SubMenu extends Component<ISubMenuProps> {\r\n render() {\r\n const { anchorEl, onClose, navSelected } = this.props\r\n const menu = this.getMenuData()\r\n\r\n if (anchorEl === null || menu.length === 0) return null\r\n // Render sub-items only if anchorEl is set and subItems are available\r\n // This prevents rendering when there are no sub-items or the menu is not open\r\n return (\r\n <MenuStyled\r\n anchorEl={anchorEl}\r\n open={Boolean(navSelected)}\r\n onClose={onClose}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\r\n disableScrollLock\r\n MenuListProps={{ component: 'div' }}\r\n >\r\n {/* Render sub-menu items */}\r\n <Box className={subMenuClasses.root}>{menu.map(this.renderItem)}</Box>\r\n\r\n {/* Optional footer or additional content */}\r\n <Divider variant='middle' sx={{ borderColor: alpha(colors.common.white, 0.1) }} />\r\n <Stack direction='row' spacing={1} justifyContent='flex-end' alignItems='center' padding={1}>\r\n <Typography variant='body2'>Follow us on social media for updates and news!</Typography>\r\n {/* Add social media links or icons here if needed */}\r\n <FacebookIcon />\r\n </Stack>\r\n </MenuStyled>\r\n )\r\n }\r\n\r\n renderItem = (item: IAppMenu, index: number) => (\r\n <Box key={index} className={subMenuClasses.group}>\r\n <Typography variant='h6' className={subMenuClasses.title}>\r\n {item.title}\r\n </Typography>\r\n {/* <Divider sx={{ borderColor: alpha(colors.common.white, 0.1), my: 1 }} /> */}\r\n {item.items?.map((item, j) => (\r\n <MenuItem key={j} component='div' className={subMenuClasses.item}>\r\n <Box\r\n className={subMenuClasses.itemContent}\r\n component='a'\r\n href={item.navLink?.href ?? '/'}\r\n onClick={(e) => this.handleNavItemClick(e, item.navLink)}\r\n >\r\n {item.icon && <span className={subMenuClasses.itemIcon}>{this.renderIcon(item.icon)}</span>}\r\n <Typography component='div' variant='body1' className={subMenuClasses.itemText}>\r\n <span>{item.title}</span>\r\n </Typography>\r\n </Box>\r\n </MenuItem>\r\n ))}\r\n </Box>\r\n )\r\n\r\n renderIcon = (value: ReactNode) => {\r\n if (!value) return null\r\n let finalIcon = value\r\n if (typeof value === 'string') {\r\n finalIcon = <Box component='span' className='icon-img' sx={{ '--mask-url': `url(${value})` }} />\r\n }\r\n return <span className='icon-static'>{finalIcon}</span>\r\n }\r\n\r\n getMenuData = () => {\r\n const { navSelected } = this.props\r\n const list = toArray<IAppMenu>(navSelected?.menu)\r\n return list.filter((item) => item.items && item.items?.length > 0)\r\n }\r\n\r\n handleNavItemClick = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>, item?: INavLink) => {\r\n if (!this.props.onNavItemClick || !item) return\r\n this.props.onNavItemClick(event, item)\r\n }\r\n}\r\nexport default SubMenu\r\n"],"names":["SubMenu","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","item","index","_item$items","_jsxs","Box","className","subMenuClasses","group","children","_jsx","Typography","variant","title","items","map","j","_item$navLink$href","_item$navLink","MenuItem","component","itemContent","href","navLink","onClick","e","handleNavItemClick","icon","itemIcon","renderIcon","itemText","value","finalIcon","sx","navSelected","props","toArray","menu","filter","_item$items2","event","onNavItemClick","_inherits","Component","_createClass","key","_this$props","anchorEl","onClose","getMenuData","MenuStyled","open","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disableScrollLock","MenuListProps","root","renderItem","Divider","borderColor","alpha","colors","common","white","Stack","direction","spacing","justifyContent","alignItems","padding","FacebookIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{styled as i,Menu as e,alpha as o}from"@mui/material";var r={root:"SubMenu-root",group:"SubMenu-group",title:"SubMenu-title",item:"SubMenu-item",itemIcon:"SubMenu-itemIcon",itemText:"SubMenu-itemText"},n=function(t,i){return"".concat("",".").concat(r[t]).concat("")},a=i(e)(function(i){var e=i.theme;return t(t(t(t({"--bg-divider":"linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%","--size-icon":"24px",marginTop:"45px",".MuiPaper-root":{overflow:"visible",backgroundColor:"#323234",borderRadius:e.shape.borderRadius,minWidth:"280px",maxWidth:"550px",boxShadow:"0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)",animation:"fadeInDown 0.3s ease-out",marginTop:"8px",color:e.palette.common.white,"@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}},"&::before":{content:'""',position:"absolute",backgroundColor:"#323234",width:"10px",height:"10px",top:"-4px",right:e.spacing(1.5),transform:"translateX(-50%) rotate(45deg)",zIndex:0}},".MuiBackdrop-root":{backgroundColor:"transparent"},".MuiList-root":{padding:0}},n("root"),t(t({display:"flex",padding:e.spacing(1,0)},e.breakpoints.down("md"),{flexDirection:"column",padding:e.spacing(1,0)}),"&:hover",{"--color-text-sub-menu":e.palette.grey[500],"--filter-icon":"invert(1) brightness(0.6) opacity(0.7)"})),n("group"),t({borderRight:"1px solid ".concat(o(e.palette.common.white,.1)),padding:e.spacing(0,1),"&:last-of-type":{borderRight:"none"}},e.breakpoints.down("md"),{borderRight:"none",padding:e.spacing(0,0,0,1)})),n("title"),{padding:e.spacing(.5,1.25),color:e.palette.common.white,fontWeight:500,fontSize:"1.1rem",marginBottom:e.spacing(1.25)}),n("item"),t(t(t(t({position:"relative",transition:"all 0.35s ease",padding:e.spacing(1.5,3.5,1.5,1.5),backgroundColor:"var(--bg-nav-item, transparent)",borderRadius:e.shape.borderRadius},n("itemText"),{color:"var(--color-text-sub-menu, ".concat(e.palette.grey[100],")"),textDecoration:"none",display:"block",width:"100%",fontSize:"0.875rem",transition:"all 0.3s ease",span:{display:"inline-block"}}),n("itemIcon"),{display:"flex",alignItems:"center",flexShrink:0,transition:"transform var(--timing-medium) var(--easing-bounce)",transformOrigin:"left bottom",position:"relative",marginRight:e.spacing(1),"img, svg, .icon-img":{width:"var(--size-icon)",height:"var(--size-icon)"},".icon-img":{backgroundImage:"var(--mask-url)",backgroundSize:"cover",backgroundPosition:"center",display:"block",borderRadius:4,transition:"filter 0.3s",position:"relative",zIndex:1,filter:"var(--filter-icon, invert(1) brightness(0.9) opacity(1))"}}),"&::before",{content:'""',position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:0,transition:"all 0.4s",background:"var(--bg-divider)",height:"2px"}),"&:hover",{"--color-text-sub-menu":e.palette.common.white,"--filter-icon":"invert(1) brightness(1) opacity(1)",padding:e.spacing(1.5,1.5,1.5,3.5),backgroundColor:"var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))","&::before":{width:e.spacing(1.125),marginRight:e.spacing(1)}}))});a.displayName="MenuStyled";export{a as MenuStyled,r as subMenuClasses};
1
+ import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{styled as e,Menu as i,alpha as o}from"@mui/material";var n={root:"SubMenu-root",group:"SubMenu-group",title:"SubMenu-title",item:"SubMenu-item",itemContent:"SubMenu-itemContent",itemIcon:"SubMenu-itemIcon",itemText:"SubMenu-itemText"},r=function(t,e){return"".concat("",".").concat(n[t]).concat("")},a=e(i)(function(e){var i=e.theme;return t(t(t(t({"--bg-divider":"linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%","--size-icon":"24px",marginTop:"45px",".MuiPaper-root":{overflow:"visible",backgroundColor:"#323234",borderRadius:i.shape.borderRadius,minWidth:"280px",maxWidth:"550px",boxShadow:"0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)",animation:"fadeInDown 0.3s ease-out",marginTop:"8px",color:i.palette.common.white,"@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}},"&::before":{content:'""',position:"absolute",backgroundColor:"#323234",width:"10px",height:"10px",top:"-4px",right:i.spacing(1.5),transform:"translateX(-50%) rotate(45deg)",zIndex:0}},".MuiBackdrop-root":{backgroundColor:"transparent"},".MuiList-root":{padding:0}},r("root"),t(t({display:"flex",padding:i.spacing(1,0)},i.breakpoints.down("md"),{flexDirection:"column",padding:i.spacing(1,0)}),"&:hover",{"--color-text-sub-menu":i.palette.grey[500],"--filter-icon":"invert(1) brightness(0.6) opacity(0.7)"})),r("group"),t({borderRight:"1px solid ".concat(o(i.palette.common.white,.1)),padding:i.spacing(0,1),"&:last-of-type":{borderRight:"none"}},i.breakpoints.down("md"),{borderRight:"none",padding:i.spacing(0,0,0,1)})),r("title"),{padding:i.spacing(.5,1.25),color:i.palette.common.white,fontWeight:500,fontSize:"1.1rem",marginBottom:i.spacing(1.25)}),r("item"),t(t(t(t(t({position:"relative",transition:"all 0.35s ease",padding:i.spacing(1.5,3.5,1.5,1.5),backgroundColor:"var(--bg-nav-item, transparent)",borderRadius:i.shape.borderRadius},r("itemContent"),{display:"flex",alignItems:"center"}),r("itemText"),{color:"var(--color-text-sub-menu, ".concat(i.palette.grey[100],")"),textDecoration:"none",display:"block",width:"100%",fontSize:"0.875rem",transition:"all 0.3s ease",span:{display:"inline-block"}}),r("itemIcon"),{display:"flex",alignItems:"center",flexShrink:0,transition:"transform var(--timing-medium) var(--easing-bounce)",transformOrigin:"left bottom",position:"relative",marginRight:i.spacing(1),"img, svg, .icon-img":{width:"var(--size-icon)",height:"var(--size-icon)"},".icon-img":{backgroundImage:"var(--mask-url)",backgroundSize:"cover",backgroundPosition:"center",display:"block",borderRadius:4,transition:"filter 0.3s",position:"relative",zIndex:1,filter:"var(--filter-icon, invert(1) brightness(0.9) opacity(1))"}}),"&::before",{content:'""',position:"absolute",left:"14px",top:"50%",transform:"translateY(-50%)",width:0,transition:"all 0.4s",background:"var(--bg-divider)",height:"2px"}),"&:hover",{"--color-text-sub-menu":i.palette.common.white,"--filter-icon":"invert(1) brightness(1) opacity(1)",padding:i.spacing(1.5,1.5,1.5,3.5),backgroundColor:"var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))","&::before":{width:i.spacing(1.125),marginRight:i.spacing(1)}}))});a.displayName="MenuStyled";export{a as MenuStyled,n as subMenuClasses};
2
2
  //# sourceMappingURL=sub-menu.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.styled.js","sources":["../../src/layout-global/sub-menu.styled.ts"],"sourcesContent":["import { alpha, Menu, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { MenuProps, Theme } from '@mui/material'\r\n\r\nexport const subMenuClasses = {\r\n root: 'SubMenu-root',\r\n group: 'SubMenu-group',\r\n title: 'SubMenu-title',\r\n item: 'SubMenu-item',\r\n itemIcon: 'SubMenu-itemIcon',\r\n itemText: 'SubMenu-itemText'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof subMenuClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${subMenuClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const MenuStyled: ComponentType<MenuProps> = styled(Menu)(({ theme }: { theme: Theme }) => ({\r\n '--bg-divider': 'linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%',\r\n '--size-icon': '24px',\r\n marginTop: '45px',\r\n '.MuiPaper-root': {\r\n overflow: 'visible',\r\n backgroundColor: '#323234',\r\n borderRadius: theme.shape.borderRadius,\r\n minWidth: '280px',\r\n maxWidth: '550px',\r\n boxShadow: `0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)`,\r\n animation: 'fadeInDown 0.3s ease-out',\r\n marginTop: '8px',\r\n color: theme.palette.common.white,\r\n\r\n '@keyframes fadeInDown': {\r\n '0%': { opacity: 0, transform: 'translateY(-10px)' },\r\n '100%': { opacity: 1, transform: 'translateY(0)' }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n backgroundColor: '#323234',\r\n width: '10px',\r\n height: '10px',\r\n top: '-4px',\r\n right: theme.spacing(1.5),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n '.MuiBackdrop-root': { backgroundColor: 'transparent' },\r\n '.MuiList-root': { padding: 0 },\r\n\r\n [getClasses('root')]: {\r\n display: 'flex',\r\n padding: theme.spacing(1, 0),\r\n [theme.breakpoints.down('md')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1, 0)\r\n },\r\n '&:hover': {\r\n '--color-text-sub-menu': theme.palette.grey[500],\r\n '--filter-icon': 'invert(1) brightness(0.6) opacity(0.7)'\r\n }\r\n },\r\n\r\n [getClasses('group')]: {\r\n borderRight: `1px solid ${alpha(theme.palette.common.white, 0.1)}`,\r\n padding: theme.spacing(0, 1),\r\n '&:last-of-type': {\r\n borderRight: 'none'\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n borderRight: 'none',\r\n padding: theme.spacing(0, 0, 0, 1)\r\n }\r\n },\r\n\r\n [getClasses('title')]: {\r\n padding: theme.spacing(0.5, 1.25),\r\n color: theme.palette.common.white,\r\n fontWeight: 500,\r\n fontSize: '1.1rem',\r\n marginBottom: theme.spacing(1.25)\r\n },\r\n\r\n [getClasses('item')]: {\r\n position: 'relative',\r\n transition: 'all 0.35s ease',\r\n padding: theme.spacing(1.5, 3.5, 1.5, 1.5),\r\n backgroundColor: 'var(--bg-nav-item, transparent)',\r\n borderRadius: theme.shape.borderRadius,\r\n\r\n [getClasses('itemText')]: {\r\n color: `var(--color-text-sub-menu, ${theme.palette.grey[100]})`,\r\n textDecoration: 'none',\r\n display: 'block',\r\n width: '100%',\r\n fontSize: '0.875rem',\r\n transition: 'all 0.3s ease',\r\n span: {\r\n display: 'inline-block'\r\n }\r\n },\r\n\r\n [getClasses('itemIcon')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexShrink: 0,\r\n transition: 'transform var(--timing-medium) var(--easing-bounce)',\r\n transformOrigin: 'left bottom',\r\n position: 'relative',\r\n marginRight: theme.spacing(1),\r\n 'img, svg, .icon-img': { width: 'var(--size-icon)', height: 'var(--size-icon)' },\r\n '.icon-img': {\r\n backgroundImage: `var(--mask-url)`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n display: 'block',\r\n borderRadius: 4,\r\n transition: 'filter 0.3s',\r\n position: 'relative',\r\n zIndex: 1,\r\n filter: 'var(--filter-icon, invert(1) brightness(0.9) opacity(1))'\r\n }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n left: '14px',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n width: 0,\r\n transition: 'all 0.4s',\r\n background: 'var(--bg-divider)',\r\n height: '2px'\r\n },\r\n\r\n '&:hover': {\r\n '--color-text-sub-menu': theme.palette.common.white,\r\n '--filter-icon': 'invert(1) brightness(1) opacity(1)',\r\n padding: theme.spacing(1.5, 1.5, 1.5, 3.5),\r\n backgroundColor: 'var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))',\r\n '&::before': {\r\n width: theme.spacing(1.125),\r\n marginRight: theme.spacing(1)\r\n }\r\n }\r\n }\r\n}))\r\nMenuStyled.displayName = 'MenuStyled'\r\n"],"names":["subMenuClasses","root","group","title","item","itemIcon","itemText","getClasses","key","options","concat","MenuStyled","styled","Menu","_ref","theme","_defineProperty","marginTop","overflow","backgroundColor","borderRadius","shape","minWidth","maxWidth","boxShadow","animation","color","palette","common","white","opacity","transform","content","position","width","height","top","right","spacing","zIndex","padding","display","breakpoints","down","flexDirection","grey","borderRight","alpha","fontWeight","fontSize","marginBottom","transition","textDecoration","span","alignItems","flexShrink","transformOrigin","marginRight","backgroundImage","backgroundSize","backgroundPosition","filter","left","background","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"sub-menu.styled.js","sources":["../../src/layout-global/sub-menu.styled.ts"],"sourcesContent":["import { alpha, Menu, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { MenuProps, Theme } from '@mui/material'\r\n\r\nexport const subMenuClasses = {\r\n root: 'SubMenu-root',\r\n group: 'SubMenu-group',\r\n title: 'SubMenu-title',\r\n item: 'SubMenu-item',\r\n itemContent: 'SubMenu-itemContent',\r\n itemIcon: 'SubMenu-itemIcon',\r\n itemText: 'SubMenu-itemText'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof subMenuClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${subMenuClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const MenuStyled: ComponentType<MenuProps> = styled(Menu)(({ theme }: { theme: Theme }) => ({\r\n '--bg-divider': 'linear-gradient(45deg, rgb(211, 47, 47) 0%, rgb(249, 169, 37) 70%, rgb(211, 47, 47) 100%) 0% 0% / 200%',\r\n '--size-icon': '24px',\r\n marginTop: '45px',\r\n '.MuiPaper-root': {\r\n overflow: 'visible',\r\n backgroundColor: '#323234',\r\n borderRadius: theme.shape.borderRadius,\r\n minWidth: '280px',\r\n maxWidth: '550px',\r\n boxShadow: `0 1px 1px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.2), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.05)`,\r\n animation: 'fadeInDown 0.3s ease-out',\r\n marginTop: '8px',\r\n color: theme.palette.common.white,\r\n\r\n '@keyframes fadeInDown': {\r\n '0%': { opacity: 0, transform: 'translateY(-10px)' },\r\n '100%': { opacity: 1, transform: 'translateY(0)' }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n backgroundColor: '#323234',\r\n width: '10px',\r\n height: '10px',\r\n top: '-4px',\r\n right: theme.spacing(1.5),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n '.MuiBackdrop-root': { backgroundColor: 'transparent' },\r\n '.MuiList-root': { padding: 0 },\r\n\r\n [getClasses('root')]: {\r\n display: 'flex',\r\n padding: theme.spacing(1, 0),\r\n [theme.breakpoints.down('md')]: {\r\n flexDirection: 'column',\r\n padding: theme.spacing(1, 0)\r\n },\r\n '&:hover': {\r\n '--color-text-sub-menu': theme.palette.grey[500],\r\n '--filter-icon': 'invert(1) brightness(0.6) opacity(0.7)'\r\n }\r\n },\r\n\r\n [getClasses('group')]: {\r\n borderRight: `1px solid ${alpha(theme.palette.common.white, 0.1)}`,\r\n padding: theme.spacing(0, 1),\r\n '&:last-of-type': {\r\n borderRight: 'none'\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n borderRight: 'none',\r\n padding: theme.spacing(0, 0, 0, 1)\r\n }\r\n },\r\n\r\n [getClasses('title')]: {\r\n padding: theme.spacing(0.5, 1.25),\r\n color: theme.palette.common.white,\r\n fontWeight: 500,\r\n fontSize: '1.1rem',\r\n marginBottom: theme.spacing(1.25)\r\n },\r\n\r\n [getClasses('item')]: {\r\n position: 'relative',\r\n transition: 'all 0.35s ease',\r\n padding: theme.spacing(1.5, 3.5, 1.5, 1.5),\r\n backgroundColor: 'var(--bg-nav-item, transparent)',\r\n borderRadius: theme.shape.borderRadius,\r\n\r\n [getClasses('itemContent')]: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n\r\n [getClasses('itemText')]: {\r\n color: `var(--color-text-sub-menu, ${theme.palette.grey[100]})`,\r\n textDecoration: 'none',\r\n display: 'block',\r\n width: '100%',\r\n fontSize: '0.875rem',\r\n transition: 'all 0.3s ease',\r\n span: {\r\n display: 'inline-block'\r\n }\r\n },\r\n\r\n [getClasses('itemIcon')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexShrink: 0,\r\n transition: 'transform var(--timing-medium) var(--easing-bounce)',\r\n transformOrigin: 'left bottom',\r\n position: 'relative',\r\n marginRight: theme.spacing(1),\r\n 'img, svg, .icon-img': { width: 'var(--size-icon)', height: 'var(--size-icon)' },\r\n '.icon-img': {\r\n backgroundImage: `var(--mask-url)`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n display: 'block',\r\n borderRadius: 4,\r\n transition: 'filter 0.3s',\r\n position: 'relative',\r\n zIndex: 1,\r\n filter: 'var(--filter-icon, invert(1) brightness(0.9) opacity(1))'\r\n }\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n position: 'absolute',\r\n left: '14px',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n width: 0,\r\n transition: 'all 0.4s',\r\n background: 'var(--bg-divider)',\r\n height: '2px'\r\n },\r\n\r\n '&:hover': {\r\n '--color-text-sub-menu': theme.palette.common.white,\r\n '--filter-icon': 'invert(1) brightness(1) opacity(1)',\r\n padding: theme.spacing(1.5, 1.5, 1.5, 3.5),\r\n backgroundColor: 'var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))',\r\n '&::before': {\r\n width: theme.spacing(1.125),\r\n marginRight: theme.spacing(1)\r\n }\r\n }\r\n }\r\n}))\r\nMenuStyled.displayName = 'MenuStyled'\r\n"],"names":["subMenuClasses","root","group","title","item","itemContent","itemIcon","itemText","getClasses","key","options","concat","MenuStyled","styled","Menu","_ref","theme","_defineProperty","marginTop","overflow","backgroundColor","borderRadius","shape","minWidth","maxWidth","boxShadow","animation","color","palette","common","white","opacity","transform","content","position","width","height","top","right","spacing","zIndex","padding","display","breakpoints","down","flexDirection","grey","borderRight","alpha","fontWeight","fontSize","marginBottom","transition","alignItems","textDecoration","span","flexShrink","transformOrigin","marginRight","backgroundImage","backgroundSize","backgroundPosition","filter","left","background","displayName"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/auth/hook.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,CAAA"}
@@ -1,2 +1,3 @@
1
+ export type { IProfile, IAuthState } from './types';
1
2
  export * from './widget';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEnD,cAAc,UAAU,CAAA"}
@@ -1,31 +1,25 @@
1
1
  import { Component } from 'react';
2
- import type { PropsWithChildren, MouseEvent as RMouseEvent } from 'react';
3
- export declare const avatarButtonClasses: {
2
+ import type { PropsWithChildren } from 'react';
3
+ import type { IIMenuConfigs, IProfile } from './types';
4
+ export declare const profileClasses: {
4
5
  root: string;
5
6
  title: string;
7
+ content: string;
8
+ item: string;
6
9
  };
7
- interface IAvatarButtonProps extends PropsWithChildren {
8
- userName?: string;
9
- urlAvatar?: string;
10
+ export interface IAvatarButtonProps extends PropsWithChildren {
11
+ profile: IProfile | null;
12
+ menuConfigs: IIMenuConfigs;
10
13
  theme?: 'dark' | 'light';
11
- onLogout?: (event: RMouseEvent<HTMLAnchorElement, MouseEvent>) => void;
12
- profileHref?: {
13
- primary: string;
14
- secondary?: string;
15
- };
16
- logoutHref?: {
17
- primary: string;
18
- secondary?: string;
19
- };
20
14
  }
21
- interface IAvatarButtonState {
15
+ export interface IAvatarButtonState {
22
16
  isOpen: boolean;
23
17
  element: HTMLElement | null;
24
18
  }
25
19
  export declare class Profile extends Component<IAvatarButtonProps, IAvatarButtonState> {
26
20
  constructor(props: IAvatarButtonProps);
27
21
  toggle: () => void;
28
- handleClick: (event: RMouseEvent<HTMLElement>) => void;
22
+ handleClick: (event: React.MouseEvent<HTMLElement>) => void;
29
23
  handleClose: () => void;
30
24
  render(): import("react/jsx-runtime").JSX.Element;
31
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/auth/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,OAAO,CAAA;AAOzE,eAAO,MAAM,mBAAmB;;;CAG/B,CAAA;AAED,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAKlB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IACtE,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrD,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACrD;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBAChE,KAAK,EAAE,kBAAkB;IAQrC,MAAM,aAAsD;IAE5D,WAAW,UAAW,YAAY,WAAW,CAAC,UAE7C;IAED,WAAW,aAEV;IAED,MAAM;CA4DP;AACD,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/auth/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAI9C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,cAAc;;;;;CAK1B,CAAA;AAMD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,WAAW,EAAE,aAAa,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;CAC5B;AAED,qBAAa,OAAQ,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBAChE,KAAK,EAAE,kBAAkB;IAQrC,MAAM,aAAsD;IAE5D,WAAW,UAAW,gBAAgB,CAAC,WAAW,CAAC,UAElD;IAED,WAAW,aAEV;IAED,MAAM;CAoDP;AACD,eAAe,OAAO,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/auth/store.ts"],"names":[],"mappings":"AAiFA,OAAO,EAAE,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface IProfile {
3
+ UserName: string;
4
+ AvatarUrl?: string;
5
+ }
6
+ export interface IAuthState {
7
+ profile: IProfile | null;
8
+ isAuthenticated?: boolean;
9
+ isLoading?: boolean;
10
+ }
11
+ export interface IMenuConfig {
12
+ title: string;
13
+ icon: ReactNode;
14
+ href?: string;
15
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
16
+ }
17
+ export type IIMenuConfigs = IMenuConfig[];
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;CAC5F;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,EAAE,CAAA"}
@@ -1,7 +1,18 @@
1
1
  import { FC } from 'react';
2
- export interface IAuthWidgetProps {
2
+ import type { IAuthState } from './types';
3
+ import type { IAppSiteBaseUrl } from '../types';
4
+ export interface ICreateAuthBase {
5
+ baseUrl: IAppSiteBaseUrl;
6
+ hrefProfile?: string;
7
+ onProfileClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
8
+ hrefLogin?: string;
9
+ onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
10
+ hrefLogout?: string;
11
+ onLogoutClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLDivElement, MouseEvent>) => void;
12
+ }
13
+ export interface IAuthWidgetProps extends IAuthState, ICreateAuthBase {
3
14
  }
4
15
  export declare const AuthWidget: FC<IAuthWidgetProps>;
5
16
  export default AuthWidget;
6
- export declare const createAuthWidget: (params: IAuthWidgetProps) => FC<Partial<IAuthWidgetProps>>;
17
+ export declare const createAuthWidget: (params: ICreateAuthBase) => FC<Omit<IAuthWidgetProps, "baseUrl">>;
7
18
  //# sourceMappingURL=widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/auth/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAQ1B,MAAM,WAAW,gBAAgB;CAAG;AAEpC,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAyB3C,CAAA;AACD,eAAe,UAAU,CAAA;AAEzB,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,kCAIxD,CAAA"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/auth/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAM1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;CAC9F;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU,EAAE,eAAe;CAAG;AAIxE,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAyC3C,CAAA;AAgBD,eAAe,UAAU,CAAA;AAEzB,eAAO,MAAM,gBAAgB,WAAY,eAAe,0CAIvD,CAAA"}
@@ -13,20 +13,6 @@ export interface ICartEventConfigs {
13
13
  requestState: [{
14
14
  options?: IEventOptions;
15
15
  }];
16
- add: [{
17
- item: IItem;
18
- }];
19
- update: [{
20
- id: string;
21
- updates: Partial<IItem>;
22
- }];
23
- remove: [{
24
- id: string;
25
- }];
26
- clear: [];
27
- setState: [{
28
- items: IItem;
29
- }];
30
16
  }
31
17
  export declare class CartEventStore extends EventEmitter<ICartEventConfigs> {
32
18
  constructor();
@@ -39,7 +25,7 @@ export declare class CartEventStore extends EventEmitter<ICartEventConfigs> {
39
25
  _createWrapListener: (callback: (...payload: any[]) => void) => (...payload: any[]) => void;
40
26
  subscribe<K extends keyof ICartEventConfigs>(eventName: K, listener: K extends keyof ICartEventConfigs ? (ICartEventConfigs[K] extends unknown[] ? (...args: ICartEventConfigs[K]) => void : never) : never, isTry?: boolean): () => void;
41
27
  }
42
- export declare function getCartEventStore(): CartEventStore;
28
+ export declare function getCartEventStore(): CartEventStore | null;
43
29
  export interface ICartStoreConfigs {
44
30
  idGetter: IIdGetter;
45
31
  localStorageKey?: string;
@@ -47,6 +33,8 @@ export interface ICartStoreConfigs {
47
33
  export declare class MfeCartStore {
48
34
  private configs;
49
35
  constructor(config: ICartStoreConfigs);
36
+ initialize: () => void;
37
+ destroy: () => void;
50
38
  emitStateChange(items: IItem): void;
51
39
  add(item: any, overwrite?: boolean): this;
52
40
  addMany(items: any[], overwrite?: boolean): this;
@@ -1 +1 @@
1
- {"version":3,"file":"cart-store.d.ts","sourceRoot":"","sources":["../../../src/cart/cart-store.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;AAEpD,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhC,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACxD,YAAY,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IAC3C,GAAG,EAAE,CAAC;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IACtB,MAAM,EAAE,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;KAAE,CAAC,CAAA;IACjD,MAAM,EAAE,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxB,KAAK,EAAE,EAAE,CAAA;IACT,QAAQ,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;CAC7B;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,iBAAiB,CAAC;;IAIjE;;;;;OAKG;IACH,mBAAmB,0BAA2B,GAAG,EAAE,KAAK,IAAI,kBACtC,GAAG,EAAE,UAO1B;IACD,SAAS,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACzC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,SAAS,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAChJ,KAAK,GAAE,OAAc;CAQxB;AAED,wBAAgB,iBAAiB,mBAQhC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAmB;gBACtB,MAAM,EAAE,iBAAiB;IAQrC,eAAe,CAAC,KAAK,EAAE,KAAK;IAM5B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe;IASzC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,SAAS,GAAE,OAAe;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAY7C,MAAM,CAAC,EAAE,EAAE,MAAM;IASjB,KAAK;IAKL,QAAQ,IAAI,KAAK;IAGjB,QAAQ,IAAI,GAAG,EAAE;IAMjB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"cart-store.d.ts","sourceRoot":"","sources":["../../../src/cart/cart-store.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;AAEpD,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhC,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACxD,YAAY,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;CAC5C;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,iBAAiB,CAAC;;IAIjE;;;;;OAKG;IACH,mBAAmB,0BAA2B,GAAG,EAAE,KAAK,IAAI,kBACtC,GAAG,EAAE,UAO1B;IACD,SAAS,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACzC,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC,SAAS,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAChJ,KAAK,GAAE,OAAc;CAQxB;AAED,wBAAgB,iBAAiB,0BAUhC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAmB;gBACtB,MAAM,EAAE,iBAAiB;IAQrC,UAAU,aAKT;IAED,OAAO,aAGN;IAED,eAAe,CAAC,KAAK,EAAE,KAAK;IAM5B,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,GAAE,OAAe;IASzC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,SAAS,GAAE,OAAe;IAWhD,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAY7C,MAAM,CAAC,EAAE,EAAE,MAAM;IASjB,KAAK;IAKL,QAAQ,IAAI,KAAK;IAIjB,QAAQ,IAAI,GAAG,EAAE;IAMjB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -4,7 +4,14 @@ import { ICartItem } from './types';
4
4
  * @param text Input string
5
5
  * @returns Array of matched URLs
6
6
  */
7
- export declare const convertStringToLinks: (text: string) => string[];
7
+ export declare const convertStringToLinks: (text?: string) => string[];
8
+ /**
9
+ * Check if a link is duplicated in a string
10
+ * @param linkString Input string containing links
11
+ * @param value Link to check
12
+ * @returns True if the link is duplicated, false otherwise
13
+ */
14
+ export declare const areDuplicatedLink: (linkString?: string, value?: string) => boolean;
8
15
  /**
9
16
  * Calculate total amount and price from an array of cart items
10
17
  * Note: If item.Amount is undefined, it will be treated as 0
@@ -12,7 +19,8 @@ export declare const convertStringToLinks: (text: string) => string[];
12
19
  * @returns Object with total amount and total price
13
20
  */
14
21
  export declare const getTotalData: (data: ICartItem[]) => {
15
- amount: number;
22
+ quantity: number;
23
+ quantityLinks: number;
16
24
  price: number;
17
25
  };
18
26
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/cart/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,MAAM,EAIzD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,SAAS,EAAE;;;CAQ7C,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/cart/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UAAU,MAAM,KAAQ,MAAM,EAI9D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,gBAAgB,MAAM,UAAc,MAAM,YAIvE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,SAAS,EAAE;;;;CAS7C,CAAA"}
@@ -1,8 +1,11 @@
1
1
  import { ICartItem } from './types';
2
- export declare function useCartStore<T extends ICartItem = ICartItem>(): {
2
+ export interface ICartStoreOptions {
3
+ localStorageKey?: string;
4
+ }
5
+ export declare function useCartStore<T extends ICartItem = ICartItem>(params?: ICartStoreOptions): {
3
6
  items: T[];
4
7
  };
5
- export declare function useCartActions<T extends ICartItem = ICartItem>(): {
8
+ export declare function useCartActions<T extends ICartItem = ICartItem>(params?: ICartStoreOptions): {
6
9
  addToCart: (item: T) => void;
7
10
  updateOrAddCart: (id: string, updates: Partial<T>) => void;
8
11
  removeFromCart: (id: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/cart/hook.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;;EAkB3D;AACD,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;sBAGnC,CAAC;0BAKG,MAAM,WAAW,QAAQ,CAAC,CAAC;yBAK5B,MAAM;;qBAZV,CAAC;EA6B1B"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/cart/hook.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,iBAAiB;;EAuBvF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,iBAAiB;sBAS/D,CAAC;0BAIG,MAAM,WAAW,QAAQ,CAAC,CAAC;yBAI5B,MAAM;;qBAhBV,CAAC;EA+B1B"}
@@ -18,6 +18,7 @@
18
18
  export * from './types';
19
19
  export { CartWidget, createCartWidget } from './widget';
20
20
  export * from './hook';
21
+ export * from './helpers';
21
22
  /**
22
23
  * Simple usage:
23
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cart/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,cAAc,SAAS,CAAA;AAGvB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEvD,cAAc,QAAQ,CAAA;AAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cart/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,cAAc,SAAS,CAAA;AAGvB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEvD,cAAc,QAAQ,CAAA;AAEtB,cAAc,WAAW,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG"}
@@ -1,5 +1,3 @@
1
- /** The type of items that can be added to the cart */
2
- export type CartItemType = 'Video' | 'Audio' | 'Pack';
3
1
  /**
4
2
  * Shopping cart item structure
5
3
  */
@@ -13,19 +11,19 @@ export interface ICartItem<O = any> {
13
11
  /** The social URL associated with the product */
14
12
  SocialUrl?: string;
15
13
  /** The type of the product, e.g., Media or Audio */
16
- Type?: CartItemType;
14
+ Type?: string;
17
15
  /** The name of the product */
18
16
  ProductName?: string;
19
17
  Options?: O;
20
18
  /** The picture URL associated with the product */
21
- PictureUrl?: string;
19
+ PictureUrl: string;
22
20
  /** The price for the product */
23
- Price?: number;
21
+ Price: number;
24
22
  /** The name of the price package */
25
- PriceName?: string;
23
+ PriceName: string;
26
24
  /** The color associated with the price, used for display purposes */
27
25
  PriceColor?: string;
28
26
  /** This will be the ID used to stream video or retrieve audio. */
29
- MediaId?: string;
27
+ MediaId: string;
30
28
  }
31
29
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cart/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,GAAG;IAChC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAA;IACtB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,OAAO,CAAC,EAAE,CAAC,CAAA;IAGX,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cart/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,GAAG;IAChC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAA;IACtB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,OAAO,CAAC,EAAE,CAAC,CAAA;IAGX,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;CAChB"}
@@ -1,11 +1,29 @@
1
+ import { Component } from 'react';
1
2
  import type { FC } from 'react';
3
+ import { ICartItem } from './types';
2
4
  import { IAppSiteBaseUrl } from '../types';
3
- interface ICartWidgetBaseProps {
5
+ interface ICartWidgetProps {
4
6
  baseUrl: IAppSiteBaseUrl;
5
- /** Optional storage key to differentiate between different cart instances */
7
+ carts?: ICartItem[];
8
+ hrefCart?: string;
6
9
  storageKey?: string;
10
+ onRemoveCart?: (item: ICartItem) => void;
11
+ onCartClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement, MouseEvent>) => void;
7
12
  }
8
- export declare const CartWidget: FC<ICartWidgetBaseProps>;
9
- export declare const createCartWidget: (params: ICartWidgetBaseProps) => FC<Partial<ICartWidgetBaseProps>>;
13
+ interface ICartWidgetState {
14
+ anchorEl: HTMLElement | null;
15
+ hydrated: boolean;
16
+ }
17
+ export declare class CartWidget extends Component<ICartWidgetProps, ICartWidgetState> {
18
+ constructor(props: ICartWidgetProps);
19
+ get carts(): ICartItem<any>[];
20
+ componentDidMount(): void;
21
+ render: () => import("react/jsx-runtime").JSX.Element;
22
+ renderContent: () => import("react/jsx-runtime").JSX.Element;
23
+ renderItem: (item: ICartItem) => import("react/jsx-runtime").JSX.Element;
24
+ onOpen: (target: HTMLElement) => void;
25
+ onClose: () => void;
26
+ }
27
+ export declare const createCartWidget: (params: ICartWidgetProps) => FC<Partial<ICartWidgetProps>>;
10
28
  export {};
11
29
  //# sourceMappingURL=widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/cart/widget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAQ/B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,UAAU,oBAAoB;IAC5B,OAAO,EAAE,eAAe,CAAA;IACxB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAmHD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,oBAAoB,CAa/C,CAAA;AAED,eAAO,MAAM,gBAAgB,WAAY,oBAAoB,sCAI5D,CAAA"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/cart/widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAG3C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,GAAG,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;CAC/F;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,UAAW,SAAQ,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAC/D,KAAK,EAAE,gBAAgB;IAKnC,IAAI,KAAK,qBAER;IAED,iBAAiB;IAKjB,MAAM,gDAmBL;IAED,aAAa,gDAsCZ;IAED,UAAU,SAAU,SAAS,6CA2B5B;IAED,MAAM,WAAY,WAAW,UAE5B;IAED,OAAO,aAEN;CACF;AAED,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,kCAIxD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.d.ts","sourceRoot":"","sources":["../../../src/layout-global/sub-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEhF,UAAU,aAAa;IACrB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,cAAM,OAAQ,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC5C,MAAM;IA+BN,UAAU,SAAU,QAAQ,SAAS,MAAM,6CAiB1C;IAED,UAAU,UAAW,SAAS,oDAO7B;IAED,WAAW,mBAIV;IAED,kBAAkB,UAAW,gBAAgB,CAAC,iBAAiB,EAAE,UAAU,CAAC,SAAS,QAAQ,UAG5F;CACF;AACD,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"sub-menu.d.ts","sourceRoot":"","sources":["../../../src/layout-global/sub-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEhF,UAAU,aAAa;IACrB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,cAAM,OAAQ,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC5C,MAAM;IA+BN,UAAU,SAAU,QAAQ,SAAS,MAAM,6CAsB1C;IAED,UAAU,UAAW,SAAS,oDAO7B;IAED,WAAW,mBAIV;IAED,kBAAkB,UAAW,gBAAgB,CAAC,iBAAiB,EAAE,UAAU,CAAC,SAAS,QAAQ,UAG5F;CACF;AACD,eAAe,OAAO,CAAA"}
@@ -5,6 +5,7 @@ export declare const subMenuClasses: {
5
5
  group: string;
6
6
  title: string;
7
7
  item: string;
8
+ itemContent: string;
8
9
  itemIcon: string;
9
10
  itemText: string;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sub-menu.styled.d.ts","sourceRoot":"","sources":["../../../src/layout-global/sub-menu.styled.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,eAAe,CAAA;AAErD,eAAO,MAAM,cAAc;;;;;;;CAO1B,CAAA;AAMD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,CAoI7C,CAAA"}
1
+ {"version":3,"file":"sub-menu.styled.d.ts","sourceRoot":"","sources":["../../../src/layout-global/sub-menu.styled.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,eAAe,CAAA;AAErD,eAAO,MAAM,cAAc;;;;;;;;CAQ1B,CAAA;AAMD,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,SAAS,CAyI7C,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",