dinocollab-shared 1.2.5 → 1.2.7

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 (39) hide show
  1. package/dist/cart/widget.js +1 -1
  2. package/dist/editor-kit/helpers.js +1 -1
  3. package/dist/editor-kit/helpers.js.map +1 -1
  4. package/dist/layout-global/app-footer.styled.js +1 -1
  5. package/dist/layout-global/app-footer.styled.js.map +1 -1
  6. package/dist/layout-global/app-header.js +1 -1
  7. package/dist/layout-global/app-header.js.map +1 -1
  8. package/dist/layout-global/app-header.styled.js +1 -1
  9. package/dist/layout-global/app-header.styled.js.map +1 -1
  10. package/dist/layout-global/helpers.js +1 -1
  11. package/dist/layout-global/helpers.js.map +1 -1
  12. package/dist/layout-global/index.js +1 -1
  13. package/dist/layout-global/sub-menu.styled.js +1 -1
  14. package/dist/layout-global/sub-menu.styled.js.map +1 -1
  15. package/dist/types/editor-kit/helpers.d.ts.map +1 -1
  16. package/dist/types/layout-global/app-footer.styled.d.ts.map +1 -1
  17. package/dist/types/layout-global/app-header.d.ts +1 -0
  18. package/dist/types/layout-global/app-header.d.ts.map +1 -1
  19. package/dist/types/layout-global/app-header.styled.d.ts +1 -4
  20. package/dist/types/layout-global/app-header.styled.d.ts.map +1 -1
  21. package/dist/types/layout-global/helpers.d.ts.map +1 -1
  22. package/dist/types/layout-global/index.d.ts +2 -2
  23. package/dist/types/layout-global/index.d.ts.map +1 -1
  24. package/dist/types/layout-global/sub-menu.styled.d.ts.map +1 -1
  25. package/dist/types/menu-bar/creator.d.ts +27 -0
  26. package/dist/types/menu-bar/creator.d.ts.map +1 -0
  27. package/dist/types/menu-bar/helpers.d.ts +8 -0
  28. package/dist/types/menu-bar/helpers.d.ts.map +1 -0
  29. package/dist/types/menu-bar/index.d.ts +4 -0
  30. package/dist/types/menu-bar/index.d.ts.map +1 -0
  31. package/dist/types/menu-bar/menu-info.d.ts +31 -0
  32. package/dist/types/menu-bar/menu-info.d.ts.map +1 -0
  33. package/dist/types/menu-bar/styled.d.ts +27 -0
  34. package/dist/types/menu-bar/styled.d.ts.map +1 -0
  35. package/dist/types/menu-bar/types.d.ts +43 -0
  36. package/dist/types/menu-bar/types.d.ts.map +1 -0
  37. package/dist/types/menu-bar/units.d.ts +26 -0
  38. package/dist/types/menu-bar/units.d.ts.map +1 -0
  39. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,jsxs as a}from"react/jsx-runtime";import{Component as c,Fragment as s}from"react";import{ImageWithFallback as d}from"dinocollab-core/components";import{Badge as m,Typography as u,Divider as p,Button as h,Box as f,IconButton as v}from"@mui/material";import C from"@mui/icons-material/Remove";import g from"@mui/icons-material/ShoppingCartOutlined";import x from"@mui/icons-material/ShoppingCartCheckout";import{getTotalData as b}from"./helpers.js";import{MenuStyled as y,CartContentStyled as k,cartContentClasses as P}from"./styled.js";import{IconButtonDark as T}from"../components/buttons.js";import{NoDataPanel as S}from"../components/no-data-panel.js";var N=function(){function N(r){var e;return n(this,N),e=o(this,N,[r]),i(e,"render",function(){var r;return a(s,{children:[l(T,{onClick:function(r){return e.onOpen(r.currentTarget)},children:l(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:l(g,{fontSize:"small"})})}),l(y,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),i(e,"renderContent",function(){var r,n=b(e.carts);return a(k,{children:[a("div",{className:P.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=n.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",n.price.toFixed(2)]})]}),l(p,{}),a("div",{className:P.items,children:[e.carts.map(function(r,t){return l(s,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&l(S,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%"}})]}),l(p,{}),l("div",{className:P.footer,children:l(h,t(t(t({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onMoveToCartClick&&e.props.onMoveToCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),i(e,"renderTitle",function(r){var n,o=e.props,i=o.itemTitleProps,a=o.itemTitlePropsGetter,c=a?a(r,e.onClose):null!=i?i:{};return l(u,t(t({className:P.itemTitle,noWrap:!0,variant:"subtitle1"},c),{},{children:null!==(n=r.ProductName)&&void 0!==n?n:"Unknown Product"}))}),i(e,"renderItem",function(r){var t,n,o,i;return a("div",{className:P.item,children:[l(d,{className:P.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),a("div",{className:P.itemContent,children:[l(u,{className:P.itemTag,variant:"caption",sx:{color:null!==(t=r.PriceColor)&&void 0!==t?t:"#000"},children:null!==(n=r.PriceName)&&void 0!==n?n:"Unknown Price"}),e.renderTitle(r),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(o=r.Price)&&void 0!==o?o:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(i=r.Amount)&&void 0!==i?i:0," urls"]})]})]}),l(v,{size:"small",onClick:function(){var t,n;return null===(t=(n=e.props).onRemoveCart)||void 0===t?void 0:t.call(n,r)},sx:{color:"#818181"},children:l(C,{})})]})}),i(e,"onOpen",function(r){e.setState({anchorEl:r})}),i(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(N,c),e(N,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),j=function(r){var e=function(e){return l(N,t(t({},r),e))};return e.displayName="CartWidget",e};export{N as CartWidget,j as createCartWidget};
1
+ import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,jsxs as a}from"react/jsx-runtime";import{Component as c,Fragment as s}from"react";import{ImageWithFallback as d}from"dinocollab-core/components";import{Badge as m,Typography as u,Divider as p,Button as h,Box as f,IconButton as v}from"@mui/material";import C from"@mui/icons-material/Remove";import g from"@mui/icons-material/ShoppingCartOutlined";import x from"@mui/icons-material/ShoppingCartCheckout";import{getTotalData as b}from"./helpers.js";import{IconButtonDark as y}from"../components/buttons.js";import{NoDataPanel as k}from"../components/no-data-panel.js";import{MenuStyled as P,CartContentStyled as T,cartContentClasses as S}from"./styled.js";var N=function(){function N(r){var e;return n(this,N),e=o(this,N,[r]),i(e,"render",function(){var r;return a(s,{children:[l(y,{onClick:function(r){return e.onOpen(r.currentTarget)},children:l(m,{badgeContent:e.state.hydrated&&null!==(r=e.carts.length)&&void 0!==r?r:0,color:"error",children:l(g,{fontSize:"small"})})}),l(P,{disableScrollLock:!0,anchorEl:e.state.anchorEl,open:Boolean(e.state.anchorEl),onClose:e.onClose,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},MenuListProps:{component:"div"},children:e.renderContent()})]})}),i(e,"renderContent",function(){var r,n=b(e.carts);return a(T,{children:[a("div",{className:S.header,children:[a(u,{variant:"h6",component:"span",sx:{flex:1},children:["Your Cart (",null!==(r=n.quantity)&&void 0!==r?r:0," items)"]}),a(u,{variant:"h6",component:"span",children:["Total: $ ",n.price.toFixed(2)]})]}),l(p,{}),a("div",{className:S.items,children:[e.carts.map(function(r,t){return l(s,{children:e.renderItem(r)},"key"+t)}),e.carts.length<1&&l(k,{title:"Your cart is empty",subTitle:"Try adding some products",sx:{height:"100%"}})]}),l(p,{}),l("div",{className:S.footer,children:l(h,t(t(t({},e.props.hrefCart?{component:"a",href:e.props.hrefCart}:{}),{},{color:"inherit",endIcon:l(x,{}),onClick:function(r){e.onClose(),e.props.onMoveToCartClick&&e.props.onMoveToCartClick(r)},disabled:e.carts.length<1},e.props.buttonMoveToCartProps),{},{children:"Show in cart"}))})]})}),i(e,"renderTitle",function(r){var n,o=e.props,i=o.itemTitleProps,a=o.itemTitlePropsGetter,c=a?a(r,e.onClose):null!=i?i:{};return l(u,t(t({className:S.itemTitle,noWrap:!0,variant:"subtitle1"},c),{},{children:null!==(n=r.ProductName)&&void 0!==n?n:"Unknown Product"}))}),i(e,"renderItem",function(r){var t,n,o,i;return a("div",{className:S.item,children:[l(d,{className:S.itemImg,src:null==r?void 0:r.PictureUrl,title:null==r?void 0:r.PictureUrl,fallbackSrc:"images/default-video.webp",alt:"product-picture"}),a("div",{className:S.itemContent,children:[l(u,{className:S.itemTag,variant:"caption",sx:{color:null!==(t=r.PriceColor)&&void 0!==t?t:"#000"},children:null!==(n=r.PriceName)&&void 0!==n?n:"Unknown Price"}),e.renderTitle(r),a(f,{sx:{display:"flex",alignItems:"flex-end",gap:"2px",justifyContent:"flex-end"},children:[a(u,{variant:"subtitle1",children:["$ ",null!==(o=r.Price)&&void 0!==o?o:0]}),a(u,{variant:"body1",sx:{fontSize:"14px",mb:"3px",color:"#818181"},children:["x",null!==(i=r.Amount)&&void 0!==i?i:0," urls"]})]})]}),l(v,{size:"small",onClick:function(){var t,n;return null===(t=(n=e.props).onRemoveCart)||void 0===t?void 0:t.call(n,r)},sx:{color:"#818181"},children:l(C,{})})]})}),i(e,"onOpen",function(r){e.setState({anchorEl:r})}),i(e,"onClose",function(){e.setState({anchorEl:null})}),e.state={anchorEl:null,hydrated:!1},e}return r(N,c),e(N,[{key:"carts",get:function(){var r;return null!==(r=this.props.carts)&&void 0!==r?r:[]}},{key:"componentDidMount",value:function(){this.setState({hydrated:!0})}}])}(),j=function(r){var e=function(e){return l(N,t(t({},r),e))};return e.displayName="CartWidget",e};export{N as CartWidget,j as createCartWidget};
2
2
  //# sourceMappingURL=widget.js.map
@@ -1,2 +1,2 @@
1
- import{defineProperty as t,createForOfIteratorHelper as e,typeof as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{useEffect as o}from"react";import"events";var i={button:"editor-kit-btn",auto:"editor-kit-btn--auto"},r="data-editor-key",a=function(e){return t({},r,e)},d="data-editor-auto-mounted",c=function(t){t instanceof HTMLElement&&(t.querySelectorAll(".".concat(i.auto)).forEach(function(t){return t.remove()}),t.removeAttribute(d))},l=null,u=function(){l&&(l.disconnect(),l=null);try{document.querySelectorAll("[".concat(d,"]")).forEach(c)}catch(t){}},s=function(){if("undefined"!=typeof document&&!document.getElementById("editor-kit-styles")){var t=document.createElement("style");t.id="editor-kit-styles",t.textContent="\n [data-editor-key] {\n position: relative;\n border: 1px dashed rgba(255, 0, 0, 0.4);\n min-height: 40px;\n padding-top: 4px;\n }\n\n .editor-kit-btn {\n appearance: none;\n border: 0;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n cursor: pointer;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-weight: 500;\n transition: all 0.2s ease;\n }\n\n .editor-kit-btn--auto {\n position: absolute;\n top: 4px;\n right: 4px;\n z-index: 9999;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);\n }\n\n .editor-kit-btn:hover,\n .editor-kit-btn:focus {\n background: rgba(0, 0, 0, 0.8);\n outline: none;\n transform: scale(1.05);\n }\n\n .editor-kit-btn:active {\n transform: scale(0.95);\n }\n ",document.head.appendChild(t)}},f=function(t){if(t instanceof HTMLElement&&!t.hasAttribute(d)){var e=t.getAttribute(r);if(e){var n=document.createElement("button");n.type="button",n.className=[i.button,i.auto].join(" "),n.textContent="Edit",n.title="Edit",n.addEventListener("click",function(n){n.preventDefault(),n.stopPropagation();var o=t.getAttribute("data-editor-index");window.parent.postMessage({type:"EDITOR_KIT_EDIT",key:e,index:o?parseInt(o):null},"*")}),t.appendChild(n),t.setAttribute(d,"1")}}},p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{var n=t.querySelectorAll("[".concat(r,"]:not([").concat(d,"])"));(e||n.length>0)&&console.log("[EditorKit Client] Found",n.length,"unmounted elements"),n.forEach(f)}catch(t){console.error("[EditorKit Client] Error scanning:",t)}},m=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(console.log("[EditorKit Client] Starting auto-mount for iframe..."),p(document,!0),l&&l.disconnect(),(l=new MutationObserver(function(t){var n,o=e(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;"childList"===i.type?i.addedNodes.forEach(function(t){t instanceof Element&&(t.hasAttribute(r)?f(t):t.children.length>0&&p(t))}):"attributes"===i.type&&i.target instanceof Element&&i.attributeName===r&&f(i.target)}}catch(t){o.e(t)}finally{o.f()}})).observe(document.documentElement||document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[r]}),console.log("[EditorKit Client] Auto-mount started"))},b=function(){if("undefined"!=typeof window){s();var t=null;window.addEventListener("message",function(e){var o,i,a=null===(o=e.data)||void 0===o?void 0:o.type;if(a&&a.startsWith("EDITOR_KIT_"))switch(a){case"EDITOR_KIT_INIT":t=e.data.data,console.log("[EditorKit Client] Initialized with data"),window.parent.postMessage({type:"EDITOR_KIT_READY"},"*"),m();break;case"EDITOR_KIT_UPDATE_DATA":t=e.data.data,console.log("[EditorKit Client] Data updated"),(i=t)&&Object.keys(i).forEach(function(t){document.querySelectorAll("[".concat(r,'="').concat(t,'"]')).forEach(function(e){var o,r=e.getAttribute("data-editor-index"),a=null!==r?null===(o=i[t])||void 0===o?void 0:o[parseInt(r)]:i[t];if(null!=a)if("string"==typeof a){var d=Array.from(e.childNodes).find(function(t){return t.nodeType===Node.TEXT_NODE});d?d.textContent=a:e.textContent=a}else"object"===n(a)&&e.dispatchEvent(new CustomEvent("editor-kit-data-update",{detail:a}))})})}})}},E=function(){o(function(){return window.parent!==window&&(console.log("[useEditorKitClient] Initializing in iframe mode..."),s(),m(),b(),window.parent.postMessage({type:"EDITOR_KIT_CLIENT_READY"},"*")),function(){u()}},[])};export{r as EDIT_KEY,i as editKitClasses,a as getFieldEditor,b as initEditorKitClient,s as injectEditorKitStyles,m as startAutoMountForIframe,u as stopAutoMount,E as useEditorKitClient};
1
+ import{defineProperty as t,createForOfIteratorHelper as e,typeof as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{useEffect as o}from"react";import"events";var i={button:"editor-kit-btn",auto:"editor-kit-btn--auto"},r="data-editor-key",a=function(e){return t({},r,e)},d="data-editor-auto-mounted",c=function(t){t instanceof HTMLElement&&(t.querySelectorAll(".".concat(i.auto)).forEach(function(t){return t.remove()}),t.removeAttribute(d))},l=null,u=function(){l&&(l.disconnect(),l=null);try{document.querySelectorAll("[".concat(d,"]")).forEach(c)}catch(t){}},s=function(){if("undefined"!=typeof document&&!document.getElementById("editor-kit-styles")){var t=document.createElement("style");t.id="editor-kit-styles",t.textContent="\n [data-editor-key] {\n position: relative;\n border: 1px dashed rgba(255, 0, 0, 0.4);\n min-height: 40px;\n padding-top: 4px;\n }\n\n .editor-kit-btn {\n appearance: none;\n border: 0;\n background: #00C853;\n color: #fff;\n box-shadow: 0 0 8px rgba(255,255,255,0.3);\n cursor: pointer;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 1;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n transition: all 0.2s ease;\n }\n\n .editor-kit-btn--auto {\n position: absolute;\n top: 4px;\n right: 4px;\n z-index: 9999;\n }\n\n .editor-kit-btn:hover,\n .editor-kit-btn:focus {\n background: #00B249;\n outline: none;\n }\n\n .editor-kit-btn:active {\n background: #009624;\n }\n ",document.head.appendChild(t)}},f=function(t){if(t instanceof HTMLElement&&!t.hasAttribute(d)){var e=t.getAttribute(r);if(e){var n=document.createElement("button");n.type="button",n.className=[i.button,i.auto].join(" "),n.textContent="Edit",n.title="Edit",n.addEventListener("click",function(n){n.preventDefault(),n.stopPropagation();var o=t.getAttribute("data-editor-index");window.parent.postMessage({type:"EDITOR_KIT_EDIT",key:e,index:o?parseInt(o):null},"*")}),t.appendChild(n),t.setAttribute(d,"1")}}},p=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{var n=t.querySelectorAll("[".concat(r,"]:not([").concat(d,"])"));(e||n.length>0)&&console.log("[EditorKit Client] Found",n.length,"unmounted elements"),n.forEach(f)}catch(t){console.error("[EditorKit Client] Error scanning:",t)}},m=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(console.log("[EditorKit Client] Starting auto-mount for iframe..."),p(document,!0),l&&l.disconnect(),(l=new MutationObserver(function(t){var n,o=e(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;"childList"===i.type?i.addedNodes.forEach(function(t){t instanceof Element&&(t.hasAttribute(r)?f(t):t.children.length>0&&p(t))}):"attributes"===i.type&&i.target instanceof Element&&i.attributeName===r&&f(i.target)}}catch(t){o.e(t)}finally{o.f()}})).observe(document.documentElement||document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[r]}),console.log("[EditorKit Client] Auto-mount started"))},E=function(){if("undefined"!=typeof window){s();var t=null;window.addEventListener("message",function(e){var o,i,a=null===(o=e.data)||void 0===o?void 0:o.type;if(a&&a.startsWith("EDITOR_KIT_"))switch(a){case"EDITOR_KIT_INIT":t=e.data.data,console.log("[EditorKit Client] Initialized with data"),window.parent.postMessage({type:"EDITOR_KIT_READY"},"*"),m();break;case"EDITOR_KIT_UPDATE_DATA":t=e.data.data,console.log("[EditorKit Client] Data updated"),(i=t)&&Object.keys(i).forEach(function(t){document.querySelectorAll("[".concat(r,'="').concat(t,'"]')).forEach(function(e){var o,r=e.getAttribute("data-editor-index"),a=null!==r?null===(o=i[t])||void 0===o?void 0:o[parseInt(r)]:i[t];if(null!=a)if("string"==typeof a){var d=Array.from(e.childNodes).find(function(t){return t.nodeType===Node.TEXT_NODE});d?d.textContent=a:e.textContent=a}else"object"===n(a)&&e.dispatchEvent(new CustomEvent("editor-kit-data-update",{detail:a}))})})}})}},b=function(){o(function(){return window.parent!==window&&(console.log("[useEditorKitClient] Initializing in iframe mode..."),s(),m(),E(),window.parent.postMessage({type:"EDITOR_KIT_CLIENT_READY"},"*")),function(){u()}},[])};export{r as EDIT_KEY,i as editKitClasses,a as getFieldEditor,E as initEditorKitClient,s as injectEditorKitStyles,m as startAutoMountForIframe,u as stopAutoMount,b as useEditorKitClient};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/editor-kit/helpers.ts"],"sourcesContent":["import { useEffect } from 'react'\r\nimport { getEditorKitEvent } from './events'\r\n\r\nexport const editKitClasses = {\r\n root: 'editor-kit-root',\r\n button: 'editor-kit-btn',\r\n auto: 'editor-kit-btn--auto'\r\n}\r\n\r\nexport const EDIT_KEY = 'data-editor-key'\r\n\r\n// event emitted when an edit button is clicked\r\nexport const EDIT_EVENT = 'editor-kit:edit'\r\n\r\n// Keep this minimal and non-intrusive for landing pages: only a data attribute.\r\nexport const getFieldEditor = <T = any>(key: keyof T) => ({ [EDIT_KEY]: key })\r\n\r\n/* --- Editor-mode auto-mount (minimal & opt-in) ---\r\n Behaviour:\r\n - Does nothing on landing pages by default.\r\n - Finds elements with [data-editor-key] and appends a small positioned Edit button when started.\r\n - Exports startAutoMount/stopAutoMount for manual control from an editor wrapper.\r\n*/\r\nconst AUTO_MOUNT_MARK = 'data-editor-auto-mounted'\r\n\r\nconst mountButtonOnElement = (el: Element) => {\r\n if (!(el instanceof HTMLElement)) return\r\n if (el.hasAttribute(AUTO_MOUNT_MARK)) return\r\n const key = el.getAttribute(EDIT_KEY)\r\n if (!key) return\r\n\r\n const btn = document.createElement('button')\r\n btn.type = 'button'\r\n btn.className = [editKitClasses.button, editKitClasses.auto].join(' ')\r\n btn.textContent = 'Edit'\r\n btn.title = 'Edit'\r\n\r\n // emit the edit event via the EditorKitEvent emitter so it doesn't pollute window\r\n btn.addEventListener('click', () => {\r\n try {\r\n const ee = getEditorKitEvent()\r\n if (ee) {\r\n // use the stateChange channel to signal editor UI; payload includes key\r\n ee.emit('stateChange', { key })\r\n } else {\r\n // fallback to window event if emitter not available\r\n window.dispatchEvent(new CustomEvent(EDIT_EVENT, { detail: { key } }))\r\n }\r\n } catch (err) {\r\n // graceful fallback\r\n window.dispatchEvent(new CustomEvent(EDIT_EVENT, { detail: { key } }))\r\n }\r\n })\r\n\r\n // Styling and parent positioning are handled by `style.scss` which is imported\r\n // from the editor component. This keeps helpers passive on landing pages.\r\n el.appendChild(btn)\r\n el.setAttribute(AUTO_MOUNT_MARK, '1')\r\n}\r\n\r\nconst unmountButtonsFromElement = (el: Element) => {\r\n if (!(el instanceof HTMLElement)) return\r\n const buttons = el.querySelectorAll(`.${editKitClasses.auto}`)\r\n buttons.forEach((btn) => btn.remove())\r\n el.removeAttribute(AUTO_MOUNT_MARK)\r\n}\r\n\r\nconst scanAndMount = (root: ParentNode = document) => {\r\n try {\r\n root.querySelectorAll(`[${EDIT_KEY}]`).forEach(mountButtonOnElement)\r\n } catch {\r\n // no-op in non-DOM envs\r\n }\r\n}\r\n\r\nlet _observer: MutationObserver | null = null\r\n\r\nexport const startAutoMount = () => {\r\n if (typeof window === 'undefined' || typeof document === 'undefined') return\r\n if (_observer) return // already started\r\n\r\n // Inject CSS styles\r\n injectEditorKitStyles()\r\n\r\n scanAndMount(document)\r\n _observer = new MutationObserver((mutations) => {\r\n for (const m of mutations) {\r\n if (m.type === 'childList') {\r\n m.addedNodes.forEach((n) => {\r\n if (n instanceof Element) {\r\n if (n.hasAttribute(EDIT_KEY)) mountButtonOnElement(n)\r\n scanAndMount(n)\r\n }\r\n })\r\n } else if (m.type === 'attributes' && m.target instanceof Element) {\r\n if (m.attributeName === EDIT_KEY) mountButtonOnElement(m.target)\r\n }\r\n }\r\n })\r\n _observer.observe(document.documentElement || document.body, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n attributeFilter: [EDIT_KEY]\r\n })\r\n}\r\n\r\nexport const stopAutoMount = () => {\r\n if (_observer) {\r\n _observer.disconnect()\r\n _observer = null\r\n }\r\n // Cleanup all mounted buttons\r\n try {\r\n document.querySelectorAll(`[${AUTO_MOUNT_MARK}]`).forEach(unmountButtonsFromElement)\r\n } catch {\r\n // no-op\r\n }\r\n}\r\n\r\n/* --- Inject CSS Styles ---\r\n Inject editor kit styles dynamically\r\n Used by both Normal mode and Iframe mode\r\n*/\r\nexport const injectEditorKitStyles = () => {\r\n if (typeof document === 'undefined') return\r\n\r\n // Check if already injected\r\n if (document.getElementById('editor-kit-styles')) return\r\n\r\n const style = document.createElement('style')\r\n style.id = 'editor-kit-styles'\r\n style.textContent = `\r\n [data-editor-key] {\r\n position: relative;\r\n border: 1px dashed rgba(255, 0, 0, 0.4);\r\n min-height: 40px;\r\n padding-top: 4px;\r\n }\r\n\r\n .editor-kit-btn {\r\n appearance: none;\r\n border: 0;\r\n background: rgba(0, 0, 0, 0.6);\r\n color: #fff;\r\n cursor: pointer;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 12px;\r\n line-height: 1;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 500;\r\n transition: all 0.2s ease;\r\n }\r\n\r\n .editor-kit-btn--auto {\r\n position: absolute;\r\n top: 4px;\r\n right: 4px;\r\n z-index: 9999;\r\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .editor-kit-btn:hover,\r\n .editor-kit-btn:focus {\r\n background: rgba(0, 0, 0, 0.8);\r\n outline: none;\r\n transform: scale(1.05);\r\n }\r\n\r\n .editor-kit-btn:active {\r\n transform: scale(0.95);\r\n }\r\n `\r\n document.head.appendChild(style)\r\n}\r\n\r\n/* --- Iframe Client Mode ---\r\n Initialize editor kit client for landing pages loaded in iframe\r\n*/\r\n\r\n// Mount button for iframe mode - sends postMessage instead of event\r\nconst mountButtonForIframe = (el: Element) => {\r\n if (!(el instanceof HTMLElement)) return\r\n if (el.hasAttribute(AUTO_MOUNT_MARK)) return\r\n const key = el.getAttribute(EDIT_KEY)\r\n if (!key) return\r\n\r\n const btn = document.createElement('button')\r\n btn.type = 'button'\r\n btn.className = [editKitClasses.button, editKitClasses.auto].join(' ')\r\n btn.textContent = 'Edit'\r\n btn.title = 'Edit'\r\n\r\n // Click handler sends message to parent window\r\n btn.addEventListener('click', (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n const indexAttr = el.getAttribute('data-editor-index')\r\n\r\n // Send message to Admin parent\r\n window.parent.postMessage({ type: 'EDITOR_KIT_EDIT', key: key, index: indexAttr ? parseInt(indexAttr) : null }, '*')\r\n })\r\n\r\n el.appendChild(btn)\r\n el.setAttribute(AUTO_MOUNT_MARK, '1')\r\n}\r\n\r\n// Scan and mount for iframe\r\nconst scanAndMountForIframe = (root: ParentNode = document, isInitialScan = false) => {\r\n try {\r\n const elements = root.querySelectorAll(`[${EDIT_KEY}]:not([${AUTO_MOUNT_MARK}])`)\r\n // Only log during initial scan or if elements found\r\n if (isInitialScan || elements.length > 0) {\r\n console.log('[EditorKit Client] Found', elements.length, 'unmounted elements')\r\n }\r\n elements.forEach(mountButtonForIframe)\r\n } catch (err) {\r\n console.error('[EditorKit Client] Error scanning:', err)\r\n }\r\n}\r\n\r\n// Start auto-mount for iframe with custom click handler\r\nexport const startAutoMountForIframe = () => {\r\n if (typeof window === 'undefined' || typeof document === 'undefined') return\r\n\r\n console.log('[EditorKit Client] Starting auto-mount for iframe...')\r\n\r\n // Initial scan with logging\r\n scanAndMountForIframe(document, true)\r\n\r\n // Setup mutation observer for dynamic content\r\n if (_observer) {\r\n _observer.disconnect()\r\n }\r\n\r\n _observer = new MutationObserver((mutations) => {\r\n for (const m of mutations) {\r\n if (m.type === 'childList') {\r\n m.addedNodes.forEach((n) => {\r\n if (n instanceof Element) {\r\n // Only mount if the element itself has the key\r\n if (n.hasAttribute(EDIT_KEY)) {\r\n mountButtonForIframe(n)\r\n }\r\n // Only scan children if this is a container element (has children)\r\n else if (n.children.length > 0) {\r\n scanAndMountForIframe(n)\r\n }\r\n }\r\n })\r\n } else if (m.type === 'attributes' && m.target instanceof Element) {\r\n if (m.attributeName === EDIT_KEY) {\r\n mountButtonForIframe(m.target)\r\n }\r\n }\r\n }\r\n })\r\n _observer.observe(document.documentElement || document.body, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n attributeFilter: [EDIT_KEY]\r\n })\r\n\r\n console.log('[EditorKit Client] Auto-mount started')\r\n}\r\n\r\n// Update display data when receiving new data\r\n// Note: For React apps, this is usually not needed as React handles re-rendering\r\n// This is useful for vanilla JS or non-React landing pages\r\nconst updateDisplayData = (data: any) => {\r\n if (!data) return\r\n\r\n Object.keys(data).forEach((key) => {\r\n const elements = document.querySelectorAll(`[${EDIT_KEY}=\"${key}\"]`)\r\n elements.forEach((el: any) => {\r\n const indexAttr = el.getAttribute('data-editor-index')\r\n const value = indexAttr !== null ? data[key]?.[parseInt(indexAttr)] : data[key]\r\n\r\n // Update content (you can customize this based on your needs)\r\n if (value !== undefined && value !== null) {\r\n if (typeof value === 'string') {\r\n // For simple text content\r\n const textNode = Array.from(el.childNodes).find((node: any) => node.nodeType === Node.TEXT_NODE) as any\r\n if (textNode) {\r\n textNode.textContent = value\r\n } else {\r\n el.textContent = value\r\n }\r\n } else if (typeof value === 'object') {\r\n // For complex objects, dispatch custom event for manual handling\r\n // React apps should update via state, not via this event\r\n el.dispatchEvent(new CustomEvent('editor-kit-data-update', { detail: value }))\r\n }\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport const initEditorKitClient = () => {\r\n if (typeof window === 'undefined') return\r\n\r\n // Inject CSS styles for editor kit\r\n injectEditorKitStyles()\r\n\r\n let editorData: any = null\r\n\r\n // Listen to messages from parent (Admin)\r\n window.addEventListener('message', (event) => {\r\n const msgType = event.data?.type\r\n if (!msgType || !msgType.startsWith('EDITOR_KIT_')) return\r\n\r\n switch (msgType) {\r\n case 'EDITOR_KIT_INIT':\r\n editorData = event.data.data\r\n console.log('[EditorKit Client] Initialized with data')\r\n // Notify parent that we're ready\r\n window.parent.postMessage({ type: 'EDITOR_KIT_READY' }, '*')\r\n // Start auto-mounting edit buttons\r\n startAutoMountForIframe()\r\n break\r\n\r\n case 'EDITOR_KIT_UPDATE_DATA':\r\n editorData = event.data.data\r\n console.log('[EditorKit Client] Data updated')\r\n updateDisplayData(editorData)\r\n break\r\n }\r\n })\r\n}\r\n\r\nexport const useEditorKitClient = () => {\r\n useEffect(() => {\r\n // Only init when loaded inside an iframe from Admin\r\n if (window.parent !== window) {\r\n console.log('[useEditorKitClient] Initializing in iframe mode...')\r\n\r\n // Inject CSS styles\r\n injectEditorKitStyles()\r\n\r\n // Start auto-mounting immediately for iframe mode\r\n startAutoMountForIframe()\r\n\r\n // Also setup message listener for data updates\r\n initEditorKitClient()\r\n\r\n // Notify parent that client is ready\r\n window.parent.postMessage({ type: 'EDITOR_KIT_CLIENT_READY' }, '*')\r\n }\r\n\r\n // Cleanup on unmount\r\n return () => {\r\n stopAutoMount()\r\n }\r\n }, [])\r\n}\r\n"],"names":["editKitClasses","button","auto","EDIT_KEY","getFieldEditor","key","_defineProperty","AUTO_MOUNT_MARK","unmountButtonsFromElement","el","HTMLElement","querySelectorAll","concat","forEach","btn","remove","removeAttribute","_observer","stopAutoMount","disconnect","document","_unused2","injectEditorKitStyles","getElementById","style","createElement","id","textContent","head","appendChild","mountButtonForIframe","hasAttribute","getAttribute","type","className","join","title","addEventListener","e","preventDefault","stopPropagation","indexAttr","window","parent","postMessage","index","parseInt","setAttribute","scanAndMountForIframe","root","arguments","length","undefined","isInitialScan","elements","console","log","err","error","startAutoMountForIframe","MutationObserver","mutations","_step2","_iterator2","_createForOfIteratorHelper","s","n","done","m","value","addedNodes","Element","children","target","attributeName","f","observe","documentElement","body","childList","subtree","attributes","attributeFilter","initEditorKitClient","editorData","event","_event$data","data","msgType","startsWith","Object","keys","_data$key","textNode","Array","from","childNodes","find","node","nodeType","Node","TEXT_NODE","_typeof","dispatchEvent","CustomEvent","detail","useEditorKitClient","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/editor-kit/helpers.ts"],"sourcesContent":["import { useEffect } from 'react'\r\nimport { getEditorKitEvent } from './events'\r\n\r\nexport const editKitClasses = {\r\n root: 'editor-kit-root',\r\n button: 'editor-kit-btn',\r\n auto: 'editor-kit-btn--auto'\r\n}\r\n\r\nexport const EDIT_KEY = 'data-editor-key'\r\n\r\n// event emitted when an edit button is clicked\r\nexport const EDIT_EVENT = 'editor-kit:edit'\r\n\r\n// Keep this minimal and non-intrusive for landing pages: only a data attribute.\r\nexport const getFieldEditor = <T = any>(key: keyof T) => ({ [EDIT_KEY]: key })\r\n\r\n/* --- Editor-mode auto-mount (minimal & opt-in) ---\r\n Behaviour:\r\n - Does nothing on landing pages by default.\r\n - Finds elements with [data-editor-key] and appends a small positioned Edit button when started.\r\n - Exports startAutoMount/stopAutoMount for manual control from an editor wrapper.\r\n*/\r\nconst AUTO_MOUNT_MARK = 'data-editor-auto-mounted'\r\n\r\nconst mountButtonOnElement = (el: Element) => {\r\n if (!(el instanceof HTMLElement)) return\r\n if (el.hasAttribute(AUTO_MOUNT_MARK)) return\r\n const key = el.getAttribute(EDIT_KEY)\r\n if (!key) return\r\n\r\n const btn = document.createElement('button')\r\n btn.type = 'button'\r\n btn.className = [editKitClasses.button, editKitClasses.auto].join(' ')\r\n btn.textContent = 'Edit'\r\n btn.title = 'Edit'\r\n\r\n // emit the edit event via the EditorKitEvent emitter so it doesn't pollute window\r\n btn.addEventListener('click', () => {\r\n try {\r\n const ee = getEditorKitEvent()\r\n if (ee) {\r\n // use the stateChange channel to signal editor UI; payload includes key\r\n ee.emit('stateChange', { key })\r\n } else {\r\n // fallback to window event if emitter not available\r\n window.dispatchEvent(new CustomEvent(EDIT_EVENT, { detail: { key } }))\r\n }\r\n } catch (err) {\r\n // graceful fallback\r\n window.dispatchEvent(new CustomEvent(EDIT_EVENT, { detail: { key } }))\r\n }\r\n })\r\n\r\n // Styling and parent positioning are handled by `style.scss` which is imported\r\n // from the editor component. This keeps helpers passive on landing pages.\r\n el.appendChild(btn)\r\n el.setAttribute(AUTO_MOUNT_MARK, '1')\r\n}\r\n\r\nconst unmountButtonsFromElement = (el: Element) => {\r\n if (!(el instanceof HTMLElement)) return\r\n const buttons = el.querySelectorAll(`.${editKitClasses.auto}`)\r\n buttons.forEach((btn) => btn.remove())\r\n el.removeAttribute(AUTO_MOUNT_MARK)\r\n}\r\n\r\nconst scanAndMount = (root: ParentNode = document) => {\r\n try {\r\n root.querySelectorAll(`[${EDIT_KEY}]`).forEach(mountButtonOnElement)\r\n } catch {\r\n // no-op in non-DOM envs\r\n }\r\n}\r\n\r\nlet _observer: MutationObserver | null = null\r\n\r\nexport const startAutoMount = () => {\r\n if (typeof window === 'undefined' || typeof document === 'undefined') return\r\n if (_observer) return // already started\r\n\r\n // Inject CSS styles\r\n injectEditorKitStyles()\r\n\r\n scanAndMount(document)\r\n _observer = new MutationObserver((mutations) => {\r\n for (const m of mutations) {\r\n if (m.type === 'childList') {\r\n m.addedNodes.forEach((n) => {\r\n if (n instanceof Element) {\r\n if (n.hasAttribute(EDIT_KEY)) mountButtonOnElement(n)\r\n scanAndMount(n)\r\n }\r\n })\r\n } else if (m.type === 'attributes' && m.target instanceof Element) {\r\n if (m.attributeName === EDIT_KEY) mountButtonOnElement(m.target)\r\n }\r\n }\r\n })\r\n _observer.observe(document.documentElement || document.body, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n attributeFilter: [EDIT_KEY]\r\n })\r\n}\r\n\r\nexport const stopAutoMount = () => {\r\n if (_observer) {\r\n _observer.disconnect()\r\n _observer = null\r\n }\r\n // Cleanup all mounted buttons\r\n try {\r\n document.querySelectorAll(`[${AUTO_MOUNT_MARK}]`).forEach(unmountButtonsFromElement)\r\n } catch {\r\n // no-op\r\n }\r\n}\r\n\r\n/* --- Inject CSS Styles ---\r\n Inject editor kit styles dynamically\r\n Used by both Normal mode and Iframe mode\r\n*/\r\nexport const injectEditorKitStyles = () => {\r\n if (typeof document === 'undefined') return\r\n\r\n // Check if already injected\r\n if (document.getElementById('editor-kit-styles')) return\r\n\r\n const style = document.createElement('style')\r\n style.id = 'editor-kit-styles'\r\n style.textContent = `\r\n [data-editor-key] {\r\n position: relative;\r\n border: 1px dashed rgba(255, 0, 0, 0.4);\r\n min-height: 40px;\r\n padding-top: 4px;\r\n }\r\n\r\n .editor-kit-btn {\r\n appearance: none;\r\n border: 0;\r\n background: #00C853;\r\n color: #fff;\r\n box-shadow: 0 0 8px rgba(255,255,255,0.3);\r\n cursor: pointer;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 12px;\r\n line-height: 1;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 600;\r\n transition: all 0.2s ease;\r\n }\r\n\r\n .editor-kit-btn--auto {\r\n position: absolute;\r\n top: 4px;\r\n right: 4px;\r\n z-index: 9999;\r\n }\r\n\r\n .editor-kit-btn:hover,\r\n .editor-kit-btn:focus {\r\n background: #00B249;\r\n outline: none;\r\n }\r\n\r\n .editor-kit-btn:active {\r\n background: #009624;\r\n }\r\n `\r\n document.head.appendChild(style)\r\n}\r\n\r\n/* --- Iframe Client Mode ---\r\n Initialize editor kit client for landing pages loaded in iframe\r\n*/\r\n\r\n// Mount button for iframe mode - sends postMessage instead of event\r\nconst mountButtonForIframe = (el: Element) => {\r\n if (!(el instanceof HTMLElement)) return\r\n if (el.hasAttribute(AUTO_MOUNT_MARK)) return\r\n const key = el.getAttribute(EDIT_KEY)\r\n if (!key) return\r\n\r\n const btn = document.createElement('button')\r\n btn.type = 'button'\r\n btn.className = [editKitClasses.button, editKitClasses.auto].join(' ')\r\n btn.textContent = 'Edit'\r\n btn.title = 'Edit'\r\n\r\n // Click handler sends message to parent window\r\n btn.addEventListener('click', (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n const indexAttr = el.getAttribute('data-editor-index')\r\n\r\n // Send message to Admin parent\r\n window.parent.postMessage({ type: 'EDITOR_KIT_EDIT', key: key, index: indexAttr ? parseInt(indexAttr) : null }, '*')\r\n })\r\n\r\n el.appendChild(btn)\r\n el.setAttribute(AUTO_MOUNT_MARK, '1')\r\n}\r\n\r\n// Scan and mount for iframe\r\nconst scanAndMountForIframe = (root: ParentNode = document, isInitialScan = false) => {\r\n try {\r\n const elements = root.querySelectorAll(`[${EDIT_KEY}]:not([${AUTO_MOUNT_MARK}])`)\r\n // Only log during initial scan or if elements found\r\n if (isInitialScan || elements.length > 0) {\r\n console.log('[EditorKit Client] Found', elements.length, 'unmounted elements')\r\n }\r\n elements.forEach(mountButtonForIframe)\r\n } catch (err) {\r\n console.error('[EditorKit Client] Error scanning:', err)\r\n }\r\n}\r\n\r\n// Start auto-mount for iframe with custom click handler\r\nexport const startAutoMountForIframe = () => {\r\n if (typeof window === 'undefined' || typeof document === 'undefined') return\r\n\r\n console.log('[EditorKit Client] Starting auto-mount for iframe...')\r\n\r\n // Initial scan with logging\r\n scanAndMountForIframe(document, true)\r\n\r\n // Setup mutation observer for dynamic content\r\n if (_observer) {\r\n _observer.disconnect()\r\n }\r\n\r\n _observer = new MutationObserver((mutations) => {\r\n for (const m of mutations) {\r\n if (m.type === 'childList') {\r\n m.addedNodes.forEach((n) => {\r\n if (n instanceof Element) {\r\n // Only mount if the element itself has the key\r\n if (n.hasAttribute(EDIT_KEY)) {\r\n mountButtonForIframe(n)\r\n }\r\n // Only scan children if this is a container element (has children)\r\n else if (n.children.length > 0) {\r\n scanAndMountForIframe(n)\r\n }\r\n }\r\n })\r\n } else if (m.type === 'attributes' && m.target instanceof Element) {\r\n if (m.attributeName === EDIT_KEY) {\r\n mountButtonForIframe(m.target)\r\n }\r\n }\r\n }\r\n })\r\n _observer.observe(document.documentElement || document.body, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n attributeFilter: [EDIT_KEY]\r\n })\r\n\r\n console.log('[EditorKit Client] Auto-mount started')\r\n}\r\n\r\n// Update display data when receiving new data\r\n// Note: For React apps, this is usually not needed as React handles re-rendering\r\n// This is useful for vanilla JS or non-React landing pages\r\nconst updateDisplayData = (data: any) => {\r\n if (!data) return\r\n\r\n Object.keys(data).forEach((key) => {\r\n const elements = document.querySelectorAll(`[${EDIT_KEY}=\"${key}\"]`)\r\n elements.forEach((el: any) => {\r\n const indexAttr = el.getAttribute('data-editor-index')\r\n const value = indexAttr !== null ? data[key]?.[parseInt(indexAttr)] : data[key]\r\n\r\n // Update content (you can customize this based on your needs)\r\n if (value !== undefined && value !== null) {\r\n if (typeof value === 'string') {\r\n // For simple text content\r\n const textNode = Array.from(el.childNodes).find((node: any) => node.nodeType === Node.TEXT_NODE) as any\r\n if (textNode) {\r\n textNode.textContent = value\r\n } else {\r\n el.textContent = value\r\n }\r\n } else if (typeof value === 'object') {\r\n // For complex objects, dispatch custom event for manual handling\r\n // React apps should update via state, not via this event\r\n el.dispatchEvent(new CustomEvent('editor-kit-data-update', { detail: value }))\r\n }\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport const initEditorKitClient = () => {\r\n if (typeof window === 'undefined') return\r\n\r\n // Inject CSS styles for editor kit\r\n injectEditorKitStyles()\r\n\r\n let editorData: any = null\r\n\r\n // Listen to messages from parent (Admin)\r\n window.addEventListener('message', (event) => {\r\n const msgType = event.data?.type\r\n if (!msgType || !msgType.startsWith('EDITOR_KIT_')) return\r\n\r\n switch (msgType) {\r\n case 'EDITOR_KIT_INIT':\r\n editorData = event.data.data\r\n console.log('[EditorKit Client] Initialized with data')\r\n // Notify parent that we're ready\r\n window.parent.postMessage({ type: 'EDITOR_KIT_READY' }, '*')\r\n // Start auto-mounting edit buttons\r\n startAutoMountForIframe()\r\n break\r\n\r\n case 'EDITOR_KIT_UPDATE_DATA':\r\n editorData = event.data.data\r\n console.log('[EditorKit Client] Data updated')\r\n updateDisplayData(editorData)\r\n break\r\n }\r\n })\r\n}\r\n\r\nexport const useEditorKitClient = () => {\r\n useEffect(() => {\r\n // Only init when loaded inside an iframe from Admin\r\n if (window.parent !== window) {\r\n console.log('[useEditorKitClient] Initializing in iframe mode...')\r\n\r\n // Inject CSS styles\r\n injectEditorKitStyles()\r\n\r\n // Start auto-mounting immediately for iframe mode\r\n startAutoMountForIframe()\r\n\r\n // Also setup message listener for data updates\r\n initEditorKitClient()\r\n\r\n // Notify parent that client is ready\r\n window.parent.postMessage({ type: 'EDITOR_KIT_CLIENT_READY' }, '*')\r\n }\r\n\r\n // Cleanup on unmount\r\n return () => {\r\n stopAutoMount()\r\n }\r\n }, [])\r\n}\r\n"],"names":["editKitClasses","button","auto","EDIT_KEY","getFieldEditor","key","_defineProperty","AUTO_MOUNT_MARK","unmountButtonsFromElement","el","HTMLElement","querySelectorAll","concat","forEach","btn","remove","removeAttribute","_observer","stopAutoMount","disconnect","document","_unused2","injectEditorKitStyles","getElementById","style","createElement","id","textContent","head","appendChild","mountButtonForIframe","hasAttribute","getAttribute","type","className","join","title","addEventListener","e","preventDefault","stopPropagation","indexAttr","window","parent","postMessage","index","parseInt","setAttribute","scanAndMountForIframe","root","arguments","length","undefined","isInitialScan","elements","console","log","err","error","startAutoMountForIframe","MutationObserver","mutations","_step2","_iterator2","_createForOfIteratorHelper","s","n","done","m","value","addedNodes","Element","children","target","attributeName","f","observe","documentElement","body","childList","subtree","attributes","attributeFilter","initEditorKitClient","editorData","event","_event$data","data","msgType","startsWith","Object","keys","_data$key","textNode","Array","from","childNodes","find","node","nodeType","Node","TEXT_NODE","_typeof","dispatchEvent","CustomEvent","detail","useEditorKitClient","useEffect"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as o,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r}from"react/jsx-runtime";import{styled as e,Box as n,colors as i}from"@mui/material";var a={root:"AppFooter-root",content:"AppFooter-content",background:"AppFooter-background",description:"AppFooter-description",copyright:"AppFooter-copyright",copyrightText:"AppFooter-copyrightText",socialList:"AppFooter-socialList",appLogo:"AppFooter-appLogo",navs:"AppFooter-navs",navItem:"AppFooter-navItem",navItemText:"AppFooter-navItemText"},p=function(o,t){return"".concat((null==t?void 0:t.prefix)||"",".").concat(a[o]).concat((null==t?void 0:t.suffix)||"")},c=e(function(t){return r(n,o({component:"footer"},t))})(function(o){var r=o.theme;return t(t(t(t(t(t({backgroundColor:"var(--color-bg-footer, #141414)",color:"var(--color-text-footer, #ffffff)",position:"relative",paddingTop:"130px",width:"100%"},p("content"),{maxWidth:"var(--max-width, 1688px)",position:"relative",zIndex:1}),p("background"),{objectFit:"cover",width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:0}),p("description"),t({marginTop:r.spacing(2),color:"var(--color-text-footer, ".concat(i.grey[400],")"),lineHeight:1.5,textAlign:"left",maxWidth:"500px",marginBottom:r.spacing(4)},r.breakpoints.down("md"),{br:{display:"none"}})),p("copyright"),t({position:"relative"},p("socialList"),t({position:"absolute",top:"50%",left:0,transform:"translateY(-50%)"},r.breakpoints.down("md"),{position:"unset",transform:"none",paddingTop:r.spacing(2.5)}))),p("copyrightText"),{paddingTop:r.spacing(4),paddingBottom:r.spacing(4),width:"100%",".MuiTypography-root":{lineHeight:1,textAlign:"center",color:"var(--color-text-footer, ".concat(i.grey[300],")")}}),p("socialList"),{display:"flex",justifyContent:"center",listStyle:"none","&:hover":{"--social-color":i.grey[600]},li:{margin:r.spacing(0,1),a:{backgroundColor:"rgb(27, 27, 27)",textDecoration:"none",width:"var(--social-icon-size, 40px)",height:"var(--social-icon-size, 40px)",borderRadius:"50%",transition:"all 0.3s ease",color:"var(--social-color, #f0f0f0)","&:hover":{color:"var(--social-color-hover, #ffffff)",transform:"translateY(-3px) scale(1.05)"}}}})}),s=e(function(t){return r(n,o({component:"nav"},t))})(function(o){var r=o.theme;return 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%","&:hover":{"--color-text-footer":i.grey[600]}},p("navItem"),t(t(t({position:"relative",backgroundColor:"var(--bg-nav-item, transparent)",transition:"all 0.35s",borderRadius:r.shape.borderRadius},p("navItemText"),{padding:"var(--padding-nav-item-text, ".concat(r.spacing(1,4,1,1.5),")"),color:"var(--color-text-footer, ".concat(i.grey[300],")"),textDecoration:"none",display:"block",width:"100%",transition:"all 0.3s ease",span:{display:"inline-block"}}),"&::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-footer":i.common.white,"--padding-nav-item-text":r.spacing(1,1.5,1,4),backgroundColor:"var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))","&::before":{width:r.spacing(1.5),marginRight:r.spacing(1)}})),r.breakpoints.down("md"),t({},p("navItem"),{textAlign:"center"}))});export{s as AppFooterNav,c as FooterStyled,a as appFooterClasses,p as getAppFooterClasses};
1
+ import{objectSpread2 as o,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r}from"react/jsx-runtime";import{styled as e,Box as n,colors as i}from"@mui/material";var a={root:"AppFooter-root",content:"AppFooter-content",background:"AppFooter-background",description:"AppFooter-description",copyright:"AppFooter-copyright",copyrightText:"AppFooter-copyrightText",socialList:"AppFooter-socialList",appLogo:"AppFooter-appLogo",navs:"AppFooter-navs",navItem:"AppFooter-navItem",navItemText:"AppFooter-navItemText"},p=function(o,t){return"".concat("",".").concat(a[o]).concat("")},c=e(function(t){return r(n,o({component:"footer"},t))})(function(o){var r=o.theme;return t(t(t(t(t(t({backgroundColor:"var(--color-bg-footer, #141414)",color:"var(--color-text-footer, #ffffff)",position:"relative",paddingTop:"130px",width:"100%","ul, ol":{margin:0,padding:0,listStyle:"none"}},p("content"),{maxWidth:"var(--max-width, 1688px)",position:"relative",zIndex:1}),p("background"),{objectFit:"cover",width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:0}),p("description"),t({marginTop:r.spacing(2),color:"var(--color-text-footer, ".concat(i.grey[400],")"),lineHeight:1.5,textAlign:"left",maxWidth:"500px",marginBottom:r.spacing(4)},r.breakpoints.down("md"),{br:{display:"none"}})),p("copyright"),t({position:"relative"},p("socialList"),t({position:"absolute",top:"50%",left:0,transform:"translateY(-50%)"},r.breakpoints.down("md"),{position:"unset",transform:"none",paddingTop:r.spacing(2.5)}))),p("copyrightText"),{paddingTop:r.spacing(4),paddingBottom:r.spacing(4),width:"100%",".MuiTypography-root":{lineHeight:1,textAlign:"center",color:"var(--color-text-footer, ".concat(i.grey[300],")")}}),p("socialList"),{display:"flex",justifyContent:"center",listStyle:"none","&:hover":{"--social-color":i.grey[600]},li:{margin:r.spacing(0,1),a:{backgroundColor:"rgb(27, 27, 27)",textDecoration:"none",width:"var(--social-icon-size, 40px)",height:"var(--social-icon-size, 40px)",borderRadius:"50%",transition:"all 0.3s ease",color:"var(--social-color, #f0f0f0)","&:hover":{color:"var(--social-color-hover, #ffffff)",transform:"translateY(-3px) scale(1.05)"}}}})}),s=e(function(t){return r(n,o({component:"nav"},t))})(function(o){var r=o.theme;return 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%","&:hover":{"--color-text-footer":i.grey[600]}},p("navItem"),t(t(t({position:"relative",backgroundColor:"var(--bg-nav-item, transparent)",transition:"all 0.35s",borderRadius:r.shape.borderRadius},p("navItemText"),{padding:"var(--padding-nav-item-text, ".concat(r.spacing(1,4,1,1.5),")"),color:"var(--color-text-footer, ".concat(i.grey[300],")"),textDecoration:"none",display:"block",width:"100%",transition:"all 0.3s ease",span:{display:"inline-block"}}),"&::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-footer":i.common.white,"--padding-nav-item-text":r.spacing(1,1.5,1,4),backgroundColor:"var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))","&::before":{width:r.spacing(1.5),marginRight:r.spacing(1)}})),r.breakpoints.down("md"),t({},p("navItem"),{textAlign:"center"}))});export{s as AppFooterNav,c as FooterStyled,a as appFooterClasses,p as getAppFooterClasses};
2
2
  //# sourceMappingURL=app-footer.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-footer.styled.js","sources":["../../src/layout-global/app-footer.styled.tsx"],"sourcesContent":["import { Box, colors, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps } from '@mui/material'\r\n\r\nexport const appFooterClasses = {\r\n root: 'AppFooter-root',\r\n content: 'AppFooter-content',\r\n background: 'AppFooter-background',\r\n description: 'AppFooter-description',\r\n copyright: 'AppFooter-copyright',\r\n copyrightText: 'AppFooter-copyrightText',\r\n socialList: 'AppFooter-socialList',\r\n appLogo: 'AppFooter-appLogo',\r\n navs: 'AppFooter-navs',\r\n navItem: 'AppFooter-navItem',\r\n navItemText: 'AppFooter-navItemText'\r\n}\r\n\r\nexport const getAppFooterClasses = (key: keyof typeof appFooterClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${appFooterClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const FooterStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='footer' {...p} />)(({ theme }) => ({\r\n backgroundColor: 'var(--color-bg-footer, #141414)',\r\n color: 'var(--color-text-footer, #ffffff)',\r\n position: 'relative',\r\n paddingTop: '130px',\r\n width: '100%',\r\n\r\n [getAppFooterClasses('content')]: {\r\n maxWidth: 'var(--max-width, 1688px)',\r\n position: 'relative',\r\n zIndex: 1\r\n },\r\n\r\n [getAppFooterClasses('background')]: {\r\n objectFit: 'cover',\r\n width: '100%',\r\n height: '100%',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n zIndex: 0\r\n },\r\n\r\n [getAppFooterClasses('description')]: {\r\n marginTop: theme.spacing(2),\r\n color: `var(--color-text-footer, ${colors.grey[400]})`,\r\n lineHeight: 1.5,\r\n textAlign: 'left',\r\n maxWidth: '500px',\r\n marginBottom: theme.spacing(4),\r\n [theme.breakpoints.down('md')]: { br: { display: 'none' } }\r\n },\r\n\r\n [getAppFooterClasses('copyright')]: {\r\n position: 'relative',\r\n [getAppFooterClasses('socialList')]: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: 0,\r\n transform: 'translateY(-50%)',\r\n [theme.breakpoints.down('md')]: {\r\n position: 'unset',\r\n transform: 'none',\r\n paddingTop: theme.spacing(2.5)\r\n }\r\n }\r\n },\r\n\r\n [getAppFooterClasses('copyrightText')]: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n width: '100%',\r\n '.MuiTypography-root': {\r\n lineHeight: 1,\r\n textAlign: 'center',\r\n color: `var(--color-text-footer, ${colors.grey[300]})`\r\n }\r\n },\r\n\r\n [getAppFooterClasses('socialList')]: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n listStyle: 'none',\r\n '&:hover': { '--social-color': colors.grey[600] },\r\n li: {\r\n margin: theme.spacing(0, 1),\r\n a: {\r\n backgroundColor: 'rgb(27, 27, 27)',\r\n textDecoration: 'none',\r\n width: 'var(--social-icon-size, 40px)',\r\n height: 'var(--social-icon-size, 40px)',\r\n borderRadius: '50%',\r\n transition: 'all 0.3s ease',\r\n color: 'var(--social-color, #f0f0f0)',\r\n '&:hover': {\r\n color: 'var(--social-color-hover, #ffffff)',\r\n transform: 'translateY(-3px) scale(1.05)'\r\n }\r\n }\r\n }\r\n }\r\n}))\r\n\r\nexport const AppFooterNav: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='nav' {...p} />)(({ 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 '&:hover': { '--color-text-footer': colors.grey[600] },\r\n [getAppFooterClasses('navItem')]: {\r\n position: 'relative',\r\n backgroundColor: 'var(--bg-nav-item, transparent)',\r\n transition: 'all 0.35s',\r\n borderRadius: theme.shape.borderRadius,\r\n\r\n [getAppFooterClasses('navItemText')]: {\r\n padding: `var(--padding-nav-item-text, ${theme.spacing(1, 4, 1, 1.5)})`,\r\n color: `var(--color-text-footer, ${colors.grey[300]})`,\r\n textDecoration: 'none',\r\n display: 'block',\r\n width: '100%',\r\n transition: 'all 0.3s ease',\r\n span: { display: 'inline-block' }\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-footer': colors.common.white,\r\n '--padding-nav-item-text': theme.spacing(1, 1.5, 1, 4),\r\n backgroundColor: 'var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))',\r\n '&::before': { width: theme.spacing(1.5), marginRight: theme.spacing(1) }\r\n }\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n [getAppFooterClasses('navItem')]: {\r\n textAlign: 'center'\r\n }\r\n }\r\n}))\r\n"],"names":["appFooterClasses","root","content","background","description","copyright","copyrightText","socialList","appLogo","navs","navItem","navItemText","getAppFooterClasses","key","options","concat","prefix","suffix","FooterStyled","styled","p","_jsx","Box","_objectSpread","component","_ref","theme","_defineProperty","backgroundColor","color","position","paddingTop","width","maxWidth","zIndex","objectFit","height","top","left","marginTop","spacing","colors","grey","lineHeight","textAlign","marginBottom","breakpoints","down","br","display","transform","paddingBottom","justifyContent","listStyle","li","margin","a","textDecoration","borderRadius","transition","AppFooterNav","_ref3","shape","padding","span","common","white","marginRight"],"mappings":"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"}
1
+ {"version":3,"file":"app-footer.styled.js","sources":["../../src/layout-global/app-footer.styled.tsx"],"sourcesContent":["import { Box, colors, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps } from '@mui/material'\r\n\r\nexport const appFooterClasses = {\r\n root: 'AppFooter-root',\r\n content: 'AppFooter-content',\r\n background: 'AppFooter-background',\r\n description: 'AppFooter-description',\r\n copyright: 'AppFooter-copyright',\r\n copyrightText: 'AppFooter-copyrightText',\r\n socialList: 'AppFooter-socialList',\r\n appLogo: 'AppFooter-appLogo',\r\n navs: 'AppFooter-navs',\r\n navItem: 'AppFooter-navItem',\r\n navItemText: 'AppFooter-navItemText'\r\n}\r\n\r\nexport const getAppFooterClasses = (key: keyof typeof appFooterClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${appFooterClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const FooterStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='footer' {...p} />)(({ theme }) => ({\r\n backgroundColor: 'var(--color-bg-footer, #141414)',\r\n color: 'var(--color-text-footer, #ffffff)',\r\n position: 'relative',\r\n paddingTop: '130px',\r\n width: '100%',\r\n\r\n 'ul, ol': { margin: 0, padding: 0, listStyle: 'none' },\r\n\r\n [getAppFooterClasses('content')]: {\r\n maxWidth: 'var(--max-width, 1688px)',\r\n position: 'relative',\r\n zIndex: 1\r\n },\r\n\r\n [getAppFooterClasses('background')]: {\r\n objectFit: 'cover',\r\n width: '100%',\r\n height: '100%',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n zIndex: 0\r\n },\r\n\r\n [getAppFooterClasses('description')]: {\r\n marginTop: theme.spacing(2),\r\n color: `var(--color-text-footer, ${colors.grey[400]})`,\r\n lineHeight: 1.5,\r\n textAlign: 'left',\r\n maxWidth: '500px',\r\n marginBottom: theme.spacing(4),\r\n [theme.breakpoints.down('md')]: { br: { display: 'none' } }\r\n },\r\n\r\n [getAppFooterClasses('copyright')]: {\r\n position: 'relative',\r\n [getAppFooterClasses('socialList')]: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: 0,\r\n transform: 'translateY(-50%)',\r\n [theme.breakpoints.down('md')]: {\r\n position: 'unset',\r\n transform: 'none',\r\n paddingTop: theme.spacing(2.5)\r\n }\r\n }\r\n },\r\n\r\n [getAppFooterClasses('copyrightText')]: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n width: '100%',\r\n '.MuiTypography-root': {\r\n lineHeight: 1,\r\n textAlign: 'center',\r\n color: `var(--color-text-footer, ${colors.grey[300]})`\r\n }\r\n },\r\n\r\n [getAppFooterClasses('socialList')]: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n listStyle: 'none',\r\n '&:hover': { '--social-color': colors.grey[600] },\r\n li: {\r\n margin: theme.spacing(0, 1),\r\n a: {\r\n backgroundColor: 'rgb(27, 27, 27)',\r\n textDecoration: 'none',\r\n width: 'var(--social-icon-size, 40px)',\r\n height: 'var(--social-icon-size, 40px)',\r\n borderRadius: '50%',\r\n transition: 'all 0.3s ease',\r\n color: 'var(--social-color, #f0f0f0)',\r\n '&:hover': {\r\n color: 'var(--social-color-hover, #ffffff)',\r\n transform: 'translateY(-3px) scale(1.05)'\r\n }\r\n }\r\n }\r\n }\r\n}))\r\n\r\nexport const AppFooterNav: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='nav' {...p} />)(({ 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 '&:hover': { '--color-text-footer': colors.grey[600] },\r\n [getAppFooterClasses('navItem')]: {\r\n position: 'relative',\r\n backgroundColor: 'var(--bg-nav-item, transparent)',\r\n transition: 'all 0.35s',\r\n borderRadius: theme.shape.borderRadius,\r\n\r\n [getAppFooterClasses('navItemText')]: {\r\n padding: `var(--padding-nav-item-text, ${theme.spacing(1, 4, 1, 1.5)})`,\r\n color: `var(--color-text-footer, ${colors.grey[300]})`,\r\n textDecoration: 'none',\r\n display: 'block',\r\n width: '100%',\r\n transition: 'all 0.3s ease',\r\n span: { display: 'inline-block' }\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-footer': colors.common.white,\r\n '--padding-nav-item-text': theme.spacing(1, 1.5, 1, 4),\r\n backgroundColor: 'var(--bg-nav-item-hover, rgba(249, 169, 37, 0.1))',\r\n '&::before': { width: theme.spacing(1.5), marginRight: theme.spacing(1) }\r\n }\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n [getAppFooterClasses('navItem')]: {\r\n textAlign: 'center'\r\n }\r\n }\r\n}))\r\n"],"names":["appFooterClasses","root","content","background","description","copyright","copyrightText","socialList","appLogo","navs","navItem","navItemText","getAppFooterClasses","key","options","concat","FooterStyled","styled","p","_jsx","Box","_objectSpread","component","_ref","theme","_defineProperty","backgroundColor","color","position","paddingTop","width","margin","padding","listStyle","maxWidth","zIndex","objectFit","height","top","left","marginTop","spacing","colors","grey","lineHeight","textAlign","marginBottom","breakpoints","down","br","display","transform","paddingBottom","justifyContent","li","a","textDecoration","borderRadius","transition","AppFooterNav","_ref3","shape","span","common","white","marginRight"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as s,objectSpread2 as e,classCallCheck as o,callSuper as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{Component as l}from"react";import{Container as n,Stack as p}from"@mui/material";import{AppLogo as m}from"./app-logo.js";import{HeaderStyled as c,appHeaderClasses as d}from"./app-header.styled.js";import{appLogoUrl as h,getHeaderMenuConfigs as f,getHeaderNavConfigs as u}from"./configs.js";import v from"./mobile-menu.js";import g from"./app-header.nav.js";var x=function(){function e(r){var s;return o(this,e),(s=t(this,e,[r])).configs={navs:u(r.baseUrl),menu:f(r.baseUrl)},s}return r(e,l),s(e,[{key:"render",value:function(){var r,s;return i(c,{className:d.root,children:i("div",{className:d.rootFixed,children:a(n,{maxWidth:!1,className:d.content,sx:{height:"100%"},children:[i(m,{src:null!==(r=this.props.logoUrl)&&void 0!==r?r:h,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),a(p,{direction:"row",alignItems:"center",spacing:2,children:[i(g,{configs:this.configs,onNavItemClick:this.props.onNavItemClick,sx:{display:{xs:"none",md:"flex"}},slots:null===(s=this.props.slots)||void 0===s?void 0:s.navItem}),a(p,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,i(v,{baseUrl:this.props.baseUrl,logoUrl:this.props.logoUrl})]})]})]})})})}}])}(),b=function(r){var s=function(s){return i(x,e({},e(e(e({},r),s),{},{slots:e(e({},r.slots),s.slots)})))};return s.displayName="AppHeader",s};export{x as AppHeader,b as createAppHeader,x as default};
1
+ import{inherits as r,createClass as s,objectSpread2 as e,classCallCheck as o,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{Component as l}from"react";import{Container as n,Stack as p}from"@mui/material";import{AppLogo as m}from"./app-logo.js";import{appHeaderClasses as c,HeaderStyled as d}from"./app-header.styled.js";import{appLogoUrl as h,getHeaderMenuConfigs as f,getHeaderNavConfigs as u}from"./configs.js";import v from"./mobile-menu.js";import g from"./app-header.nav.js";var x=function(){function e(r){var s;return o(this,e),(s=i(this,e,[r])).configs={navs:u(r.baseUrl),menu:f(r.baseUrl)},s}return r(e,l),s(e,[{key:"render",value:function(){var r,s,e=this.props.isFixed,o=[c.root];return!1!==e&&o.push(c.fixed),t(d,{className:o.join(" "),children:t("div",{className:c.rootFixed,children:a(n,{maxWidth:!1,className:c.content,sx:{height:"100%"},children:[t(m,{src:null!==(r=this.props.logoUrl)&&void 0!==r?r:h,href:this.props.baseUrl.home,sx:{mb:"-12px"}}),a(p,{direction:"row",alignItems:"center",spacing:2,children:[t(g,{configs:this.configs,onNavItemClick:this.props.onNavItemClick,sx:{display:{xs:"none",md:"flex"}},slots:null===(s=this.props.slots)||void 0===s?void 0:s.navItem}),a(p,{direction:"row",gap:1,sx:{justifyContent:"flex-end",alignItems:"center"},children:[this.props.actions,t(v,{baseUrl:this.props.baseUrl,logoUrl:this.props.logoUrl})]})]})]})})})}}])}(),j=function(r){var s=function(s){return t(x,e({},e(e(e({},r),s),{},{slots:e(e({},r.slots),s.slots)})))};return s.displayName="AppHeader",s};export{x as AppHeader,j as createAppHeader,x as default};
2
2
  //# sourceMappingURL=app-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.js","sources":["../../src/layout-global/app-header.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { Container, Stack } from '@mui/material'\r\nimport type { ComponentType, FC, ReactNode } from 'react'\r\nimport { AppLogo } from './app-logo'\r\nimport { IAppNav, NavItemClickFunction } from './types'\r\nimport { IAppThemeProviderProps } from './app-theme-provider'\r\nimport { appHeaderClasses, HeaderStyled } from './app-header.styled'\r\nimport { appLogoUrl, getHeaderMenuConfigs, getHeaderNavConfigs } from './configs'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { IAppHeaderNavSlots } from './app-header.nav'\r\nimport MobileMenu from './mobile-menu'\r\nimport AppHeaderNav from './app-header.nav'\r\n\r\nexport interface IAppHeaderSlots {\r\n navItem?: IAppHeaderNavSlots\r\n themeProps?: Partial<IAppThemeProviderProps>\r\n}\r\n\r\nexport interface IAppHeaderProps {\r\n baseUrl: IAppSiteBaseUrl\r\n onNavItemClick?: NavItemClickFunction\r\n logoUrl?: string\r\n actions?: ReactNode\r\n slots?: IAppHeaderSlots\r\n}\r\n\r\nexport class AppHeader extends Component<IAppHeaderProps> {\r\n private configs: Record<'navs' | 'menu', IAppNav[]>\r\n constructor(props: IAppHeaderProps) {\r\n super(props)\r\n this.configs = {\r\n navs: getHeaderNavConfigs(props.baseUrl),\r\n menu: getHeaderMenuConfigs(props.baseUrl)\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <HeaderStyled className={appHeaderClasses.root}>\r\n <div className={appHeaderClasses.rootFixed}>\r\n <Container maxWidth={false} className={appHeaderClasses.content} sx={{ height: '100%' }}>\r\n {/* The AppLogo component displays the application logo */}\r\n <AppLogo src={this.props.logoUrl ?? appLogoUrl} href={this.props.baseUrl.home} sx={{ mb: '-12px' }} />\r\n <Stack direction='row' alignItems='center' spacing={2}>\r\n <AppHeaderNav\r\n configs={this.configs}\r\n onNavItemClick={this.props.onNavItemClick}\r\n sx={{ display: { xs: 'none', md: 'flex' } }}\r\n slots={this.props.slots?.navItem}\r\n />\r\n <Stack direction='row' gap={1} sx={{ justifyContent: 'flex-end', alignItems: 'center' }}>\r\n {this.props.actions}\r\n {/* MobileMenu is a responsive menu for smaller screens */}\r\n {/* It provides a hamburger menu icon that toggles the navigation items */}\r\n <MobileMenu baseUrl={this.props.baseUrl} logoUrl={this.props.logoUrl} />\r\n </Stack>\r\n </Stack>\r\n </Container>\r\n </div>\r\n </HeaderStyled>\r\n )\r\n }\r\n}\r\nexport default AppHeader\r\n\r\nexport const createAppHeader = (params: IAppHeaderProps): ComponentType<Partial<IAppHeaderProps>> => {\r\n const _AppHeader: FC<Partial<IAppHeaderProps>> = (props) => {\r\n return <AppHeader {...{ ...params, ...props, slots: { ...params.slots, ...props.slots } }} />\r\n }\r\n _AppHeader.displayName = 'AppHeader'\r\n return _AppHeader\r\n}\r\n"],"names":["AppHeader","props","_this","_classCallCheck","_callSuper","configs","navs","getHeaderNavConfigs","baseUrl","menu","getHeaderMenuConfigs","_inherits","Component","_createClass","key","value","_this$props$logoUrl","_this$props$slots","_jsx","HeaderStyled","className","appHeaderClasses","root","rootFixed","children","_jsxs","Container","maxWidth","content","sx","height","AppLogo","src","this","logoUrl","appLogoUrl","href","home","mb","Stack","direction","alignItems","spacing","AppHeaderNav","onNavItemClick","display","xs","md","slots","navItem","gap","justifyContent","actions","MobileMenu","createAppHeader","params","_AppHeader","_objectSpread","displayName"],"mappings":"wiBA0BaA,IAAAA,aAEX,SAAAA,EAAYC,GAAsB,IAAAC,EAK/B,OAL+BC,OAAAH,IAChCE,EAAAE,EAAAJ,KAAAA,GAAMC,KACDI,QAAU,CACbC,KAAMC,EAAoBN,EAAMO,SAChCC,KAAMC,EAAqBT,EAAMO,UAClCN,CACH,CAAC,OAAAS,EAAAX,EAR4BY,GAQ5BC,EAAAb,EAAA,CAAA,CAAAc,IAAA,SAAAC,MAED,WAAM,IAAAC,EAAAC,EACJ,OACEC,EAACC,GAAaC,UAAWC,EAAiBC,cACxCJ,EAAK,MAAA,CAAAE,UAAWC,EAAiBE,UAC/BC,SAAAC,EAACC,EAAU,CAAAC,UAAU,EAAOP,UAAWC,EAAiBO,QAASC,GAAI,CAAEC,OAAQ,QAAQN,SAAA,CAErFN,EAACa,EAAO,CAACC,IAAuBhB,QAApBA,EAAEiB,KAAKhC,MAAMiC,eAAOlB,IAAAA,EAAAA,EAAImB,EAAYC,KAAMH,KAAKhC,MAAMO,QAAQ6B,KAAMR,GAAI,CAAES,GAAI,WACzFb,EAACc,EAAK,CAACC,UAAU,MAAMC,WAAW,SAASC,QAAS,EAAClB,SAAA,CACnDN,EAACyB,EAAY,CACXtC,QAAS4B,KAAK5B,QACduC,eAAgBX,KAAKhC,MAAM2C,eAC3Bf,GAAI,CAAEgB,QAAS,CAAEC,GAAI,OAAQC,GAAI,SACjCC,MAAuB/B,QAAlBA,EAAEgB,KAAKhC,MAAM+C,aAAX/B,IAAgBA,OAAhBA,EAAAA,EAAkBgC,UAE3BxB,EAACc,EAAK,CAACC,UAAU,MAAMU,IAAK,EAAGrB,GAAI,CAAEsB,eAAgB,WAAYV,WAAY,UAAUjB,SAAA,CACpFS,KAAKhC,MAAMmD,QAGZlC,EAACmC,EAAU,CAAC7C,QAASyB,KAAKhC,MAAMO,QAAS0B,QAASD,KAAKhC,MAAMiC,sBAO3E,IAAC,IAIUoB,EAAkB,SAACC,GAC9B,IAAMC,EAA2C,SAACvD,GAChD,OAAOiB,EAAClB,EAASyD,EAAAA,CAAAA,EAAAA,EAAAA,EAAAA,EAAUF,CAAAA,EAAAA,GAAWtD,GAAK,CAAA,EAAA,CAAE+C,MAAKS,EAAAA,EAAA,CAAA,EAAOF,EAAOP,OAAU/C,EAAM+C,UACjF,EAED,OADAQ,EAAWE,YAAc,YAClBF,CACT"}
1
+ {"version":3,"file":"app-header.js","sources":["../../src/layout-global/app-header.tsx"],"sourcesContent":["import { Component } from 'react'\r\nimport { Container, Stack } from '@mui/material'\r\nimport type { ComponentType, FC, ReactNode } from 'react'\r\nimport { AppLogo } from './app-logo'\r\nimport { IAppNav, NavItemClickFunction } from './types'\r\nimport { IAppThemeProviderProps } from './app-theme-provider'\r\nimport { appHeaderClasses, HeaderStyled } from './app-header.styled'\r\nimport { appLogoUrl, getHeaderMenuConfigs, getHeaderNavConfigs } from './configs'\r\nimport type { IAppSiteBaseUrl } from '../types'\r\nimport type { IAppHeaderNavSlots } from './app-header.nav'\r\nimport MobileMenu from './mobile-menu'\r\nimport AppHeaderNav from './app-header.nav'\r\n\r\nexport interface IAppHeaderSlots {\r\n navItem?: IAppHeaderNavSlots\r\n themeProps?: Partial<IAppThemeProviderProps>\r\n}\r\n\r\nexport interface IAppHeaderProps {\r\n baseUrl: IAppSiteBaseUrl\r\n onNavItemClick?: NavItemClickFunction\r\n logoUrl?: string\r\n actions?: ReactNode\r\n isFixed?: boolean\r\n slots?: IAppHeaderSlots\r\n}\r\n\r\nexport class AppHeader extends Component<IAppHeaderProps> {\r\n private configs: Record<'navs' | 'menu', IAppNav[]>\r\n constructor(props: IAppHeaderProps) {\r\n super(props)\r\n this.configs = {\r\n navs: getHeaderNavConfigs(props.baseUrl),\r\n menu: getHeaderMenuConfigs(props.baseUrl)\r\n }\r\n }\r\n\r\n render() {\r\n const { isFixed } = this.props\r\n const rootClasses = [appHeaderClasses.root]\r\n if (isFixed !== false) rootClasses.push(appHeaderClasses.fixed)\r\n return (\r\n <HeaderStyled className={rootClasses.join(' ')}>\r\n <div className={appHeaderClasses.rootFixed}>\r\n <Container maxWidth={false} className={appHeaderClasses.content} sx={{ height: '100%' }}>\r\n {/* The AppLogo component displays the application logo */}\r\n <AppLogo src={this.props.logoUrl ?? appLogoUrl} href={this.props.baseUrl.home} sx={{ mb: '-12px' }} />\r\n <Stack direction='row' alignItems='center' spacing={2}>\r\n <AppHeaderNav\r\n configs={this.configs}\r\n onNavItemClick={this.props.onNavItemClick}\r\n sx={{ display: { xs: 'none', md: 'flex' } }}\r\n slots={this.props.slots?.navItem}\r\n />\r\n <Stack direction='row' gap={1} sx={{ justifyContent: 'flex-end', alignItems: 'center' }}>\r\n {this.props.actions}\r\n {/* MobileMenu is a responsive menu for smaller screens */}\r\n {/* It provides a hamburger menu icon that toggles the navigation items */}\r\n <MobileMenu baseUrl={this.props.baseUrl} logoUrl={this.props.logoUrl} />\r\n </Stack>\r\n </Stack>\r\n </Container>\r\n </div>\r\n </HeaderStyled>\r\n )\r\n }\r\n}\r\nexport default AppHeader\r\n\r\nexport const createAppHeader = (params: IAppHeaderProps): ComponentType<Partial<IAppHeaderProps>> => {\r\n const _AppHeader: FC<Partial<IAppHeaderProps>> = (props) => {\r\n return <AppHeader {...{ ...params, ...props, slots: { ...params.slots, ...props.slots } }} />\r\n }\r\n _AppHeader.displayName = 'AppHeader'\r\n return _AppHeader\r\n}\r\n"],"names":["AppHeader","props","_this","_classCallCheck","_callSuper","configs","navs","getHeaderNavConfigs","baseUrl","menu","getHeaderMenuConfigs","_inherits","Component","_createClass","key","value","_this$props$logoUrl","_this$props$slots","isFixed","this","rootClasses","appHeaderClasses","root","push","fixed","_jsx","HeaderStyled","className","join","rootFixed","children","_jsxs","Container","maxWidth","content","sx","height","AppLogo","src","logoUrl","appLogoUrl","href","home","mb","Stack","direction","alignItems","spacing","AppHeaderNav","onNavItemClick","display","xs","md","slots","navItem","gap","justifyContent","actions","MobileMenu","createAppHeader","params","_AppHeader","_objectSpread","displayName"],"mappings":"wiBA2BaA,IAAAA,aAEX,SAAAA,EAAYC,GAAsB,IAAAC,EAK/B,OAL+BC,OAAAH,IAChCE,EAAAE,EAAAJ,KAAAA,GAAMC,KACDI,QAAU,CACbC,KAAMC,EAAoBN,EAAMO,SAChCC,KAAMC,EAAqBT,EAAMO,UAClCN,CACH,CAAC,OAAAS,EAAAX,EAR4BY,GAQ5BC,EAAAb,EAAA,CAAA,CAAAc,IAAA,SAAAC,MAED,WAAM,IAAAC,EAAAC,EACIC,EAAYC,KAAKlB,MAAjBiB,QACFE,EAAc,CAACC,EAAiBC,MAEtC,OADgB,IAAZJ,GAAmBE,EAAYG,KAAKF,EAAiBG,OAEvDC,EAACC,GAAaC,UAAWP,EAAYQ,KAAK,cACxCH,EAAK,MAAA,CAAAE,UAAWN,EAAiBQ,UAC/BC,SAAAC,EAACC,EAAU,CAAAC,UAAU,EAAON,UAAWN,EAAiBa,QAASC,GAAI,CAAEC,OAAQ,QAE7EN,SAAA,CAAAL,EAACY,EAAQ,CAAAC,IAAuBtB,QAApBA,EAAEG,KAAKlB,MAAMsC,eAAOvB,IAAAA,EAAAA,EAAIwB,EAAYC,KAAMtB,KAAKlB,MAAMO,QAAQkC,KAAMP,GAAI,CAAEQ,GAAI,WACzFZ,EAACa,GAAMC,UAAU,MAAMC,WAAW,SAASC,QAAS,YAClDtB,EAACuB,GACC3C,QAASc,KAAKd,QACd4C,eAAgB9B,KAAKlB,MAAMgD,eAC3Bd,GAAI,CAAEe,QAAS,CAAEC,GAAI,OAAQC,GAAI,SACjCC,MAAuBpC,QAAlBA,EAAEE,KAAKlB,MAAMoD,aAAXpC,IAAgBA,OAAhBA,EAAAA,EAAkBqC,UAE3BvB,EAACa,GAAMC,UAAU,MAAMU,IAAK,EAAGpB,GAAI,CAAEqB,eAAgB,WAAYV,WAAY,UAAUhB,SAAA,CACpFX,KAAKlB,MAAMwD,QAGZhC,EAACiC,EAAU,CAAClD,QAASW,KAAKlB,MAAMO,QAAS+B,QAASpB,KAAKlB,MAAMsC,sBAO3E,IAAC,IAIUoB,EAAkB,SAACC,GAC9B,IAAMC,EAA2C,SAAC5D,GAChD,OAAOwB,EAACzB,EAAS8D,EAAAA,CAAAA,EAAAA,EAAAA,EAAAA,EAAUF,CAAAA,EAAAA,GAAW3D,GAAK,CAAA,EAAA,CAAEoD,MAAKS,EAAAA,EAAA,CAAA,EAAOF,EAAOP,OAAUpD,EAAMoD,UACjF,EAED,OADAQ,EAAWE,YAAc,YAClBF,CACT"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as e,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";import{styled as a,Box as r}from"@mui/material";var o={root:"AppHeader-root",rootFixed:"AppHeader-rootFixed",content:"AppHeader-content",navItem:"AppHeader-navItem",navItems:"AppHeader-navItems",navItemIcon:"AppHeader-navItemIcon",subMenu:"AppHeader-subMenu",subMenuItem:"AppHeader-subMenuItem",subMenuTitle:"AppHeader-subMenuTitle",subNavItem:"AppHeader-subNavItem",subNavItemIcon:"AppHeader-subNavItemIcon",subNavItemText:"AppHeader-subNavItemContent"},i=function(e,t){return"".concat((null==t?void 0:t.prefix)||"",".").concat(o[e]).concat((null==t?void 0:t.suffix)||"")},p=a(function(t){return n(r,e({component:"header"},t))})(function(e){var n=e.theme;return t(t(t({"*":{margin:0,padding:0,boxSizing:"border-box"}},i("rootFixed",{prefix:"& > "}),{zIndex:1110,height:"var(--height-header, 114px)",backgroundColor:"var(--color-header, #1b1b1b)",color:n.palette.common.white,position:"fixed",left:0,top:0,width:"100vw"}),i("content"),{display:"flex",alignItems:"center",justifyContent:"space-between",height:"100%",maxWidth:"var(--max-width, 1688px)"}),"&::before",{content:'""',display:"block",height:"var(--height-header, 114px)",width:"100%"})});p.displayName="HeaderStyled";var m=a(function(t){return n(r,e({component:"nav"},t))})(function(e){var n=e.theme;return t(t(t({display:"flex",alignItems:"center"},i("navItems"),{listStyle:"none",display:"flex",margin:0,padding:0}),i("navItemIcon"),{transition:"transform 0.3s ease"}),i("navItem"),{textDecoration:"none",marginRight:n.spacing(.5),flex:"0 0 auto","&:last-of-type":{marginRight:0},"& > button.MuiButtonBase-root .MuiButton-icon":{marginLeft:0},"&:hover":t({},i("navItemIcon"),{transform:"rotate(0deg) scale(1.2)"})})});m.displayName="NavStyled";export{p as HeaderStyled,m as NavStyled,o as appHeaderClasses,i as getAppHeaderClasses};
1
+ import{objectSpread2 as e,defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";import{styled as a,Box as r}from"@mui/material";var o={root:"AppHeader-root",rootFixed:"AppHeader-rootFixed",fixed:"AppHeader-fixed",content:"AppHeader-content",navItem:"AppHeader-navItem",navItems:"AppHeader-navItems",navItemIcon:"AppHeader-navItemIcon",subMenu:"AppHeader-subMenu",subMenuItem:"AppHeader-subMenuItem",subMenuTitle:"AppHeader-subMenuTitle",subNavItem:"AppHeader-subNavItem",subNavItemIcon:"AppHeader-subNavItemIcon",subNavItemText:"AppHeader-subNavItemContent"},i=function(e,t){return"".concat((null==t?void 0:t.prefix)||"",".").concat(o[e]).concat((null==t?void 0:t.suffix)||"")},p=a(function(t){return n(r,e({component:"header"},t))})(function(e){var n=e.theme;return t(t(t({},i("rootFixed",{prefix:"& > "}),{position:"relative",zIndex:1110,height:"var(--height-header, 114px)",backgroundColor:"var(--color-header, #1b1b1b)",color:n.palette.common.white}),i("content"),{display:"flex",alignItems:"center",justifyContent:"space-between",height:"100%",maxWidth:"var(--max-width, 1688px)"}),i("fixed",{prefix:"&"}),t(t({},i("rootFixed"),{position:"fixed",left:0,top:0,width:"100vw"}),"&::before",{content:'""',display:"block",height:"var(--height-header, 114px)",width:"100%"}))});p.displayName="HeaderStyled";var d=a(function(t){return n(r,e({component:"nav"},t))})(function(e){var n=e.theme;return t(t(t({display:"flex",alignItems:"center"},i("navItems"),{listStyle:"none",display:"flex",margin:0,padding:0}),i("navItemIcon"),{transition:"transform 0.3s ease"}),i("navItem"),{textDecoration:"none",marginRight:n.spacing(.5),flex:"0 0 auto","&:last-of-type":{marginRight:0},"& > button.MuiButtonBase-root .MuiButton-icon":{marginLeft:0},"&:hover":t({},i("navItemIcon"),{transform:"rotate(0deg) scale(1.2)"})})});d.displayName="NavStyled";export{p as HeaderStyled,d as NavStyled,o as appHeaderClasses};
2
2
  //# sourceMappingURL=app-header.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.styled.js","sources":["../../src/layout-global/app-header.styled.tsx"],"sourcesContent":["import { Box, BoxProps, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\n\r\nexport const appHeaderClasses = {\r\n root: 'AppHeader-root',\r\n rootFixed: 'AppHeader-rootFixed',\r\n content: 'AppHeader-content',\r\n navItem: 'AppHeader-navItem',\r\n navItems: 'AppHeader-navItems',\r\n navItemIcon: 'AppHeader-navItemIcon',\r\n subMenu: 'AppHeader-subMenu',\r\n subMenuItem: 'AppHeader-subMenuItem',\r\n subMenuTitle: 'AppHeader-subMenuTitle',\r\n subNavItem: 'AppHeader-subNavItem',\r\n subNavItemIcon: 'AppHeader-subNavItemIcon',\r\n subNavItemText: 'AppHeader-subNavItemContent'\r\n}\r\n\r\nexport const getAppHeaderClasses = (key: keyof typeof appHeaderClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${appHeaderClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const HeaderStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='header' {...p} />)(({ theme }) => ({\r\n '*': {\r\n margin: 0,\r\n padding: 0,\r\n boxSizing: 'border-box'\r\n },\r\n [getAppHeaderClasses('rootFixed', { prefix: '& > ' })]: {\r\n zIndex: 1110, // theme.zIndex.appBar,\r\n height: 'var(--height-header, 114px)',\r\n backgroundColor: 'var(--color-header, #1b1b1b)',\r\n color: theme.palette.common.white,\r\n position: 'fixed',\r\n left: 0,\r\n top: 0,\r\n width: '100vw'\r\n },\r\n [getAppHeaderClasses('content')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: '100%',\r\n maxWidth: 'var(--max-width, 1688px)'\r\n },\r\n '&::before': {\r\n content: '\"\"',\r\n display: 'block',\r\n height: 'var(--height-header, 114px)',\r\n width: '100%'\r\n }\r\n}))\r\nexport type HeaderStyledType = typeof HeaderStyled\r\nHeaderStyled.displayName = 'HeaderStyled'\r\n\r\nexport const NavStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='nav' {...p} />)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n [getAppHeaderClasses('navItems')]: {\r\n listStyle: 'none',\r\n display: 'flex',\r\n margin: 0,\r\n padding: 0\r\n },\r\n [getAppHeaderClasses('navItemIcon')]: {\r\n transition: 'transform 0.3s ease'\r\n },\r\n [getAppHeaderClasses('navItem')]: {\r\n textDecoration: 'none',\r\n marginRight: theme.spacing(0.5),\r\n flex: '0 0 auto',\r\n '&:last-of-type': {\r\n marginRight: 0\r\n },\r\n '& > button.MuiButtonBase-root .MuiButton-icon': {\r\n marginLeft: 0\r\n },\r\n '&:hover': {\r\n [getAppHeaderClasses('navItemIcon')]: {\r\n transform: 'rotate(0deg) scale(1.2)'\r\n }\r\n }\r\n }\r\n}))\r\nNavStyled.displayName = 'NavStyled'\r\n"],"names":["appHeaderClasses","root","rootFixed","content","navItem","navItems","navItemIcon","subMenu","subMenuItem","subMenuTitle","subNavItem","subNavItemIcon","subNavItemText","getAppHeaderClasses","key","options","concat","prefix","suffix","HeaderStyled","styled","p","_jsx","Box","_objectSpread","component","_ref","theme","_defineProperty","margin","padding","boxSizing","zIndex","height","backgroundColor","color","palette","common","white","position","left","top","width","display","alignItems","justifyContent","maxWidth","displayName","NavStyled","_ref3","listStyle","transition","textDecoration","marginRight","spacing","flex","marginLeft","transform"],"mappings":"qLAGO,IAAMA,EAAmB,CAC9BC,KAAM,iBACNC,UAAW,sBACXC,QAAS,oBACTC,QAAS,oBACTC,SAAU,qBACVC,YAAa,wBACbC,QAAS,oBACTC,YAAa,wBACbC,aAAc,yBACdC,WAAY,uBACZC,eAAgB,2BAChBC,eAAgB,+BAGLC,EAAsB,SAACC,EAAoCC,GACtE,MAAA,GAAAC,QAAUD,aAAAA,EAAAA,EAASE,SAAU,QAAED,OAAIhB,EAAiBc,IAAIE,QAAGD,aAAAA,EAAAA,EAASG,SAAU,GAChF,EAEaC,EAAwCC,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,UAAaJ,GAAK,EAAzDD,CAA2D,SAAAM,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAAC,EAAAA,EAAAA,EAAA,CACtH,IAAK,CACHC,OAAQ,EACRC,QAAS,EACTC,UAAW,eAEZlB,EAAoB,YAAa,CAAEI,OAAQ,SAAY,CACtDe,OAAQ,KACRC,OAAQ,8BACRC,gBAAiB,+BACjBC,MAAOR,EAAMS,QAAQC,OAAOC,MAC5BC,SAAU,QACVC,KAAM,EACNC,IAAK,EACLC,MAAO,UAER7B,EAAoB,WAAa,CAChC8B,QAAS,OACTC,WAAY,SACZC,eAAgB,gBAChBZ,OAAQ,OACRa,SAAU,6BAEZ,YAAa,CACX3C,QAAS,KACTwC,QAAS,QACTV,OAAQ,8BACRS,MAAO,QACR,GAGHvB,EAAa4B,YAAc,mBAEdC,EAAqC5B,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,OAAUJ,GAAK,EAAtDD,CAAwD,SAAA6B,GAAA,IAAGtB,EAAKsB,EAALtB,MAAK,OAAAC,EAAAA,EAAAA,EAAA,CAChHe,QAAS,OACTC,WAAY,UACX/B,EAAoB,YAAc,CACjCqC,UAAW,OACXP,QAAS,OACTd,OAAQ,EACRC,QAAS,IAEVjB,EAAoB,eAAiB,CACpCsC,WAAY,wBAEbtC,EAAoB,WAAa,CAChCuC,eAAgB,OAChBC,YAAa1B,EAAM2B,QAAQ,IAC3BC,KAAM,WACN,iBAAkB,CAChBF,YAAa,GAEf,gDAAiD,CAC/CG,WAAY,GAEd,UAAS5B,EAAA,CAAA,EACNf,EAAoB,eAAiB,CACpC4C,UAAW,6BAGhB,GAEHT,EAAUD,YAAc"}
1
+ {"version":3,"file":"app-header.styled.js","sources":["../../src/layout-global/app-header.styled.tsx"],"sourcesContent":["import { Box, BoxProps, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\n\r\nexport const appHeaderClasses = {\r\n root: 'AppHeader-root',\r\n rootFixed: 'AppHeader-rootFixed',\r\n fixed: 'AppHeader-fixed',\r\n content: 'AppHeader-content',\r\n navItem: 'AppHeader-navItem',\r\n navItems: 'AppHeader-navItems',\r\n navItemIcon: 'AppHeader-navItemIcon',\r\n subMenu: 'AppHeader-subMenu',\r\n subMenuItem: 'AppHeader-subMenuItem',\r\n subMenuTitle: 'AppHeader-subMenuTitle',\r\n subNavItem: 'AppHeader-subNavItem',\r\n subNavItemIcon: 'AppHeader-subNavItemIcon',\r\n subNavItemText: 'AppHeader-subNavItemContent'\r\n}\r\n\r\nconst getClasses = (key: keyof typeof appHeaderClasses, options?: { prefix?: string; suffix?: string }) => {\r\n return `${options?.prefix || ''}.${appHeaderClasses[key]}${options?.suffix || ''}`\r\n}\r\n\r\nexport const HeaderStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='header' {...p} />)(({ theme }) => ({\r\n // '*': { margin: 0, padding: 0, boxSizing: 'border-box' },\r\n [getClasses('rootFixed', { prefix: '& > ' })]: {\r\n position: 'relative',\r\n zIndex: 1110, // theme.zIndex.appBar,\r\n height: 'var(--height-header, 114px)',\r\n backgroundColor: 'var(--color-header, #1b1b1b)',\r\n color: theme.palette.common.white\r\n },\r\n [getClasses('content')]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: '100%',\r\n maxWidth: 'var(--max-width, 1688px)'\r\n },\r\n [getClasses('fixed', { prefix: '&' })]: {\r\n [getClasses('rootFixed')]: {\r\n position: 'fixed',\r\n left: 0,\r\n top: 0,\r\n width: '100vw'\r\n },\r\n '&::before': {\r\n content: '\"\"',\r\n display: 'block',\r\n height: 'var(--height-header, 114px)',\r\n width: '100%'\r\n }\r\n }\r\n}))\r\nexport type HeaderStyledType = typeof HeaderStyled\r\nHeaderStyled.displayName = 'HeaderStyled'\r\n\r\nexport const NavStyled: ComponentType<BoxProps> = styled((p: BoxProps) => <Box component='nav' {...p} />)(({ theme }) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n [getClasses('navItems')]: {\r\n listStyle: 'none',\r\n display: 'flex',\r\n margin: 0,\r\n padding: 0\r\n },\r\n [getClasses('navItemIcon')]: {\r\n transition: 'transform 0.3s ease'\r\n },\r\n [getClasses('navItem')]: {\r\n textDecoration: 'none',\r\n marginRight: theme.spacing(0.5),\r\n flex: '0 0 auto',\r\n '&:last-of-type': {\r\n marginRight: 0\r\n },\r\n '& > button.MuiButtonBase-root .MuiButton-icon': {\r\n marginLeft: 0\r\n },\r\n '&:hover': {\r\n [getClasses('navItemIcon')]: {\r\n transform: 'rotate(0deg) scale(1.2)'\r\n }\r\n }\r\n }\r\n}))\r\nNavStyled.displayName = 'NavStyled'\r\n"],"names":["appHeaderClasses","root","rootFixed","fixed","content","navItem","navItems","navItemIcon","subMenu","subMenuItem","subMenuTitle","subNavItem","subNavItemIcon","subNavItemText","getClasses","key","options","concat","prefix","suffix","HeaderStyled","styled","p","_jsx","Box","_objectSpread","component","_ref","theme","_defineProperty","position","zIndex","height","backgroundColor","color","palette","common","white","display","alignItems","justifyContent","maxWidth","left","top","width","displayName","NavStyled","_ref3","listStyle","margin","padding","transition","textDecoration","marginRight","spacing","flex","marginLeft","transform"],"mappings":"qLAGO,IAAMA,EAAmB,CAC9BC,KAAM,iBACNC,UAAW,sBACXC,MAAO,kBACPC,QAAS,oBACTC,QAAS,oBACTC,SAAU,qBACVC,YAAa,wBACbC,QAAS,oBACTC,YAAa,wBACbC,aAAc,yBACdC,WAAY,uBACZC,eAAgB,2BAChBC,eAAgB,+BAGZC,EAAa,SAACC,EAAoCC,GACtD,MAAA,GAAAC,QAAUD,aAAAA,EAAAA,EAASE,SAAU,QAAED,OAAIjB,EAAiBe,IAAIE,QAAGD,aAAAA,EAAAA,EAASG,SAAU,GAChF,EAEaC,EAAwCC,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,UAAaJ,GAAK,EAAzDD,CAA2D,SAAAM,GAAA,IAAGC,EAAKD,EAALC,MAAK,OAAAC,EAAAA,EAAAA,EAErHf,CAAAA,EAAAA,EAAW,YAAa,CAAEI,OAAQ,SAAY,CAC7CY,SAAU,WACVC,OAAQ,KACRC,OAAQ,8BACRC,gBAAiB,+BACjBC,MAAON,EAAMO,QAAQC,OAAOC,QAE7BvB,EAAW,WAAa,CACvBwB,QAAS,OACTC,WAAY,SACZC,eAAgB,gBAChBR,OAAQ,OACRS,SAAU,6BAEX3B,EAAW,QAAS,CAAEI,OAAQ,MAAMW,EAAAA,KAClCf,EAAW,aAAe,CACzBgB,SAAU,QACVY,KAAM,EACNC,IAAK,EACLC,MAAO,UAET,YAAa,CACXxC,QAAS,KACTkC,QAAS,QACTN,OAAQ,8BACRY,MAAO,SACR,GAILxB,EAAayB,YAAc,mBAEdC,EAAqCzB,EAAO,SAACC,GAAW,OAAKC,EAACC,EAAGC,EAAA,CAACC,UAAU,OAAUJ,GAAK,EAAtDD,CAAwD,SAAA0B,GAAA,IAAGnB,EAAKmB,EAALnB,MAAK,OAAAC,EAAAA,EAAAA,EAAA,CAChHS,QAAS,OACTC,WAAY,UACXzB,EAAW,YAAc,CACxBkC,UAAW,OACXV,QAAS,OACTW,OAAQ,EACRC,QAAS,IAEVpC,EAAW,eAAiB,CAC3BqC,WAAY,wBAEbrC,EAAW,WAAa,CACvBsC,eAAgB,OAChBC,YAAazB,EAAM0B,QAAQ,IAC3BC,KAAM,WACN,iBAAkB,CAChBF,YAAa,GAEf,gDAAiD,CAC/CG,WAAY,GAEd,UAAS3B,EAAA,CAAA,EACNf,EAAW,eAAiB,CAC3B2C,UAAW,6BAGhB,GAEHX,EAAUD,YAAc"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";function o(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(r)?r:[r]}function a(r){var o,a=0;for(o=0;o<r.length;o+=1)a=r.charCodeAt(o)+((a<<5)-a);var l="#";for(o=0;o<3;o+=1){l+="00".concat((a>>8*o&255).toString(16)).slice(-2)}return l}function l(o,l){var t,e,n,i=null!==(t=null==o?void 0:o.split(" "))&&void 0!==t?t:["@"],c=i[0]&&i[0][0]?i[0][0]:"@",v=i[1]&&i[1][0]?i[1][0]:"";return{sx:r({width:"var(--avatar-size, 40px)",height:"var(--avatar-size, 40px)",bgcolor:a(o)},l),children:"".concat(null!==(e=null==c?void 0:c.toLocaleUpperCase())&&void 0!==e?e:"").concat(null!==(n=null==v?void 0:v.toLocaleUpperCase())&&void 0!==n?n:"")}}export{l as getAvatarProps,o as toArray};
1
+ import{objectSpread2 as r}from"../_virtual/_rollupPluginBabelHelpers.js";function o(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Array.isArray(r)?r:[r]}function a(r){var o,a=0;for(o=0;o<r.length;o+=1)a=r.charCodeAt(o)+((a<<5)-a);var l="#";for(o=0;o<3;o+=1){l+="00".concat((a>>8*o&255).toString(16)).slice(-2)}return l}function l(o,l){var t,e,n,i=null!==(t=null==o?void 0:o.split(" "))&&void 0!==t?t:["@"],c=i[0]&&i[0][0]?i[0][0]:"@",v=i[1]&&i[1][0]?i[1][0]:"",u=Object.assign({color:"#ffffff"},l);return{sx:r({width:"var(--avatar-size, 40px)",height:"var(--avatar-size, 40px)",bgcolor:a(o)},u),children:"".concat(null!==(e=null==c?void 0:c.toLocaleUpperCase())&&void 0!==e?e:"").concat(null!==(n=null==v?void 0:v.toLocaleUpperCase())&&void 0!==n?n:"")}}export{l as getAvatarProps,o as toArray};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/layout-global/helpers.ts"],"sourcesContent":["import { SxProps, Theme } from '@mui/material'\r\nimport { ReactNode } from 'react'\r\n\r\n/**\r\n * Converts a single item or array to an array\r\n * @param value - Single item of type T or array of type T\r\n * @returns Array of type T\r\n */\r\nexport function toArray<T>(value: T | T[] | undefined = []): T[] {\r\n return Array.isArray(value) ? value : [value]\r\n}\r\n\r\nfunction stringToColor(string: string) {\r\n let hash = 0\r\n let i\r\n\r\n /* eslint-disable no-bitwise */\r\n for (i = 0; i < string.length; i += 1) {\r\n hash = string.charCodeAt(i) + ((hash << 5) - hash)\r\n }\r\n\r\n let color = '#'\r\n\r\n for (i = 0; i < 3; i += 1) {\r\n const value = (hash >> (i * 8)) & 0xff\r\n color += `00${value.toString(16)}`.slice(-2)\r\n }\r\n /* eslint-enable no-bitwise */\r\n\r\n return color\r\n}\r\n\r\ninterface IAvatarPropsResult {\r\n sx: SxProps<Theme>\r\n children: ReactNode\r\n}\r\n\r\nexport function getAvatarProps(name: string, sx?: SxProps<Theme>): IAvatarPropsResult {\r\n let tmps = name?.split(' ') ?? ['@']\r\n const name1 = tmps[0] && tmps[0][0] ? tmps[0][0] : '@'\r\n const name2 = tmps[1] && tmps[1][0] ? tmps[1][0] : ''\r\n return {\r\n sx: { width: 'var(--avatar-size, 40px)', height: 'var(--avatar-size, 40px)', bgcolor: stringToColor(name), ...sx },\r\n children: `${name1?.toLocaleUpperCase() ?? ''}${name2?.toLocaleUpperCase() ?? ''}`\r\n }\r\n}\r\n"],"names":["toArray","value","arguments","length","undefined","Array","isArray","stringToColor","string","i","hash","charCodeAt","color","concat","toString","slice","getAvatarProps","name","sx","_name$split","_name1$toLocaleUpperC","_name2$toLocaleUpperC","tmps","split","name1","name2","_objectSpread","width","height","bgcolor","children","toLocaleUpperCase"],"mappings":"yEAQgB,SAAAA,IAA0C,IAA/BC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAA6B,GACtD,OAAOG,MAAMC,QAAQL,GAASA,EAAQ,CAACA,EACzC,CAEA,SAASM,EAAcC,GACrB,IACIC,EADAC,EAAO,EAIX,IAAKD,EAAI,EAAGA,EAAID,EAAOL,OAAQM,GAAK,EAClCC,EAAOF,EAAOG,WAAWF,KAAOC,GAAQ,GAAKA,GAG/C,IAAIE,EAAQ,IAEZ,IAAKH,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAAG,CAEzBG,GAAS,KAAAC,QADMH,GAAa,EAAJD,EAAU,KACdK,SAAS,KAAMC,SACpC,CAGD,OAAOH,CACT,CAOgB,SAAAI,EAAeC,EAAcC,GAAmB,IAAAC,EAAAC,EAAAC,EAC1DC,EAAuBH,QAAnBA,EAAGF,eAAAA,EAAMM,MAAM,gBAAIJ,EAAAA,EAAI,CAAC,KAC1BK,EAAQF,EAAK,IAAMA,EAAK,GAAG,GAAKA,EAAK,GAAG,GAAK,IAC7CG,EAAQH,EAAK,IAAMA,EAAK,GAAG,GAAKA,EAAK,GAAG,GAAK,GACnD,MAAO,CACLJ,GAAEQ,EAAA,CAAIC,MAAO,2BAA4BC,OAAQ,2BAA4BC,QAAStB,EAAcU,IAAUC,GAC9GY,YAAQjB,OAA+BO,QAA/BA,EAAKI,aAAAA,EAAAA,EAAOO,+BAAmBX,EAAAA,EAAI,IAAEP,OAA6B,QAA7BQ,EAAGI,aAAAA,EAAAA,EAAOM,2BAAmBV,IAAAA,EAAAA,EAAI,IAElF"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/layout-global/helpers.ts"],"sourcesContent":["import { SxProps, Theme } from '@mui/material'\r\nimport { ReactNode } from 'react'\r\n\r\n/**\r\n * Converts a single item or array to an array\r\n * @param value - Single item of type T or array of type T\r\n * @returns Array of type T\r\n */\r\nexport function toArray<T>(value: T | T[] | undefined = []): T[] {\r\n return Array.isArray(value) ? value : [value]\r\n}\r\n\r\nfunction stringToColor(string: string) {\r\n let hash = 0\r\n let i\r\n\r\n /* eslint-disable no-bitwise */\r\n for (i = 0; i < string.length; i += 1) {\r\n hash = string.charCodeAt(i) + ((hash << 5) - hash)\r\n }\r\n\r\n let color = '#'\r\n\r\n for (i = 0; i < 3; i += 1) {\r\n const value = (hash >> (i * 8)) & 0xff\r\n color += `00${value.toString(16)}`.slice(-2)\r\n }\r\n /* eslint-enable no-bitwise */\r\n\r\n return color\r\n}\r\n\r\ninterface IAvatarPropsResult {\r\n sx: SxProps<Theme>\r\n children: ReactNode\r\n}\r\n\r\nexport function getAvatarProps(name: string, sx?: SxProps<Theme>): IAvatarPropsResult {\r\n let tmps = name?.split(' ') ?? ['@']\r\n const name1 = tmps[0] && tmps[0][0] ? tmps[0][0] : '@'\r\n const name2 = tmps[1] && tmps[1][0] ? tmps[1][0] : ''\r\n const finalSx = Object.assign({ color: '#ffffff' }, sx)\r\n return {\r\n sx: { width: 'var(--avatar-size, 40px)', height: 'var(--avatar-size, 40px)', bgcolor: stringToColor(name), ...finalSx },\r\n children: `${name1?.toLocaleUpperCase() ?? ''}${name2?.toLocaleUpperCase() ?? ''}`\r\n }\r\n}\r\n"],"names":["toArray","value","arguments","length","undefined","Array","isArray","stringToColor","string","i","hash","charCodeAt","color","concat","toString","slice","getAvatarProps","name","sx","_name$split","_name1$toLocaleUpperC","_name2$toLocaleUpperC","tmps","split","name1","name2","finalSx","Object","assign","_objectSpread","width","height","bgcolor","children","toLocaleUpperCase"],"mappings":"yEAQgB,SAAAA,IAA0C,IAA/BC,EAAAC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAA6B,GACtD,OAAOG,MAAMC,QAAQL,GAASA,EAAQ,CAACA,EACzC,CAEA,SAASM,EAAcC,GACrB,IACIC,EADAC,EAAO,EAIX,IAAKD,EAAI,EAAGA,EAAID,EAAOL,OAAQM,GAAK,EAClCC,EAAOF,EAAOG,WAAWF,KAAOC,GAAQ,GAAKA,GAG/C,IAAIE,EAAQ,IAEZ,IAAKH,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAAG,CAEzBG,GAAS,KAAAC,QADMH,GAAa,EAAJD,EAAU,KACdK,SAAS,KAAMC,SACpC,CAGD,OAAOH,CACT,CAOgB,SAAAI,EAAeC,EAAcC,GAAmB,IAAAC,EAAAC,EAAAC,EAC1DC,EAAuBH,QAAnBA,EAAGF,eAAAA,EAAMM,MAAM,gBAAIJ,EAAAA,EAAI,CAAC,KAC1BK,EAAQF,EAAK,IAAMA,EAAK,GAAG,GAAKA,EAAK,GAAG,GAAK,IAC7CG,EAAQH,EAAK,IAAMA,EAAK,GAAG,GAAKA,EAAK,GAAG,GAAK,GAC7CI,EAAUC,OAAOC,OAAO,CAAEhB,MAAO,WAAaM,GACpD,MAAO,CACLA,GAAEW,EAAA,CAAIC,MAAO,2BAA4BC,OAAQ,2BAA4BC,QAASzB,EAAcU,IAAUS,GAC9GO,YAAQpB,OAA+BO,QAA/BA,EAAKI,aAAAA,EAAAA,EAAOU,+BAAmBd,EAAAA,EAAI,IAAEP,OAA6B,QAA7BQ,EAAGI,aAAAA,EAAAA,EAAOS,2BAAmBb,IAAAA,EAAAA,EAAI,IAElF"}
@@ -1,2 +1,2 @@
1
- export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses,getAppHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses,getAppFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider,getLightTheme}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";
1
+ export{AppHeader,createAppHeader}from"./app-header.js";export{appHeaderClasses}from"./app-header.styled.js";export{AppFooter,createAppFooter}from"./app-footer.js";export{appFooterClasses}from"./app-footer.styled.js";export{AppThemeProvider,getLightTheme}from"./app-theme-provider.js";export{AppLogo}from"./app-logo.js";export{ENavKey}from"./types.js";export{ButtonAnimation}from"./animated-tabs.units.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{styled as e,Box as i,alpha as o}from"@mui/material";var n={root:"SubMenu-root",rootContent:"SubMenu-rootContent",content:"SubMenu-content",group:"SubMenu-group",title:"SubMenu-title",item:"SubMenu-item",itemContent:"SubMenu-itemContent",itemIcon:"SubMenu-itemIcon",itemText:"SubMenu-itemText",socialText:"SubMenu-socialText",hovering:"SubMenu-hovering"},r=function(t,e){return"".concat("",".").concat(n[t]).concat("")},a=e(i)(function(e){var i=e.theme;return t(t(t({position:"relative","@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}}},r("root"),{position:"absolute",top:"100%",right:0,opacity:0,visibility:"hidden",paddingTop:"16px"}),r("rootContent"),{position:"relative","&::before":{content:'""',position:"absolute",backgroundColor:"#323234",width:"10px",height:"10px",top:"-4px",right:i.spacing(1),transform:"translateX(-50%) rotate(45deg)",zIndex:0}}),"&:hover",t({"> .MuiButtonBase-root":{"&::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}}},r("root"),{opacity:1,visibility:"visible",animation:"fadeInDown 0.3s ease-out"}))}),s=e(i)(function(e){var i=e.theme;return t(t(t(t(t(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"},r("rootContent"),{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)"}),r("content"),t({display:"flex",padding:i.spacing(1,0)},i.breakpoints.down("md"),{flexDirection:"column",padding:i.spacing(1,0)})),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:"var(--color-title-sub-menu, #ffffff)",fontWeight:500,marginBottom:i.spacing(1.25)}),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%",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))"}}),r("socialText"),{color:"var(--color-text-secondary, #9da1a5)"}),r("item"),{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,"&::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)}}})});export{s as SubMenuStyled,a as SubMenuWrap,n as subMenuClasses};
1
+ import{defineProperty as t}from"../_virtual/_rollupPluginBabelHelpers.js";import{styled as e,Box as i,alpha as o}from"@mui/material";var n={root:"SubMenu-root",rootContent:"SubMenu-rootContent",content:"SubMenu-content",group:"SubMenu-group",title:"SubMenu-title",item:"SubMenu-item",itemContent:"SubMenu-itemContent",itemIcon:"SubMenu-itemIcon",itemText:"SubMenu-itemText",socialText:"SubMenu-socialText",hovering:"SubMenu-hovering"},r=function(t,e){return"".concat("",".").concat(n[t]).concat("")},a=e(i)(function(e){var i=e.theme;return t(t(t({position:"relative","@keyframes fadeInDown":{"0%":{opacity:0,transform:"translateY(-10px)"},"100%":{opacity:1,transform:"translateY(0)"}}},r("root"),{position:"absolute",top:"100%",right:0,opacity:0,visibility:"hidden",display:"none",paddingTop:"16px"}),r("rootContent"),{position:"relative","&::before":{content:'""',position:"absolute",backgroundColor:"#323234",width:"10px",height:"10px",top:"-4px",right:i.spacing(1),transform:"translateX(-50%) rotate(45deg)",zIndex:0}}),"&:hover",t({"> .MuiButtonBase-root":{"&::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}}},r("root"),{opacity:1,visibility:"visible",display:"block",animation:"fadeInDown 0.3s ease-out"}))}),s=e(i)(function(e){var i=e.theme;return t(t(t(t(t(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"},r("rootContent"),{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)"}),r("content"),t({display:"flex",padding:i.spacing(1,0)},i.breakpoints.down("md"),{flexDirection:"column",padding:i.spacing(1,0)})),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:"var(--color-title-sub-menu, #ffffff)",fontWeight:500,marginBottom:i.spacing(1.25)}),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%",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))"}}),r("socialText"),{color:"var(--color-text-secondary, #9da1a5)"}),r("item"),{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,"&::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)}}})});export{s as SubMenuStyled,a as SubMenuWrap,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, Box, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps } from '@mui/material'\r\n\r\n// export const PopoverStyled: ComponentType<PopoverProps> = styled(Popover)(({ theme }) => ({\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\r\nexport const subMenuClasses = {\r\n root: 'SubMenu-root',\r\n rootContent: 'SubMenu-rootContent',\r\n content: 'SubMenu-content',\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 socialText: 'SubMenu-socialText',\r\n hovering: 'SubMenu-hovering'\r\n}\r\n\r\nconst getSubMenuClasses = (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 SubMenuWrap: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n position: 'relative',\r\n '@keyframes fadeInDown': {\r\n '0%': { opacity: 0, transform: 'translateY(-10px)' },\r\n '100%': { opacity: 1, transform: 'translateY(0)' }\r\n },\r\n [getSubMenuClasses('root')]: {\r\n position: 'absolute',\r\n top: '100%',\r\n right: 0,\r\n opacity: 0,\r\n visibility: 'hidden',\r\n paddingTop: '16px'\r\n },\r\n [getSubMenuClasses('rootContent')]: {\r\n position: 'relative',\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),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n '&:hover': {\r\n '> .MuiButtonBase-root': {\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 [getSubMenuClasses('root')]: {\r\n opacity: 1,\r\n visibility: 'visible',\r\n animation: 'fadeInDown 0.3s ease-out'\r\n }\r\n }\r\n}))\r\n\r\nexport const SubMenuStyled: ComponentType<BoxProps> = styled(Box)(({ 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 [getSubMenuClasses('rootContent')]: {\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 },\r\n [getSubMenuClasses('content')]: {\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 [getSubMenuClasses('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 [getSubMenuClasses('title')]: {\r\n padding: theme.spacing(0.5, 1.25),\r\n color: 'var(--color-title-sub-menu, #ffffff)',\r\n fontWeight: 500,\r\n marginBottom: theme.spacing(1.25)\r\n },\r\n\r\n [getSubMenuClasses('itemContent')]: {\r\n display: 'flex',\r\n alignItems: 'center'\r\n },\r\n\r\n [getSubMenuClasses('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 transition: 'all 0.3s ease',\r\n span: {\r\n display: 'inline-block'\r\n }\r\n },\r\n\r\n [getSubMenuClasses('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 [getSubMenuClasses('socialText')]: {\r\n color: 'var(--color-text-secondary, #9da1a5)'\r\n },\r\n\r\n [getSubMenuClasses('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 '&::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\n"],"names":["subMenuClasses","root","rootContent","content","group","title","item","itemContent","itemIcon","itemText","socialText","hovering","getSubMenuClasses","key","options","concat","SubMenuWrap","styled","Box","_ref","theme","_defineProperty","position","opacity","transform","top","right","visibility","paddingTop","backgroundColor","width","height","spacing","zIndex","animation","SubMenuStyled","_ref3","borderRadius","shape","minWidth","maxWidth","boxShadow","display","padding","breakpoints","down","flexDirection","borderRight","alpha","palette","common","white","color","fontWeight","marginBottom","alignItems","grey","textDecoration","transition","span","flexShrink","transformOrigin","marginRight","backgroundImage","backgroundSize","backgroundPosition","filter","left","background"],"mappings":"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"}
1
+ {"version":3,"file":"sub-menu.styled.js","sources":["../../src/layout-global/sub-menu.styled.ts"],"sourcesContent":["import { alpha, Box, styled } from '@mui/material'\r\nimport type { ComponentType } from 'react'\r\nimport type { BoxProps } from '@mui/material'\r\n\r\n// TODO: Refactor PopoverStyled if needed in the future\r\n// export const PopoverStyled: ComponentType<PopoverProps> = styled(Popover)(({ theme }) => ({\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\r\nexport const subMenuClasses = {\r\n root: 'SubMenu-root',\r\n rootContent: 'SubMenu-rootContent',\r\n content: 'SubMenu-content',\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 socialText: 'SubMenu-socialText',\r\n hovering: 'SubMenu-hovering'\r\n}\r\n\r\nconst getSubMenuClasses = (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 SubMenuWrap: ComponentType<BoxProps> = styled(Box)(({ theme }) => ({\r\n position: 'relative',\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 [getSubMenuClasses('root')]: {\r\n position: 'absolute',\r\n top: '100%',\r\n right: 0,\r\n opacity: 0,\r\n visibility: 'hidden',\r\n display: 'none',\r\n paddingTop: '16px'\r\n },\r\n\r\n [getSubMenuClasses('rootContent')]: {\r\n position: 'relative',\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),\r\n transform: 'translateX(-50%) rotate(45deg)',\r\n zIndex: 0\r\n }\r\n },\r\n\r\n '&:hover': {\r\n '> .MuiButtonBase-root': {\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 [getSubMenuClasses('root')]: {\r\n opacity: 1,\r\n visibility: 'visible',\r\n display: 'block',\r\n animation: 'fadeInDown 0.3s ease-out'\r\n }\r\n }\r\n}))\r\n\r\nexport const SubMenuStyled: ComponentType<BoxProps> = styled(Box)(({ 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\r\n [getSubMenuClasses('rootContent')]: {\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 },\r\n\r\n [getSubMenuClasses('content')]: {\r\n display: 'flex',\r\n padding: theme.spacing(1, 0),\r\n [theme.breakpoints.down('md')]: { flexDirection: 'column', padding: theme.spacing(1, 0) }\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 [getSubMenuClasses('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': { borderRight: 'none' },\r\n [theme.breakpoints.down('md')]: { borderRight: 'none', padding: theme.spacing(0, 0, 0, 1) }\r\n },\r\n\r\n [getSubMenuClasses('title')]: {\r\n padding: theme.spacing(0.5, 1.25),\r\n color: 'var(--color-title-sub-menu, #ffffff)',\r\n fontWeight: 500,\r\n marginBottom: theme.spacing(1.25)\r\n },\r\n\r\n [getSubMenuClasses('itemContent')]: { display: 'flex', alignItems: 'center' },\r\n\r\n [getSubMenuClasses('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 transition: 'all 0.3s ease',\r\n span: { display: 'inline-block' }\r\n },\r\n\r\n [getSubMenuClasses('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 [getSubMenuClasses('socialText')]: { color: 'var(--color-text-secondary, #9da1a5)' },\r\n\r\n [getSubMenuClasses('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 '&::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': { width: theme.spacing(1.125), marginRight: theme.spacing(1) }\r\n }\r\n }\r\n}))\r\n"],"names":["subMenuClasses","root","rootContent","content","group","title","item","itemContent","itemIcon","itemText","socialText","hovering","getSubMenuClasses","key","options","concat","SubMenuWrap","styled","Box","_ref","theme","_defineProperty","position","opacity","transform","top","right","visibility","display","paddingTop","backgroundColor","width","height","spacing","zIndex","animation","SubMenuStyled","_ref3","borderRadius","shape","minWidth","maxWidth","boxShadow","padding","breakpoints","down","flexDirection","borderRight","alpha","palette","common","white","color","fontWeight","marginBottom","alignItems","grey","textDecoration","transition","span","flexShrink","transformOrigin","marginRight","backgroundImage","backgroundSize","backgroundPosition","filter","left","background"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/editor-kit/helpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAED,eAAO,MAAM,QAAQ,oBAAoB,CAAA;AAGzC,eAAO,MAAM,UAAU,oBAAoB,CAAA;AAG3C,eAAO,MAAM,cAAc;;CAAmD,CAAA;AA8D9E,eAAO,MAAM,cAAc,YA4B1B,CAAA;AAED,eAAO,MAAM,aAAa,YAWzB,CAAA;AAMD,eAAO,MAAM,qBAAqB,YAqDjC,CAAA;AAiDD,eAAO,MAAM,uBAAuB,YA2CnC,CAAA;AAkCD,eAAO,MAAM,mBAAmB,YA8B/B,CAAA;AAED,eAAO,MAAM,kBAAkB,YAwB9B,CAAA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/editor-kit/helpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAED,eAAO,MAAM,QAAQ,oBAAoB,CAAA;AAGzC,eAAO,MAAM,UAAU,oBAAoB,CAAA;AAG3C,eAAO,MAAM,cAAc;;CAAmD,CAAA;AA8D9E,eAAO,MAAM,cAAc,YA4B1B,CAAA;AAED,eAAO,MAAM,aAAa,YAWzB,CAAA;AAMD,eAAO,MAAM,qBAAqB,YAoDjC,CAAA;AAiDD,eAAO,MAAM,uBAAuB,YA2CnC,CAAA;AAkCD,eAAO,MAAM,mBAAmB,YA8B/B,CAAA;AAED,eAAO,MAAM,kBAAkB,YAwB9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-footer.styled.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-footer.styled.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAY5B,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,MAAM,uBAAuB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,WAErH,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CAiF9C,CAAA;AAEH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CA2C9C,CAAA"}
1
+ {"version":3,"file":"app-footer.styled.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-footer.styled.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAY5B,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,MAAM,uBAAuB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,WAErH,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CAmF9C,CAAA;AAEH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CA2C9C,CAAA"}
@@ -13,6 +13,7 @@ export interface IAppHeaderProps {
13
13
  onNavItemClick?: NavItemClickFunction;
14
14
  logoUrl?: string;
15
15
  actions?: ReactNode;
16
+ isFixed?: boolean;
16
17
  slots?: IAppHeaderSlots;
17
18
  }
18
19
  export declare class AppHeader extends Component<IAppHeaderProps> {
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAM,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAW,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAI1D,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;IACvD,OAAO,CAAC,OAAO,CAAoC;gBACvC,KAAK,EAAE,eAAe;IAQlC,MAAM;CA0BP;AACD,eAAe,SAAS,CAAA;AAExB,eAAO,MAAM,eAAe,WAAY,eAAe,KAAG,cAAc,QAAQ,eAAe,CAAC,CAM/F,CAAA"}
1
+ {"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAM,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAW,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAI1D,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;IACvD,OAAO,CAAC,OAAO,CAAoC;gBACvC,KAAK,EAAE,eAAe;IAQlC,MAAM;CA6BP;AACD,eAAe,SAAS,CAAA;AAExB,eAAO,MAAM,eAAe,WAAY,eAAe,KAAG,cAAc,QAAQ,eAAe,CAAC,CAM/F,CAAA"}
@@ -3,6 +3,7 @@ import type { ComponentType } from 'react';
3
3
  export declare const appHeaderClasses: {
4
4
  root: string;
5
5
  rootFixed: string;
6
+ fixed: string;
6
7
  content: string;
7
8
  navItem: string;
8
9
  navItems: string;
@@ -14,10 +15,6 @@ export declare const appHeaderClasses: {
14
15
  subNavItemIcon: string;
15
16
  subNavItemText: string;
16
17
  };
17
- export declare const getAppHeaderClasses: (key: keyof typeof appHeaderClasses, options?: {
18
- prefix?: string;
19
- suffix?: string;
20
- }) => string;
21
18
  export declare const HeaderStyled: ComponentType<BoxProps>;
22
19
  export type HeaderStyledType = typeof HeaderStyled;
23
20
  export declare const NavStyled: ComponentType<BoxProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"app-header.styled.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.styled.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,QAAQ,EAAU,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAa5B,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,MAAM,uBAAuB,YAAY;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,WAErH,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CA6B9C,CAAA;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,YAAY,CAAA;AAGlD,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,QAAQ,CA4B3C,CAAA"}
1
+ {"version":3,"file":"app-header.styled.d.ts","sourceRoot":"","sources":["../../../src/layout-global/app-header.styled.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,QAAQ,EAAU,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAc5B,CAAA;AAMD,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,QAAQ,CA8B9C,CAAA;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,YAAY,CAAA;AAGlD,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,QAAQ,CA4B3C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/layout-global/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,GAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAc,GAAG,CAAC,EAAE,CAE/D;AAsBD,UAAU,kBAAkB;IAC1B,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAQpF"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/layout-global/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,GAAE,CAAC,GAAG,CAAC,EAAE,GAAG,SAAc,GAAG,CAAC,EAAE,CAE/D;AAsBD,UAAU,kBAAkB;IAC1B,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,kBAAkB,CASpF"}
@@ -1,8 +1,8 @@
1
1
  export * from './app-header';
2
2
  export type { IAppHeaderNavSlots } from './app-header.nav';
3
- export { appHeaderClasses, getAppHeaderClasses } from './app-header.styled';
3
+ export { appHeaderClasses } from './app-header.styled';
4
4
  export * from './app-footer';
5
- export { appFooterClasses, getAppFooterClasses } from './app-footer.styled';
5
+ export { appFooterClasses } from './app-footer.styled';
6
6
  export * from './app-theme-provider';
7
7
  export * from './app-logo';
8
8
  export { ENavKey } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout-global/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE3E,cAAc,sBAAsB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout-global/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,cAAc,sBAAsB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -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,QAAQ,EAAE,MAAM,eAAe,CAAA;AAoC7C,eAAO,MAAM,cAAc;;;;;;;;;;;;CAY1B,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,QAAQ,CAyC7C,CAAA;AAEH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,QAAQ,CAkH/C,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,QAAQ,EAAE,MAAM,eAAe,CAAA;AAqC7C,eAAO,MAAM,cAAc;;;;;;;;;;;;CAY1B,CAAA;AAMD,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,QAAQ,CA+C7C,CAAA;AAEH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,QAAQ,CAkG/C,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { Component, FC } from 'react';
2
+ import { IMenuBarBaseProps, IMenuBarConfig, IMenuBarConfigs } from './types';
3
+ export * from './types';
4
+ export interface IMenuBarSlots {
5
+ top?: React.ReactNode;
6
+ bottom?: React.ReactNode;
7
+ }
8
+ export interface IMenuBarProps extends IMenuBarBaseProps {
9
+ configs?: IMenuBarConfigs;
10
+ slots?: IMenuBarSlots;
11
+ localStorageKey?: string;
12
+ logoURL?: string;
13
+ homeURL?: string;
14
+ isLogo?: boolean;
15
+ }
16
+ interface IMenuBarState {
17
+ isMinimalist: boolean;
18
+ }
19
+ export declare class MenuBar extends Component<IMenuBarProps, IMenuBarState> {
20
+ localStorageKey: string;
21
+ constructor(props: IMenuBarProps);
22
+ render(): import("react/jsx-runtime").JSX.Element;
23
+ getConfigs(): IMenuBarConfig[];
24
+ handleExpandToggle: () => void;
25
+ }
26
+ export declare const createMenuBar: (configs: Partial<IMenuBarProps>) => FC<IMenuBarProps>;
27
+ //# sourceMappingURL=creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creator.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/creator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAGrC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG5E,cAAc,SAAS,CAAA;AAEvB,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,UAAU,aAAa;IACrB,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,qBAAa,OAAQ,SAAQ,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAClE,eAAe,EAAE,MAAM,CAAA;gBACX,KAAK,EAAE,aAAa;IAOhC,MAAM;IAoCN,UAAU,IAAI,cAAc,EAAE;IAK9B,kBAAkB,aAMjB;CACF;AAED,eAAO,MAAM,aAAa,YAAa,QAAQ,aAAa,CAAC,sBAG5D,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { IMenuBarConfigs } from './types';
2
+ export declare const MENU_BAR_KEY = "dinocollab_menu_bar";
3
+ export declare const matchesPath: (pathname: string, path?: string | undefined) => boolean;
4
+ export declare const getSavedMinimalist: (key: string) => boolean;
5
+ export declare const setSavedMinimalist: (key: string, value: boolean) => void;
6
+ export declare const isSelectedPath: (value?: string, pathname?: string, related?: string | string[]) => boolean;
7
+ export declare const findMatchingKeyRoute: (configs: IMenuBarConfigs, pathname: string) => string | undefined;
8
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,YAAY,wBAAwB,CAAA;AAEjD,eAAO,MAAM,WAAW,aAAc,MAAM,SAAS,MAAM,GAAG,SAAS,YAMtE,CAAA;AAGD,eAAO,MAAM,kBAAkB,QAAS,MAAM,KAAG,OAQhD,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAS,MAAM,SAAS,OAAO,SAO7D,CAAA;AAMD,eAAO,MAAM,cAAc,WAAY,MAAM,aAAa,MAAM,YAAY,MAAM,GAAG,MAAM,EAAE,YAoB5F,CAAA;AAGD,eAAO,MAAM,oBAAoB,YAAa,eAAe,YAAY,MAAM,uBAwB9E,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './creator';
3
+ export { isSelectedPath, findMatchingKeyRoute } from './helpers';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AAEvB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { Component } from 'react';
2
+ export interface IMenuStatus {
3
+ visible: boolean;
4
+ created?: boolean;
5
+ updated?: boolean;
6
+ }
7
+ export interface IMenuInfoDef {
8
+ remainingDays?: number;
9
+ createdDate?: string;
10
+ updatedDate?: string;
11
+ isChild?: boolean;
12
+ }
13
+ interface IProps {
14
+ value: IMenuInfoDef;
15
+ minimalist?: boolean;
16
+ }
17
+ export default class MenuInfo extends Component<IProps> {
18
+ render(): import("react/jsx-runtime").JSX.Element | null;
19
+ getStatus: () => IMenuStatus;
20
+ getClasses: (status?: IMenuStatus) => string;
21
+ }
22
+ export declare const menuInfoClasses: {
23
+ root: string;
24
+ children: string;
25
+ created: string;
26
+ updated: string;
27
+ text: string;
28
+ minimalist: string;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=menu-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-info.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/menu-info.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGjC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,MAAM;IACd,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,SAAS,CAAC,MAAM,CAAC;IACrD,MAAM;IAgBN,SAAS,QAAO,WAAW,CAa1B;IAED,UAAU,YAAa,WAAW,KAAG,MAAM,CAO1C;CACF;AAED,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { ComponentType, HTMLAttributes, RefAttributes } from 'react';
2
+ export declare const menuBarClasses: {
3
+ root: string;
4
+ rootInner: string;
5
+ scroller: string;
6
+ group: string;
7
+ groupHeader: string;
8
+ items: string;
9
+ item: string;
10
+ itemInner: string;
11
+ itemIcon: string;
12
+ itemText: string;
13
+ itemActive: string;
14
+ sub: string;
15
+ subConnector: string;
16
+ subList: string;
17
+ subItem: string;
18
+ subItemInner: string;
19
+ subText: string;
20
+ divider: string;
21
+ menuBarHeader: string;
22
+ minimalist: string;
23
+ };
24
+ export declare const MenuBarStyled: ComponentType<HTMLAttributes<HTMLDivElement>>;
25
+ export declare const MenuBarHeaderStyled: ComponentType<HTMLAttributes<HTMLDivElement>>;
26
+ export declare const SubMenuStyled: ComponentType<HTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
27
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/styled.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,cAAc,EAA6B,aAAa,EAAE,MAAM,OAAO,CAAA;AAE/F,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAA;AAUD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CA2IrE,CAAA;AAEH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAuB3E,CAAA;AAEH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CA6DrG,CAAA"}
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ import { BoxProps, MenuItemProps } from '@mui/material';
3
+ import { IMenuInfoDef } from './menu-info';
4
+ export interface IMenuBarItemDef {
5
+ icon?: React.ReactNode;
6
+ label: string;
7
+ keyRoute: string;
8
+ relatedKeyRoutes?: string | string[];
9
+ info?: IMenuInfoDef;
10
+ }
11
+ export interface IMenuBarItem extends IMenuBarItemDef {
12
+ children?: IMenuBarItemDef[];
13
+ active?: boolean;
14
+ disabled?: boolean;
15
+ }
16
+ export interface IMenuBarSubItem extends IMenuBarItemDef {
17
+ parent?: IMenuBarItem;
18
+ }
19
+ export interface IMenuBarConfig {
20
+ key: string;
21
+ isGrouped?: boolean;
22
+ expandable?: boolean;
23
+ label?: string;
24
+ items: IMenuBarItem[];
25
+ }
26
+ export type IMenuBarConfigs = IMenuBarConfig | IMenuBarConfig[];
27
+ export type HrefGetterFunc = (value: IMenuBarItem) => string;
28
+ export type NavPropsGetterFunc = (value: IMenuBarItem, meta?: {
29
+ type: 'item' | 'subItem';
30
+ }) => MenuItemProps & {
31
+ [key: string]: any;
32
+ };
33
+ export type SubNavPropsGetterFunc = (value: IMenuBarSubItem) => BoxProps & {
34
+ [key: string]: any;
35
+ };
36
+ export interface IMenuBarBaseProps {
37
+ isMinimalist?: boolean;
38
+ activeRoute?: string;
39
+ activePath?: string;
40
+ onRouteChange?: (route: string) => void;
41
+ navPropsGetter?: NavPropsGetterFunc;
42
+ }
43
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACpC,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,EAAE,CAAA;AAI/D,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;AAE5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAAK,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAErI,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,QAAQ,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAEjG,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC"}
@@ -0,0 +1,26 @@
1
+ import { FC } from 'react';
2
+ import { IconButtonProps } from '@mui/material';
3
+ import { IMenuBarBaseProps, IMenuBarConfig, IMenuBarItem, IMenuBarSubItem } from './types';
4
+ interface IMenuBarHeaderProps {
5
+ logoURL?: string;
6
+ homeURL?: string;
7
+ isLogo?: boolean;
8
+ onClick?: IconButtonProps['onClick'];
9
+ isMinimalist?: boolean;
10
+ }
11
+ export declare const MenuBarHeader: FC<IMenuBarHeaderProps>;
12
+ export interface IMenuBarSubProps extends IMenuBarBaseProps {
13
+ data: IMenuBarSubItem | IMenuBarSubItem[];
14
+ className?: string;
15
+ }
16
+ export declare const MenuBarSub: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<IMenuBarSubProps & import("react").RefAttributes<HTMLDivElement>>>;
17
+ export interface IMenuBarItemProps extends IMenuBarBaseProps {
18
+ data: IMenuBarItem;
19
+ }
20
+ export declare const MenuBarItem: import("react").NamedExoticComponent<IMenuBarItemProps>;
21
+ export interface IMenuBarGroupProps extends IMenuBarBaseProps {
22
+ data: IMenuBarConfig;
23
+ }
24
+ export declare const MenuBarGroup: FC<IMenuBarGroupProps>;
25
+ export {};
26
+ //# sourceMappingURL=units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../src/menu-bar/units.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAA8D,MAAM,OAAO,CAAA;AACtF,OAAO,EAAc,eAAe,EAAmC,MAAM,eAAe,CAAA;AAQ5F,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI1F,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAoBjD,CAAA;AAoBD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,eAAe,GAAG,eAAe,EAAE,CAAA;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0CD,eAAO,MAAM,UAAU,kJAAwB,CAAA;AAI/C,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,IAAI,EAAE,YAAY,CAAA;CACnB;AA8LD,eAAO,MAAM,WAAW,yDAAyB,CAAA;AAIjD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAyC/C,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dinocollab-shared",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "DinoCollab shared utilities and components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",