diff --git a/packages/panels/dist/index.js b/packages/panels/dist/index.js index b219a0d9b6..cab27a7d80 100644 --- a/packages/panels/dist/index.js +++ b/packages/panels/dist/index.js @@ -1 +1 @@ -(()=>{var ee=Object.create,q=Object.defineProperty,te=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty,ne=Object.getOwnPropertyNames,ae=Object.getOwnPropertyDescriptor,ie=r=>q(r,"__esModule",{value:!0}),se=(r,a)=>()=>(a||(a={exports:{}},r(a.exports,a)),a.exports),oe=(r,a,i)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of ne(a))!re.call(r,l)&&l!=="default"&&q(r,l,{get:()=>a[l],enumerable:!(i=ae(a,l))||i.enumerable});return r},fe=r=>oe(ie(q(r!=null?ee(te(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),le=se((r,a)=>{(function(i,l,b){if(!i)return;for(var d={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},g={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},w={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},x={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},S,y=1;y<20;++y)d[111+y]="f"+y;for(y=0;y<=9;++y)d[y+96]=y.toString();function C(e,t,s){if(e.addEventListener){e.addEventListener(t,s,!1);return}e.attachEvent("on"+t,s)}function G(e){if(e.type=="keypress"){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return d[e.which]?d[e.which]:g[e.which]?g[e.which]:String.fromCharCode(e.which).toLowerCase()}function R(e,t){return e.sort().join(",")===t.sort().join(",")}function F(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function J(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function B(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function E(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function W(){if(!S){S={};for(var e in d)e>95&&e<112||d.hasOwnProperty(e)&&(S[d[e]]=e)}return S}function X(e,t,s){return s||(s=W()[e]?"keydown":"keypress"),s=="keypress"&&t.length&&(s="keydown"),s}function Y(e){return e==="+"?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function T(e,t){var s,v,k,M=[];for(s=Y(e),k=0;k1){Q(n,m,f,p);return}u=T(n,p),t._callbacks[u.key]=t._callbacks[u.key]||[],U(u.key,u.modifiers,{type:u.action},o,n,c),t._callbacks[u.key][o?"unshift":"push"]({callback:f,modifiers:u.modifiers,action:u.action,seq:o,level:c,combo:n})}t._bindMultiple=function(n,f,p){for(var o=0;o-1||I(t,s.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var v=e.composedPath()[0];v!==e.target&&(t=v)}return t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.isContentEditable},h.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},h.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(d[t]=e[t]);S=null},h.init=function(){var e=h(l);for(var t in e)t.charAt(0)!=="_"&&(h[t]=function(s){return function(){return e[s].apply(e,arguments)}}(t))},h.init(),i.Mousetrap=h,typeof a<"u"&&a.exports&&(a.exports=h),typeof define=="function"&&define.amd&&define(function(){return h})})(typeof window<"u"?window:null,typeof window<"u"?document:null)}),N=fe(le());(function(r){if(r){var a={},i=r.prototype.stopCallback;r.prototype.stopCallback=function(l,b,d,g){var w=this;return w.paused?!0:a[d]||a[g]?!1:i.call(w,l,b,d)},r.prototype.bindGlobal=function(l,b,d){var g=this;if(g.bind(l,b,d),l instanceof Array){for(var w=0;w{r.directive("mousetrap",(a,{modifiers:i,expression:l},{evaluate:b})=>{let d=()=>l?b(l):a.click();i=i.map(g=>g.replace(/--/g," ").replace(/-/g,"+").replace(/\bslash\b/g,"/")),i.includes("global")&&(i=i.filter(g=>g!=="global"),N.default.bindGlobal(i,g=>{g.preventDefault(),d()})),N.default.bind(i,g=>{g.preventDefault(),d()})})},V=ue;var H=()=>({isOpen:window.Alpine.$persist(!1).as("isOpen"),collapsedGroups:window.Alpine.$persist(null).as("collapsedGroups"),groupIsCollapsed(r){return this.collapsedGroups.includes(r)},collapseGroup(r){this.collapsedGroups.includes(r)||(this.collapsedGroups=this.collapsedGroups.concat(r))},toggleCollapsedGroup(r){this.collapsedGroups=this.collapsedGroups.includes(r)?this.collapsedGroups.filter(a=>a!==r):this.collapsedGroups.concat(r)},close(){this.isOpen=!1},open(){this.isOpen=!0}});document.addEventListener("alpine:init",()=>{let r=localStorage.getItem("theme")??getComputedStyle(document.documentElement).getPropertyValue("--default-theme-mode");window.Alpine.store("theme",r==="dark"||r==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("theme-changed",a=>{let i=a.detail;localStorage.setItem("theme",i),i==="system"&&(i=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.Alpine.store("theme",i)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",a=>{localStorage.getItem("theme")==="system"&&window.Alpine.store("theme",a.matches?"dark":"light")}),window.Alpine.effect(()=>{window.Alpine.store("theme")==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")})});document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{let r=document.querySelector(".fi-main-sidebar .fi-sidebar-item.fi-active");if((!r||r.offsetParent===null)&&(r=document.querySelector(".fi-main-sidebar .fi-sidebar-group.fi-active")),!r||r.offsetParent===null)return;let a=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");a&&a.scrollTo(0,r.offsetTop-window.innerHeight/2)},10)});window.setUpUnsavedDataChangesAlert=({body:r,livewireComponent:a,$wire:i})=>{window.addEventListener("beforeunload",l=>{window.jsMd5(JSON.stringify(i.data).replace(/\\/g,""))===i.savedDataHash||i?.__instance?.effects?.redirect||(l.preventDefault(),l.returnValue=!0)})};window.setUpSpaModeUnsavedDataChangesAlert=({body:r,resolveLivewireComponentUsing:a,$wire:i})=>{let l=()=>i?.__instance?.effects?.redirect?!1:window.jsMd5(JSON.stringify(i.data).replace(/\\/g,""))!==i.savedDataHash,b=()=>confirm(r);document.addEventListener("livewire:navigate",d=>{if(typeof a()<"u"){if(!l()||b())return;d.preventDefault()}}),window.addEventListener("beforeunload",d=>{l()&&(d.preventDefault(),d.returnValue=!0)})};window.setUpUnsavedActionChangesAlert=({resolveLivewireComponentUsing:r,$wire:a})=>{window.addEventListener("beforeunload",i=>{if(!(typeof r()>"u")&&(a.mountedActions?.length??0)&&!a?.__instance?.effects?.redirect){i.preventDefault(),i.returnValue=!0;return}})};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(V),window.Alpine.store("sidebar",H())});})(); +(()=>{var ee=Object.create,q=Object.defineProperty,te=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty,ne=Object.getOwnPropertyNames,ie=Object.getOwnPropertyDescriptor,ae=r=>q(r,"__esModule",{value:!0}),se=(r,n)=>()=>(n||(n={exports:{}},r(n.exports,n)),n.exports),oe=(r,n,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let f of ne(n))!re.call(r,f)&&f!=="default"&&q(r,f,{get:()=>n[f],enumerable:!(a=ie(n,f))||a.enumerable});return r},fe=r=>oe(ae(q(r!=null?ee(te(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),le=se((r,n)=>{(function(a,f,g){if(!a)return;for(var c={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},w={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},y={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},x={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},P,b=1;b<20;++b)c[111+b]="f"+b;for(b=0;b<=9;++b)c[b+96]=b.toString();function S(e,t,s){if(e.addEventListener){e.addEventListener(t,s,!1);return}e.attachEvent("on"+t,s)}function G(e){if(e.type=="keypress"){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return c[e.which]?c[e.which]:w[e.which]?w[e.which]:String.fromCharCode(e.which).toLowerCase()}function R(e,t){return e.sort().join(",")===t.sort().join(",")}function H(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function z(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function F(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function C(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function J(){if(!P){P={};for(var e in c)e>95&&e<112||c.hasOwnProperty(e)&&(P[c[e]]=e)}return P}function B(e,t,s){return s||(s=J()[e]?"keydown":"keypress"),s=="keypress"&&t.length&&(s="keydown"),s}function X(e){return e==="+"?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function T(e,t){var s,h,k,A=[];for(s=X(e),k=0;k1){Q(i,m,l,p);return}u=T(i,p),t._callbacks[u.key]=t._callbacks[u.key]||[],U(u.key,u.modifiers,{type:u.action},o,i,d),t._callbacks[u.key][o?"unshift":"push"]({callback:l,modifiers:u.modifiers,action:u.action,seq:o,level:d,combo:i})}t._bindMultiple=function(i,l,p){for(var o=0;o-1||I(t,s.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var h=e.composedPath()[0];h!==e.target&&(t=h)}return t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.isContentEditable},v.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},v.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(c[t]=e[t]);P=null},v.init=function(){var e=v(f);for(var t in e)t.charAt(0)!=="_"&&(v[t]=function(s){return function(){return e[s].apply(e,arguments)}}(t))},v.init(),a.Mousetrap=v,typeof n<"u"&&n.exports&&(n.exports=v),typeof define=="function"&&define.amd&&define(function(){return v})})(typeof window<"u"?window:null,typeof window<"u"?document:null)}),j=fe(le());(function(r){if(r){var n={},a=r.prototype.stopCallback;r.prototype.stopCallback=function(f,g,c,w){var y=this;return y.paused?!0:n[c]||n[w]?!1:a.call(y,f,g,c)},r.prototype.bindGlobal=function(f,g,c){var w=this;if(w.bind(f,g,c),f instanceof Array){for(var y=0;y{r.directive("mousetrap",(n,{modifiers:a,expression:f},{evaluate:g})=>{let c=()=>f?g(f):n.click();a=a.map(w=>w.replace(/--/g," ").replace(/-/g,"+").replace(/\bslash\b/g,"/")),a.includes("global")&&(a=a.filter(w=>w!=="global"),j.default.bindGlobal(a,w=>{w.preventDefault(),c()})),j.default.bind(a,w=>{w.preventDefault(),c()})})},N=ue;var V=()=>({isOpen:window.Alpine.$persist(!0).as("isOpen"),isOpenDesktop:window.Alpine.$persist(!0).as("isOpenDesktop"),collapsedGroups:window.Alpine.$persist(null).as("collapsedGroups"),init(){let r=window.innerWidth;new ResizeObserver(()=>{let a=window.innerWidth,f=r>=1024,g=a<1024,c=a>=1024;f&&g?(this.isOpenDesktop=this.isOpen,this.isOpen&&this.close()):!f&&c&&(this.isOpen=this.isOpenDesktop),r=a}).observe(document.body),window.innerWidth<1024?this.isOpen&&(this.isOpenDesktop=!0,this.close()):this.isOpenDesktop=this.isOpen},groupIsCollapsed(r){return this.collapsedGroups.includes(r)},collapseGroup(r){this.collapsedGroups.includes(r)||(this.collapsedGroups=this.collapsedGroups.concat(r))},toggleCollapsedGroup(r){this.collapsedGroups=this.collapsedGroups.includes(r)?this.collapsedGroups.filter(n=>n!==r):this.collapsedGroups.concat(r)},close(){this.isOpen=!1,window.innerWidth>=1024&&(this.isOpenDesktop=!1)},open(){this.isOpen=!0,window.innerWidth>=1024&&(this.isOpenDesktop=!0)}});document.addEventListener("alpine:init",()=>{let r=localStorage.getItem("theme")??getComputedStyle(document.documentElement).getPropertyValue("--default-theme-mode");window.Alpine.store("theme",r==="dark"||r==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("theme-changed",n=>{let a=n.detail;localStorage.setItem("theme",a),a==="system"&&(a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.Alpine.store("theme",a)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{localStorage.getItem("theme")==="system"&&window.Alpine.store("theme",n.matches?"dark":"light")}),window.Alpine.effect(()=>{window.Alpine.store("theme")==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")})});document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{let r=document.querySelector(".fi-main-sidebar .fi-sidebar-item.fi-active");if((!r||r.offsetParent===null)&&(r=document.querySelector(".fi-main-sidebar .fi-sidebar-group.fi-active")),!r||r.offsetParent===null)return;let n=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");n&&n.scrollTo(0,r.offsetTop-window.innerHeight/2)},10)});window.setUpUnsavedDataChangesAlert=({body:r,livewireComponent:n,$wire:a})=>{window.addEventListener("beforeunload",f=>{window.jsMd5(JSON.stringify(a.data).replace(/\\/g,""))===a.savedDataHash||a?.__instance?.effects?.redirect||(f.preventDefault(),f.returnValue=!0)})};window.setUpSpaModeUnsavedDataChangesAlert=({body:r,resolveLivewireComponentUsing:n,$wire:a})=>{let f=()=>a?.__instance?.effects?.redirect?!1:window.jsMd5(JSON.stringify(a.data).replace(/\\/g,""))!==a.savedDataHash,g=()=>confirm(r);document.addEventListener("livewire:navigate",c=>{if(typeof n()<"u"){if(!f()||g())return;c.preventDefault()}}),window.addEventListener("beforeunload",c=>{f()&&(c.preventDefault(),c.returnValue=!0)})};window.setUpUnsavedActionChangesAlert=({resolveLivewireComponentUsing:r,$wire:n})=>{window.addEventListener("beforeunload",a=>{if(!(typeof r()>"u")&&(n.mountedActions?.length??0)&&!n?.__instance?.effects?.redirect){a.preventDefault(),a.returnValue=!0;return}})};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(N),window.Alpine.store("sidebar",V())});})(); diff --git a/packages/panels/resources/js/stores/sidebar.js b/packages/panels/resources/js/stores/sidebar.js index dc73036725..0c445eaf56 100644 --- a/packages/panels/resources/js/stores/sidebar.js +++ b/packages/panels/resources/js/stores/sidebar.js @@ -1,8 +1,48 @@ +const breakpoint = 1024 + export default () => ({ - isOpen: window.Alpine.$persist(false).as('isOpen'), + isOpen: window.Alpine.$persist(true).as('isOpen'), + isOpenDesktop: window.Alpine.$persist(true).as('isOpenDesktop'), collapsedGroups: window.Alpine.$persist(null).as('collapsedGroups'), + init() { + let previousWidth = window.innerWidth + + const resizeObserver = new ResizeObserver(() => { + const currentWidth = window.innerWidth + const wasDesktop = previousWidth >= breakpoint + const isMobile = currentWidth < breakpoint + const isDesktop = currentWidth >= breakpoint + + // Resize desktop to mobile + if (wasDesktop && isMobile) { + this.isOpenDesktop = this.isOpen + + if (this.isOpen) { + this.close() + } + } + // Resize mobile to desktop + else if (!wasDesktop && isDesktop) { + this.isOpen = this.isOpenDesktop + } + + previousWidth = currentWidth + }) + + resizeObserver.observe(document.body) + + if (window.innerWidth < breakpoint) { + if (this.isOpen) { + this.isOpenDesktop = true + this.close() + } + } else { + this.isOpenDesktop = this.isOpen + } + }, + groupIsCollapsed(group) { return this.collapsedGroups.includes(group) }, @@ -25,9 +65,17 @@ export default () => ({ close() { this.isOpen = false + + if (window.innerWidth >= breakpoint) { + this.isOpenDesktop = false + } }, open() { this.isOpen = true + + if (window.innerWidth >= breakpoint) { + this.isOpenDesktop = true + } }, })