@imperium/layout 7.0.4 → 7.1.2
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.
- package/dist/client.js +617 -361
- package/dist/client.min.js +1 -1
- package/dist/client.min.js.map +1 -1
- package/dist/components/ExecuteSelectorHook.d.ts +8 -0
- package/dist/components/ItemBarItem.d.ts +1 -1
- package/dist/components/Layout.d.ts +1 -1
- package/dist/components/RenderIfVisible.d.ts +6 -0
- package/dist/index.d.ts +1 -0
- package/dist/types.d.ts +22 -12
- package/dist/utils.d.ts +2 -1
- package/package.json +19 -19
package/dist/client.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var t={559:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(233),o=n.n(r),a=n(361),i=n.n(a)()(o());i.push([t.id,"/* Need to pass 100% height all the way down */\n#root {\n\theight: 100%;\n}\n#root > div {\n\theight: 100%;\n}\n\n.components-styles__parent--2g8TZ {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.components-styles__menubar--17uQB {\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n}\n\n.components-styles__statusbar--FFiGh {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.components-styles__sidebar--2TaYU {\n\tmin-width: 220px !important;\n\twidth: 100% !important;\n\theight: 100% !important;\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\n\ttransition: margin-left 0.3s ease-in-out;\n}\n\n.components-styles__sidebarHidden--35k_4 {\n\tmargin-left: -220px !important;\n}\n\n.components-styles__contentWrapper--WnWS7 {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tpadding: 0 !important;\n\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\n\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\n\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\n}\n\n.components-styles__content--1lh-g {\n\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\n\talign-content: flex-start;\n\tpadding: 1em 1em;\n\theight: 100%;\n\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\n\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\n\tbackground-color: #eaeaea;\n\tcolor: #bfbfbf;\n}\n\n.components-styles__footer--1oy50 {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.components-styles__verticalDropdownIcon--3v0pW {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.components-styles__verticalDropdownIconRotated--23EUE {\n\ttransform: rotate(90deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.components-styles__verticalDropdownTitle--1pbnj {\n\tpadding: 0;\n\tcolor: #fff !important;\n}\n\n.components-styles__verticalDropdownContent--2DAZg {\n\tborder: 1px solid rgb(45, 45, 45);\n\tpadding-top: 0 !important;\n\tmargin: 0 -1.14285714em 0 0;\n\tborder-radius: 0;\n\tbackground-color: rgb(45, 45, 45);\n}\n\n.components-styles__icon--2iMy9 {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.4s linear;\n\tcursor: pointer;\n}\n\n.components-styles__iconRotated--2EQ9l {\n\ttransform: rotate(-180deg);\n\ttransition: transform 0.5s;\n\tcursor: pointer;\n}\n","",{version:3,sources:["webpack://./components/styles.css"],names:[],mappings:"AAAA,8CAA8C;AAC9C;CACC,YAAY;AACb;AACA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,2BAA2B;CAC3B,oBAAoB;AACrB;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,2BAA2B;CAC3B,sBAAsB;CACtB,uBAAuB;CACvB,2BAA2B;CAC3B,oBAAoB;CACpB,gBAAgB,EAAE,8DAA8D;CAChF,wCAAwC;AACzC;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,OAAO;CACP,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,qBAAqB;CACrB,sCAAsC,EAAE,2EAA2E;CACnH,sDAAsD;CACtD,gBAAgB,EAAE,8DAA8D;AACjF;;AAEA;CACC,OAAO,EAAE,6FAA6F;CACtG,yBAAyB;CACzB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB,EAAE,8DAA8D;CAChF,kBAAkB,EAAE,8DAA8D;CAClF,yBAAyB;CACzB,cAAc;AACf;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,uBAAuB;CACvB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,wBAAwB;CACxB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,sBAAsB;AACvB;;AAEA;CACC,iCAAiC;CACjC,yBAAyB;CACzB,2BAA2B;CAC3B,gBAAgB;CAChB,iCAAiC;AAClC;;AAEA;CACC,uBAAuB;CACvB,iCAAiC;CACjC,eAAe;AAChB;;AAEA;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,eAAe;AAChB",sourcesContent:["/* Need to pass 100% height all the way down */\n:global(#root) {\n\theight: 100%;\n}\n:global(#root) > div {\n\theight: 100%;\n}\n\n.parent {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.menubar {\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n}\n\n.statusbar {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.sidebar {\n\tmin-width: 220px !important;\n\twidth: 100% !important;\n\theight: 100% !important;\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\n\ttransition: margin-left 0.3s ease-in-out;\n}\n\n.sidebarHidden {\n\tmargin-left: -220px !important;\n}\n\n.contentWrapper {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tpadding: 0 !important;\n\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\n\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\n\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\n}\n\n.content {\n\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\n\talign-content: flex-start;\n\tpadding: 1em 1em;\n\theight: 100%;\n\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\n\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\n\tbackground-color: #eaeaea;\n\tcolor: #bfbfbf;\n}\n\n.footer {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.verticalDropdownIcon {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.verticalDropdownIconRotated {\n\ttransform: rotate(90deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.verticalDropdownTitle {\n\tpadding: 0;\n\tcolor: #fff !important;\n}\n\n.verticalDropdownContent {\n\tborder: 1px solid rgb(45, 45, 45);\n\tpadding-top: 0 !important;\n\tmargin: 0 -1.14285714em 0 0;\n\tborder-radius: 0;\n\tbackground-color: rgb(45, 45, 45);\n}\n\n.icon {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.4s linear;\n\tcursor: pointer;\n}\n\n.iconRotated {\n\ttransform: rotate(-180deg);\n\ttransition: transform 0.5s;\n\tcursor: pointer;\n}\n"],sourceRoot:""}]),i.locals={parent:"components-styles__parent--2g8TZ",menubar:"components-styles__menubar--17uQB",statusbar:"components-styles__statusbar--FFiGh",sidebar:"components-styles__sidebar--2TaYU",sidebarHidden:"components-styles__sidebarHidden--35k_4",contentWrapper:"components-styles__contentWrapper--WnWS7",content:"components-styles__content--1lh-g",footer:"components-styles__footer--1oy50",verticalDropdownIcon:"components-styles__verticalDropdownIcon--3v0pW",verticalDropdownIconRotated:"components-styles__verticalDropdownIconRotated--23EUE",verticalDropdownTitle:"components-styles__verticalDropdownTitle--1pbnj",verticalDropdownContent:"components-styles__verticalDropdownContent--2DAZg",icon:"components-styles__icon--2iMy9",iconRotated:"components-styles__iconRotated--2EQ9l"};const s=i},361:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var o={};if(r)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(o[i]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);r&&o[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),e.push(c))}},e}},233:t=>{function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}t.exports=function(t){var n,r,o=(r=4,function(t){if(Array.isArray(t))return t}(n=t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=n){var r,o,a=[],i=!0,s=!1;try{for(n=n.call(t);!(i=(r=n.next()).done)&&(a.push(r.value),!e||a.length!==e);i=!0);}catch(t){s=!0,o=t}finally{try{i||null==n.return||n.return()}finally{if(s)throw o}}return a}}(n,r)||function(t,n){if(t){if("string"==typeof t)return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=o[1],i=o[3];if("function"==typeof btoa){var s=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),l="/*# ".concat(c," */"),u=i.sources.map((function(t){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(t," */")}));return[a].concat(u).concat([l]).join("\n")}return[a].join("\n")}},487:(t,e,n)=>{var r,o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a=[];function i(t){for(var e=-1,n=0;n<a.length;n++)if(a[n].identifier===t){e=n;break}return e}function s(t,e){for(var n={},r=[],o=0;o<t.length;o++){var s=t[o],c=e.base?s[0]+e.base:s[0],l=n[c]||0,u="".concat(c," ").concat(l);n[c]=l+1;var d=i(u),p={css:s[1],media:s[2],sourceMap:s[3]};-1!==d?(a[d].references++,a[d].updater(p)):a.push({identifier:u,updater:f(p,e),references:1}),r.push(u)}return r}function c(t){var e=document.createElement("style"),r=t.attributes||{};if(void 0===r.nonce){var a=n.nc;a&&(r.nonce=a)}if(Object.keys(r).forEach((function(t){e.setAttribute(t,r[t])})),"function"==typeof t.insert)t.insert(e);else{var i=o(t.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(e)}return e}var l,u=(l=[],function(t,e){return l[t]=e,l.filter(Boolean).join("\n")});function d(t,e,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(t.styleSheet)t.styleSheet.cssText=u(e,o);else{var a=document.createTextNode(o),i=t.childNodes;i[e]&&t.removeChild(i[e]),i.length?t.insertBefore(a,i[e]):t.appendChild(a)}}function p(t,e,n){var r=n.css,o=n.media,a=n.sourceMap;if(o?t.setAttribute("media",o):t.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var m=null,A=0;function f(t,e){var n,r,o;if(e.singleton){var a=A++;n=m||(m=c(e)),r=d.bind(null,n,a,!1),o=d.bind(null,n,a,!0)}else n=c(e),r=p.bind(null,n,e),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=(void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r));var n=s(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var r=0;r<n.length;r++){var o=i(n[r]);a[o].references--}for(var c=s(t,e),l=0;l<n.length;l++){var u=i(n[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}n=c}}}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={id:r,exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{n.r(r),n.d(r,{layoutActions:()=>p,layoutClientModule:()=>ot,useLayoutState:()=>d});const t=require("react"),e=require("react-redux"),o=require("react-responsive"),a=require("@babel/runtime/helpers/defineProperty");var i=n.n(a);const s=require("@imperium/state");function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function l(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?c(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var u=(0,require("@reduxjs/toolkit").createSlice)({name:"imperiumLayout",initialState:{isMobile:!1},reducers:{setMobile:function(t,e){return l(l({},t),{},{isMobile:e.payload})}}}),d=(0,s.createSelectorHook)(u),p=u.actions;function m(){var n=(0,e.useDispatch)(),r=(0,o.useMediaQuery)({query:"(max-width: 900px)"});(0,t.useEffect)((function(){n(p.setMobile(r))}),[n,r])}const A=require("@babel/runtime/helpers/toConsumableArray");var f=n.n(A);const h=require("debug");var b=n.n(h);function C(t){return(0,t.dataHook)(),null}const y=require("react/jsx-runtime");function g(t){var e=t.dataHooks;return(0,y.jsx)(y.Fragment,{children:e.map((function(t,e){return(0,y.jsx)(C,{dataHook:t},e)}))})}const v=require("@babel/runtime/helpers/slicedToArray");var B=n.n(v);const w=require("semantic-ui-react"),j=require("@babel/runtime/helpers/objectWithoutProperties");var x=n.n(j);function O(t){return!!t.dropdown}function _(t){return!!t.menu}const D=require("lodash/memoize");var E=n.n(D);const k=require("lodash/sortBy");var I=n.n(k),P=E()((function(t){return I()(t,(function(t){return t.weight||0}))}));const S=require("lodash/compact");var M=n.n(S);const q=require("query-string");var N=n.n(q);const H=require("react-router-dom");var T=n(487),R=n.n(T),F=n(559);R()(F.Z,{insert:"head",singleton:!1});const L=F.Z.locals||{};function W(e){var n=e.item,r=e.children,o=e.vertical,a=(0,t.useState)(!1),i=B()(a,2),s=i[0],c=i[1];return o?(0,y.jsx)(w.Menu.Item,{className:"imperiumVerticalDropdown",children:(0,y.jsxs)(w.Accordion,{fluid:!0,children:[(0,y.jsxs)(w.Accordion.Title,{className:L.verticalDropdownTitle,onClick:function(t){t.stopPropagation(),c(!s)},children:[(0,y.jsx)(w.Icon,{className:s?L.verticalDropdownIconRotated:L.verticalDropdownIcon,name:"arrow right"}),n.text]}),(0,y.jsx)(w.Accordion.Content,{active:s,className:"".concat(L.verticalDropdownContent," imperiumVerticalDropdownContent"),children:r})]})}):(0,y.jsx)(w.Dropdown,{item:!0,text:n.text,className:"imperiumDropdown",children:(0,y.jsx)(w.Dropdown.Menu,{className:"imperiumDropdownContent",children:r})})}function U(t){var e=t.item,n=t.children;return(0,y.jsxs)(w.Menu.Item,{children:[(0,y.jsx)(w.Menu.Header,{children:e.text}),(0,y.jsx)(w.Menu.Menu,{compact:!0,children:n})]})}function Y(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Z(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Y(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Y(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function z(e){var n,r=e.item,o=e.as,a=e.vertical,i=(0,H.useRouteMatch)(O(r)||_(r)?"":r.to||""),s=r.icon?(0,y.jsx)(w.Icon,{name:r.icon}):null,c=null===(n=r.visible)||void 0===n?void 0:n.selectorHook(),l=(0,H.useLocation)();if(!(0,t.useMemo)((function(){var t=Z(Z({},c),{},{location:{path:M()(l.pathname.split("/")),hash:l.hash,search:N().parse(l.search)}});return!r.visible||r.visible.query.test(t)}),[r.visible,c,l.search,l.pathname,l.hash]))return null;if(O(r))return(0,y.jsx)(W,{vertical:a||!1,item:r,children:P(r.dropdown).map((function(t){return(0,y.jsx)(z,{item:t,as:w.Dropdown.Item},t.text)}))});if(_(r))return(0,y.jsx)(U,{item:r,children:P(r.menu).map((function(t){return(0,y.jsx)(z,{item:t,as:w.Dropdown.Item},t.text)}))});var u=r.to?{as:H.Link,active:!!i,to:r.to}:{},d=o?{}:{link:!!r.to},p=o||w.Menu.Item;return(0,y.jsxs)(p,Z(Z(Z({},u),d),{},{children:[s,r.text]}))}function Q(t){return(0,t.render)(x()(t,["render"]))}function G(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function V(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?G(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function J(t,e,n){return e.map((function(e,r){return e.render?(0,y.jsx)(Q,{render:e.render},"".concat(t).concat(r)):(0,y.jsx)(z,{item:e,vertical:n.vertical},"".concat(t).concat(e.text).concat(r))}))}function $(t){var e=t.name,n=t.items,r=x()(t,["name","items"]),o=function(t){return t.reduce((function(t,e){return"right"===e.position?{leftItems:t.leftItems,rightItems:[].concat(f()(t.rightItems),[e])}:{leftItems:[].concat(f()(t.leftItems),[e]),rightItems:t.rightItems}}),{leftItems:[],rightItems:[]})}(n),a=J(e,P(o.leftItems),r),i=J(e,P(o.rightItems),r),s=r.vertical?i:(0,y.jsx)(w.Menu.Menu,{position:"right",children:i});return(0,y.jsxs)(w.Menu,V(V({},r),{},{children:[a.length>0?a:null,o.rightItems.length>0?s:null]}))}function K(e){var n=e.footer,r=e.menubar,o=e.statusbar,a=e.sidebar,i=e.children,s=d().isMobile,c=(0,t.useState)(!0),l=B()(c,2),u=l[0],p=l[1],m={stickOnMobile:!0,weight:-19999,render:function(){return s?(0,y.jsx)(w.Menu.Item,{children:(0,y.jsx)(w.Icon,{className:u?L.iconRotated:L.icon,name:u?"close":"sidebar",onClick:function(){p(!u)}})}):null}},A=s?[m].concat(f()(r)).filter((function(t){return!0===t.stickOnMobile})):[m].concat(f()(r)),h=s?[].concat(f()(a),[{text:"",menu:[m].concat(f()(r)).filter((function(t){return!0!==t.stickOnMobile}))}]):a,b=h.length>0?(0,y.jsx)("div",{children:(0,y.jsx)($,{name:"sidebar",items:h,inverted:!0,vertical:!0,className:s&&!u?"".concat(L.sidebar," ").concat(L.sidebarHidden," imperiumSidebar"):"".concat(L.sidebar," imperiumSidebar")})}):null,C=n,g=C.length>0?(0,y.jsx)($,{name:"footer",items:C,className:"".concat(L.footer," imperiumFooter"),inverted:!0,borderless:!0}):null,v=o,j=v.length>0?(0,y.jsx)($,{name:"statusbar",items:v,inverted:!0,className:"".concat(L.statusbar," imperiumStatusbar")}):null;return(0,y.jsxs)("div",{className:"".concat(L.parent," imperiumLayout"),children:[(0,y.jsxs)("div",{children:[(0,y.jsx)($,{name:"menubar",items:A,inverted:!0,borderless:!0,className:"".concat(L.menubar," imperiumMenubar")}),j]}),(0,y.jsxs)(w.Segment,{attached:!0,className:"".concat(L.contentWrapper," imperiumContentWrapper"),children:[b,(0,y.jsx)("div",{className:"".concat(L.content," imperiumContent"),children:i})]}),g]})}function X(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function tt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?X(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}b()("imperium.layout.components.ItemBarItem"),b()("imperium.layout.components.ItemBar"),b()("imperium.layout.components.Layout");var et=b()("imperium.layout.withLayout"),nt={dataHooks:[],menubar:[],statusbar:[],sidebar:[],footer:[]};function rt(t){var e=t.modules.reduce((function(t,e){return function(t){return void 0!==t.layout}(e)?{dataHooks:[].concat(f()(t.dataHooks),f()(e.layout.dataHooks||[])),menubar:[].concat(f()(t.menubar),f()(e.layout.menubar||[])),statusbar:[].concat(f()(t.statusbar),f()(e.layout.statusbar||[])),sidebar:[].concat(f()(t.sidebar),f()(e.layout.sidebar||[])),footer:[].concat(f()(t.footer),f()(e.layout.footer||[]))}:t}),nt);return et("Layout items processed",e),function(t){var n=t.displayName||t.name||"";function r(n){return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(K,tt(tt({},e),{},{children:(0,y.jsx)(t,tt(tt({},n),{},{layout:e}))})),(0,y.jsx)(g,{dataHooks:e.dataHooks})]})}return r.displayName="withLayout(".concat(n,")"),r}}function ot(){return{name:"@imperium/layout",order:30,hocs:[rt],state:u,layout:{dataHooks:[m]}}}})(),module.exports=r})();
|
|
1
|
+
(()=>{"use strict";var t={559:(t,e,n)=>{n.d(e,{Z:()=>s});var r=n(604),o=n.n(r),a=n(361),i=n.n(a)()(o());i.push([t.id,"/* Need to pass 100% height all the way down */\n#root {\n\theight: 100%;\n}\n#root > div {\n\theight: 100%;\n}\n\n.components-styles__parent--aEtdD {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.components-styles__menubar--O5e1n {\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n}\n\n.components-styles__statusbar--BRbjW {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.components-styles__sidebar--N7KVd {\n\tmin-width: 220px !important;\n\twidth: 100% !important;\n\theight: 100% !important;\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\n\ttransition: margin-left 0.3s ease-in-out;\n}\n\n.components-styles__sidebarHidden--JX7Xy {\n\tmargin-left: -220px !important;\n}\n\n.components-styles__contentWrapper--iSdcv {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tpadding: 0 !important;\n\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\n\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\n\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\n}\n\n.components-styles__content--WOoyL {\n\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\n\talign-content: flex-start;\n\tpadding: 1em 1em;\n\theight: 100%;\n\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\n\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\n\tbackground-color: #eaeaea;\n\tcolor: #bfbfbf;\n}\n\n.components-styles__footer--fDXAW {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.components-styles__verticalDropdownIcon--ZZlLy {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.components-styles__verticalDropdownIconRotated--UcLNp {\n\ttransform: rotate(90deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.components-styles__verticalDropdownTitle--RG7UX {\n\tpadding: 0;\n\tcolor: #fff !important;\n}\n\n.components-styles__verticalDropdownContent--_zlPe {\n\tborder: 1px solid rgb(45, 45, 45);\n\tpadding-top: 0 !important;\n\tmargin: 0 -1.14285714em 0 0;\n\tborder-radius: 0;\n\tbackground-color: rgb(45, 45, 45);\n}\n\n.components-styles__icon--BTOT4 {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.4s linear;\n\tcursor: pointer;\n}\n\n.components-styles__iconRotated--NnTIi {\n\ttransform: rotate(-180deg);\n\ttransition: transform 0.5s;\n\tcursor: pointer;\n}\n","",{version:3,sources:["webpack://./components/styles.css"],names:[],mappings:"AAAA,8CAA8C;AAC9C;CACC,YAAY;AACb;AACA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,2BAA2B;CAC3B,oBAAoB;AACrB;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,2BAA2B;CAC3B,sBAAsB;CACtB,uBAAuB;CACvB,2BAA2B;CAC3B,oBAAoB;CACpB,gBAAgB,EAAE,8DAA8D;CAChF,wCAAwC;AACzC;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,OAAO;CACP,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,qBAAqB;CACrB,sCAAsC,EAAE,2EAA2E;CACnH,sDAAsD;CACtD,gBAAgB,EAAE,8DAA8D;AACjF;;AAEA;CACC,OAAO,EAAE,6FAA6F;CACtG,yBAAyB;CACzB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB,EAAE,8DAA8D;CAChF,kBAAkB,EAAE,8DAA8D;CAClF,yBAAyB;CACzB,cAAc;AACf;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,uBAAuB;CACvB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,wBAAwB;CACxB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,sBAAsB;AACvB;;AAEA;CACC,iCAAiC;CACjC,yBAAyB;CACzB,2BAA2B;CAC3B,gBAAgB;CAChB,iCAAiC;AAClC;;AAEA;CACC,uBAAuB;CACvB,iCAAiC;CACjC,eAAe;AAChB;;AAEA;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,eAAe;AAChB",sourcesContent:["/* Need to pass 100% height all the way down */\n:global(#root) {\n\theight: 100%;\n}\n:global(#root) > div {\n\theight: 100%;\n}\n\n.parent {\n\tmin-height: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.menubar {\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n}\n\n.statusbar {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.sidebar {\n\tmin-width: 220px !important;\n\twidth: 100% !important;\n\theight: 100% !important;\n\tborder-radius: 0 !important;\n\tmargin: 0 !important;\n\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\n\ttransition: margin-left 0.3s ease-in-out;\n}\n\n.sidebarHidden {\n\tmargin-left: -220px !important;\n}\n\n.contentWrapper {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tpadding: 0 !important;\n\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\n\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\n\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\n}\n\n.content {\n\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\n\talign-content: flex-start;\n\tpadding: 1em 1em;\n\theight: 100%;\n\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\n\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\n\tbackground-color: #eaeaea;\n\tcolor: #bfbfbf;\n}\n\n.footer {\n\tmargin: 0 !important;\n\tborder-radius: 0 !important;\n\tbackground-color: rgb(45, 45, 45) !important;\n}\n\n.verticalDropdownIcon {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.verticalDropdownIconRotated {\n\ttransform: rotate(90deg);\n\ttransition: transform 0.3s ;\n\tcursor: pointer;\n}\n\n.verticalDropdownTitle {\n\tpadding: 0;\n\tcolor: #fff !important;\n}\n\n.verticalDropdownContent {\n\tborder: 1px solid rgb(45, 45, 45);\n\tpadding-top: 0 !important;\n\tmargin: 0 -1.14285714em 0 0;\n\tborder-radius: 0;\n\tbackground-color: rgb(45, 45, 45);\n}\n\n.icon {\n\ttransform: rotate(0deg);\n\ttransition: transform 0.4s linear;\n\tcursor: pointer;\n}\n\n.iconRotated {\n\ttransform: rotate(-180deg);\n\ttransition: transform 0.5s;\n\tcursor: pointer;\n}\n"],sourceRoot:""}]),i.locals={parent:"components-styles__parent--aEtdD",menubar:"components-styles__menubar--O5e1n",statusbar:"components-styles__statusbar--BRbjW",sidebar:"components-styles__sidebar--N7KVd",sidebarHidden:"components-styles__sidebarHidden--JX7Xy",contentWrapper:"components-styles__contentWrapper--iSdcv",content:"components-styles__content--WOoyL",footer:"components-styles__footer--fDXAW",verticalDropdownIcon:"components-styles__verticalDropdownIcon--ZZlLy",verticalDropdownIconRotated:"components-styles__verticalDropdownIconRotated--UcLNp",verticalDropdownTitle:"components-styles__verticalDropdownTitle--RG7UX",verticalDropdownContent:"components-styles__verticalDropdownContent--_zlPe",icon:"components-styles__icon--BTOT4",iconRotated:"components-styles__iconRotated--NnTIi"};const s=i},361:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,a){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(r)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(i[c]=!0)}for(var u=0;u<t.length;u++){var l=[].concat(t[u]);r&&i[l[0]]||(void 0!==a&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=a),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},604:t=>{t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),a="/*# ".concat(o," */"),i=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[e].concat(i).concat([a]).join("\n")}return[e].join("\n")}},487:t=>{var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var a={},i=[],s=0;s<t.length;s++){var c=t[s],u=r.base?c[0]+r.base:c[0],l=a[u]||0,p="".concat(u," ").concat(l);a[u]=l+1;var d=n(p),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==d)e[d].references++,e[d].updater(m);else{var A=o(m,r);r.byIndex=s,e.splice(s,0,{identifier:p,updater:A,references:1})}i.push(p)}return i}function o(t,e){var n=e.domAPI(e);return n.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,o){var a=r(t=t||[],o=o||{});return function(t){t=t||[];for(var i=0;i<a.length;i++){var s=n(a[i]);e[s].references--}for(var c=r(t,o),u=0;u<a.length;u++){var l=n(a[u]);0===e[l].references&&(e[l].updater(),e.splice(l,1))}a=c}}},52:t=>{var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},469:t=>{t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},10:(t,e,n)=>{t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},631:t=>{t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var a=n.sourceMap;a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},329:t=>{t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var a=e[r]={id:r,exports:{}};return t[r](a,a.exports,n),a.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{n.r(r),n.d(r,{generateVisible:()=>S,layoutActions:()=>d,layoutClientModule:()=>xt,useLayoutState:()=>p});const t=require("react"),e=require("react-redux"),o=require("react-responsive"),a=require("@babel/runtime/helpers/defineProperty");var i=n.n(a);const s=require("@imperium/state");function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function u(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?c(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var l=(0,require("@reduxjs/toolkit").createSlice)({name:"imperiumLayout",initialState:{isMobile:!1},reducers:{setMobile:function(t,e){return u(u({},t),{},{isMobile:e.payload})}}}),p=(0,s.createSliceHook)(l),d=l.actions;function m(){var n=(0,e.useDispatch)(),r=(0,o.useMediaQuery)({query:"(max-width: 900px)"});(0,t.useEffect)((function(){n(d.setMobile(r))}),[n,r])}const A=require("@babel/runtime/helpers/toConsumableArray");var f=n.n(A);const b=require("debug");var h=n.n(b);function y(t){return(0,t.dataHook)(),null}const C=require("react/jsx-runtime");function g(t){var e=t.dataHooks;return(0,C.jsx)(C.Fragment,{children:e.map((function(t,e){return(0,C.jsx)(y,{dataHook:t},e)}))})}const v=require("@babel/runtime/helpers/slicedToArray");var j=n.n(v);const B=require("semantic-ui-react"),w=require("@babel/runtime/helpers/objectWithoutProperties");var x=n.n(w);function O(t){return!!t.dropdown}function D(t){return!!t.menu}const _=require("lodash/memoize");var P=n.n(_);const k=require("lodash/sortBy");var E=n.n(k),I=P()((function(t){return E()(t,(function(t){return t.weight||0}))}));function S(t){return{query:t.query,selectorHook:t.selectorHook}}const M=require("react-router-dom");var q=n(487),N=n.n(q),H=n(631),T=n.n(H),R=n(52),L=n.n(R),W=n(10),F=n.n(W),U=n(469),Z=n.n(U),X=n(329),z=n.n(X),V=n(559),Y={};Y.styleTagTransform=z(),Y.setAttributes=F(),Y.insert=L().bind(null,"head"),Y.domAPI=T(),Y.insertStyleElement=Z(),N()(V.Z,Y);const J=V.Z&&V.Z.locals?V.Z.locals:void 0;function G(e){var n=e.item,r=e.children,o=e.vertical,a=(0,t.useState)(!1),i=j()(a,2),s=i[0],c=i[1];return o?(0,C.jsx)(B.Menu.Item,{className:"imperiumVerticalDropdown",children:(0,C.jsxs)(B.Accordion,{fluid:!0,children:[(0,C.jsxs)(B.Accordion.Title,{className:J.verticalDropdownTitle,onClick:function(t){t.stopPropagation(),c(!s)},children:[(0,C.jsx)(B.Icon,{className:s?J.verticalDropdownIconRotated:J.verticalDropdownIcon,name:"arrow right"}),n.text]}),(0,C.jsx)(B.Accordion.Content,{active:s,className:"".concat(J.verticalDropdownContent," imperiumVerticalDropdownContent"),children:r})]})}):(0,C.jsx)(B.Dropdown,{item:!0,text:n.text,className:"imperiumDropdown",children:(0,C.jsx)(B.Dropdown.Menu,{className:"imperiumDropdownContent",children:r})})}function K(t){var e=t.item,n=t.children;return(0,C.jsxs)(B.Menu.Item,{children:[(0,C.jsx)(B.Menu.Header,{children:e.text}),(0,C.jsx)(B.Menu.Menu,{compact:"",children:n})]})}const Q=require("lodash/compact");var $=n.n(Q);const tt=require("mingo"),et=require("querystring");var nt=n.n(et);function rt(t){return(0,t.render)((0,t.hook)())}function ot(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function at(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ot(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function it(t,e){return at({router:at({},{path:$()(t.pathname.split("/")),hash:t.hash,search:nt().parse(t.search)})},e)}function st(t,e,n){return"function"==typeof e?e(t)?n:null:new tt.Query(e||{}).test(t)?n:null}function ct(t){var e=t.item,n=t.component,r=(0,M.useLocation)();return e.visible?e.visible.selectorHook?(0,C.jsx)(rt,{hook:e.visible.selectorHook,render:function(t){var o;return st(it(r,t),null===(o=e.visible)||void 0===o?void 0:o.query,n)}}):st(it(r),e.visible.query,n):n}function ut(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function lt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ut(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ut(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function pt(t){var e=t.item,n=t.as,r=t.vertical,o=(0,M.useLocation)(),a={};O(e)||D(e)||!e.to||("string"==typeof e.to&&(a.path=e.to),"function"==typeof e.to&&(a.path=e.to(o)),a.exact=!1!==e.exact,a.sensitive=e.sensitive,a.strict=e.strict);var i=null!==(0,M.useRouteMatch)(a),s=e.icon?(0,C.jsx)(B.Icon,{name:e.icon}):null;if(O(e))return(0,C.jsx)(ct,{component:(0,C.jsx)(G,{vertical:r||!1,item:e,children:I(e.dropdown).map((function(t){return(0,C.jsx)(pt,{item:t,as:B.Dropdown.Item},t.text)}))}),item:e});if(D(e))return(0,C.jsx)(ct,{component:(0,C.jsx)(K,{item:e,children:I(e.menu).map((function(t){return(0,C.jsx)(pt,{item:t,as:B.Dropdown.Item},t.text)}))}),item:e});var c=e.to?{as:M.Link,active:i,to:"function"==typeof e.to?e.to(o):e.to}:{},u=n?{}:{link:!!e.to},l=n||B.Menu.Item,p=(0,C.jsxs)(l,lt(lt(lt({},c),u),{},{children:[s,e.text]}));return(0,C.jsx)(ct,{component:p,item:e})}h()("imperium.layout.components.ExecuteSelectorHook"),h()("imperium.layout.components.RenderIfVisible"),h()("imperium.layout.components.ItemBarItem");var dt=["render"];function mt(t){return(0,t.render)(x()(t,dt))}var At=["name","items"];function ft(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function bt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ft(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ft(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ht(t,e,n){return e.map((function(e,r){return e.render?(0,C.jsx)(mt,{render:e.render},"".concat(t).concat(r)):(0,C.jsx)(pt,{item:e,vertical:n.vertical},"".concat(t).concat(e.text).concat(r))}))}function yt(t){var e=t.name,n=t.items,r=x()(t,At),o=function(t){return t.reduce((function(t,e){return"right"===e.position?{leftItems:t.leftItems,rightItems:[].concat(f()(t.rightItems),[e])}:{leftItems:[].concat(f()(t.leftItems),[e]),rightItems:t.rightItems}}),{leftItems:[],rightItems:[]})}(n),a=ht(e,I(o.leftItems),r),i=ht(e,I(o.rightItems),r),s=r.vertical?i:(0,C.jsx)(B.Menu.Menu,{position:"right",children:i});return(0,C.jsxs)(B.Menu,bt(bt({},r),{},{children:[a.length>0?a:null,o.rightItems.length>0?s:null]}))}function Ct(e){var n=e.footer,r=e.menubar,o=e.statusbar,a=e.sidebar,i=e.children,s=p().isMobile,c=(0,t.useState)(!0),u=j()(c,2),l=u[0],d=u[1],m={stickOnMobile:!0,weight:-19999,render:function(){return s?(0,C.jsx)(B.Menu.Item,{children:(0,C.jsx)(B.Icon,{className:l?J.iconRotated:J.icon,name:l?"close":"sidebar",onClick:function(){d(!l)}})}):null}},A=s?[m].concat(f()(r)).filter((function(t){return!0===t.stickOnMobile})):[m].concat(f()(r)),b=s?[].concat(f()(a),[{text:"",menu:[m].concat(f()(r)).filter((function(t){return!0!==t.stickOnMobile}))}]):a,h=b.length>0?(0,C.jsx)("div",{children:(0,C.jsx)(yt,{name:"sidebar",items:b,inverted:!0,vertical:!0,className:s&&!l?"".concat(J.sidebar," ").concat(J.sidebarHidden," imperiumSidebar"):"".concat(J.sidebar," imperiumSidebar")})}):null,y=n,g=y.length>0?(0,C.jsx)(yt,{name:"footer",items:y,className:"".concat(J.footer," imperiumFooter"),inverted:!0,borderless:!0}):null,v=o,w=v.length>0?(0,C.jsx)(yt,{name:"statusbar",items:v,inverted:!0,className:"".concat(J.statusbar," imperiumStatusbar")}):null;return(0,C.jsxs)("div",{className:"".concat(J.parent," imperiumLayout"),children:[(0,C.jsxs)("div",{children:[(0,C.jsx)(yt,{name:"menubar",items:A,inverted:!0,borderless:!0,className:"".concat(J.menubar," imperiumMenubar")}),w]}),(0,C.jsxs)(B.Segment,{attached:!0,className:"".concat(J.contentWrapper," imperiumContentWrapper"),children:[h,(0,C.jsx)("div",{className:"".concat(J.content," imperiumContent"),children:i})]}),g]})}function gt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function vt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?gt(Object(n),!0).forEach((function(e){i()(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):gt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}h()("imperium.layout.components.ItemBar"),h()("imperium.layout.components.Layout");var jt=h()("imperium.layout.withLayout"),Bt={dataHooks:[],menubar:[],statusbar:[],sidebar:[],footer:[]};function wt(t){var e=t.modules.reduce((function(t,e){return function(t){return void 0!==t.layout}(e)?{dataHooks:[].concat(f()(t.dataHooks||[]),f()(e.layout.dataHooks||[])),menubar:[].concat(f()(t.menubar||[]),f()(e.layout.menubar||[])),statusbar:[].concat(f()(t.statusbar||[]),f()(e.layout.statusbar||[])),sidebar:[].concat(f()(t.sidebar||[]),f()(e.layout.sidebar||[])),footer:[].concat(f()(t.footer||[]),f()(e.layout.footer||[]))}:t}),Bt);return jt("Layout items processed",e),function(t){var n=t.displayName||t.name||"";function r(n){return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(Ct,vt(vt({},e),{},{children:(0,C.jsx)(t,vt(vt({},n),{},{layout:e}))})),(0,C.jsx)(g,{dataHooks:e.dataHooks})]})}return r.displayName="withLayout(".concat(n,")"),r}}function xt(){return{name:"@imperium/layout",order:30,hocs:[wt],state:l,layout:{dataHooks:[m]}}}})(),module.exports=r})();
|
|
2
2
|
//# sourceMappingURL=client.min.js.map
|
package/dist/client.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./components/styles.css","webpack:///../node_modules/css-loader/dist/runtime/api.js","webpack:///../node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external \"react\"","webpack:///external \"react-redux\"","webpack:///external \"react-responsive\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@imperium/state\"","webpack:///./state.ts","webpack:///external \"@reduxjs/toolkit\"","webpack:///./hooks/useMobileLayout.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"debug\"","webpack:///./components/ExecuteDataHook.tsx","webpack:///external \"react/jsx-runtime\"","webpack:///./components/DataHooks.tsx","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"semantic-ui-react\"","webpack:///external \"@babel/runtime/helpers/objectWithoutProperties\"","webpack:///./types.ts","webpack:///external \"lodash/memoize\"","webpack:///external \"lodash/sortBy\"","webpack:///./utils.ts","webpack:///external \"lodash/compact\"","webpack:///external \"query-string\"","webpack:///external \"react-router-dom\"","webpack:///./components/styles.css?05e8","webpack:///./components/DropdownItemMenu.tsx","webpack:///./components/MenuItemMenu.tsx","webpack:///./components/ItemBarItem.tsx","webpack:///./components/RenderComponent.tsx","webpack:///./components/ItemBar.tsx","webpack:///./components/Layout.tsx","webpack:///./withLayout.tsx","webpack:///./index.ts"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","exports","cssWithMappingToString","list","toString","this","map","item","content","concat","join","i","modules","mediaQuery","dedupe","alreadyImportedModules","length","_i","_arrayLikeToArray","arr","len","arr2","Array","_item","isArray","_arrayWithHoles","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","value","err","_iterableToArrayLimit","o","minLen","n","Object","prototype","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","memo","getTarget","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","index","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","forEach","key","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","Boolean","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","bind","parentNode","removeStyleElement","newObj","all","atob","lastIdentifiers","newList","newLastIdentifiers","_index","splice","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","__esModule","d","a","definition","defineProperty","enumerable","get","prop","hasOwnProperty","r","toStringTag","require","state","createSlice","initialState","isMobile","reducers","setMobile","st","action","payload","useLayoutState","createSelectorHook","actions","useMobileLayout","dispatch","useDispatch","useMediaQuery","query","useEffect","ExecuteDataHook","dataHook","DataHooks","dataHooks","hook","isDropdownMenuItem","dropdown","isMenuMenuItem","menu","sortWeightedItems","memoize","items","sortBy","v","weight","DropdownItemMenu","children","vertical","useState","open","setOpen","Menu","className","Accordion","fluid","styles","onClick","ev","stopPropagation","Icon","text","active","Dropdown","MenuItemMenu","compact","ItemBarItem","as","useRouteMatch","to","icon","selectedState","visible","selectorHook","loc","useLocation","useMemo","compareObj","location","path","pathname","split","hash","search","queryString","linkParams","Link","menuParams","link","ItemX","RenderComponent","render","mapItems","props","ItemBar","rest","ims","reduce","position","leftItems","rightItems","splitHorizontalItems","left","rightMappedItems","right","Layout","footer","menubar","statusbar","sidebar","menuOpen","setMenuOpen","mobileSidebarToggle","stickOnMobile","menubarItems","sidebarItems","sidebarComp","inverted","footerItems","footerComp","borderless","statusbarItems","statusbarComp","Segment","attached","debug","initialLayoutModuleData","withLayout","client","layoutModuleData","layout","isImperiumLayoutClientModule","Wrapped","displayName","WithLayout","layoutClientModule","order","hocs"],"mappings":"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","file":"client.min.js","sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Need to pass 100% height all the way down */\\n#root {\\n\\theight: 100%;\\n}\\n#root > div {\\n\\theight: 100%;\\n}\\n\\n.components-styles__parent--2g8TZ {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n.components-styles__menubar--17uQB {\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n}\\n\\n.components-styles__statusbar--FFiGh {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.components-styles__sidebar--2TaYU {\\n\\tmin-width: 220px !important;\\n\\twidth: 100% !important;\\n\\theight: 100% !important;\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n\\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\\n\\ttransition: margin-left 0.3s ease-in-out;\\n}\\n\\n.components-styles__sidebarHidden--35k_4 {\\n\\tmargin-left: -220px !important;\\n}\\n\\n.components-styles__contentWrapper--WnWS7 {\\n\\tflex: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tpadding: 0 !important;\\n\\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\\n\\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\\n\\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\\n}\\n\\n.components-styles__content--1lh-g {\\n\\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\\n\\talign-content: flex-start;\\n\\tpadding: 1em 1em;\\n\\theight: 100%;\\n\\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\\n\\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\\n\\tbackground-color: #eaeaea;\\n\\tcolor: #bfbfbf;\\n}\\n\\n.components-styles__footer--1oy50 {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.components-styles__verticalDropdownIcon--3v0pW {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.components-styles__verticalDropdownIconRotated--23EUE {\\n\\ttransform: rotate(90deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.components-styles__verticalDropdownTitle--1pbnj {\\n\\tpadding: 0;\\n\\tcolor: #fff !important;\\n}\\n\\n.components-styles__verticalDropdownContent--2DAZg {\\n\\tborder: 1px solid rgb(45, 45, 45);\\n\\tpadding-top: 0 !important;\\n\\tmargin: 0 -1.14285714em 0 0;\\n\\tborder-radius: 0;\\n\\tbackground-color: rgb(45, 45, 45);\\n}\\n\\n.components-styles__icon--2iMy9 {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.4s linear;\\n\\tcursor: pointer;\\n}\\n\\n.components-styles__iconRotated--2EQ9l {\\n\\ttransform: rotate(-180deg);\\n\\ttransition: transform 0.5s;\\n\\tcursor: pointer;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/styles.css\"],\"names\":[],\"mappings\":\"AAAA,8CAA8C;AAC9C;CACC,YAAY;AACb;AACA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,2BAA2B;CAC3B,oBAAoB;AACrB;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,2BAA2B;CAC3B,sBAAsB;CACtB,uBAAuB;CACvB,2BAA2B;CAC3B,oBAAoB;CACpB,gBAAgB,EAAE,8DAA8D;CAChF,wCAAwC;AACzC;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,OAAO;CACP,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,qBAAqB;CACrB,sCAAsC,EAAE,2EAA2E;CACnH,sDAAsD;CACtD,gBAAgB,EAAE,8DAA8D;AACjF;;AAEA;CACC,OAAO,EAAE,6FAA6F;CACtG,yBAAyB;CACzB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB,EAAE,8DAA8D;CAChF,kBAAkB,EAAE,8DAA8D;CAClF,yBAAyB;CACzB,cAAc;AACf;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,uBAAuB;CACvB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,wBAAwB;CACxB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,sBAAsB;AACvB;;AAEA;CACC,iCAAiC;CACjC,yBAAyB;CACzB,2BAA2B;CAC3B,gBAAgB;CAChB,iCAAiC;AAClC;;AAEA;CACC,uBAAuB;CACvB,iCAAiC;CACjC,eAAe;AAChB;;AAEA;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,eAAe;AAChB\",\"sourcesContent\":[\"/* Need to pass 100% height all the way down */\\n:global(#root) {\\n\\theight: 100%;\\n}\\n:global(#root) > div {\\n\\theight: 100%;\\n}\\n\\n.parent {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n.menubar {\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n}\\n\\n.statusbar {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.sidebar {\\n\\tmin-width: 220px !important;\\n\\twidth: 100% !important;\\n\\theight: 100% !important;\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n\\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\\n\\ttransition: margin-left 0.3s ease-in-out;\\n}\\n\\n.sidebarHidden {\\n\\tmargin-left: -220px !important;\\n}\\n\\n.contentWrapper {\\n\\tflex: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tpadding: 0 !important;\\n\\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\\n\\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\\n\\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\\n}\\n\\n.content {\\n\\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\\n\\talign-content: flex-start;\\n\\tpadding: 1em 1em;\\n\\theight: 100%;\\n\\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\\n\\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\\n\\tbackground-color: #eaeaea;\\n\\tcolor: #bfbfbf;\\n}\\n\\n.footer {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.verticalDropdownIcon {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.verticalDropdownIconRotated {\\n\\ttransform: rotate(90deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.verticalDropdownTitle {\\n\\tpadding: 0;\\n\\tcolor: #fff !important;\\n}\\n\\n.verticalDropdownContent {\\n\\tborder: 1px solid rgb(45, 45, 45);\\n\\tpadding-top: 0 !important;\\n\\tmargin: 0 -1.14285714em 0 0;\\n\\tborder-radius: 0;\\n\\tbackground-color: rgb(45, 45, 45);\\n}\\n\\n.icon {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.4s linear;\\n\\tcursor: pointer;\\n}\\n\\n.iconRotated {\\n\\ttransform: rotate(-180deg);\\n\\ttransition: transform 0.5s;\\n\\tcursor: pointer;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"parent\": \"components-styles__parent--2g8TZ\",\n\t\"menubar\": \"components-styles__menubar--17uQB\",\n\t\"statusbar\": \"components-styles__statusbar--FFiGh\",\n\t\"sidebar\": \"components-styles__sidebar--2TaYU\",\n\t\"sidebarHidden\": \"components-styles__sidebarHidden--35k_4\",\n\t\"contentWrapper\": \"components-styles__contentWrapper--WnWS7\",\n\t\"content\": \"components-styles__content--1lh-g\",\n\t\"footer\": \"components-styles__footer--1oy50\",\n\t\"verticalDropdownIcon\": \"components-styles__verticalDropdownIcon--3v0pW\",\n\t\"verticalDropdownIconRotated\": \"components-styles__verticalDropdownIconRotated--23EUE\",\n\t\"verticalDropdownTitle\": \"components-styles__verticalDropdownTitle--1pbnj\",\n\t\"verticalDropdownContent\": \"components-styles__verticalDropdownContent--2DAZg\",\n\t\"icon\": \"components-styles__icon--2iMy9\",\n\t\"iconRotated\": \"components-styles__iconRotated--2EQ9l\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-redux\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-responsive\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/defineProperty\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@imperium/state\");;","import {createSelectorHook} from '@imperium/state';\nimport {createSlice, PayloadAction} from '@reduxjs/toolkit';\n\nexport const state = createSlice({\n\tname: 'imperiumLayout',\n\tinitialState: {\n\t\tisMobile: false,\n\t},\n\treducers: {\n\t\tsetMobile: (st, action: PayloadAction<boolean>) => ({...st, isMobile: action.payload}),\n\t},\n});\n\nexport const useLayoutState = createSelectorHook(state);\n\nexport const {actions} = state;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@reduxjs/toolkit\");;","import {useEffect} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {useMediaQuery} from 'react-responsive';\nimport {actions} from '../state';\n\nexport function useMobileLayout() {\n\tconst dispatch = useDispatch();\n\tconst isMobile = useMediaQuery({query: '(max-width: 900px)'});\n\tuseEffect(() => {\n\t\tdispatch(actions.setMobile(isMobile));\n\t}, [dispatch, isMobile]);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/toConsumableArray\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"debug\");;","import type {DataHook} from '../types';\n\ninterface ExecuteDataHookProps {\n\tdataHook: DataHook;\n}\n\nexport function ExecuteDataHook({dataHook}: ExecuteDataHookProps) {\n\tdataHook();\n\treturn null;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");;","import React from 'react';\nimport type {DataHook} from '../types';\nimport {ExecuteDataHook} from './ExecuteDataHook';\n\ninterface DataHooksProps {\n\tdataHooks: DataHook[];\n}\n\n/**\n * Renders layout data hooks. These hooks should return nothing. All interaction should be in side-effects, usually retrieving data and setting Redux state.\n * @param dataHooks\n * @constructor\n */\nexport function DataHooks({dataHooks}: DataHooksProps) {\n\treturn (\n\t\t<>\n\t\t\t{dataHooks.map((hook, index) => (\n\t\t\t\t// eslint-disable-next-line react/no-array-index-key\n\t\t\t\t<ExecuteDataHook key={index} dataHook={hook} />\n\t\t\t))}\n\t\t</>\n\t);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/slicedToArray\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"semantic-ui-react\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/objectWithoutProperties\");;","import type {ImperiumClientModule} from '@imperium/client';\nimport type {Query} from 'mingo';\nimport type {SemanticICONS} from 'semantic-ui-react';\n\nexport type DataHook = () => void;\n\n/**\n * Describes an item with optional weight\n */\nexport interface WeightedItem {\n\tweight?: number;\n}\n\n/**\n * Describes an item that can be positioned horizontally left or right\n */\nexport interface HorizontalPositionedItem {\n\tposition?: 'left' | 'right';\n\tstickOnMobile?: boolean;\n}\n\nexport interface VisibilityQuery {\n\tquery: Query;\n\tselectorHook: () => unknown;\n}\n\n/**\n * Describes an item that can be hide itself based on redux state\n */\nexport interface VisibilityItem {\n\tvisible?: VisibilityQuery;\n}\n\n/**\n * Describes an item that links to a route\n */\nexport interface RouteItem {\n\tto?: string;\n}\n\n/**\n * Describes a basic weighted, possibly visible item\n */\nexport interface BaseItem extends WeightedItem, VisibilityItem {\n\ttext: string;\n\ticon?: SemanticICONS;\n}\n\n/**\n * Describes a menu that displays a dropdown list of items\n */\nexport interface DropdownMenuItem extends BaseItem {\n\tdropdown: (BaseItem & RouteItem)[];\n}\n\n/**\n * Describes a menu that displays a sub menu (not a dropdown list)\n */\nexport interface MenuMenuItem extends BaseItem {\n\tmenu: (BaseItem & RouteItem)[];\n}\n\nexport interface CustomMenuItem extends WeightedItem, VisibilityItem {\n\trender: () => JSX.Element | null;\n}\n\n/**\n * Describes a horizontal menu item which is either a route item or dropdown menu\n */\nexport type Item = ((BaseItem & RouteItem) | DropdownMenuItem | MenuMenuItem | CustomMenuItem) & HorizontalPositionedItem;\n\nexport interface LayoutData {\n\tdataHooks: DataHook[];\n\tmenubar: (Item & HorizontalPositionedItem)[];\n\tstatusbar: (Item & HorizontalPositionedItem)[];\n\tsidebar: Item[];\n\tfooter: (Item & HorizontalPositionedItem)[];\n}\n\nexport interface ImperiumLayoutClientModule extends ImperiumClientModule {\n\tlayout: Partial<LayoutData>;\n}\n\nexport function isImperiumLayoutClientModule(module: ImperiumClientModule): module is ImperiumLayoutClientModule {\n\tconst layoutModule = module as ImperiumLayoutClientModule;\n\treturn layoutModule.layout !== undefined;\n}\n\nexport function isDropdownMenuItem(value: any): value is DropdownMenuItem {\n\treturn !!(value as DropdownMenuItem).dropdown;\n}\n\nexport function isMenuMenuItem(value: any): value is MenuMenuItem {\n\treturn !!(value as MenuMenuItem).menu;\n}\n\nexport function isCustomMenuItem(value: any): value is CustomMenuItem {\n\treturn !!(value as CustomMenuItem).render;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/memoize\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/sortBy\");;","import memoize from 'lodash/memoize';\nimport sortBy from 'lodash/sortBy';\n\nimport type {HorizontalPositionedItem, WeightedItem} from './types';\n\n/**\n * Sorts weighted items\n */\nexport const sortWeightedItems = memoize(function sortWeightedItemsImpl<T extends WeightedItem>(items: T[]) {\n\treturn sortBy(items, v => v.weight || 0);\n});\n\n/**\n * Splits horizontally positioned items into left and right arrays\n * @param items\n */\nexport function splitHorizontalItems<T extends HorizontalPositionedItem>(items: T[]) {\n\treturn items.reduce(\n\t\t(memo, v) => {\n\t\t\tif (v.position === 'right') {\n\t\t\t\treturn {\n\t\t\t\t\tleftItems: memo.leftItems,\n\t\t\t\t\trightItems: [...memo.rightItems, v],\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tleftItems: [...memo.leftItems, v],\n\t\t\t\trightItems: memo.rightItems,\n\t\t\t};\n\t\t},\n\t\t{leftItems: [], rightItems: []} as {leftItems: T[]; rightItems: T[]},\n\t);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/compact\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"query-string\");;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-router-dom\");;","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./styles.css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import React, {useState} from 'react';\nimport {Accordion, Dropdown, Icon, Menu} from 'semantic-ui-react';\nimport type {DropdownMenuItem} from '../types';\nimport styles from './styles.css';\n\ninterface DropdownAccordionProps {\n\tvertical: boolean;\n\titem: DropdownMenuItem;\n\tchildren: JSX.Element[];\n}\n\nexport function DropdownItemMenu({item, children, vertical}: DropdownAccordionProps) {\n\tconst [open, setOpen] = useState(false);\n\n\tif (vertical) {\n\t\treturn (\n\t\t\t<Menu.Item className=\"imperiumVerticalDropdown\">\n\t\t\t\t<Accordion fluid>\n\t\t\t\t\t<Accordion.Title\n\t\t\t\t\t\tclassName={styles.verticalDropdownTitle}\n\t\t\t\t\t\tonClick={ev => {\n\t\t\t\t\t\t\tev.stopPropagation();\n\t\t\t\t\t\t\tsetOpen(!open);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon className={open ? styles.verticalDropdownIconRotated : styles.verticalDropdownIcon} name=\"arrow right\" />\n\t\t\t\t\t\t{item.text}\n\t\t\t\t\t</Accordion.Title>\n\t\t\t\t\t<Accordion.Content active={open} className={`${styles.verticalDropdownContent} imperiumVerticalDropdownContent`} children={children} />\n\t\t\t\t</Accordion>\n\t\t\t</Menu.Item>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Dropdown item text={item.text} className=\"imperiumDropdown\">\n\t\t\t<Dropdown.Menu className=\"imperiumDropdownContent\">{children}</Dropdown.Menu>\n\t\t</Dropdown>\n\t);\n}\n","import React from 'react';\nimport {Menu} from 'semantic-ui-react';\nimport type {MenuMenuItem} from '../types';\n\ninterface MenuItemMenuProps {\n\titem: MenuMenuItem;\n\tchildren: JSX.Element[];\n}\n\nexport function MenuItemMenu({item, children}: MenuItemMenuProps) {\n\treturn (\n\t\t<Menu.Item>\n\t\t\t<Menu.Header>{item.text}</Menu.Header>\n\t\t\t<Menu.Menu compact>{children}</Menu.Menu>\n\t\t</Menu.Item>\n\t);\n}\n","import debug from 'debug';\nimport compact from 'lodash/compact';\nimport queryString from 'query-string';\nimport React, {useMemo} from 'react';\nimport {Link, useLocation, useRouteMatch} from 'react-router-dom';\nimport {Dropdown, Icon, Menu, Divider} from 'semantic-ui-react';\nimport type {BaseItem, DropdownMenuItem, MenuMenuItem, RouteItem} from '../types';\nimport {isDropdownMenuItem, isMenuMenuItem} from '../types';\nimport {sortWeightedItems} from '../utils';\nimport {DropdownItemMenu} from './DropdownItemMenu';\nimport {MenuItemMenu} from './MenuItemMenu';\n\nconst d = debug('imperium.layout.components.ItemBarItem');\n\ninterface ItemBarItemProps {\n\titem: (BaseItem & RouteItem) | DropdownMenuItem | MenuMenuItem;\n\tas?: React.ComponentClass;\n\tvertical?: boolean;\n}\n\nexport function ItemBarItem({item, as, vertical}: ItemBarItemProps) {\n\tconst active = useRouteMatch(!isDropdownMenuItem(item) && !isMenuMenuItem(item) ? item.to || '' : '');\n\tconst icon = item.icon ? <Icon name={item.icon} /> : null;\n\tconst selectedState = item.visible?.selectorHook();\n\tconst loc = useLocation();\n\n\tconst isVisible = useMemo(() => {\n\t\tconst compareObj = {\n\t\t\t...(selectedState as Record<string, unknown>),\n\t\t\tlocation: {\n\t\t\t\tpath: compact(loc.pathname.split('/')),\n\t\t\t\thash: loc.hash,\n\t\t\t\tsearch: queryString.parse(loc.search),\n\t\t\t},\n\t\t};\n\t\tif (item.visible) {\n\t\t\treturn item.visible.query.test(compareObj);\n\t\t}\n\t\treturn true;\n\t}, [item.visible, selectedState, loc.search, loc.pathname, loc.hash]);\n\n\tif (!isVisible) {\n\t\treturn null;\n\t}\n\n\tif (isDropdownMenuItem(item)) {\n\t\treturn (\n\t\t\t<DropdownItemMenu\n\t\t\t\tvertical={vertical || false}\n\t\t\t\titem={item}\n\t\t\t\tchildren={sortWeightedItems(item.dropdown).map(v => (\n\t\t\t\t\t<ItemBarItem key={v.text} item={v} as={Dropdown.Item} />\n\t\t\t\t))}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (isMenuMenuItem(item)) {\n\t\treturn (\n\t\t\t<MenuItemMenu\n\t\t\t\titem={item}\n\t\t\t\tchildren={sortWeightedItems(item.menu).map(v => (\n\t\t\t\t\t<ItemBarItem key={v.text} item={v} as={Dropdown.Item} />\n\t\t\t\t))}\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst linkParams = item.to\n\t\t? {\n\t\t\t\tas: Link,\n\t\t\t\tactive: !!active,\n\t\t\t\tto: item.to,\n\t\t }\n\t\t: {};\n\n\tconst menuParams = as\n\t\t? {}\n\t\t: {\n\t\t\t\tlink: !!item.to,\n\t\t };\n\n\tconst ItemX = as || Menu.Item;\n\n\treturn (\n\t\t<ItemX {...linkParams} {...menuParams}>\n\t\t\t{icon}\n\t\t\t{item.text}\n\t\t</ItemX>\n\t);\n}\n","export function RenderComponent({render, ...rest}: {render: (props: unknown) => JSX.Element | null}) {\n\treturn render(rest);\n}\n","import debug from 'debug';\nimport React from 'react';\nimport {Menu} from 'semantic-ui-react';\nimport type {MenuProps} from 'semantic-ui-react';\nimport type {Item} from '../types';\nimport {isCustomMenuItem} from '../types';\nimport {sortWeightedItems, splitHorizontalItems} from '../utils';\nimport {ItemBarItem} from './ItemBarItem';\nimport {RenderComponent} from './RenderComponent';\n\nconst d = debug('imperium.layout.components.ItemBar');\n\ninterface ItemBarProps extends MenuProps {\n\tname: string;\n\titems: Item[];\n\tsidebar?: boolean;\n}\n\nfunction mapItems(name: string, items: Item[], props: MenuProps) {\n\treturn items.map((item, index) => {\n\t\tif (isCustomMenuItem(item)) {\n\t\t\t// eslint-disable-next-line react/no-array-index-key\n\t\t\treturn <RenderComponent key={`${name}${index}`} render={item.render} />;\n\t\t}\n\t\t// eslint-disable-next-line react/no-array-index-key\n\t\treturn <ItemBarItem key={`${name}${item.text}${index}`} item={item} vertical={props.vertical} />;\n\t});\n}\n\nexport function ItemBar({name, items, ...rest}: ItemBarProps) {\n\tconst ims = splitHorizontalItems(items);\n\n\tconst left = mapItems(name, sortWeightedItems(ims.leftItems), rest);\n\tconst rightMappedItems = mapItems(name, sortWeightedItems(ims.rightItems), rest);\n\tconst right = rest.vertical ? rightMappedItems : <Menu.Menu position=\"right\">{rightMappedItems}</Menu.Menu>;\n\n\treturn (\n\t\t<Menu {...rest}>\n\t\t\t{left.length > 0 ? left : null}\n\t\t\t{ims.rightItems.length > 0 ? right : null}\n\t\t</Menu>\n\t);\n}\n","import debug from 'debug';\nimport React, {ReactNode, useState} from 'react';\nimport {Icon, Menu, Segment} from 'semantic-ui-react';\nimport {useLayoutState} from '../state';\nimport type {LayoutData} from '../types';\nimport {ItemBar} from './ItemBar';\nimport styles from './styles.css';\n\nconst d = debug('imperium.layout.components.Layout');\n\ninterface LayoutProps extends LayoutData {\n\tchildren?: ReactNode;\n}\n\nexport function Layout({footer, menubar, statusbar, sidebar, children}: LayoutProps) {\n\tconst {isMobile} = useLayoutState();\n\tconst [menuOpen, setMenuOpen] = useState(true);\n\n\tconst mobileSidebarToggle = {\n\t\tstickOnMobile: true,\n\t\tweight: -19999,\n\t\trender: () => {\n\t\t\tif (!isMobile) return null;\n\t\t\treturn (\n\t\t\t\t<Menu.Item>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={menuOpen ? styles.iconRotated : styles.icon}\n\t\t\t\t\t\tname={menuOpen ? 'close' : 'sidebar'}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetMenuOpen(!menuOpen);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Item>\n\t\t\t);\n\t\t},\n\t};\n\n\tconst menubarItems = isMobile ? [mobileSidebarToggle, ...menubar].filter(v => v.stickOnMobile === true) : [mobileSidebarToggle, ...menubar];\n\n\tconst sidebarItems = isMobile\n\t\t? [\n\t\t\t\t...sidebar,\n\t\t\t\t{\n\t\t\t\t\ttext: '',\n\t\t\t\t\tmenu: [mobileSidebarToggle, ...menubar].filter(v => v.stickOnMobile !== true),\n\t\t\t\t},\n\t\t ]\n\t\t: sidebar;\n\tconst sidebarComp =\n\t\tsidebarItems.length > 0 ? (\n\t\t\t<div>\n\t\t\t\t<ItemBar\n\t\t\t\t\tname=\"sidebar\"\n\t\t\t\t\titems={sidebarItems}\n\t\t\t\t\tinverted\n\t\t\t\t\tvertical\n\t\t\t\t\tclassName={isMobile && !menuOpen ? `${styles.sidebar} ${styles.sidebarHidden} imperiumSidebar` : `${styles.sidebar} imperiumSidebar`}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t) : null;\n\n\tconst footerItems = footer;\n\tconst footerComp =\n\t\tfooterItems.length > 0 ? <ItemBar name=\"footer\" items={footerItems} className={`${styles.footer} imperiumFooter`} inverted borderless /> : null;\n\n\tconst statusbarItems = statusbar;\n\tconst statusbarComp =\n\t\tstatusbarItems.length > 0 ? (\n\t\t\t<ItemBar name=\"statusbar\" items={statusbarItems} inverted className={`${styles.statusbar} imperiumStatusbar`} />\n\t\t) : null;\n\n\treturn (\n\t\t<div className={`${styles.parent} imperiumLayout`}>\n\t\t\t<div>\n\t\t\t\t<ItemBar name=\"menubar\" items={menubarItems} inverted borderless className={`${styles.menubar} imperiumMenubar`} />\n\t\t\t\t{statusbarComp}\n\t\t\t</div>\n\t\t\t<Segment attached className={`${styles.contentWrapper} imperiumContentWrapper`}>\n\t\t\t\t{sidebarComp}\n\t\t\t\t<div className={`${styles.content} imperiumContent`}>{children}</div>\n\t\t\t</Segment>\n\t\t\t{footerComp}\n\t\t</div>\n\t);\n}\n","import type {Hoc, ImperiumClient} from '@imperium/client';\nimport debug from 'debug';\nimport React, {ComponentType} from 'react';\nimport {DataHooks} from './components/DataHooks';\nimport {Layout} from './components/Layout';\nimport {isImperiumLayoutClientModule, LayoutData, ImperiumLayoutClientModule} from './types';\n\nconst d = debug('imperium.layout.withLayout');\n\nconst initialLayoutModuleData: LayoutData = {\n\tdataHooks: [],\n\tmenubar: [],\n\tstatusbar: [],\n\tsidebar: [],\n\tfooter: [],\n};\n\nexport function withLayout(client: ImperiumClient): Hoc {\n\tconst layoutModuleData = client.modules.reduce((memo, module) => {\n\t\tif (isImperiumLayoutClientModule(module)) {\n\t\t\treturn {\n\t\t\t\tdataHooks: [...memo.dataHooks, ...(module.layout.dataHooks || [])],\n\t\t\t\tmenubar: [...memo.menubar, ...(module.layout.menubar || [])],\n\t\t\t\tstatusbar: [...memo.statusbar, ...(module.layout.statusbar || [])],\n\t\t\t\tsidebar: [...memo.sidebar, ...(module.layout.sidebar || [])],\n\t\t\t\tfooter: [...memo.footer, ...(module.layout.footer || [])],\n\t\t\t} as Required<ImperiumLayoutClientModule['layout']>;\n\t\t}\n\t\treturn memo;\n\t}, initialLayoutModuleData);\n\td('Layout items processed', layoutModuleData);\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\treturn function layoutHoc(Wrapped: ComponentType<any>) {\n\t\tconst displayName = Wrapped.displayName || Wrapped.name || '';\n\n\t\tfunction WithLayout(props: unknown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<Layout {...layoutModuleData}>\n\t\t\t\t\t\t<Wrapped {...props} layout={layoutModuleData} />\n\t\t\t\t\t</Layout>\n\t\t\t\t\t<DataHooks dataHooks={layoutModuleData.dataHooks} />\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tWithLayout.displayName = `withLayout(${displayName})`;\n\n\t\treturn WithLayout;\n\t};\n}\n","import type {ImperiumStateClientModule} from '@imperium/state';\nimport {useMobileLayout} from './hooks/useMobileLayout';\nimport {state} from './state';\nimport type {ImperiumLayoutClientModule} from './types';\nimport {withLayout} from './withLayout';\n\nexport function layoutClientModule(): ImperiumStateClientModule & ImperiumLayoutClientModule {\n\treturn {\n\t\tname: '@imperium/layout',\n\t\torder: 30,\n\t\thocs: [withLayout],\n\t\tstate,\n\t\tlayout: {\n\t\t\tdataHooks: [useMobileLayout],\n\t\t},\n\t};\n}\n\nexport type {ImperiumLayoutClientModule, LayoutData} from './types';\nexport {useLayoutState, actions as layoutActions} from './state';\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"client.min.js","mappings":"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","sources":["webpack:///./components/styles.css","webpack:///../../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///../../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external commonjs \"react\"","webpack:///external commonjs \"react-redux\"","webpack:///external commonjs \"react-responsive\"","webpack:///external commonjs \"@babel/runtime/helpers/defineProperty\"","webpack:///external commonjs \"@imperium/state\"","webpack:///./state.ts","webpack:///external commonjs \"@reduxjs/toolkit\"","webpack:///./hooks/useMobileLayout.ts","webpack:///external commonjs \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external commonjs \"debug\"","webpack:///./components/ExecuteDataHook.tsx","webpack:///external commonjs \"react/jsx-runtime\"","webpack:///./components/DataHooks.tsx","webpack:///external commonjs \"@babel/runtime/helpers/slicedToArray\"","webpack:///external commonjs \"semantic-ui-react\"","webpack:///external commonjs \"@babel/runtime/helpers/objectWithoutProperties\"","webpack:///./types.ts","webpack:///external commonjs \"lodash/memoize\"","webpack:///external commonjs \"lodash/sortBy\"","webpack:///./utils.ts","webpack:///external commonjs \"react-router-dom\"","webpack:///./components/styles.css?794f","webpack:///./components/DropdownItemMenu.tsx","webpack:///./components/MenuItemMenu.tsx","webpack:///external commonjs \"lodash/compact\"","webpack:///external commonjs \"mingo\"","webpack:///external commonjs \"querystring\"","webpack:///./components/ExecuteSelectorHook.tsx","webpack:///./components/RenderIfVisible.tsx","webpack:///./components/ItemBarItem.tsx","webpack:///./components/RenderComponent.tsx","webpack:///./components/ItemBar.tsx","webpack:///./components/Layout.tsx","webpack:///./withLayout.tsx","webpack:///./index.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Need to pass 100% height all the way down */\\n#root {\\n\\theight: 100%;\\n}\\n#root > div {\\n\\theight: 100%;\\n}\\n\\n.components-styles__parent--aEtdD {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n.components-styles__menubar--O5e1n {\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n}\\n\\n.components-styles__statusbar--BRbjW {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.components-styles__sidebar--N7KVd {\\n\\tmin-width: 220px !important;\\n\\twidth: 100% !important;\\n\\theight: 100% !important;\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n\\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\\n\\ttransition: margin-left 0.3s ease-in-out;\\n}\\n\\n.components-styles__sidebarHidden--JX7Xy {\\n\\tmargin-left: -220px !important;\\n}\\n\\n.components-styles__contentWrapper--iSdcv {\\n\\tflex: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tpadding: 0 !important;\\n\\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\\n\\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\\n\\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\\n}\\n\\n.components-styles__content--WOoyL {\\n\\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\\n\\talign-content: flex-start;\\n\\tpadding: 1em 1em;\\n\\theight: 100%;\\n\\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\\n\\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\\n\\tbackground-color: #eaeaea;\\n\\tcolor: #bfbfbf;\\n}\\n\\n.components-styles__footer--fDXAW {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.components-styles__verticalDropdownIcon--ZZlLy {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.components-styles__verticalDropdownIconRotated--UcLNp {\\n\\ttransform: rotate(90deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.components-styles__verticalDropdownTitle--RG7UX {\\n\\tpadding: 0;\\n\\tcolor: #fff !important;\\n}\\n\\n.components-styles__verticalDropdownContent--_zlPe {\\n\\tborder: 1px solid rgb(45, 45, 45);\\n\\tpadding-top: 0 !important;\\n\\tmargin: 0 -1.14285714em 0 0;\\n\\tborder-radius: 0;\\n\\tbackground-color: rgb(45, 45, 45);\\n}\\n\\n.components-styles__icon--BTOT4 {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.4s linear;\\n\\tcursor: pointer;\\n}\\n\\n.components-styles__iconRotated--NnTIi {\\n\\ttransform: rotate(-180deg);\\n\\ttransition: transform 0.5s;\\n\\tcursor: pointer;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./components/styles.css\"],\"names\":[],\"mappings\":\"AAAA,8CAA8C;AAC9C;CACC,YAAY;AACb;AACA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,2BAA2B;CAC3B,oBAAoB;AACrB;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,2BAA2B;CAC3B,sBAAsB;CACtB,uBAAuB;CACvB,2BAA2B;CAC3B,oBAAoB;CACpB,gBAAgB,EAAE,8DAA8D;CAChF,wCAAwC;AACzC;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,OAAO;CACP,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,qBAAqB;CACrB,sCAAsC,EAAE,2EAA2E;CACnH,sDAAsD;CACtD,gBAAgB,EAAE,8DAA8D;AACjF;;AAEA;CACC,OAAO,EAAE,6FAA6F;CACtG,yBAAyB;CACzB,gBAAgB;CAChB,YAAY;CACZ,gBAAgB,EAAE,8DAA8D;CAChF,kBAAkB,EAAE,8DAA8D;CAClF,yBAAyB;CACzB,cAAc;AACf;;AAEA;CACC,oBAAoB;CACpB,2BAA2B;CAC3B,4CAA4C;AAC7C;;AAEA;CACC,uBAAuB;CACvB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,wBAAwB;CACxB,2BAA2B;CAC3B,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,sBAAsB;AACvB;;AAEA;CACC,iCAAiC;CACjC,yBAAyB;CACzB,2BAA2B;CAC3B,gBAAgB;CAChB,iCAAiC;AAClC;;AAEA;CACC,uBAAuB;CACvB,iCAAiC;CACjC,eAAe;AAChB;;AAEA;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,eAAe;AAChB\",\"sourcesContent\":[\"/* Need to pass 100% height all the way down */\\n:global(#root) {\\n\\theight: 100%;\\n}\\n:global(#root) > div {\\n\\theight: 100%;\\n}\\n\\n.parent {\\n\\tmin-height: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\\n.menubar {\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n}\\n\\n.statusbar {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.sidebar {\\n\\tmin-width: 220px !important;\\n\\twidth: 100% !important;\\n\\theight: 100% !important;\\n\\tborder-radius: 0 !important;\\n\\tmargin: 0 !important;\\n\\toverflow-x: auto; /* added to make the content scroll and not the whole layout */\\n\\ttransition: margin-left 0.3s ease-in-out;\\n}\\n\\n.sidebarHidden {\\n\\tmargin-left: -220px !important;\\n}\\n\\n.contentWrapper {\\n\\tflex: 1;\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tpadding: 0 !important;\\n\\tborder: 0 solid transparent !important; /* this is a segment, and they seem to have a 1px white border by default */\\n\\t/*border-top: 2px solid rgb(217, 128, 48) !important;*/\\n\\toverflow-y: auto; /* added to make the content scroll and not the whole layout */\\n}\\n\\n.content {\\n\\tflex: 1; /* changed this to have a flex of one instead of auto so the side menu doesn't get squished */\\n\\talign-content: flex-start;\\n\\tpadding: 1em 1em;\\n\\theight: 100%;\\n\\tmax-height: 100%; /* added to make the content scroll and not the whole layout */\\n\\toverflow-x: hidden; /* added to make the content scroll and not the whole layout */\\n\\tbackground-color: #eaeaea;\\n\\tcolor: #bfbfbf;\\n}\\n\\n.footer {\\n\\tmargin: 0 !important;\\n\\tborder-radius: 0 !important;\\n\\tbackground-color: rgb(45, 45, 45) !important;\\n}\\n\\n.verticalDropdownIcon {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.verticalDropdownIconRotated {\\n\\ttransform: rotate(90deg);\\n\\ttransition: transform 0.3s ;\\n\\tcursor: pointer;\\n}\\n\\n.verticalDropdownTitle {\\n\\tpadding: 0;\\n\\tcolor: #fff !important;\\n}\\n\\n.verticalDropdownContent {\\n\\tborder: 1px solid rgb(45, 45, 45);\\n\\tpadding-top: 0 !important;\\n\\tmargin: 0 -1.14285714em 0 0;\\n\\tborder-radius: 0;\\n\\tbackground-color: rgb(45, 45, 45);\\n}\\n\\n.icon {\\n\\ttransform: rotate(0deg);\\n\\ttransition: transform 0.4s linear;\\n\\tcursor: pointer;\\n}\\n\\n.iconRotated {\\n\\ttransform: rotate(-180deg);\\n\\ttransition: transform 0.5s;\\n\\tcursor: pointer;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"parent\": \"components-styles__parent--aEtdD\",\n\t\"menubar\": \"components-styles__menubar--O5e1n\",\n\t\"statusbar\": \"components-styles__statusbar--BRbjW\",\n\t\"sidebar\": \"components-styles__sidebar--N7KVd\",\n\t\"sidebarHidden\": \"components-styles__sidebarHidden--JX7Xy\",\n\t\"contentWrapper\": \"components-styles__contentWrapper--iSdcv\",\n\t\"content\": \"components-styles__content--WOoyL\",\n\t\"footer\": \"components-styles__footer--fDXAW\",\n\t\"verticalDropdownIcon\": \"components-styles__verticalDropdownIcon--ZZlLy\",\n\t\"verticalDropdownIconRotated\": \"components-styles__verticalDropdownIconRotated--UcLNp\",\n\t\"verticalDropdownTitle\": \"components-styles__verticalDropdownTitle--RG7UX\",\n\t\"verticalDropdownContent\": \"components-styles__verticalDropdownContent--_zlPe\",\n\t\"icon\": \"components-styles__icon--BTOT4\",\n\t\"iconRotated\": \"components-styles__iconRotated--NnTIi\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var _i = 0; _i < this.length; _i++) {\n var id = this[_i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i2 = 0; _i2 < modules.length; _i2++) {\n var item = [].concat(modules[_i2]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-redux\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-responsive\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/defineProperty\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@imperium/state\");","import {createSliceHook} from '@imperium/state';\nimport {createSlice, PayloadAction} from '@reduxjs/toolkit';\n\nexport const state = createSlice({\n\tname: 'imperiumLayout',\n\tinitialState: {\n\t\tisMobile: false,\n\t},\n\treducers: {\n\t\tsetMobile: (st, action: PayloadAction<boolean>) => ({...st, isMobile: action.payload}),\n\t},\n});\n\nexport const useLayoutState = createSliceHook(state);\n\nexport const {actions} = state;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@reduxjs/toolkit\");","import {useEffect} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {useMediaQuery} from 'react-responsive';\nimport {actions} from '../state';\n\nexport function useMobileLayout() {\n\tconst dispatch = useDispatch();\n\tconst isMobile = useMediaQuery({query: '(max-width: 900px)'});\n\tuseEffect(() => {\n\t\tdispatch(actions.setMobile(isMobile));\n\t}, [dispatch, isMobile]);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/toConsumableArray\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"debug\");","import type {DataHook} from '../types';\n\ninterface ExecuteDataHookProps {\n\tdataHook: DataHook;\n}\n\nexport function ExecuteDataHook({dataHook}: ExecuteDataHookProps) {\n\tdataHook();\n\treturn null;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");","import React from 'react';\nimport type {DataHook} from '../types';\nimport {ExecuteDataHook} from './ExecuteDataHook';\n\ninterface DataHooksProps {\n\tdataHooks: DataHook[];\n}\n\n/**\n * Renders layout data hooks. These hooks should return nothing. All interaction should be in side-effects, usually retrieving data and setting Redux state.\n * @param dataHooks\n * @constructor\n */\nexport function DataHooks({dataHooks}: DataHooksProps) {\n\treturn (\n\t\t<>\n\t\t\t{dataHooks.map((hook, index) => (\n\t\t\t\t// eslint-disable-next-line react/no-array-index-key\n\t\t\t\t<ExecuteDataHook key={index} dataHook={hook} />\n\t\t\t))}\n\t\t</>\n\t);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/slicedToArray\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"semantic-ui-react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/objectWithoutProperties\");","import type {ImperiumClientModule} from '@imperium/client';\nimport type {Location} from 'history';\nimport type {SemanticICONS} from 'semantic-ui-react';\n\nexport type DataHook = () => void;\nexport type SelectorHook<T extends Record<string, unknown>> = () => T;\n\n/**\n * Describes an item with optional weight\n */\nexport interface WeightedItem {\n\tweight?: number;\n}\n\n/**\n * Describes an item that can be positioned horizontally left or right\n */\nexport interface HorizontalPositionedItem {\n\tposition?: 'left' | 'right';\n\tstickOnMobile?: boolean;\n}\n\nexport interface DefaultVisibilityData {\n\trouter: {\n\t\tpath: string[];\n\t};\n}\n\nexport type VisibilityQueryField<T extends Record<string, unknown>> = Record<string, unknown> | ((data: T & DefaultVisibilityData) => boolean);\n\nexport interface VisibilityQuery<T extends Record<string, unknown>> {\n\tquery: VisibilityQueryField<T>;\n\tselectorHook?: SelectorHook<T>;\n}\n\n/**\n * Describes an item that can be hide itself based on redux state\n */\nexport interface VisibilityItem {\n\tvisible?: VisibilityQuery<any>;\n}\n\n/**\n * Describes an item that links to a route\n */\nexport interface RouteItem {\n\tto?: string | ((loc: Location) => string);\n\texact?: boolean;\n\tstrict?: boolean;\n\tsensitive?: boolean;\n}\n\n/**\n * Describes a basic weighted, possibly visible item\n */\nexport interface BaseItem extends WeightedItem, VisibilityItem {\n\ttext: string;\n\ticon?: SemanticICONS;\n}\n\n/**\n * Describes a menu that displays a dropdown list of items\n */\nexport interface DropdownMenuItem extends BaseItem {\n\tdropdown: (BaseItem & RouteItem)[];\n}\n\n/**\n * Describes a menu that displays a sub menu (not a dropdown list)\n */\nexport interface MenuMenuItem extends BaseItem {\n\tmenu: (BaseItem & RouteItem)[];\n}\n\nexport interface CustomMenuItem extends WeightedItem, VisibilityItem {\n\trender: () => JSX.Element | null;\n}\n\n/**\n * Describes a horizontal menu item which is either a route item or dropdown menu\n */\nexport type Item = ((BaseItem & RouteItem) | DropdownMenuItem | MenuMenuItem | CustomMenuItem) & HorizontalPositionedItem;\n\nexport interface LayoutData {\n\tdataHooks?: DataHook[];\n\tmenubar?: (Item & HorizontalPositionedItem)[];\n\tstatusbar?: (Item & HorizontalPositionedItem)[];\n\tsidebar?: Item[];\n\tfooter?: (Item & HorizontalPositionedItem)[];\n}\n\nexport interface ImperiumLayoutClientModule extends ImperiumClientModule {\n\tlayout: LayoutData;\n}\n\nexport function isImperiumLayoutClientModule(module: ImperiumClientModule): module is ImperiumLayoutClientModule {\n\tconst layoutModule = module as ImperiumLayoutClientModule;\n\treturn layoutModule.layout !== undefined;\n}\n\nexport function isDropdownMenuItem(value: any): value is DropdownMenuItem {\n\treturn !!(value as DropdownMenuItem).dropdown;\n}\n\nexport function isMenuMenuItem(value: any): value is MenuMenuItem {\n\treturn !!(value as MenuMenuItem).menu;\n}\n\nexport function isCustomMenuItem(value: any): value is CustomMenuItem {\n\treturn !!(value as CustomMenuItem).render;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/memoize\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/sortBy\");","import memoize from 'lodash/memoize';\nimport sortBy from 'lodash/sortBy';\nimport type {HorizontalPositionedItem, WeightedItem, VisibilityQuery} from './types';\n\n/**\n * Sorts weighted items\n */\nexport const sortWeightedItems = memoize(function sortWeightedItemsImpl<T extends WeightedItem>(items: T[]) {\n\treturn sortBy(items, v => v.weight || 0);\n});\n\n/**\n * Splits horizontally positioned items into left and right arrays\n * @param items\n */\nexport function splitHorizontalItems<T extends HorizontalPositionedItem>(items: T[]) {\n\treturn items.reduce(\n\t\t(memo, v) => {\n\t\t\tif (v.position === 'right') {\n\t\t\t\treturn {\n\t\t\t\t\tleftItems: memo.leftItems,\n\t\t\t\t\trightItems: [...memo.rightItems, v],\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tleftItems: [...memo.leftItems, v],\n\t\t\t\trightItems: memo.rightItems,\n\t\t\t};\n\t\t},\n\t\t{leftItems: [], rightItems: []} as {leftItems: T[]; rightItems: T[]},\n\t);\n}\n\nexport function generateVisible<T extends Record<string, unknown>>(visDefinition: VisibilityQuery<T>): VisibilityQuery<T> {\n\treturn {\n\t\tquery: visDefinition.query,\n\t\tselectorHook: visDefinition.selectorHook,\n\t};\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-router-dom\");","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useState} from 'react';\nimport {Accordion, Dropdown, Icon, Menu} from 'semantic-ui-react';\nimport type {DropdownMenuItem} from '../types';\nimport styles from './styles.css';\n\ninterface DropdownAccordionProps {\n\tvertical: boolean;\n\titem: DropdownMenuItem;\n\tchildren: JSX.Element[];\n}\n\nexport function DropdownItemMenu({item, children, vertical}: DropdownAccordionProps) {\n\tconst [open, setOpen] = useState(false);\n\n\tif (vertical) {\n\t\treturn (\n\t\t\t<Menu.Item className=\"imperiumVerticalDropdown\">\n\t\t\t\t<Accordion fluid>\n\t\t\t\t\t<Accordion.Title\n\t\t\t\t\t\tclassName={styles.verticalDropdownTitle}\n\t\t\t\t\t\tonClick={ev => {\n\t\t\t\t\t\t\tev.stopPropagation();\n\t\t\t\t\t\t\tsetOpen(!open);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon className={open ? styles.verticalDropdownIconRotated : styles.verticalDropdownIcon} name=\"arrow right\" />\n\t\t\t\t\t\t{item.text}\n\t\t\t\t\t</Accordion.Title>\n\t\t\t\t\t<Accordion.Content active={open} className={`${styles.verticalDropdownContent} imperiumVerticalDropdownContent`} children={children} />\n\t\t\t\t</Accordion>\n\t\t\t</Menu.Item>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Dropdown item text={item.text} className=\"imperiumDropdown\">\n\t\t\t<Dropdown.Menu className=\"imperiumDropdownContent\">{children}</Dropdown.Menu>\n\t\t</Dropdown>\n\t);\n}\n","import React from 'react';\nimport {Menu} from 'semantic-ui-react';\nimport type {MenuMenuItem} from '../types';\n\ninterface MenuItemMenuProps {\n\titem: MenuMenuItem;\n\tchildren: JSX.Element[];\n}\n\nexport function MenuItemMenu({item, children}: MenuItemMenuProps) {\n\treturn (\n\t\t<Menu.Item>\n\t\t\t<Menu.Header>{item.text}</Menu.Header>\n\t\t\t<Menu.Menu compact=\"\">{children}</Menu.Menu>\n\t\t</Menu.Item>\n\t);\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/compact\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"mingo\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"querystring\");","import debug from 'debug';\nimport type {SelectorHook} from '../types';\n\nconst d = debug('imperium.layout.components.ExecuteSelectorHook');\n\ninterface SelectorHookProps {\n\thook: SelectorHook<Record<string, unknown>>;\n\trender: (data: Record<string, unknown>) => JSX.Element | null;\n}\n\nexport function ExecuteSelectorHook({render, hook}: SelectorHookProps) {\n\tconst data = hook();\n\treturn render(data);\n}\n","import debug from 'debug';\nimport type {Location} from 'history';\nimport compact from 'lodash/compact';\nimport {Query} from 'mingo';\nimport queryString from 'querystring';\nimport React from 'react';\nimport {useLocation} from 'react-router-dom';\nimport type {DefaultVisibilityData, VisibilityItem, VisibilityQueryField} from '../types';\nimport {ExecuteSelectorHook} from './ExecuteSelectorHook';\n\nconst d = debug('imperium.layout.components.RenderIfVisible');\n\nfunction mergeLocationData(loc: Location, data?: Record<string, unknown>) {\n\tconst locationData = {\n\t\tpath: compact(loc.pathname.split('/')),\n\t\thash: loc.hash,\n\t\tsearch: queryString.parse(loc.search),\n\t};\n\treturn {\n\t\trouter: {\n\t\t\t...locationData,\n\t\t},\n\t\t...data,\n\t};\n}\n\nfunction renderWithQuery(\n\tdata: Record<string, unknown> & DefaultVisibilityData,\n\tquery: VisibilityQueryField<Record<string, unknown>> | undefined,\n\tcomponent: JSX.Element,\n) {\n\tif (typeof query === 'function') {\n\t\tif (query(data)) return component;\n\t\treturn null;\n\t}\n\tconst q = new Query(query || {});\n\tif (q.test(data)) return component;\n\treturn null;\n}\n\nexport function RenderIfVisible({item, component}: {component: JSX.Element; item: VisibilityItem}) {\n\tconst loc = useLocation() as Location;\n\n\tif (item.visible) {\n\t\tif (item.visible.selectorHook) {\n\t\t\treturn (\n\t\t\t\t<ExecuteSelectorHook\n\t\t\t\t\thook={item.visible.selectorHook}\n\t\t\t\t\trender={data => renderWithQuery(mergeLocationData(loc, data), item.visible?.query, component)}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn renderWithQuery(mergeLocationData(loc), item.visible.query, component);\n\t}\n\n\treturn component;\n}\n","import debug from 'debug';\nimport React from 'react';\nimport {Link, RouteProps, useLocation, useRouteMatch} from 'react-router-dom';\nimport {Dropdown, Icon, Menu} from 'semantic-ui-react';\nimport type {Location} from 'history';\nimport type {BaseItem, DropdownMenuItem, MenuMenuItem, RouteItem} from '../types';\nimport {isDropdownMenuItem, isMenuMenuItem} from '../types';\nimport {sortWeightedItems} from '../utils';\nimport {DropdownItemMenu} from './DropdownItemMenu';\nimport {MenuItemMenu} from './MenuItemMenu';\nimport {RenderIfVisible} from './RenderIfVisible';\n\nconst d = debug('imperium.layout.components.ItemBarItem');\n\ninterface ItemBarItemProps {\n\titem: (BaseItem & RouteItem) | DropdownMenuItem | MenuMenuItem;\n\tas?: React.ComponentClass;\n\tvertical?: boolean;\n}\n\nexport function ItemBarItem({item, as, vertical}: ItemBarItemProps) {\n\tconst loc = useLocation() as Location;\n\n\t// Determine if the current route matches the to route to see if the link is active\n\tconst routeMatchObject: RouteProps = {};\n\tif (!isDropdownMenuItem(item) && !isMenuMenuItem(item) && item.to) {\n\t\tif (typeof item.to === 'string') {\n\t\t\trouteMatchObject.path = item.to;\n\t\t}\n\t\tif (typeof item.to === 'function') {\n\t\t\trouteMatchObject.path = item.to(loc);\n\t\t}\n\t\trouteMatchObject.exact = item.exact !== false;\n\t\trouteMatchObject.sensitive = item.sensitive;\n\t\trouteMatchObject.strict = item.strict;\n\t}\n\tconst routeMatch = useRouteMatch(routeMatchObject);\n\tconst active = routeMatch !== null;\n\n\t// Generate the icon component, if it exists\n\tconst icon = item.icon ? <Icon name={item.icon} /> : null;\n\n\tif (isDropdownMenuItem(item)) {\n\t\treturn (\n\t\t\t<RenderIfVisible\n\t\t\t\tcomponent={\n\t\t\t\t\t<DropdownItemMenu\n\t\t\t\t\t\tvertical={vertical || false}\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tchildren={sortWeightedItems(item.dropdown).map(v => (\n\t\t\t\t\t\t\t<ItemBarItem key={v.text} item={v} as={Dropdown.Item} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\titem={item}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (isMenuMenuItem(item)) {\n\t\treturn (\n\t\t\t<RenderIfVisible\n\t\t\t\tcomponent={\n\t\t\t\t\t<MenuItemMenu\n\t\t\t\t\t\titem={item}\n\t\t\t\t\t\tchildren={sortWeightedItems(item.menu).map(v => (\n\t\t\t\t\t\t\t<ItemBarItem key={v.text} item={v} as={Dropdown.Item} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\titem={item}\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst linkParams = item.to\n\t\t? {\n\t\t\t\tas: Link,\n\t\t\t\tactive,\n\t\t\t\tto: typeof item.to === 'function' ? item.to(loc) : item.to,\n\t\t }\n\t\t: {};\n\n\tconst menuParams = as\n\t\t? {}\n\t\t: {\n\t\t\t\tlink: !!item.to,\n\t\t };\n\n\tconst ItemX = as || Menu.Item;\n\n\tconst renderedItem = (\n\t\t<ItemX {...linkParams} {...menuParams}>\n\t\t\t{icon}\n\t\t\t{item.text}\n\t\t</ItemX>\n\t);\n\n\treturn <RenderIfVisible component={renderedItem} item={item} />;\n}\n","export function RenderComponent({render, ...rest}: {render: (props: unknown) => JSX.Element | null}) {\n\treturn render(rest);\n}\n","import debug from 'debug';\nimport React from 'react';\nimport {Menu} from 'semantic-ui-react';\nimport type {MenuProps} from 'semantic-ui-react';\nimport type {Item} from '../types';\nimport {isCustomMenuItem} from '../types';\nimport {sortWeightedItems, splitHorizontalItems} from '../utils';\nimport {ItemBarItem} from './ItemBarItem';\nimport {RenderComponent} from './RenderComponent';\n\nconst d = debug('imperium.layout.components.ItemBar');\n\ninterface ItemBarProps extends MenuProps {\n\tname: string;\n\titems: Item[];\n\tsidebar?: boolean;\n}\n\nfunction mapItems(name: string, items: Item[], props: MenuProps) {\n\treturn items.map((item, index) => {\n\t\tif (isCustomMenuItem(item)) {\n\t\t\t// eslint-disable-next-line react/no-array-index-key\n\t\t\treturn <RenderComponent key={`${name}${index}`} render={item.render} />;\n\t\t}\n\t\t// eslint-disable-next-line react/no-array-index-key\n\t\treturn <ItemBarItem key={`${name}${item.text}${index}`} item={item} vertical={props.vertical} />;\n\t});\n}\n\nexport function ItemBar({name, items, ...rest}: ItemBarProps) {\n\tconst ims = splitHorizontalItems(items);\n\n\tconst left = mapItems(name, sortWeightedItems(ims.leftItems), rest);\n\tconst rightMappedItems = mapItems(name, sortWeightedItems(ims.rightItems), rest);\n\tconst right = rest.vertical ? rightMappedItems : <Menu.Menu position=\"right\">{rightMappedItems}</Menu.Menu>;\n\n\treturn (\n\t\t<Menu {...rest}>\n\t\t\t{left.length > 0 ? left : null}\n\t\t\t{ims.rightItems.length > 0 ? right : null}\n\t\t</Menu>\n\t);\n}\n","import debug from 'debug';\nimport React, {ReactNode, useState} from 'react';\nimport {Icon, Menu, Segment} from 'semantic-ui-react';\nimport {useLayoutState} from '../state';\nimport type {LayoutData} from '../types';\nimport {ItemBar} from './ItemBar';\nimport styles from './styles.css';\n\nconst d = debug('imperium.layout.components.Layout');\n\ninterface LayoutProps extends Required<LayoutData> {\n\tchildren?: ReactNode;\n}\n\nexport function Layout({footer, menubar, statusbar, sidebar, children}: LayoutProps) {\n\tconst {isMobile} = useLayoutState();\n\tconst [menuOpen, setMenuOpen] = useState(true);\n\n\tconst mobileSidebarToggle = {\n\t\tstickOnMobile: true,\n\t\tweight: -19999,\n\t\trender: () => {\n\t\t\tif (!isMobile) return null;\n\t\t\treturn (\n\t\t\t\t<Menu.Item>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={menuOpen ? styles.iconRotated : styles.icon}\n\t\t\t\t\t\tname={menuOpen ? 'close' : 'sidebar'}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetMenuOpen(!menuOpen);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Item>\n\t\t\t);\n\t\t},\n\t};\n\n\tconst menubarItems = isMobile ? [mobileSidebarToggle, ...menubar].filter(v => v.stickOnMobile === true) : [mobileSidebarToggle, ...menubar];\n\n\tconst sidebarItems = isMobile\n\t\t? [\n\t\t\t\t...sidebar,\n\t\t\t\t{\n\t\t\t\t\ttext: '',\n\t\t\t\t\tmenu: [mobileSidebarToggle, ...menubar].filter(v => v.stickOnMobile !== true),\n\t\t\t\t},\n\t\t ]\n\t\t: sidebar;\n\tconst sidebarComp =\n\t\tsidebarItems.length > 0 ? (\n\t\t\t<div>\n\t\t\t\t<ItemBar\n\t\t\t\t\tname=\"sidebar\"\n\t\t\t\t\titems={sidebarItems}\n\t\t\t\t\tinverted\n\t\t\t\t\tvertical\n\t\t\t\t\tclassName={isMobile && !menuOpen ? `${styles.sidebar} ${styles.sidebarHidden} imperiumSidebar` : `${styles.sidebar} imperiumSidebar`}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t) : null;\n\n\tconst footerItems = footer;\n\tconst footerComp =\n\t\tfooterItems.length > 0 ? <ItemBar name=\"footer\" items={footerItems} className={`${styles.footer} imperiumFooter`} inverted borderless /> : null;\n\n\tconst statusbarItems = statusbar;\n\tconst statusbarComp =\n\t\tstatusbarItems.length > 0 ? (\n\t\t\t<ItemBar name=\"statusbar\" items={statusbarItems} inverted className={`${styles.statusbar} imperiumStatusbar`} />\n\t\t) : null;\n\n\treturn (\n\t\t<div className={`${styles.parent} imperiumLayout`}>\n\t\t\t<div>\n\t\t\t\t<ItemBar name=\"menubar\" items={menubarItems} inverted borderless className={`${styles.menubar} imperiumMenubar`} />\n\t\t\t\t{statusbarComp}\n\t\t\t</div>\n\t\t\t<Segment attached className={`${styles.contentWrapper} imperiumContentWrapper`}>\n\t\t\t\t{sidebarComp}\n\t\t\t\t<div className={`${styles.content} imperiumContent`}>{children}</div>\n\t\t\t</Segment>\n\t\t\t{footerComp}\n\t\t</div>\n\t);\n}\n","import type {Hoc, ImperiumClient} from '@imperium/client';\nimport debug from 'debug';\nimport React, {ComponentType} from 'react';\nimport {DataHooks} from './components/DataHooks';\nimport {Layout} from './components/Layout';\nimport {isImperiumLayoutClientModule, LayoutData} from './types';\n\nconst d = debug('imperium.layout.withLayout');\n\nconst initialLayoutModuleData: Required<LayoutData> = {\n\tdataHooks: [],\n\tmenubar: [],\n\tstatusbar: [],\n\tsidebar: [],\n\tfooter: [],\n};\n\nexport function withLayout(client: ImperiumClient): Hoc {\n\tconst layoutModuleData = client.modules.reduce((memo, module) => {\n\t\tif (isImperiumLayoutClientModule(module)) {\n\t\t\treturn {\n\t\t\t\tdataHooks: [...(memo.dataHooks || []), ...(module.layout.dataHooks || [])],\n\t\t\t\tmenubar: [...(memo.menubar || []), ...(module.layout.menubar || [])],\n\t\t\t\tstatusbar: [...(memo.statusbar || []), ...(module.layout.statusbar || [])],\n\t\t\t\tsidebar: [...(memo.sidebar || []), ...(module.layout.sidebar || [])],\n\t\t\t\tfooter: [...(memo.footer || []), ...(module.layout.footer || [])],\n\t\t\t} as Required<LayoutData>;\n\t\t}\n\t\treturn memo;\n\t}, initialLayoutModuleData);\n\td('Layout items processed', layoutModuleData);\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\treturn function layoutHoc(Wrapped: ComponentType<any>) {\n\t\tconst displayName = Wrapped.displayName || Wrapped.name || '';\n\n\t\tfunction WithLayout(props: unknown) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<Layout {...layoutModuleData}>\n\t\t\t\t\t\t<Wrapped {...props} layout={layoutModuleData} />\n\t\t\t\t\t</Layout>\n\t\t\t\t\t<DataHooks dataHooks={layoutModuleData.dataHooks} />\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tWithLayout.displayName = `withLayout(${displayName})`;\n\n\t\treturn WithLayout;\n\t};\n}\n","import type {ImperiumStateClientModule} from '@imperium/state';\nimport {useMobileLayout} from './hooks/useMobileLayout';\nimport {state} from './state';\nimport type {ImperiumLayoutClientModule} from './types';\nimport {withLayout} from './withLayout';\n\nexport function layoutClientModule(): ImperiumStateClientModule & ImperiumLayoutClientModule {\n\treturn {\n\t\tname: '@imperium/layout',\n\t\torder: 30,\n\t\thocs: [withLayout],\n\t\tstate,\n\t\tlayout: {\n\t\t\tdataHooks: [useMobileLayout],\n\t\t},\n\t};\n}\n\nexport type {ImperiumLayoutClientModule, LayoutData} from './types';\nexport {useLayoutState, actions as layoutActions} from './state';\nexport {generateVisible} from './utils';\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","_i","_i2","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","require","state","createSlice","name","initialState","isMobile","reducers","setMobile","st","action","payload","useLayoutState","createSliceHook","actions","useMobileLayout","dispatch","useDispatch","useMediaQuery","query","useEffect","ExecuteDataHook","dataHook","DataHooks","dataHooks","hook","isDropdownMenuItem","dropdown","isMenuMenuItem","menu","sortWeightedItems","memoize","items","sortBy","v","weight","generateVisible","visDefinition","selectorHook","DropdownItemMenu","children","vertical","useState","open","setOpen","Menu","className","Accordion","fluid","styles","onClick","ev","stopPropagation","Icon","text","active","Dropdown","MenuItemMenu","compact","ExecuteSelectorHook","render","mergeLocationData","loc","router","path","pathname","split","hash","search","queryString","renderWithQuery","component","Query","test","RenderIfVisible","useLocation","visible","ItemBarItem","as","routeMatchObject","to","exact","sensitive","strict","useRouteMatch","icon","linkParams","Link","menuParams","link","ItemX","renderedItem","debug","RenderComponent","mapItems","props","ItemBar","rest","ims","reduce","position","leftItems","rightItems","splitHorizontalItems","left","rightMappedItems","right","Layout","footer","menubar","statusbar","sidebar","menuOpen","setMenuOpen","mobileSidebarToggle","stickOnMobile","menubarItems","filter","sidebarItems","sidebarComp","inverted","footerItems","footerComp","borderless","statusbarItems","statusbarComp","Segment","attached","initialLayoutModuleData","withLayout","client","layoutModuleData","layout","isImperiumLayoutClientModule","Wrapped","displayName","WithLayout","layoutClientModule","order","hocs"],"sourceRoot":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { SelectorHook } from '../types';
|
|
3
|
+
interface SelectorHookProps {
|
|
4
|
+
hook: SelectorHook<Record<string, unknown>>;
|
|
5
|
+
render: (data: Record<string, unknown>) => JSX.Element | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function ExecuteSelectorHook({ render, hook }: SelectorHookProps): JSX.Element | null;
|
|
8
|
+
export {};
|
|
@@ -5,5 +5,5 @@ interface ItemBarItemProps {
|
|
|
5
5
|
as?: React.ComponentClass;
|
|
6
6
|
vertical?: boolean;
|
|
7
7
|
}
|
|
8
|
-
export declare function ItemBarItem({ item, as, vertical }: ItemBarItemProps): JSX.Element
|
|
8
|
+
export declare function ItemBarItem({ item, as, vertical }: ItemBarItemProps): JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import type { LayoutData } from '../types';
|
|
3
|
-
interface LayoutProps extends LayoutData {
|
|
3
|
+
interface LayoutProps extends Required<LayoutData> {
|
|
4
4
|
children?: ReactNode;
|
|
5
5
|
}
|
|
6
6
|
export declare function Layout({ footer, menubar, statusbar, sidebar, children }: LayoutProps): JSX.Element;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ import type { ImperiumLayoutClientModule } from './types';
|
|
|
3
3
|
export declare function layoutClientModule(): ImperiumStateClientModule & ImperiumLayoutClientModule;
|
|
4
4
|
export type { ImperiumLayoutClientModule, LayoutData } from './types';
|
|
5
5
|
export { useLayoutState, actions as layoutActions } from './state';
|
|
6
|
+
export { generateVisible } from './utils';
|
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ImperiumClientModule } from '@imperium/client';
|
|
3
|
-
import type {
|
|
3
|
+
import type { Location } from 'history';
|
|
4
4
|
import type { SemanticICONS } from 'semantic-ui-react';
|
|
5
5
|
export declare type DataHook = () => void;
|
|
6
|
+
export declare type SelectorHook<T extends Record<string, unknown>> = () => T;
|
|
6
7
|
/**
|
|
7
8
|
* Describes an item with optional weight
|
|
8
9
|
*/
|
|
@@ -16,21 +17,30 @@ export interface HorizontalPositionedItem {
|
|
|
16
17
|
position?: 'left' | 'right';
|
|
17
18
|
stickOnMobile?: boolean;
|
|
18
19
|
}
|
|
19
|
-
export interface
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
export interface DefaultVisibilityData {
|
|
21
|
+
router: {
|
|
22
|
+
path: string[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export declare type VisibilityQueryField<T extends Record<string, unknown>> = Record<string, unknown> | ((data: T & DefaultVisibilityData) => boolean);
|
|
26
|
+
export interface VisibilityQuery<T extends Record<string, unknown>> {
|
|
27
|
+
query: VisibilityQueryField<T>;
|
|
28
|
+
selectorHook?: SelectorHook<T>;
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
24
31
|
* Describes an item that can be hide itself based on redux state
|
|
25
32
|
*/
|
|
26
33
|
export interface VisibilityItem {
|
|
27
|
-
visible?: VisibilityQuery
|
|
34
|
+
visible?: VisibilityQuery<any>;
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* Describes an item that links to a route
|
|
31
38
|
*/
|
|
32
39
|
export interface RouteItem {
|
|
33
|
-
to?: string;
|
|
40
|
+
to?: string | ((loc: Location) => string);
|
|
41
|
+
exact?: boolean;
|
|
42
|
+
strict?: boolean;
|
|
43
|
+
sensitive?: boolean;
|
|
34
44
|
}
|
|
35
45
|
/**
|
|
36
46
|
* Describes a basic weighted, possibly visible item
|
|
@@ -59,14 +69,14 @@ export interface CustomMenuItem extends WeightedItem, VisibilityItem {
|
|
|
59
69
|
*/
|
|
60
70
|
export declare type Item = ((BaseItem & RouteItem) | DropdownMenuItem | MenuMenuItem | CustomMenuItem) & HorizontalPositionedItem;
|
|
61
71
|
export interface LayoutData {
|
|
62
|
-
dataHooks
|
|
63
|
-
menubar
|
|
64
|
-
statusbar
|
|
65
|
-
sidebar
|
|
66
|
-
footer
|
|
72
|
+
dataHooks?: DataHook[];
|
|
73
|
+
menubar?: (Item & HorizontalPositionedItem)[];
|
|
74
|
+
statusbar?: (Item & HorizontalPositionedItem)[];
|
|
75
|
+
sidebar?: Item[];
|
|
76
|
+
footer?: (Item & HorizontalPositionedItem)[];
|
|
67
77
|
}
|
|
68
78
|
export interface ImperiumLayoutClientModule extends ImperiumClientModule {
|
|
69
|
-
layout:
|
|
79
|
+
layout: LayoutData;
|
|
70
80
|
}
|
|
71
81
|
export declare function isImperiumLayoutClientModule(module: ImperiumClientModule): module is ImperiumLayoutClientModule;
|
|
72
82
|
export declare function isDropdownMenuItem(value: any): value is DropdownMenuItem;
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
|
-
import type { HorizontalPositionedItem, WeightedItem } from './types';
|
|
2
|
+
import type { HorizontalPositionedItem, WeightedItem, VisibilityQuery } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Sorts weighted items
|
|
5
5
|
*/
|
|
@@ -12,3 +12,4 @@ export declare function splitHorizontalItems<T extends HorizontalPositionedItem>
|
|
|
12
12
|
leftItems: T[];
|
|
13
13
|
rightItems: T[];
|
|
14
14
|
};
|
|
15
|
+
export declare function generateVisible<T extends Record<string, unknown>>(visDefinition: VisibilityQuery<T>): VisibilityQuery<T>;
|