diff --git a/manifest-firefox.json b/manifest-firefox.json index 4480d62..ea67790 100644 --- a/manifest-firefox.json +++ b/manifest-firefox.json @@ -3,7 +3,7 @@ "manifest_version": 3, "name": "__MSG_appName__", "description": "__MSG_appDesc__", - "version": "3.11.4", + "version": "3.11.5", "default_locale": "nl", "icons": { "16": "icons/icon@16px.png", diff --git a/manifest.json b/manifest.json index e68dde9..7c3a6a4 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "manifest_version": 3, "name": "__MSG_appName__", "description": "__MSG_appDesc__", - "version": "3.11.4", + "version": "3.11.5", "default_locale": "nl", "icons": { "16": "icons/icon@16px.png", diff --git a/popup/dist/assets/index-CFAfwAOA.js b/popup/dist/assets/index-DmvJ8t9n.js similarity index 86% rename from popup/dist/assets/index-CFAfwAOA.js rename to popup/dist/assets/index-DmvJ8t9n.js index f0d617b..436cae9 100644 --- a/popup/dist/assets/index-CFAfwAOA.js +++ b/popup/dist/assets/index-DmvJ8t9n.js @@ -25,4 +25,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cs(u,d){var m=u==null?null:typeof Symbol<"u"&&u[Symbol.iterator]||u["@@iterator"];if(m!=null){var _,N,oe=[],le=!0,Fe=!1;try{for(m=m.call(u);!(le=(_=m.next()).done)&&(oe.push(_.value),!(d&&oe.length===d));le=!0);}catch(fe){Fe=!0,N=fe}finally{try{le||m.return==null||m.return()}finally{if(Fe)throw N}}return oe}}function lo(u){if(Array.isArray(u))return u}function us(u,d){var m=Object.keys(u);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(u);d&&(_=_.filter(function(N){return Object.getOwnPropertyDescriptor(u,N).enumerable})),m.push.apply(m,_)}return m}function ut(u){for(var d=1;du.length)&&(d=u.length);for(var m=0,_=new Array(d);mthis.total&&(d=this.total),this.data?this.data[d]:new Le(d).multiply(this.interval).plus(this.min).toNumber()}},{key:"setDotPos",value:function(d,m){d=this.getValidPos(d,m).pos;var _=d-this.dotsPos[m];if(_){var N=new Array(this.dotsPos.length);this.fixed?N=this.getFixedChangePosArr(_,m):this.minRange||this.maxRange?N=this.getLimitRangeChangePosArr(d,_,m):N[m]=_,this.setDotsPos(this.dotsPos.map(function(oe,le){return oe+(N[le]||0)}))}}},{key:"getFixedChangePosArr",value:function(d,m){var _=this;return this.dotsPos.forEach(function(N,oe){if(oe!==m){var le=_.getValidPos(N+d,oe),Fe=le.pos,fe=le.inRange;fe||(d=Math.min(Math.abs(Fe-N),Math.abs(d))*(d<0?-1:1))}}),this.dotsPos.map(function(N){return d})}},{key:"getLimitRangeChangePosArr",value:function(d,m,_){var N=this,oe=[{index:_,changePos:m}],le=m;return[this.minRange,this.maxRange].forEach(function(Fe,fe){if(!Fe)return!1;var Me=fe===0,Ke=m>0,In=0;In=Me?Ke?1:-1:Ke?-1:1;for(var wa=function(Sa,Ca){var Ar=Math.abs(Sa-Ca);return Me?ArN.maxRangeDir},Mn=_+In,Nn=N.dotsPos[Mn],br=d;N.isPos(Nn)&&wa(Nn,br);){var xa=N.getValidPos(Nn+le,Mn),_r=xa.pos;oe.push({index:Mn,changePos:_r-Nn}),Mn+=In,br=_r,Nn=N.dotsPos[Mn]}}),this.dotsPos.map(function(Fe,fe){var Me=oe.filter(function(Ke){return Ke.index===fe});return Me.length?Me[0].changePos:0})}},{key:"isPos",value:function(d){return typeof d=="number"}},{key:"getValidPos",value:function(d,m){var _=this.valuePosRange[m],N=!0;return d<_[0]?(d=_[0],N=!1):d>_[1]&&(d=_[1],N=!1),{pos:d,inRange:N}}},{key:"parseValue",value:function(d){if(this.data)d=this.data.indexOf(d);else if(typeof d=="number"||typeof d=="string"){if(d=+d,dthis.max)return this.emitError(_e.MAX),0;if(typeof d!="number"||d!==d)return this.emitError(_e.VALUE),0;d=new Le(d).minus(this.min).divide(this.interval).toNumber()}var m=new Le(d).multiply(this.gap).toNumber();return m<0?0:m>100?100:m}},{key:"parsePos",value:function(d){var m=Math.round(d/this.gap);return this.getValueByIndex(m)}},{key:"isActiveByPos",value:function(d){return this.processArray.some(function(m){var _=De(m,2),N=_[0],oe=_[1];return d>=N&&d<=oe})}},{key:"getValues",value:function(){if(this.data)return this.data;for(var d=[],m=0;m<=this.total;m++)d.push(new Le(m).multiply(this.interval).plus(this.min).toNumber());return d}},{key:"getRangeDir",value:function(d){return d?new Le(d).divide(new Le(this.data?this.data.length-1:this.max).minus(this.data?0:this.min).toNumber()).multiply(100).toNumber():100}},{key:"emitError",value:function(d){this.onError&&this.onError(d,R[d])}},{key:"processArray",get:function(){if(this.process){if(typeof this.process=="function")return this.process(this.dotsPos);if(this.dotsPos.length===1)return[[0,this.dotsPos[0]]];if(this.dotsPos.length>1)return[[Math.min.apply(Math,mt(this.dotsPos)),Math.max.apply(Math,mt(this.dotsPos))]]}return[]}},{key:"total",get:function(){var d=0;return d=this.data?this.data.length-1:new Le(this.max).minus(this.min).divide(this.interval).toNumber(),d-Math.floor(d)!==0?(this.emitError(_e.INTERVAL),0):d}},{key:"gap",get:function(){return 100/this.total}},{key:"minRangeDir",get:function(){return this.cacheRangeDir[this.minRange]?this.cacheRangeDir[this.minRange]:this.cacheRangeDir[this.minRange]=this.getRangeDir(this.minRange)}},{key:"maxRangeDir",get:function(){return this.cacheRangeDir[this.maxRange]?this.cacheRangeDir[this.maxRange]:this.cacheRangeDir[this.maxRange]=this.getRangeDir(this.maxRange)}},{key:"getDotRange",value:function(d,m,_){if(!this.dotOptions)return _;var N=Array.isArray(this.dotOptions)?this.dotOptions[d]:this.dotOptions;return N&&N[m]!==void 0?this.parseValue(N[m]):_}},{key:"valuePosRange",get:function(){var d=this,m=this.dotsPos,_=[];return m.forEach(function(N,oe){_.push([Math.max(d.minRange?d.minRangeDir*oe:0,d.enableCross?0:m[oe-1]||0,d.getDotRange(oe,"min",0)),Math.min(d.minRange?100-d.minRangeDir*(m.length-1-oe):100,d.enableCross?100:m[oe+1]||100,d.getDotRange(oe,"max",100))])}),_}},{key:"dotsIndex",get:function(){var d=this;return this.dotsValue.map(function(m){return d.getIndexByValue(m)})}}]),u}();function Z(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}function j(u,d){for(var m=0;mu.length)&&(d=u.length);for(var m=0,_=new Array(d);m-1}},width:{type:[Number,String]},height:{type:[Number,String]},dotSize:{type:[Number,Array],default:14},contained:{type:Boolean,default:!1},min:{type:Number,default:0},max:{type:Number,default:100},interval:{type:Number,default:1},disabled:{type:Boolean,default:!1},clickable:{type:Boolean,default:!0},dragOnClick:{type:Boolean,default:!1},duration:{type:Number,default:.5},data:{type:[Object,Array]},dataValue:{type:String,default:"value"},dataLabel:{type:String,default:"label"},lazy:{type:Boolean,default:!1},tooltip:{type:String,default:"active",validator:function(u){return["none","always","focus","hover","active"].indexOf(u)>-1}},tooltipPlacement:{type:[String,Array],validator:function(u){return(Array.isArray(u)?u:[u]).every(function(d){return["top","right","bottom","left"].indexOf(d)>-1})}},tooltipFormatter:{type:[String,Array,Function]},useKeyboard:{type:Boolean,default:!0},keydownHook:{type:Function},enableCross:{type:Boolean,default:!0},fixed:{type:Boolean,default:!1},order:{type:Boolean,default:!0},minRange:{type:Number},maxRange:{type:Number},marks:{type:[Boolean,Object,Array,Function],default:!1},process:{type:[Boolean,Function],default:!0},zoom:{type:Number},included:{type:Boolean},adsorb:{type:Boolean},hideLabel:{type:Boolean},dotOptions:{type:[Object,Array]},dotAttrs:{type:Object},railStyle:{type:Object},processStyle:{type:Object},dotStyle:{type:Object},tooltipStyle:{type:Object},stepStyle:{type:Object},stepActiveStyle:{type:Object},labelStyle:{type:Object},labelActiveStyle:{type:Object}},computed:{isHorizontal:function(){return this.direction==="ltr"||this.direction==="rtl"},isReverse:function(){return this.direction==="rtl"||this.direction==="btt"},tailSize:function(){return D((this.isHorizontal?this.height:this.width)||ao)},containerClasses:function(){return["vue-slider",["vue-slider-".concat(this.direction)],{"vue-slider-disabled":this.disabled}]},containerStyles:function(){var u=Array.isArray(this.dotSize)?this.dotSize:[this.dotSize,this.dotSize],d=vt(u,2),m=d[0],_=d[1],N=this.width?D(this.width):this.isHorizontal?"auto":D(ao),oe=this.height?D(this.height):this.isHorizontal?D(ao):"auto";return{padding:this.contained?"".concat(_/2,"px ").concat(m/2,"px"):this.isHorizontal?"".concat(_/2,"px 0"):"0 ".concat(m/2,"px"),width:N,height:oe}},processArray:function(){var u=this;return this.control.processArray.map(function(d,m){var _,N=vt(d,3),oe=N[0],le=N[1],Fe=N[2];if(oe>le){var fe=[le,oe];oe=fe[0],le=fe[1]}var Me=u.isHorizontal?"width":"height";return{start:oe,end:le,index:m,style:Ee(Ee((_={},Te(_,u.isHorizontal?"height":"width","100%"),Te(_,u.isHorizontal?"top":"left",0),Te(_,u.mainDirection,"".concat(oe,"%")),Te(_,Me,"".concat(le-oe,"%")),Te(_,"transitionProperty","".concat(Me,",").concat(u.mainDirection)),Te(_,"transitionDuration","".concat(u.animateTime,"s")),_),u.processStyle),Fe)}})},dotBaseStyle:function(){var u,d=Array.isArray(this.dotSize)?this.dotSize:[this.dotSize,this.dotSize],m=vt(d,2),_=m[0],N=m[1];return u=this.isHorizontal?Te({transform:"translate(".concat(this.isReverse?"50%":"-50%",", -50%)"),WebkitTransform:"translate(".concat(this.isReverse?"50%":"-50%",", -50%)"),top:"50%"},this.direction==="ltr"?"left":"right","0"):Te({transform:"translate(-50%, ".concat(this.isReverse?"50%":"-50%",")"),WebkitTransform:"translate(-50%, ".concat(this.isReverse?"50%":"-50%",")"),left:"50%"},this.direction==="btt"?"bottom":"top","0"),Ee({width:"".concat(_,"px"),height:"".concat(N,"px")},u)},mainDirection:function(){switch(this.direction){case"ltr":return"left";case"rtl":return"right";case"btt":return"bottom";case"ttb":return"top";default:return"left"}},tooltipDirections:function(){var u=this.tooltipPlacement||(this.isHorizontal?"top":"left");return Array.isArray(u)?u:this.dots.map(function(){return u})},dots:function(){var u=this;return this.control.dotsPos.map(function(d,m){return Ee({pos:d,index:m,value:u.control.dotsValue[m],focus:u.states.has(Ve.Focus)&&u.focusDotIndex===m,disabled:u.disabled,style:u.dotStyle},(Array.isArray(u.dotOptions)?u.dotOptions[m]:u.dotOptions)||{})})},animateTime:function(){return this.states.has(Ve.Drag)?0:this.duration},canSort:function(){return this.order&&!this.minRange&&!this.maxRange&&!this.fixed&&this.enableCross},sliderData:function(){var u=this;return this.isObjectArrayData(this.data)?this.data.map(function(d){return d[u.dataValue]}):this.isObjectData(this.data)?Object.keys(this.data):this.data},sliderMarks:function(){var u=this;return this.marks?this.marks:this.isObjectArrayData(this.data)?function(d){var m={label:d};return u.data.some(function(_){return _[u.dataValue]===d&&(m.label=_[u.dataLabel],!0)}),m}:this.isObjectData(this.data)?this.data:void 0},sliderTooltipFormatter:function(){var u=this;if(this.tooltipFormatter)return this.tooltipFormatter;if(this.isObjectArrayData(this.data))return function(m){var _=""+m;return u.data.some(function(N){return N[u.dataValue]===m&&(_=N[u.dataLabel],!0)}),_};if(this.isObjectData(this.data)){var d=this.data;return function(m){return d[m]}}},isNotSync:function(){var u=this.control.dotsValue;return Array.isArray(this.modelValue)?this.modelValue.length!==u.length||this.modelValue.some(function(d,m){return d!==u[m]}):this.modelValue!==u[0]},dragRange:function(){var u=this.dots[this.focusDotIndex-1],d=this.dots[this.focusDotIndex+1];return[u?u.pos:-1/0,d?d.pos:1/0]}},watch:{modelValue:function(){this.control&&!this.states.has(Ve.Drag)&&this.isNotSync&&this.control.setValue(this.modelValue)}},methods:{isObjectData:function(u){return!!u&&Object.prototype.toString.call(u)==="[object Object]"},isObjectArrayData:function(u){return!!u&&Array.isArray(u)&&u.length>0&&Ae(u[0])==="object"},bindEvent:function(){document.addEventListener("touchmove",this.dragMove,{passive:!1}),document.addEventListener("touchend",this.dragEnd,{passive:!1}),document.addEventListener("mousedown",this.blurHandle),document.addEventListener("mousemove",this.dragMove),document.addEventListener("mouseup",this.dragEnd),document.addEventListener("mouseleave",this.dragEnd),document.addEventListener("keydown",this.keydownHandle)},unbindEvent:function(){document.removeEventListener("touchmove",this.dragMove),document.removeEventListener("touchend",this.dragEnd),document.removeEventListener("mousedown",this.blurHandle),document.removeEventListener("mousemove",this.dragMove),document.removeEventListener("mouseup",this.dragEnd),document.removeEventListener("mouseleave",this.dragEnd),document.removeEventListener("keydown",this.keydownHandle)},setScale:function(){this.scale=new Le(Math.floor(this.isHorizontal?this.$el.offsetWidth:this.$el.offsetHeight)).multiply(this.zoom||1).divide(100).toNumber()},initControl:function(){var u=this;this.control=new B({value:this.modelValue,data:this.sliderData,enableCross:this.enableCross,fixed:this.fixed,max:this.max,min:this.min,interval:this.interval,minRange:this.minRange,maxRange:this.maxRange,order:this.order,marks:this.sliderMarks,included:this.included,process:this.process,adsorb:this.adsorb,dotOptions:this.dotOptions,onError:this.emitError}),["data","enableCross","fixed","max","min","interval","minRange","maxRange","order","marks","process","adsorb","included","dotOptions"].forEach(function(d){u.$watch(d,function(m){if(d==="data"&&Array.isArray(u.control.data)&&Array.isArray(m)&&u.control.data.length===m.length&&m.every(function(_,N){return _===u.control.data[N]}))return!1;switch(d){case"data":case"dataLabel":case"dataValue":u.control.data=u.sliderData;break;case"mark":u.control.marks=u.sliderMarks;break;default:u.control[d]=m}["data","max","min","interval"].indexOf(d)>-1&&u.control.syncDotsPos()})})},syncValueByPos:function(){var u=this.control.dotsValue;if(this.isDiff(u,Array.isArray(this.modelValue)?this.modelValue:[this.modelValue])){var d=u.length===1?u[0]:ie(u);this.$emit("change",d,this.focusDotIndex),this.$emit("update:modelValue",d)}},isDiff:function(u,d){return u.length!==d.length||u.some(function(m,_){return m!==d[_]})},emitError:function(u,d){this.silent||console.error("[VueSlider error]: ".concat(d)),this.$emit("error",u,d)},dragStartOnProcess:function(u){if(this.dragOnClick){this.setScale();var d=this.getPosByEvent(u),m=this.control.getRecentDot(d);if(this.dots[m].disabled)return;this.dragStart(m),this.control.setDotPos(d,this.focusDotIndex),this.lazy||this.syncValueByPos()}},dragStart:function(u){this.focusDotIndex=u,this.setScale(),this.states.add(Ve.Drag),this.states.add(Ve.Focus),this.$emit("drag-start",this.focusDotIndex)},dragMove:function(u){if(!this.states.has(Ve.Drag))return!1;u.preventDefault();var d=this.getPosByEvent(u);this.isCrossDot(d),this.control.setDotPos(d,this.focusDotIndex),this.lazy||this.syncValueByPos();var m=this.control.dotsValue;this.$emit("dragging",m.length===1?m[0]:ie(m),this.focusDotIndex)},isCrossDot:function(u){if(this.canSort){var d=this.focusDotIndex,m=u;if(m>this.dragRange[1]?(m=this.dragRange[1],this.focusDotIndex++):m1&&arguments[1]!==void 0?arguments[1]:0;u.disabled||(this.states.add(Ve.Focus),this.focusDotIndex=d)},blur:function(){this.states.delete(Ve.Focus)},getValue:function(){var u=this.control.dotsValue;return u.length===1?u[0]:u},getIndex:function(){var u=this.control.dotsIndex;return u.length===1?u[0]:u},setValue:function(u){this.control.setValue(Array.isArray(u)?ie(u):[u]),this.syncValueByPos()},setIndex:function(u){var d=this,m=Array.isArray(u)?u.map(function(_){return d.control.getValueByIndex(_)}):this.control.getValueByIndex(u);this.setValue(m)},setValueByPos:function(u){var d=this,m=this.control.getRecentDot(u);if(this.disabled||this.dots[m].disabled)return!1;this.focusDotIndex=m,this.control.setDotPos(u,m),this.syncValueByPos(),this.useKeyboard&&this.states.add(Ve.Focus),setTimeout(function(){d.included&&d.isNotSync?d.control.setValue(d.modelValue):d.control.syncDotsPos()})},keydownHandle:function(u){var d=this;if(!this.useKeyboard||!this.states.has(Ve.Focus))return!1;var m=this.included&&this.marks,_=L(u,{direction:this.direction,max:m?this.control.markList.length-1:this.control.total,min:0,hook:this.keydownHook});if(_){u.preventDefault();var N=-1,oe=0;m?(this.control.markList.some(function(le,Fe){return le.value===d.control.dotsValue[d.focusDotIndex]&&(N=_(Fe),!0)}),N<0?N=0:N>this.control.markList.length-1&&(N=this.control.markList.length-1),oe=this.control.markList[N].pos):(N=_(this.control.getIndexByValue(this.control.dotsValue[this.focusDotIndex])),oe=this.control.parseValue(this.control.getValueByIndex(N))),this.isCrossDot(oe),this.control.setDotPos(oe,this.focusDotIndex),this.syncValueByPos()}},getPosByEvent:function(u){return C(u,this.$el,this.isReverse,this.zoom)[this.isHorizontal?"x":"y"]/this.scale},renderSlot:function(u,d,m){var _=this.$slots[u];return _?_(d):m}},created:function(){this.initControl()},mounted:function(){this.bindEvent()},beforeUnmount:function(){this.unbindEvent()}}),co=(0,T.Z)(Aa,[["render",g]]);co.VueSliderMark=P,co.VueSliderDot=x;var ka=co,za=ka}(),i=i.default,i}()})})(ma);var N1=ma.exports;const va=D1(N1),L1={class:"setting slider"},j1={class:"setting-title"},B1={class:"setting-subtitle"},F1={__name:"SlideInput",props:["modelValue","id","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(i){s("update:modelValue",i)}});function r(i){let l=n.setting.decimals||0;if(!n.setting.format)return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l});switch(n.setting.format){case"percent":return Number(i).toLocaleString("nl-NL",{style:"percent",minimumFractionDigits:l,maximumFractionDigits:l});default:return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l})+n.setting.format}}return(i,l)=>(F(),X("div",L1,[k("div",null,[k("h3",j1,[ge(i.$slots,"title")]),k("span",B1,[ge(i.$slots,"subtitle")])]),U(be(va),{min:e.setting.min,max:e.setting.max,interval:e.setting.step,duration:.2,"tooltip-formatter":c=>r(c),"tooltip-style":{},modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=c=>o.value=c),modelModifiers:{lazy:!0}},null,8,["min","max","interval","tooltip-formatter","modelValue"])]))}},U1=["active"],H1=["data-visible","data-state"],Pn={__name:"BottomSheet",props:["active","handle"],emits:["update:active"],setup(e,{emit:t}){const n=e,s=t,o=ce("hidden"),r=()=>{o.value="hiding",setTimeout(()=>{s("update:active",!1),o.value="hidden"},200)};return _t(()=>n.active,async i=>{i===!0?(o.value="showing",setTimeout(()=>{o.value="shown"},300)):(o.value="hiding",setTimeout(()=>{s("update:active",!1),o.value="hidden"},200))}),(i,l)=>(F(),X(ve,null,[o.value!=="hidden"?(F(),X("div",{key:0,class:"scrim",active:o.value==="shown"||o.value==="showing",onClick:r},null,8,U1)):Ze("",!0),o.value!=="hidden"?(F(),X("div",{key:1,class:"bottom-sheet","data-visible":o.value!=="hidden","data-state":o.value},[e.handle?(F(),X("div",{key:0,class:"bottom-sheet-handle",onClick:r})):Ze("",!0),ge(i.$slots,"content")],8,H1)):Ze("",!0)],64))}},io=e=>(Gt("data-v-ca1a65f6"),e=e(),qt(),e),K1={class:"color-maker"},W1=io(()=>k("br",null,null,-1)),G1=io(()=>k("br",null,null,-1)),q1={class:"col-right"},Z1={key:0,class:"swatches"},X1=["title","onClick"],Y1={class:"flex"},J1=io(()=>k("span",null,"Gereed",-1)),Q1=[J1],ef=io(()=>k("span",null,"Pipet",-1)),tf={__name:"ColorWheelSheet",props:["modelValue","pickerOpen","swatches"],emits:["update:modelValue","update:pickerOpen"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return typeof n.modelValue=="string"?{h:n.modelValue.split()[0],s:n.modelValue.split()[1],l:n.modelValue.split()[2]}:n.modelValue},set(z){typeof n.modelValue=="string"?s("update:modelValue",z.join(",")):s("update:modelValue",z)}}),r=he({get(){return n.pickerOpen||!1},set(z){s("update:pickerOpen",z)}}),i=ce(null),l=ce(null),c=ce(null),f=Ao({target:i}),a=Ao({target:l}),h=Ao({target:c}),{isSupported:p,open:g,sRGBHex:A}=s1();function V(z){if(z.type==="mousemove"&&!f.pressed.value)return;const w=z.currentTarget.getBoundingClientRect(),E=z.clientX-w.left-w.width/2,S=z.clientY-w.top-w.height/2;let P=Math.atan2(S,E);P=P*180/Math.PI+90,P=P<0?360+P:P,o.value={...o.value,h:Math.floor(P)}}function q(z){if(z.type==="mousemove"&&!a.pressed.value)return;const w=z.currentTarget.getBoundingClientRect(),E=(z.clientX-w.left)/w.width*100;o.value={...o.value,s:Math.floor(E)}}function K(z){if(z.type==="mousemove"&&!h.pressed.value)return;const w=z.currentTarget.getBoundingClientRect(),E=(z.clientX-w.left)/w.width*100;o.value={...o.value,l:Math.floor(E)}}async function T(){await g(),A.value&&(o.value=y(A.value))}function y(z){let w=0,E=0,S=0;z.length==4?(w="0x"+z[1]+z[1],E="0x"+z[2]+z[2],S="0x"+z[3]+z[3]):z.length==7&&(w="0x"+z[1]+z[2],E="0x"+z[3]+z[4],S="0x"+z[5]+z[6]),w/=255,E/=255,S/=255;let P=Math.min(w,E,S),D=Math.max(w,E,S),ee=D-P,C=0,L=0,Y=0;return ee==0?C=0:D==w?C=(E-S)/ee%6:D==E?C=(S-w)/ee+2:C=(w-E)/ee+4,C=Math.round(C*60),C<0&&(C+=360),Y=(D+P)/2,L=ee==0?0:ee/(1-Math.abs(2*Y-1)),L=+(L*100).toFixed(1),Y=+(Y*100).toFixed(1),{h:C,s:L,l:Y}}function x(z){return z.h==o.value.h&&z.s==o.value.s&&z.l==o.value.l}return(z,w)=>(F(),qe(Pn,{active:r.value,"onUpdate:active":w[1]||(w[1]=E=>r.value=E),handle:!0},{content:G(()=>{var E;return[k("div",K1,[k("div",{class:"hue-wheel",ref_key:"hueWheel",ref:i,onMouseup:V,onMousemove:V,style:Oe({"background-image":`radial-gradient(var(--color-surface-container) 56%, transparent calc(56% + 1px)), conic-gradient(in hsl longer hue, hsl(0 ${o.value.s}% ${o.value.l}%) 0 0)`})},[k("div",{class:"hue-wheel-knob knob",style:Oe({transform:`rotate(${o.value.h-6}deg)`,"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},null,4),k("div",{class:"hue-wheel-example",style:Oe({"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},[Q(xe(Number(o.value.h).toLocaleString("nl-NL",{style:"unit",unit:"degree",unitDisplay:"short",maximumFractionDigits:0}))+" ",1),W1,Q(" "+xe(Number(o.value.s/100).toLocaleString("nl-NL",{style:"percent",maximumFractionDigits:0}))+" ",1),G1,Q(" "+xe(Number(o.value.l/100).toLocaleString("nl-NL",{style:"percent",maximumFractionDigits:0})),1)],4)],36),k("div",q1,[k("div",{class:"saturation-bar color-bar",ref_key:"saturationBar",ref:l,onMouseup:q,onMousemove:q,style:Oe({"background-image":`linear-gradient(to left, hsl(${o.value.h} 100% ${o.value.l}%), hsl(${o.value.h} 50% ${o.value.l}%), hsl(${o.value.h} 0% ${o.value.l}%))`})},[k("div",{class:"saturation-bar-knob color-bar-knob knob",style:Oe({left:`${o.value.s}%`,"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},null,4)],36),k("div",{class:"luminance-bar color-bar",ref_key:"luminanceBar",ref:c,onMouseup:K,onMousemove:K,style:Oe({"background-image":`linear-gradient(to left, hsl(${o.value.h} ${o.value.s}% 100%), hsl(${o.value.h} ${o.value.s}% 50%), hsl(${o.value.h} ${o.value.s}% 0%))`})},[k("div",{class:"luminance-bar-knob color-bar-knob knob",style:Oe({left:`${o.value.l}%`,"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},null,4)],36),((E=e.swatches)==null?void 0:E.length)>0?(F(),X("div",Z1,[(F(!0),X(ve,null,et(e.swatches,S=>(F(),X("button",{class:Pe(["swatch",{selected:x(S.color)}]),key:S.name,title:S.name,style:Oe({"background-color":`hsl(${S.color.h} ${S.color.s}% ${S.color.l}%`}),onClick:P=>o.value=S.color},null,14,X1))),128))])):Ze("",!0),k("div",Y1,[k("button",{class:"button",onClick:w[0]||(w[0]=S=>r.value=!1)},Q1),be(p)?(F(),X("button",{key:0,class:"button tonal invoke-eyedropper",onClick:T},[U(pe,null,{default:G(()=>[Q("colorize")]),_:1}),ef])):Ze("",!0)])])])]}),_:1},8,["active"]))}},ga=kt(tf,[["__scopeId","data-v-ca1a65f6"]]),nf={class:"color-picker"},sf={class:"gallery"},of={class:"swatches"},rf=["title","onClick"],lf={__name:"ColorPicker",props:["modelValue"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue||i[0].color},set(h){s("update:modelValue",h)}}),r=ce(!1),i=[{name:"Azuurblauw",color:{h:207,s:95,l:55}},{name:"Zeegroen",color:{h:161,s:51,l:41}},{name:"Mosgroen",color:{h:90,s:41,l:41}},{name:"Oranjegeel",color:{h:40,s:51,l:41}},{name:"Bloedrood",color:{h:10,s:51,l:41}},{name:"Rozerood",color:{h:341,s:61,l:41}},{name:"Mauvepaars",color:{h:290,s:41,l:41}},{name:"Diepindigo",color:{h:240,s:41,l:41}},{name:"Babyblauw",color:{h:207,s:52,l:66}},{name:"Mintgroen",color:{h:161,s:44,l:60}},{name:"Pastelgroen",color:{h:90,s:44,l:60}},{name:"Zandbeige",color:{h:40,s:44,l:66}},{name:"Zalmrood",color:{h:10,s:44,l:66}},{name:"Babyroze",color:{h:341,s:44,l:66}},{name:"Lavendelpaars",color:{h:290,s:44,l:66}},{name:"Zachtpaars",color:{h:240,s:44,l:70}}];function l(h){return h.h==o.value.h&&h.s==o.value.s&&h.l==o.value.l}const c=he(()=>i.slice(0,8).some(h=>l(h.color)));function f(h){o.value=h}function a(h){r.value=h}return(h,p)=>(F(),X("div",nf,[k("div",sf,[k("div",of,[(F(!0),X(ve,null,et(i.slice(0,8),g=>(F(),X("button",{class:Pe(["swatch",{selected:l(g.color)}]),key:g.name,title:g.name,style:Oe({"background-color":`hsl(${g.color.h} ${g.color.s}% ${g.color.l}%`}),onClick:A=>o.value=g.color},null,14,rf))),128))]),k("button",{class:Pe(["custom",{selected:!c.value}]),style:Oe({"--sel-color":c.value?"transparent":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%)`}),title:"Kleur kiezen",onClick:p[0]||(p[0]=g=>r.value=!0)},[U(pe,null,{default:G(()=>[Q("palette")]),_:1})],6)]),U(ga,{swatches:i,"model-value":o.value,"onUpdate:modelValue":f,pickerOpen:r.value,"onUpdate:pickerOpen":a},null,8,["model-value","pickerOpen"])]))}},af=kt(lf,[["__scopeId","data-v-35bdf943"]]),cf=e=>(Gt("data-v-c7caef6d"),e=e(),qt(),e),uf={class:"segmented-button"},ff=["onClick","data-state","data-has-icon","title"],df={key:0,class:"button-segment-text"},hf={key:1,class:"button-segment-icon-wrapper last"},pf=cf(()=>k("div",{class:"button-segment-state-layer"},null,-1)),mf={__name:"SegmentedButton",props:["modelValue","options","density"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(r){s("update:modelValue",r)}});return(r,i)=>(F(),X("div",uf,[(F(!0),X(ve,null,et(e.options,l=>(F(),X("button",{key:l.value,class:"button-segment",onClick:c=>o.value=l.value,"data-state":l.value===o.value,"data-has-icon":!!l.icon,title:l.tooltip,style:Oe({height:`${40+4*(e.density||0)}px`})},[k("div",{class:Pe(["button-segment-icon-wrapper",{hidden:!(l.value===o.value||l.icon&&l.title)}])},[U(Tn,{name:"icon"},{default:G(()=>[l.value===o.value?(F(),qe(pe,{key:"selected",class:"button-segment-icon selected"},{default:G(()=>[Q("check ")]),_:1})):l.icon&&l.title?(F(),qe(pe,{key:"icon",class:"button-segment-icon"},{default:G(()=>[Q(xe(l.icon),1)]),_:2},1024)):Ze("",!0)]),_:2},1024)],2),l.title?(F(),X("span",df,xe(l.title),1)):l.icon?(F(),X("div",hf,[U(pe,{key:"icon",class:"button-segment-icon"},{default:G(()=>[Q(xe(l.icon),1)]),_:2},1024)])):Ze("",!0),pf],12,ff))),128))]))}},ya=kt(mf,[["__scopeId","data-v-c7caef6d"]]),ba=e=>(Gt("data-v-e109c13a"),e=e(),qt(),e),vf=ba(()=>k("div",{id:"appbar"},null,-1)),gf=ba(()=>k("div",{id:"menubar-title"},null,-1)),yf=[gf],bf=Pl('
',2),_f={__name:"MagisterThemePreview",setup(e){const t=Bt("syncedStorage"),n=he(()=>{var h,p,g,A,V,q;let r=(h=t.value.ptheme||"auto,207,95,55")==null?void 0:h.split(","),i=(p=t.value.pagecolor)!=null&&p.startsWith("true")?`hsl(${t.value.pagecolor.replace("true,","").replace(/,/gi," ")})`:null,l=(g=t.value.appbarcolor)!=null&&g.startsWith("true")?`hsl(${t.value.appbarcolor.replace("true,","").replace(/,/gi," ")})`:null,c=(A=t.value.sidecolor)!=null&&A.startsWith("true")?`hsl(${t.value.sidecolor.replace("true,","").replace(/,/gi," ")})`:null,f=(V=t.value.wallpaper)!=null&&V.startsWith("custom")?`linear-gradient(color-mix(in srgb, var(--page), transparent 20%), color-mix(in srgb, var(--page), transparent 20%)), url(${t.value.wallpaper.replace("custom,","")})`:"none",a=(q=t.value.decoration)!=null&&q.startsWith("custom")?`url(${t.value.decoration.replace("custom,","")})`:"none";return r==null||r.shift(),{"--page":i||"light-dark(#ffffff, #111111)","--wallpaper":f,"--appbar":l||`light-dark(${s(207,95,47,...r)}, ${s(207,73,22,...r)})`,"--menubar":c||`light-dark(${s(207,95,55,...r)}, ${s(207,73,30,...r)})`,"--decoration":a,"--sidebar":"light-dark(#ffffffaa, #0c0c0caa)","--foreground-accent":`light-dark(${s(207,78,43,...r)}, ${s(207,53,55,...r)})`,"--border":"light-dark(#dfdfdfaa, #2e2e2eaa)","--border-radius":(t.value.shape??8)+"px","--accent-1":`light-dark(${s(207,95,55,...r)}, ${s(207,73,30,...r)})`,"--accent-2":`light-dark(${s(207,95,47,...r)}, ${s(207,73,22,...r)})`}});function s(r=207,i=95,l=55,c=0,f=0,a=0,h,p,g){let A,V,q;if(c=Number(c),f=Number(f),a=Number(a),h)A=h;else if(c<=207)A=r/207*c;else if(c>207){let K=(360-r)/153,T=r-K*207;A=K*c+T}if(p)V=p;else if(f<=95)V=i/95*f;else if(f>95){let K=(100-i)/5,T=i-K*95;V=K*f+T}if(g)q=g;else if(a<=55)q=l/55*a;else if(a>55){let K=(100-l)/45,T=l-K*55;q=K*a+T}return`hsl(${A}, ${V}%, ${q}%)`}const o=[{id:"none",style:{}},{id:"waves",style:{"background-image":"repeating-radial-gradient( circle at 0 0, transparent 0, var(--palette-primary) 19px, transparent 20px ), repeating-linear-gradient( #ffffff11, #ffffff33 )"}},{id:"zig-zag",style:{"background-image":"linear-gradient(135deg, #ffffff11 25%, transparent 25%), linear-gradient(225deg, #ffffff11 25%, transparent 25%), linear-gradient(45deg, #ffffff11 25%, transparent 25%), linear-gradient(315deg, #ffffff11 25%, var(--palette-primary) 25%)","background-position":"15px 0, 15px 0, 0 0, 0 0","background-size":"30px 30px","background-repeat":"repeat"}},{id:"polka-dot",style:{"background-image":"radial-gradient(#ffffff11 30%, transparent 31.2%), radial-gradient(#ffffff11 30%, transparent 31.2%)","background-position":"0px 0px, 15px 15px","background-size":"30px 30px"}},{id:"stripes",style:{"background-image":"repeating-linear-gradient(45deg, transparent, transparent 10px, #ffffff0a 10px, #ffffff22 20px)"}},{id:"lego",style:{"background-size":"150px","background-position":"14px 14px","background-image":`url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F>')`}}];return(r,i)=>{var l;return F(),X("div",{id:"theme-preview",style:Oe(n.value)},[vf,k("div",{id:"menubar",style:Oe({...((l=o.find(c=>{var f;return(f=be(t).decoration)==null?void 0:f.startsWith(c.id)}))==null?void 0:l.style)||{}})},yf,4),bf],4)}}},Af=kt(_f,[["__scopeId","data-v-e109c13a"]]),kf={class:"setting theme-picker",id:"theme-picker"},zf={__name:"ThemePicker",props:["modelValue","id"],emits:["update:modelValue"],setup(e,{emit:t}){var f;const n=e,s=t,o=he({get(){let a=n.modelValue||i.codepoint,[h,p,g,A]=a.split(",");return{scheme:h,color:{h:p,s:g,l:A}}},set(a){s("update:modelValue",`${a.scheme},${a.color.h},${a.color.s},${a.color.l}`)}}),r=ce((f=window.matchMedia)==null?void 0:f.call(window,"(prefers-color-scheme: dark)").matches),i={scheme:"auto",color:{h:207,s:95,l:55},codepoint:"auto,207,95,55"};function l(a){o.value={...o.value,scheme:a}}function c(a){o.value={...o.value,color:a}}return(a,h)=>(F(),X("div",kf,[U(Af,{id:"theme-preview"}),U(ya,{id:"theme-scheme","model-value":o.value.scheme,"onUpdate:modelValue":l,options:[{value:"auto",icon:"hdr_auto",tooltip:r.value?"Op basis van browserthema (momenteel donker)":"Op basis van browserthema (momenteel licht)"},{value:"light",icon:"light_mode",tooltip:"Licht thema"},{value:"dark",icon:"dark_mode",tooltip:"Donker thema"}]},null,8,["model-value","options"]),U(af,{id:"theme-color","model-value":o.value.color,"onUpdate:modelValue":c,"swatches-enabled":!0},null,8,["model-value"])]))}},wf=kt(zf,[["__scopeId","data-v-13a00e5b"]]),xf={class:"setting key-picker",ref:"label"},Sf={class:"setting-title"},Cf={class:"setting-subtitle"},Ef=k("span",{class:"supporting-text"},"Druk op een toets",-1),$f={__name:"KeyPicker",props:["modelValue","id"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(f){s("update:modelValue",f)}});let r=ce(!1),i=ce(!1);function l(){r.value=!0,document.addEventListener("keydown",f=>{r.value&&(o.value=f.key,i.value=!0,setTimeout(()=>{r.value=!1,i.value=!1},500))},{once:!0})}function c(f){return f&&(f===" "?"Spatie":f.charAt(0).toUpperCase()+f.slice(1))}return(f,a)=>(F(),X("div",xf,[k("button",{class:"key-picker-click-layer",onClick:l},[k("div",null,[k("h3",Sf,[ge(f.$slots,"title")]),k("span",Cf,[ge(f.$slots,"subtitle"),Q(" ("+xe(c(o.value))+") ",1)])]),U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Pn,{active:be(r),"onUpdate:active":a[0]||(a[0]=h=>$e(r)?r.value=h:r=h),handle:!0},{content:G(()=>[Ef,k("span",{class:Pe(["key-picker-selected",{selected:be(i)}])},xe(c(o.value)),3)]),_:1},8,["active"])],512))}},Of={class:"setting image-input",ref:"label"},Tf=["src"],Pf={key:1,class:"image-input-avatar"},Vf={class:"setting-title"},Rf={class:"setting-subtitle"},Df=k("span",{class:"supporting-text"},"Gekozen afbeelding",-1),If={class:"image-wrapper"},Mf=["src"],Nf={key:1,class:"image-picker-selected"},Lf={class:"supporting-text"},jf=k("br",null,null,-1),Bf=k("div",{class:"what-next"},[Q(" Afbeelding plakken "),k("span",{class:"keybind"},"Ctrl"),k("span",{class:"keybind"},"V")],-1),Ff=["id"],Uf=k("span",null,"Afbeelding uploaden",-1),Hf={key:1,class:"supporting-text"},ws=56,ui=.3,Kf={__name:"ImageInput",props:["modelValue","id"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(h){s("update:modelValue",h)}});let r=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./gi);const i=ce(null);let l=ce(!1),c=ce(!1);function f(){l.value=!0,document.addEventListener("paste",h=>{l.value&&(i.value.files=h.clipboardData.files,a())},{once:!0})}function a(){const h=i.value.files[0];if(h){const p=new FileReader;p.onload=function(){const g=new Image;g.onload=function(){const A=document.createElement("canvas"),V=A.getContext("2d");A.width=ws,A.height=ws,V.drawImage(g,0,0,ws,ws),o.value=A.toDataURL("image/webp",ui)||A.toDataURL("image/jpeg",ui),c.value=!0},g.src=p.result,setTimeout(()=>{l.value=!1,c.value=!1},500)},p.readAsDataURL(h)}}return(h,p)=>(F(),X("div",Of,[k("button",{class:"image-input-click-layer",onClick:f},[o.value?(F(),X("img",{key:0,class:Pe(["image-input-avatar",{selected:be(c)}]),src:o.value,width:"40",height:"40"},null,10,Tf)):(F(),X("div",Pf,[U(pe,null,{default:G(()=>[Q("add_photo_alternate")]),_:1})])),k("div",null,[k("h3",Vf,[ge(h.$slots,"title")]),k("span",Rf,[ge(h.$slots,"subtitle")])]),U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Pn,{active:be(l),"onUpdate:active":p[1]||(p[1]=g=>$e(l)?l.value=g:l=g),handle:!0},{content:G(()=>[Df,k("div",If,[o.value?(F(),X("img",{key:0,class:Pe(["image-picker-selected",{selected:be(c)}]),src:o.value,width:"56",height:"56"},null,10,Mf)):(F(),X("div",Nf,[U(pe,null,{default:G(()=>[Q("add_photo_alternate")]),_:1})])),k("span",Lf,[Q(xe((o.value||"").length.toLocaleString("nl-NL"))+" bytes",1),jf,Q("De afbeelding is verkleind en gecomprimeerd, maar het effect is op Magister niet merkbaar.")])]),Bf,k("input",{type:"file",id:e.id,ref_key:"input",ref:i,accept:"image/*",onChange:a},null,40,Ff),be(r)?(F(),X("span",Hf,"Jouw browser ondersteunt het uploaden van afbeeldingen niet. Je kunt wel een afbeelding plakken.")):(F(),X("button",{key:0,class:"bottom-sheet-action",onClick:p[0]||(p[0]=g=>i.value.click())},[U(pe,null,{default:G(()=>[Q("drive_folder_upload")]),_:1}),Uf]))]),_:1},8,["active"])],512))}},Wf=["active","tabindex"],Gf=["scrolled"],qf={class:"fullscreen-dialog-title"},Zf={class:"fullscreen-dialog-actions"},Xf={__name:"DialogFullscreen",props:["active","fullscreen"],emits:["update:active"],setup(e,{emit:t}){const n=e,s=t,o=()=>{s("update:active",!1)},r=ce(null),{y:i}=pa(r);return(l,c)=>(F(),X("div",{class:"fullscreen-dialog",active:n.active,tabindex:n.active?0:-1},[k("div",{class:"fullscreen-dialog-header",scrolled:be(i)>16},[k("button",{class:"fullscreen-dialog-close",onClick:o},[U(pe,null,{default:G(()=>[Q("close")]),_:1})]),k("h2",qf,[ge(l.$slots,"headline")]),k("div",Zf,[ge(l.$slots,"buttons")])],8,Gf),k("span",{class:"fullscreen-dialog-content",ref_key:"content",ref:r},[ge(l.$slots,"content")],512)],8,Wf))}},Yf={class:"key-input"},Jf=k("span",{class:"supporting-text"},"Druk op een toets",-1),Qf={__name:"KeyInput",props:["modelValue","id","allowClear"],emits:["update:modelValue","input"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(a){s("update:modelValue",a),s("input",a)}});let r=ce(!1),i=ce(!1);function l(){r.value=!0,document.addEventListener("keydown",a=>{r.value&&(o.value=a.key,i.value=!0,setTimeout(()=>{r.value=!1,i.value=!1},500))},{once:!0})}function c(){o.value="",i.value=!0,setTimeout(()=>{r.value=!1,i.value=!1},500)}function f(a){return a&&(a===" "?"Spatie":a.charAt(0).toUpperCase()+a.slice(1))}return(a,h)=>(F(),X("div",Yf,[k("button",{onClick:l},xe(f(o.value)||"⋯"),1),U(Pn,{active:be(r),"onUpdate:active":h[0]||(h[0]=p=>$e(r)?r.value=p:r=p),handle:!0},{content:G(()=>[Jf,k("span",{class:Pe(["key-picker-selected",{selected:be(i)}])},xe(f(o.value)||"Geen geselecteerd"),3),e.allowClear?(F(),X("button",{key:0,class:"button text key-picker-clear",onClick:c},"Wissen")):Ze("",!0)]),_:1},8,["active"])]))}},ed={class:"icon-input"},td={class:"icon-picker-all"},nd={class:"supporting-text"},sd={class:"icon-picker-grid"},od=["onClick"],rd={__name:"IconInput",props:["modelValue","id"],emits:["update:modelValue","input"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(f){s("update:modelValue",f),s("input",f)}}),r={Media:"",Technologie:"",Kalenders:"",Bestanden:"",Personen:"",Divers:"☀⏾",Cirkels:"",Vierkanten:"⬛",Handen:"",Amusement:"♝♚♞♟♛♜",Emoticons:""};let i=ce(!1);function l(){i.value=!0;let f=document.querySelector(".icon-picker-option.selected");f&&f.scrollIntoView({behavior:"smooth",block:"center"})}function c(f){o.value=f,setTimeout(()=>{i.value=!1},500)}return(f,a)=>(F(),X("div",ed,[k("button",{onClick:l},xe(o.value),1),U(Pn,{active:be(i),"onUpdate:active":a[0]||(a[0]=h=>$e(i)?i.value=h:i=h),handle:!0},{content:G(()=>[k("div",td,[(F(),X(ve,null,et(r,(h,p)=>k("div",{key:p},[k("span",nd,xe(p),1),k("div",sd,[(F(!0),X(ve,null,et(h.split(""),g=>(F(),X("button",{class:Pe(["icon-picker-option",{selected:o.value===g}]),key:g,onClick:A=>c(g)},xe(g),11,od))),128))])])),64))])]),_:1},8,["active"])]))}},id={class:"setting"},ld={class:"setting-title"},ad={class:"setting-subtitle"},cd=k("br",null,null,-1),ud=k("div",{class:"shortcut-example"},[k("span",null,"Icoon"),k("span",null,"URL"),k("span",null,"Sneltoets")],-1),fd=["value","onInput"],dd={class:"shortcut-actions"},hd=["onClick"],pd=["onClick"],md=["onClick"],vd={__name:"ShortcutsEditor",props:["modelValue"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return typeof n.modelValue=="object"?Object.values(n.modelValue):n.modelValue},set(f){s("update:modelValue",f)}}),r=ce(!1);function i(f){let a=[...o.value];a.splice(f,1),o.value=a}function l(f,a){let h=[...o.value];h[f]=a,o.value=h}function c(f,a){let h=[...o.value];if(a<0||a>=h.length)return;let p=h.splice(f,1)[0];h.splice(a,0,p),o.value=h}return(f,a)=>(F(),X("div",id,[k("button",{class:"shortcuts-editor-click-layer",onClick:a[0]||(a[0]=h=>r.value=!0)},[k("div",null,[k("h3",ld,[ge(f.$slots,"title")]),k("span",ad,[ge(f.$slots,"subtitle")])]),U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Xf,{fullscreen:"",active:r.value,"onUpdate:active":a[2]||(a[2]=h=>r.value=h)},{headline:G(()=>[ge(f.$slots,"title")]),content:G(()=>[ge(f.$slots,"subtitle"),cd,ud,U(js,{name:"editor",tag:"ul",class:"shortcuts-list"},{default:G(()=>[(F(!0),X(ve,null,et(o.value,(h,p)=>(F(),X("li",{key:h.icon,class:"shortcut-wrapper"},[U(rd,{modelValue:o.value[p].icon,"onUpdate:modelValue":g=>o.value[p].icon=g,onInput:g=>l(p,{icon:g,href:o.value[p].href,hotkey:o.value[p].hotkey})},null,8,["modelValue","onUpdate:modelValue","onInput"]),k("input",{class:"text-input",type:"input",value:o.value[p].href,onInput:g=>l(p,{icon:o.value[p].icon,href:g.target.value.replace("https://",""),hotkey:o.value[p].hotkey}),placeholder:" ",autocomplete:"off",spellcheck:"false"},null,40,fd),U(Qf,{modelValue:o.value[p].hotkey,"onUpdate:modelValue":g=>o.value[p].hotkey=g,allowClear:!0,onInput:g=>l(p,{icon:o.value[p].icon,href:o.value[p].href,hotkey:g})},null,8,["modelValue","onUpdate:modelValue","onInput"]),k("div",dd,[k("button",{class:"element-action",onClick:g=>i(p)},[U(pe,null,{default:G(()=>[Q("delete")]),_:1})],8,hd),k("button",{class:"element-action",onClick:g=>c(p,p-1)},[U(pe,null,{default:G(()=>[Q("keyboard_arrow_up")]),_:1})],8,pd),k("button",{class:"element-action",onClick:g=>c(p,p+1)},[U(pe,null,{default:G(()=>[Q("keyboard_arrow_down")]),_:1})],8,md)])]))),128))]),_:1}),k("button",{class:"button text",style:{"margin-top":"16px"},onClick:a[1]||(a[1]=h=>o.value=[...o.value,{icon:"",href:"",hotkey:""}])},"Toevoegen")]),_:3},8,["active"])]))}},gd=["title"],yd={class:"setting-title"},bd={__name:"ColorOverrideSetting",props:["modelValue","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){let f=n.modelValue||n.setting.default,[a,h,p,g]=f.split(",");return{override:a,color:{h,s:p,l:g}}},set(f){s("update:modelValue",`${f.override},${f.color.h},${f.color.s},${f.color.l}`)}}),r=ce(!1);function i(f){o.value={...o.value,override:f},f=="true"&&(r.value=!0)}function l(f){o.value={...o.value,color:f}}function c(f){r.value=f}return(f,a)=>(F(),X("div",{class:"setting color-override-setting",title:e.setting.title},[k("h3",yd,xe(e.setting.subtitle),1),U(pe,{class:"setting-icon"},{default:G(()=>[Q("format_color_fill")]),_:1}),U(ya,{"model-value":o.value.override,"onUpdate:modelValue":i,options:[{value:"false",icon:"format_color_reset",title:"Standaard"},{value:"true",icon:"palette",title:"Aangepast"}],density:"-1",style:Oe({"--sel-color":o.value.override=="true"?`hsl(${o.value.color.h} ${o.value.color.s}% ${o.value.color.l}%)`:"transparent"})},null,8,["model-value","style"]),U(ga,{"model-value":o.value.color,"onUpdate:modelValue":l,pickerOpen:r.value,"onUpdate:pickerOpen":c},null,8,["model-value","pickerOpen"])],8,gd))}},_d={class:"border-cutout"},Ad={class:"text-title"},kd={__name:"TextInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(e){const t=Nl(e,"modelValue"),n=ce(null),{focused:s}=ro(n),o=he(()=>t.value.length>0);return(r,i)=>(F(),X("label",{class:Pe(["text-label",{focused:be(s),filled:o.value}])},[rs(k("input",{class:"text-input",type:"input",ref_key:"input",ref:n,"onUpdate:modelValue":i[0]||(i[0]=l=>t.value=l),placeholder:" ",autocomplete:"off"},null,512),[[En,t.value]]),k("div",_d,[ge(r.$slots,"title",{},void 0,!0)]),k("h3",Ad,[ge(r.$slots,"title",{},void 0,!0)])],2))}},zd=kt(kd,[["__scopeId","data-v-d9ad750f"]]),wd=e=>(Gt("data-v-abe95c37"),e=e(),qt(),e),xd=wd(()=>k("span",{class:"supporting-text"},"Geef de koppeling van de afbeelding die je wilt gebruiken.",-1)),Sd={__name:"ImageUrlSheet",props:["modelValue","pickerOpen"],emits:["update:modelValue","update:pickerOpen"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(l){s("update:modelValue",l)}}),r=he({get(){return n.pickerOpen||!1},set(l){s("update:pickerOpen",l)}});function i(l){o.value=l}return(l,c)=>(F(),qe(Pn,{active:r.value,"onUpdate:active":c[0]||(c[0]=f=>r.value=f),handle:!0},{content:G(()=>[U(zd,{"model-value":o.value,"onUpdate:modelValue":i,style:{"--context-color":"var(--color-surface-container-low)"}},{title:G(()=>[Q("Afbeeldings-URL")]),_:1},8,["model-value"]),xd]),_:1},8,["active"]))}},Cd=kt(Sd,[["__scopeId","data-v-abe95c37"]]),Ed=e=>(Gt("data-v-66ad6baf"),e=e(),qt(),e),$d=["title"],Od={class:"swatches-wrapper"},Td=["title","onClick","data-state"],Pd={key:0},Vd=Ed(()=>k("div",{class:"state-layer"},null,-1)),Rd={key:1},Dd={key:2},Id={__name:"DecorationPickerSetting",props:["modelValue","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){let a=n.modelValue||n.setting.default,[h,p]=a.split(",");return{decoration:h,url:p||""}},set(a){s("update:modelValue",`${a.decoration},${a.url||""}`)}}),r=ce(!1);let i=[{id:"none",name:"Geen",style:{}},{id:"custom",name:"Afbeelding kiezen",style:{}}];n.setting.id==="decoration"&&(i=[i[0],{id:"waves",name:"Golven",style:{"background-image":"repeating-radial-gradient( circle at 0 0, transparent 0, var(--palette-primary) 19px, transparent 20px ), repeating-linear-gradient( #ffffffbb, #ffffffff )"}},{id:"zig-zag",name:"Zigzag",style:{"background-image":"linear-gradient(135deg, #ffffffbb 25%, transparent 25%), linear-gradient(225deg, #ffffffbb 25%, transparent 25%), linear-gradient(45deg, #ffffffbb 25%, transparent 25%), linear-gradient(315deg, #ffffffbb 25%, var(--palette-primary) 25%)","background-position":"15px 0, 15px 0, 0 0, 0 0","background-size":"30px 30px","background-repeat":"repeat"}},{id:"polka-dot",name:"Stippen",style:{"background-image":"radial-gradient(#ffffffbb 30%, transparent 31.2%), radial-gradient(#ffffffbb 30%, transparent 31.2%)","background-position":"0px 0px, 15px 15px","background-size":"30px 30px"}},{id:"stripes",name:"Strepen",style:{"background-image":"repeating-linear-gradient(45deg, transparent, transparent 10px, #ffffff77 10px, #ffffffcc 20px)"}},{id:"lego",name:"LEGO",style:{"background-size":"150px","background-position":"14px 14px","background-image":`url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F>')`}},i[1]]);function l(a){o.value={...o.value,decoration:a},a==="custom"&&(r.value=!0)}function c(a){o.value={...o.value,url:a}}function f(a){r.value=a}return(a,h)=>(F(),X("div",{class:"setting decoration-picker-setting",title:e.setting.title},[U(pe,{class:"setting-icon"},{default:G(()=>[Q("wallpaper")]),_:1}),k("div",Od,[(F(!0),X(ve,null,et(be(i),(p,g)=>(F(),X("button",{key:g,class:"swatch",style:Oe(p.style),title:p.name,onClick:A=>l(p.id),"data-state":o.value.decoration===p.id},[U(Tn,{name:"swatch-check"},{default:G(()=>[o.value.decoration===p.id?(F(),X("div",Pd,[Vd,p.id==="custom"?(F(),qe(pe,{key:0},{default:G(()=>[Q("add_photo_alternate")]),_:1})):(F(),qe(pe,{key:1},{default:G(()=>[Q("check")]),_:1}))])):p.id==="none"?(F(),X("div",Rd,[U(pe,null,{default:G(()=>[Q("remove_selection")]),_:1})])):p.id==="custom"?(F(),X("div",Dd,[U(pe,null,{default:G(()=>[Q("add_photo_alternate")]),_:1})])):Ze("",!0)]),_:2},1024)],12,Td))),128))]),U(Cd,{"model-value":o.value.url,"onUpdate:modelValue":c,pickerOpen:r.value,"onUpdate:pickerOpen":f},null,8,["model-value","pickerOpen"])],8,$d))}},Md=kt(Id,[["__scopeId","data-v-66ad6baf"]]),Nd=["title"],Ld=k("br",null,null,-1),jd={__name:"DecorationSizeSetting",props:["modelValue","id","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(i){s("update:modelValue",i)}});function r(i){let l=n.setting.decimals||0;if(!n.setting.format)return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l});switch(n.setting.format){case"percent":return Number(i).toLocaleString("nl-NL",{style:"percent",minimumFractionDigits:l,maximumFractionDigits:l});default:return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l})+n.setting.format}}return(i,l)=>(F(),X("div",{class:"setting decoration-size-setting",title:e.setting.title},[Ld,U(be(va),{min:e.setting.min,max:e.setting.max,interval:e.setting.step,duration:.2,"tooltip-formatter":c=>r(c),"tooltip-style":{},modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=c=>o.value=c),modelModifiers:{lazy:!0}},null,8,["min","max","interval","tooltip-formatter","modelValue"])],8,Nd))}},Bd=["active"],Fd=["active"],Ud={class:"dialog-title center"},Hd={class:"dialog-description"},Kd={class:"dialog-actions"},Es={__name:"Dialog",props:["active"],emits:["update:active"],setup(e,{emit:t}){const n=e,s=t,o=()=>{s("update:active",!1)};return(r,i)=>(F(),X(ve,null,[k("div",{class:"scrim",active:n.active,onClick:o},null,8,Bd),k("div",{class:"dialog",active:n.active},[U(pe,{class:"dialog-icon"},{default:G(()=>[ge(r.$slots,"icon")]),_:3}),k("h2",Ud,[ge(r.$slots,"headline")]),k("span",Hd,[ge(r.$slots,"text")]),k("div",Kd,[ge(r.$slots,"buttons")])],8,Fd)],64))}},Wd=["for"],Gd=["id"],qd={class:"border-cutout"},Zd={class:"setting-title"},Xd={class:"setting-subtitle"},_a=Object.assign({inheritAttrs:!1},{__name:"InputText",props:["id","modelValue"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(c){s("update:modelValue",c)}}),r=ce(null),{focused:i}=ro(r),l=he(()=>{var c;return((c=o==null?void 0:o.value)==null?void 0:c.length)>0});return(c,f)=>(F(),X("label",{class:Pe(["text-input-label",{focused:be(i),filled:l.value}]),for:e.id},[rs(k("input",mr({class:"text-input",type:"input",id:e.id,ref_key:"input",ref:r,"onUpdate:modelValue":f[0]||(f[0]=a=>o.value=a),placeholder:" ",autocomplete:"off"},c.$attrs),null,16,Gd),[[En,o.value,void 0,{lazy:!0}]]),k("div",qd,[ge(c.$slots,"title")]),k("h3",Zd,[ge(c.$slots,"title")]),k("span",Xd,[ge(c.$slots,"subtitle")])],10,Wd))}}),Yd={id:"about"},Jd={id:"about-hero"},Qd=k("p",{id:"about-description"},[Q(" Ontwikkeld door Quinten Althues"),k("br"),Q(" Bedankt voor het gebruiken van Study Tools!"),k("br")],-1),e0={id:"about-buttons"},t0=k("span",null,"Website",-1),n0=k("span",null,"E-mail",-1),s0=k("span",null,"Discord",-1),o0=k("span",null,"PayPal",-1),r0=k("span",null,"Privacybeleid",-1),i0=k("br",null,null,-1),l0=k("br",null,null,-1),a0=k("div",null,[k("h3",{class:"setting-title"}," Voorkeuren wissen ")],-1),c0=k("div",null,[k("h3",{class:"setting-title"}," Voorkeuren kopiëren/plakken ")],-1),u0=k("br",null,null,-1),f0=k("br",null,null,-1),d0={__name:"About",emits:["resetSettings"],setup(e,{emit:t}){const n=t,{manifest:s}=r1(),o=Bt("syncedStorage"),r=ce(!1),i=ce(!1),l=ce(!1),c=he({get(){try{return JSON.stringify(o.value)||{}}catch{return{}}},set(h){try{return o.value=JSON.parse(h)||o.value||{},o.value}catch{return o.value=o.value||{},o.value}}});function f(){n("resetSettings"),i.value=!1}function a(h){window.open(h,"_blank","noreferrer")}return(h,p)=>(F(),X("div",Yd,[k("h4",Jd,[Q("Study Tools voor Magister ("),k("button",{class:"button text inline",onClick:p[0]||(p[0]=g=>a("https://github.com/QkeleQ10/Study-Tools/blob/dev/updates.json"))},[k("span",null,"versie "+xe(be(s).version||"onbekend"),1)]),Q(")")]),Qd,k("div",e0,[k("button",{class:"button",onClick:p[1]||(p[1]=g=>a("https://qkeleq10.github.io/studytools"))},[U(pe,null,{default:G(()=>[Q("captive_portal")]),_:1}),t0]),k("button",{class:"button tonal",onClick:p[2]||(p[2]=g=>a("mailto:quinten@althues.nl?subject=Study Tools"))},[U(pe,null,{default:G(()=>[Q("alternate_email")]),_:1}),n0]),k("button",{class:"button tonal",onClick:p[3]||(p[3]=g=>a("https://discord.gg/2rP7pfeAKf"))},[U(pe,null,{default:G(()=>[Q("forum")]),_:1}),s0]),k("button",{class:"button tonal",onClick:p[4]||(p[4]=g=>a("https://paypal.me/QkeleQ10"))},[U(pe,null,{default:G(()=>[Q("volunteer_activism")]),_:1}),o0]),k("button",{class:"button tonal",onClick:p[5]||(p[5]=g=>r.value=!0)},[U(pe,null,{default:G(()=>[Q("shield_locked")]),_:1}),r0])]),U(Es,{active:r.value,"onUpdate:active":p[7]||(p[7]=g=>r.value=g)},{icon:G(()=>[Q("info")]),headline:G(()=>[Q("Informatie")]),text:G(()=>[Q(" Deze extensie slaat gegevens over je identiteit, je accounts en je instellingen op in de browser. Afhankelijk van je browserinstellingen worden ze al dan niet opgeslagen in de cloud. Er wordt nooit informatie doorgestuurd naar de ontwikkelaar of naar derden."),i0,l0,Q(" Ik kan onder geen enkele omstandigheid je gegevens zien. Ik kan alleen zien hoe veel gebruikers mijn extensie gebruiken en andere statistieken zoals percentages van besturingssystemen. Ik kan dus niet per gebruiker dingen zien en Magister-gegevens zijn compleet ontoegankelijk voor mij. ")]),buttons:G(()=>[k("button",{onClick:p[6]||(p[6]=g=>r.value=!1)},"Begrepen")]),_:1},8,["active"]),k("button",{id:"about-reset",onClick:p[8]||(p[8]=g=>i.value=!0)},[a0,U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Es,{active:i.value,"onUpdate:active":p[10]||(p[10]=g=>i.value=g)},{icon:G(()=>[Q("restart_alt")]),headline:G(()=>[Q("Voorkeuren wissen?")]),text:G(()=>[Q("Hiermee stel je alle instellingen van Study Tools in op de standaardwaarden.")]),buttons:G(()=>[k("button",{onClick:p[9]||(p[9]=g=>i.value=!1)},"Annuleren"),k("button",{onClick:f},"Wissen")]),_:1},8,["active"]),k("button",{id:"about-export",onClick:p[11]||(p[11]=g=>l.value=!0)},[c0,U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Es,{active:l.value,"onUpdate:active":p[15]||(p[15]=g=>l.value=g)},{icon:G(()=>[Q("copy_all")]),headline:G(()=>[Q("Voorkeuren kopiëren/plakken")]),text:G(()=>[Q("Kopieer de inhoud van het tekstvak om je voorkeuren op te slaan op je klembord. Plak in het tekstvak om voorkeuren te wijzigen. Als je plakt, dan gaan al je huidige voorkeuren verloren."),u0,f0,U(_a,{id:"settings-paste-input",modelValue:c.value,"onUpdate:modelValue":p[12]||(p[12]=g=>c.value=g),onFocus:p[13]||(p[13]=g=>g.target.select())},{title:G(()=>[Q("Plak hier")]),_:1},8,["modelValue"])]),buttons:G(()=>[k("button",{onClick:p[14]||(p[14]=g=>l.value=!1)},"Sluiten")]),_:1},8,["active"])]))}},yr=e=>(Gt("data-v-df5d40bd"),e=e(),qt(),e),h0={class:"setting-wrapper"},p0={id:"theme-presets-container"},m0=yr(()=>k("div",{id:"theme-presets-heading"},[k("h3",{class:"setting-title"},"Themapakketten"),k("span",{class:"setting-subtitle"},"Als je een vooraf ingesteld themapakket selecteert, dan worden al je voorkeuren voor het uiterlijk gewist.")],-1)),v0={id:"theme-presets"},g0=["title","onClick"],y0=yr(()=>k("br",null,null,-1)),b0=yr(()=>k("br",null,null,-1)),_0={__name:"ThemePresets",setup(e){const t=Bt("syncedStorage"),n=ce(!1);function s(l){for(const c in l)if(Object.hasOwnProperty.call(l,c)&&c!="name"&&c!="thumbnail"){const f=l[c];t.value[c]=f}}const o=(l,...c)=>Object.fromEntries(c.filter(f=>f in l).map(f=>[f,l[f]])),r=he({get(){try{return JSON.stringify(o(t.value,"ptheme","pagecolor","wallpaper","sidecolor","decoration","decoration-size","appbarcolor","shape","custom-css"))||{}}catch{return{}}},set(l){try{return t.value={...t.value,...JSON.parse(l)||t.value||{}},t.value}catch{return t.value=t.value||{},t.value}}}),i=[{name:"Magister",thumbnail:"url('https://upload.wikimedia.org/wikipedia/commons/4/49/Magister_6_logo.jpg')",ptheme:"auto,207,95,55",pagecolor:"false,0,0,7",wallpaper:"none,",sidecolor:"false,207,95,55",decoration:"none,","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Hawaï",thumbnail:"url('https://w0.peakpx.com/wallpaper/865/392/HD-wallpaper-hawaii-background-beautiful-colors-nature-outside-palm-trees-portrait-summer-water.jpg')",ptheme:"light,180,50,40",pagecolor:"false,0,0,7",wallpaper:"custom,https://i.imgur.com/qY42IDh.png",sidecolor:"false,207,95,55",decoration:"custom,https://w0.peakpx.com/wallpaper/865/392/HD-wallpaper-hawaii-background-beautiful-colors-nature-outside-palm-trees-portrait-summer-water.jpg","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Vaporwave",thumbnail:"url('https://wallpapers.com/images/hd/80s-neon-veqvixadrbra13q4.jpg')",ptheme:"dark,275,100,60",pagecolor:"false,0,0,7",wallpaper:"custom,https://i.imgur.com/ss4ty9u.png",sidecolor:"false,207,95,55",decoration:"custom,https://wallpapers.com/images/hd/80s-neon-veqvixadrbra13q4.jpg","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Wilde Westen",thumbnail:"url('https://static.vecteezy.com/system/resources/previews/023/592/503/non_2x/american-desert-landscape-western-background-vector.jpg')",ptheme:"dark,10,80,50",pagecolor:"false,0,0,7",wallpaper:"custom,https://i.imgur.com/UgMMNqN.png",sidecolor:"false,207,95,55",decoration:"custom,https://static.vecteezy.com/system/resources/previews/023/592/503/non_2x/american-desert-landscape-western-background-vector.jpg","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Discord",thumbnail:"url('https://static.vecteezy.com/system/resources/previews/006/892/625/original/discord-logo-icon-editorial-free-vector.jpg')",ptheme:"dark,235,48,85",pagecolor:"true,223,6.7,20.6",wallpaper:"none,",sidecolor:"true,220,6.5,18",decoration:"none","decoration-size":1,appbarcolor:"true,225,6.3,12.5",shape:10,"magister-picture":"custom","magister-picture-source":"data:image/webp;base64,UklGRuwCAABXRUJQVlA4WAoAAAAgAAAANwAANwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZWUDgg/gAAAHAHAJ0BKjgAOAA/EXi1UCwnpaKuFtuJgCIJZADOsD76t/HoihGP61hpYw5Z1NN4bq7oCKOufMpnylC3y80qP7dFAy4gANZ5R6+pAwH5/1E9hHfeEu9y0SE1mj3Z+QDLC5oD3+LqS1T6ZjXgiYHVWkX3iFjKDyX7UcGV+Smyo1jisfsJFp8mgoSp31n5pybf8uJuJDN8KLAr/UEXi/UylwajOjYeNN4sHaE1pCQwGkAIBs1SUk7qLFKqGb0GsiU4N61XrXFPy/3i91rdvItliQM1J8gZZ9QIz32RnVHALZTLoWn4//RXx++eKTomYf2YcvOjHNDz3CseeMrAAAAA","custom-css":":root{--st-background-secondary:#232428}#st-start-widgets{background-color:var(--st-side-background);border-left:none;box-shadow:none}#st-start-widget-controls-wrapper,.menu-footer{background-color:#232428;border-top:none}"}];return(l,c)=>(F(),X("div",h0,[k("div",p0,[m0,k("button",{id:"theme-presets-copy",title:"Kopiëren/plakken",onClick:c[0]||(c[0]=f=>n.value=!0)},[U(pe,null,{default:G(()=>[Q("copy_all")]),_:1})]),k("div",v0,[(F(),X(ve,null,et(i,f=>k("button",{title:f.name,style:Oe({"--thumbnail":f.thumbnail}),onClick:a=>s(f)},null,12,g0)),64))])]),U(Es,{active:n.value,"onUpdate:active":c[4]||(c[4]=f=>n.value=f)},{icon:G(()=>[Q("copy_all")]),headline:G(()=>[Q("Thema kopiëren/plakken")]),text:G(()=>[Q("Kopieer de inhoud van het tekstvak om je thema op te slaan op je klembord. Plak in het tekstvak om het thema te wijzigen. Als je plakt, dan gaan al je huidige themavoorkeuren verloren."),y0,b0,U(_a,{id:"settings-paste-input",modelValue:r.value,"onUpdate:modelValue":c[1]||(c[1]=f=>r.value=f),onFocus:c[2]||(c[2]=f=>f.target.select())},{title:G(()=>[Q("Plak hier")]),_:1},8,["modelValue"])]),buttons:G(()=>[k("button",{onClick:c[3]||(c[3]=f=>n.value=!1)},"Sluiten")]),_:1},8,["active"])]))}},A0=kt(_0,[["__scopeId","data-v-df5d40bd"]]),k0={class:"chip-label"},z0=k("div",{class:"state-layer chip-state-layer"},null,-1),w0={__name:"Chip",props:["type"],setup(e){const t=e;return(n,s)=>(F(),X("button",{class:Pe(["chip",t.type||"assist"])},[U(pe,{class:"chip-icon"},{default:G(()=>[ge(n.$slots,"icon")]),_:3}),k("span",k0,[ge(n.$slots,"label")]),z0],2))}},x0={id:"app-wrapper"},S0={id:"options-container"},C0=["data-setting-type","data-setting-id","data-scrolled"],E0={__name:"App",setup(e){const t=ce(null),{y:n}=pa(t),s=o1();fr("syncedStorage",s);const o={SwitchInput:g1,SegmentedButton:C1,TextInput:V1,SlideInput:F1,ThemePicker:wf,KeyPicker:$f,ImageInput:Kf,ShortcutsEditor:vd,ColorOverrideSetting:bd,DecorationPickerSetting:Md,DecorationSizeSetting:jd};let r=ce("appearance"),i=ce("");setTimeout(()=>i.value="list",200);function l(h){let p=!0;return h!=null&&h.conditions&&h.conditions.forEach(g=>{let A;switch(g.settingId&&(A=s.value[g.settingId]),g.operator){case"equal":A!==g.value&&(p=!1);break;case"not equal":A===g.value&&(p=!1);break;case"starting with":A!=null&&A.startsWith(g.value)||(p=!1);break;case"not starting with":A!=null&&A.startsWith(g.value)&&(p=!1);break;case"defined":A||(p=!1);break}}),p}function c(){Fo.forEach(h=>{h.settings.forEach(p=>{s.value[p.id]=p.default})})}function f(h){t.value.scrollTo({top:0,left:0,behavior:h?"instant":"smooth"})}function a(h){window.open(h,"_blank","noreferrer")}return(h,p)=>(F(),X("div",x0,[U(u1,{modelValue:be(r),"onUpdate:modelValue":p[0]||(p[0]=g=>$e(r)?r.value=g:r=g),onScrollToTop:f,"data-scrolled":be(n)>16},null,8,["modelValue","data-scrolled"]),k("main",{id:"main",ref_key:"main",ref:t},[k("div",S0,[U(js,{name:"fade"},{default:G(()=>[(F(!0),X(ve,null,et(be(Fo),g=>(F(),X(ve,null,[g.id===be(r)?(F(),X("div",{class:"options-category",key:g.id},[U(js,{name:be(i)},{default:G(()=>[g.id==="about"?(F(),qe(d0,{key:"about",onResetSettings:c})):Ze("",!0),(F(!0),X(ve,null,et(g.settings,A=>(F(),X(ve,null,[l(A)?(F(),X("div",{class:Pe(["setting-wrapper",{visible:l(A),inline:A.inline}]),"data-setting-type":A.type,"data-setting-id":A.id,key:A.id,"data-scrolled":be(n)>16},[(F(),qe(Hi(o[A.type||"SwitchInput"]),{setting:A,id:A.id,modelValue:be(s)[A.id],"onUpdate:modelValue":V=>be(s)[A.id]=V},{title:G(()=>[Q(xe(A.title),1)]),subtitle:G(()=>[Q(xe(A.subtitle),1)]),_:2},1032,["setting","id","modelValue","onUpdate:modelValue"])),(F(!0),X(ve,null,et(A.links,V=>(F(),qe(w0,{key:V.label,onClick:q=>a(V.href)},{icon:G(()=>[Q(xe(V.icon),1)]),label:G(()=>[Q(xe(V.label),1)]),_:2},1032,["onClick"]))),128))],10,C0)):Ze("",!0)],64))),256)),g.id==="appearance"?(F(),qe(A0,{key:"appearance"})):Ze("",!0)]),_:2},1032,["name"])])):Ze("",!0)],64))),256))]),_:1})])],512)]))}};ia(E0).mount("#app"); +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Tt(u,d){if(u){if(typeof u=="string")return dn(u,d);var m=Object.prototype.toString.call(u).slice(8,-1);return m==="Object"&&u.constructor&&(m=u.constructor.name),m==="Map"||m==="Set"?Array.from(u):m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m)?dn(u,d):void 0}}function dn(u,d){(d==null||d>u.length)&&(d=u.length);for(var m=0,_=new Array(d);m-1}},width:{type:[Number,String]},height:{type:[Number,String]},dotSize:{type:[Number,Array],default:14},contained:{type:Boolean,default:!1},min:{type:Number,default:0},max:{type:Number,default:100},interval:{type:Number,default:1},disabled:{type:Boolean,default:!1},clickable:{type:Boolean,default:!0},dragOnClick:{type:Boolean,default:!1},duration:{type:Number,default:.5},data:{type:[Object,Array]},dataValue:{type:String,default:"value"},dataLabel:{type:String,default:"label"},lazy:{type:Boolean,default:!1},tooltip:{type:String,default:"active",validator:function(u){return["none","always","focus","hover","active"].indexOf(u)>-1}},tooltipPlacement:{type:[String,Array],validator:function(u){return(Array.isArray(u)?u:[u]).every(function(d){return["top","right","bottom","left"].indexOf(d)>-1})}},tooltipFormatter:{type:[String,Array,Function]},useKeyboard:{type:Boolean,default:!0},keydownHook:{type:Function},enableCross:{type:Boolean,default:!0},fixed:{type:Boolean,default:!1},order:{type:Boolean,default:!0},minRange:{type:Number},maxRange:{type:Number},marks:{type:[Boolean,Object,Array,Function],default:!1},process:{type:[Boolean,Function],default:!0},zoom:{type:Number},included:{type:Boolean},adsorb:{type:Boolean},hideLabel:{type:Boolean},dotOptions:{type:[Object,Array]},dotAttrs:{type:Object},railStyle:{type:Object},processStyle:{type:Object},dotStyle:{type:Object},tooltipStyle:{type:Object},stepStyle:{type:Object},stepActiveStyle:{type:Object},labelStyle:{type:Object},labelActiveStyle:{type:Object}},computed:{isHorizontal:function(){return this.direction==="ltr"||this.direction==="rtl"},isReverse:function(){return this.direction==="rtl"||this.direction==="btt"},tailSize:function(){return D((this.isHorizontal?this.height:this.width)||ao)},containerClasses:function(){return["vue-slider",["vue-slider-".concat(this.direction)],{"vue-slider-disabled":this.disabled}]},containerStyles:function(){var u=Array.isArray(this.dotSize)?this.dotSize:[this.dotSize,this.dotSize],d=vt(u,2),m=d[0],_=d[1],N=this.width?D(this.width):this.isHorizontal?"auto":D(ao),oe=this.height?D(this.height):this.isHorizontal?D(ao):"auto";return{padding:this.contained?"".concat(_/2,"px ").concat(m/2,"px"):this.isHorizontal?"".concat(_/2,"px 0"):"0 ".concat(m/2,"px"),width:N,height:oe}},processArray:function(){var u=this;return this.control.processArray.map(function(d,m){var _,N=vt(d,3),oe=N[0],le=N[1],Fe=N[2];if(oe>le){var fe=[le,oe];oe=fe[0],le=fe[1]}var Me=u.isHorizontal?"width":"height";return{start:oe,end:le,index:m,style:Ee(Ee((_={},Te(_,u.isHorizontal?"height":"width","100%"),Te(_,u.isHorizontal?"top":"left",0),Te(_,u.mainDirection,"".concat(oe,"%")),Te(_,Me,"".concat(le-oe,"%")),Te(_,"transitionProperty","".concat(Me,",").concat(u.mainDirection)),Te(_,"transitionDuration","".concat(u.animateTime,"s")),_),u.processStyle),Fe)}})},dotBaseStyle:function(){var u,d=Array.isArray(this.dotSize)?this.dotSize:[this.dotSize,this.dotSize],m=vt(d,2),_=m[0],N=m[1];return u=this.isHorizontal?Te({transform:"translate(".concat(this.isReverse?"50%":"-50%",", -50%)"),WebkitTransform:"translate(".concat(this.isReverse?"50%":"-50%",", -50%)"),top:"50%"},this.direction==="ltr"?"left":"right","0"):Te({transform:"translate(-50%, ".concat(this.isReverse?"50%":"-50%",")"),WebkitTransform:"translate(-50%, ".concat(this.isReverse?"50%":"-50%",")"),left:"50%"},this.direction==="btt"?"bottom":"top","0"),Ee({width:"".concat(_,"px"),height:"".concat(N,"px")},u)},mainDirection:function(){switch(this.direction){case"ltr":return"left";case"rtl":return"right";case"btt":return"bottom";case"ttb":return"top";default:return"left"}},tooltipDirections:function(){var u=this.tooltipPlacement||(this.isHorizontal?"top":"left");return Array.isArray(u)?u:this.dots.map(function(){return u})},dots:function(){var u=this;return this.control.dotsPos.map(function(d,m){return Ee({pos:d,index:m,value:u.control.dotsValue[m],focus:u.states.has(Ve.Focus)&&u.focusDotIndex===m,disabled:u.disabled,style:u.dotStyle},(Array.isArray(u.dotOptions)?u.dotOptions[m]:u.dotOptions)||{})})},animateTime:function(){return this.states.has(Ve.Drag)?0:this.duration},canSort:function(){return this.order&&!this.minRange&&!this.maxRange&&!this.fixed&&this.enableCross},sliderData:function(){var u=this;return this.isObjectArrayData(this.data)?this.data.map(function(d){return d[u.dataValue]}):this.isObjectData(this.data)?Object.keys(this.data):this.data},sliderMarks:function(){var u=this;return this.marks?this.marks:this.isObjectArrayData(this.data)?function(d){var m={label:d};return u.data.some(function(_){return _[u.dataValue]===d&&(m.label=_[u.dataLabel],!0)}),m}:this.isObjectData(this.data)?this.data:void 0},sliderTooltipFormatter:function(){var u=this;if(this.tooltipFormatter)return this.tooltipFormatter;if(this.isObjectArrayData(this.data))return function(m){var _=""+m;return u.data.some(function(N){return N[u.dataValue]===m&&(_=N[u.dataLabel],!0)}),_};if(this.isObjectData(this.data)){var d=this.data;return function(m){return d[m]}}},isNotSync:function(){var u=this.control.dotsValue;return Array.isArray(this.modelValue)?this.modelValue.length!==u.length||this.modelValue.some(function(d,m){return d!==u[m]}):this.modelValue!==u[0]},dragRange:function(){var u=this.dots[this.focusDotIndex-1],d=this.dots[this.focusDotIndex+1];return[u?u.pos:-1/0,d?d.pos:1/0]}},watch:{modelValue:function(){this.control&&!this.states.has(Ve.Drag)&&this.isNotSync&&this.control.setValue(this.modelValue)}},methods:{isObjectData:function(u){return!!u&&Object.prototype.toString.call(u)==="[object Object]"},isObjectArrayData:function(u){return!!u&&Array.isArray(u)&&u.length>0&&Ae(u[0])==="object"},bindEvent:function(){document.addEventListener("touchmove",this.dragMove,{passive:!1}),document.addEventListener("touchend",this.dragEnd,{passive:!1}),document.addEventListener("mousedown",this.blurHandle),document.addEventListener("mousemove",this.dragMove),document.addEventListener("mouseup",this.dragEnd),document.addEventListener("mouseleave",this.dragEnd),document.addEventListener("keydown",this.keydownHandle)},unbindEvent:function(){document.removeEventListener("touchmove",this.dragMove),document.removeEventListener("touchend",this.dragEnd),document.removeEventListener("mousedown",this.blurHandle),document.removeEventListener("mousemove",this.dragMove),document.removeEventListener("mouseup",this.dragEnd),document.removeEventListener("mouseleave",this.dragEnd),document.removeEventListener("keydown",this.keydownHandle)},setScale:function(){this.scale=new Le(Math.floor(this.isHorizontal?this.$el.offsetWidth:this.$el.offsetHeight)).multiply(this.zoom||1).divide(100).toNumber()},initControl:function(){var u=this;this.control=new B({value:this.modelValue,data:this.sliderData,enableCross:this.enableCross,fixed:this.fixed,max:this.max,min:this.min,interval:this.interval,minRange:this.minRange,maxRange:this.maxRange,order:this.order,marks:this.sliderMarks,included:this.included,process:this.process,adsorb:this.adsorb,dotOptions:this.dotOptions,onError:this.emitError}),["data","enableCross","fixed","max","min","interval","minRange","maxRange","order","marks","process","adsorb","included","dotOptions"].forEach(function(d){u.$watch(d,function(m){if(d==="data"&&Array.isArray(u.control.data)&&Array.isArray(m)&&u.control.data.length===m.length&&m.every(function(_,N){return _===u.control.data[N]}))return!1;switch(d){case"data":case"dataLabel":case"dataValue":u.control.data=u.sliderData;break;case"mark":u.control.marks=u.sliderMarks;break;default:u.control[d]=m}["data","max","min","interval"].indexOf(d)>-1&&u.control.syncDotsPos()})})},syncValueByPos:function(){var u=this.control.dotsValue;if(this.isDiff(u,Array.isArray(this.modelValue)?this.modelValue:[this.modelValue])){var d=u.length===1?u[0]:ie(u);this.$emit("change",d,this.focusDotIndex),this.$emit("update:modelValue",d)}},isDiff:function(u,d){return u.length!==d.length||u.some(function(m,_){return m!==d[_]})},emitError:function(u,d){this.silent||console.error("[VueSlider error]: ".concat(d)),this.$emit("error",u,d)},dragStartOnProcess:function(u){if(this.dragOnClick){this.setScale();var d=this.getPosByEvent(u),m=this.control.getRecentDot(d);if(this.dots[m].disabled)return;this.dragStart(m),this.control.setDotPos(d,this.focusDotIndex),this.lazy||this.syncValueByPos()}},dragStart:function(u){this.focusDotIndex=u,this.setScale(),this.states.add(Ve.Drag),this.states.add(Ve.Focus),this.$emit("drag-start",this.focusDotIndex)},dragMove:function(u){if(!this.states.has(Ve.Drag))return!1;u.preventDefault();var d=this.getPosByEvent(u);this.isCrossDot(d),this.control.setDotPos(d,this.focusDotIndex),this.lazy||this.syncValueByPos();var m=this.control.dotsValue;this.$emit("dragging",m.length===1?m[0]:ie(m),this.focusDotIndex)},isCrossDot:function(u){if(this.canSort){var d=this.focusDotIndex,m=u;if(m>this.dragRange[1]?(m=this.dragRange[1],this.focusDotIndex++):m1&&arguments[1]!==void 0?arguments[1]:0;u.disabled||(this.states.add(Ve.Focus),this.focusDotIndex=d)},blur:function(){this.states.delete(Ve.Focus)},getValue:function(){var u=this.control.dotsValue;return u.length===1?u[0]:u},getIndex:function(){var u=this.control.dotsIndex;return u.length===1?u[0]:u},setValue:function(u){this.control.setValue(Array.isArray(u)?ie(u):[u]),this.syncValueByPos()},setIndex:function(u){var d=this,m=Array.isArray(u)?u.map(function(_){return d.control.getValueByIndex(_)}):this.control.getValueByIndex(u);this.setValue(m)},setValueByPos:function(u){var d=this,m=this.control.getRecentDot(u);if(this.disabled||this.dots[m].disabled)return!1;this.focusDotIndex=m,this.control.setDotPos(u,m),this.syncValueByPos(),this.useKeyboard&&this.states.add(Ve.Focus),setTimeout(function(){d.included&&d.isNotSync?d.control.setValue(d.modelValue):d.control.syncDotsPos()})},keydownHandle:function(u){var d=this;if(!this.useKeyboard||!this.states.has(Ve.Focus))return!1;var m=this.included&&this.marks,_=L(u,{direction:this.direction,max:m?this.control.markList.length-1:this.control.total,min:0,hook:this.keydownHook});if(_){u.preventDefault();var N=-1,oe=0;m?(this.control.markList.some(function(le,Fe){return le.value===d.control.dotsValue[d.focusDotIndex]&&(N=_(Fe),!0)}),N<0?N=0:N>this.control.markList.length-1&&(N=this.control.markList.length-1),oe=this.control.markList[N].pos):(N=_(this.control.getIndexByValue(this.control.dotsValue[this.focusDotIndex])),oe=this.control.parseValue(this.control.getValueByIndex(N))),this.isCrossDot(oe),this.control.setDotPos(oe,this.focusDotIndex),this.syncValueByPos()}},getPosByEvent:function(u){return C(u,this.$el,this.isReverse,this.zoom)[this.isHorizontal?"x":"y"]/this.scale},renderSlot:function(u,d,m){var _=this.$slots[u];return _?_(d):m}},created:function(){this.initControl()},mounted:function(){this.bindEvent()},beforeUnmount:function(){this.unbindEvent()}}),co=(0,T.Z)(Aa,[["render",g]]);co.VueSliderMark=P,co.VueSliderDot=x;var ka=co,za=ka}(),i=i.default,i}()})})(ma);var N1=ma.exports;const va=D1(N1),L1={class:"setting slider"},j1={class:"setting-title"},B1={class:"setting-subtitle"},F1={__name:"SlideInput",props:["modelValue","id","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(i){s("update:modelValue",i)}});function r(i){let l=n.setting.decimals||0;if(!n.setting.format)return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l});switch(n.setting.format){case"percent":return Number(i).toLocaleString("nl-NL",{style:"percent",minimumFractionDigits:l,maximumFractionDigits:l});default:return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l})+n.setting.format}}return(i,l)=>(F(),X("div",L1,[k("div",null,[k("h3",j1,[ge(i.$slots,"title")]),k("span",B1,[ge(i.$slots,"subtitle")])]),U(be(va),{min:e.setting.min,max:e.setting.max,interval:e.setting.step,duration:.2,"tooltip-formatter":c=>r(c),"tooltip-style":{},modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=c=>o.value=c),modelModifiers:{lazy:!0}},null,8,["min","max","interval","tooltip-formatter","modelValue"])]))}},U1=["active"],H1=["data-visible","data-state"],Pn={__name:"BottomSheet",props:["active","handle"],emits:["update:active"],setup(e,{emit:t}){const n=e,s=t,o=ce("hidden"),r=()=>{o.value="hiding",setTimeout(()=>{s("update:active",!1),o.value="hidden"},200)};return _t(()=>n.active,async i=>{i===!0?(o.value="showing",setTimeout(()=>{o.value="shown"},300)):(o.value="hiding",setTimeout(()=>{s("update:active",!1),o.value="hidden"},200))}),(i,l)=>(F(),X(ve,null,[o.value!=="hidden"?(F(),X("div",{key:0,class:"scrim",active:o.value==="shown"||o.value==="showing",onClick:r},null,8,U1)):Ze("",!0),o.value!=="hidden"?(F(),X("div",{key:1,class:"bottom-sheet","data-visible":o.value!=="hidden","data-state":o.value},[e.handle?(F(),X("div",{key:0,class:"bottom-sheet-handle",onClick:r})):Ze("",!0),ge(i.$slots,"content")],8,H1)):Ze("",!0)],64))}},io=e=>(Gt("data-v-ca1a65f6"),e=e(),qt(),e),K1={class:"color-maker"},W1=io(()=>k("br",null,null,-1)),G1=io(()=>k("br",null,null,-1)),q1={class:"col-right"},Z1={key:0,class:"swatches"},X1=["title","onClick"],Y1={class:"flex"},J1=io(()=>k("span",null,"Gereed",-1)),Q1=[J1],ef=io(()=>k("span",null,"Pipet",-1)),tf={__name:"ColorWheelSheet",props:["modelValue","pickerOpen","swatches"],emits:["update:modelValue","update:pickerOpen"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return typeof n.modelValue=="string"?{h:n.modelValue.split()[0],s:n.modelValue.split()[1],l:n.modelValue.split()[2]}:n.modelValue},set(z){typeof n.modelValue=="string"?s("update:modelValue",z.join(",")):s("update:modelValue",z)}}),r=he({get(){return n.pickerOpen||!1},set(z){s("update:pickerOpen",z)}}),i=ce(null),l=ce(null),c=ce(null),f=Ao({target:i}),a=Ao({target:l}),h=Ao({target:c}),{isSupported:p,open:g,sRGBHex:A}=s1();function V(z){if(z.type==="mousemove"&&!f.pressed.value)return;const w=z.currentTarget.getBoundingClientRect(),E=z.clientX-w.left-w.width/2,S=z.clientY-w.top-w.height/2;let P=Math.atan2(S,E);P=P*180/Math.PI+90,P=P<0?360+P:P,o.value={...o.value,h:Math.floor(P)}}function q(z){if(z.type==="mousemove"&&!a.pressed.value)return;const w=z.currentTarget.getBoundingClientRect(),E=(z.clientX-w.left)/w.width*100;o.value={...o.value,s:Math.floor(E)}}function K(z){if(z.type==="mousemove"&&!h.pressed.value)return;const w=z.currentTarget.getBoundingClientRect(),E=(z.clientX-w.left)/w.width*100;o.value={...o.value,l:Math.floor(E)}}async function T(){await g(),A.value&&(o.value=y(A.value))}function y(z){let w=0,E=0,S=0;z.length==4?(w="0x"+z[1]+z[1],E="0x"+z[2]+z[2],S="0x"+z[3]+z[3]):z.length==7&&(w="0x"+z[1]+z[2],E="0x"+z[3]+z[4],S="0x"+z[5]+z[6]),w/=255,E/=255,S/=255;let P=Math.min(w,E,S),D=Math.max(w,E,S),ee=D-P,C=0,L=0,Y=0;return ee==0?C=0:D==w?C=(E-S)/ee%6:D==E?C=(S-w)/ee+2:C=(w-E)/ee+4,C=Math.round(C*60),C<0&&(C+=360),Y=(D+P)/2,L=ee==0?0:ee/(1-Math.abs(2*Y-1)),L=+(L*100).toFixed(1),Y=+(Y*100).toFixed(1),{h:C,s:L,l:Y}}function x(z){return z.h==o.value.h&&z.s==o.value.s&&z.l==o.value.l}return(z,w)=>(F(),qe(Pn,{active:r.value,"onUpdate:active":w[1]||(w[1]=E=>r.value=E),handle:!0},{content:G(()=>{var E;return[k("div",K1,[k("div",{class:"hue-wheel",ref_key:"hueWheel",ref:i,onMouseup:V,onMousemove:V,style:Oe({"background-image":`radial-gradient(var(--color-surface-container) 56%, transparent calc(56% + 1px)), conic-gradient(in hsl longer hue, hsl(0 ${o.value.s}% ${o.value.l}%) 0 0)`})},[k("div",{class:"hue-wheel-knob knob",style:Oe({transform:`rotate(${o.value.h-6}deg)`,"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},null,4),k("div",{class:"hue-wheel-example",style:Oe({"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},[Q(xe(Number(o.value.h).toLocaleString("nl-NL",{style:"unit",unit:"degree",unitDisplay:"short",maximumFractionDigits:0}))+" ",1),W1,Q(" "+xe(Number(o.value.s/100).toLocaleString("nl-NL",{style:"percent",maximumFractionDigits:0}))+" ",1),G1,Q(" "+xe(Number(o.value.l/100).toLocaleString("nl-NL",{style:"percent",maximumFractionDigits:0})),1)],4)],36),k("div",q1,[k("div",{class:"saturation-bar color-bar",ref_key:"saturationBar",ref:l,onMouseup:q,onMousemove:q,style:Oe({"background-image":`linear-gradient(to left, hsl(${o.value.h} 100% ${o.value.l}%), hsl(${o.value.h} 50% ${o.value.l}%), hsl(${o.value.h} 0% ${o.value.l}%))`})},[k("div",{class:"saturation-bar-knob color-bar-knob knob",style:Oe({left:`${o.value.s}%`,"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},null,4)],36),k("div",{class:"luminance-bar color-bar",ref_key:"luminanceBar",ref:c,onMouseup:K,onMousemove:K,style:Oe({"background-image":`linear-gradient(to left, hsl(${o.value.h} ${o.value.s}% 100%), hsl(${o.value.h} ${o.value.s}% 50%), hsl(${o.value.h} ${o.value.s}% 0%))`})},[k("div",{class:"luminance-bar-knob color-bar-knob knob",style:Oe({left:`${o.value.l}%`,"background-color":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%`})},null,4)],36),((E=e.swatches)==null?void 0:E.length)>0?(F(),X("div",Z1,[(F(!0),X(ve,null,et(e.swatches,S=>(F(),X("button",{class:Pe(["swatch",{selected:x(S.color)}]),key:S.name,title:S.name,style:Oe({"background-color":`hsl(${S.color.h} ${S.color.s}% ${S.color.l}%`}),onClick:P=>o.value=S.color},null,14,X1))),128))])):Ze("",!0),k("div",Y1,[k("button",{class:"button",onClick:w[0]||(w[0]=S=>r.value=!1)},Q1),be(p)?(F(),X("button",{key:0,class:"button tonal invoke-eyedropper",onClick:T},[U(pe,null,{default:G(()=>[Q("colorize")]),_:1}),ef])):Ze("",!0)])])])]}),_:1},8,["active"]))}},ga=kt(tf,[["__scopeId","data-v-ca1a65f6"]]),nf={class:"color-picker"},sf={class:"gallery"},of={class:"swatches"},rf=["title","onClick"],lf={__name:"ColorPicker",props:["modelValue"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue||i[0].color},set(h){s("update:modelValue",h)}}),r=ce(!1),i=[{name:"Azuurblauw",color:{h:207,s:95,l:55}},{name:"Zeegroen",color:{h:161,s:51,l:41}},{name:"Mosgroen",color:{h:90,s:41,l:41}},{name:"Oranjegeel",color:{h:40,s:51,l:41}},{name:"Bloedrood",color:{h:10,s:51,l:41}},{name:"Rozerood",color:{h:341,s:61,l:41}},{name:"Mauvepaars",color:{h:290,s:41,l:41}},{name:"Diepindigo",color:{h:240,s:41,l:41}},{name:"Babyblauw",color:{h:207,s:52,l:66}},{name:"Mintgroen",color:{h:161,s:44,l:60}},{name:"Pastelgroen",color:{h:90,s:44,l:60}},{name:"Zandbeige",color:{h:40,s:44,l:66}},{name:"Zalmrood",color:{h:10,s:44,l:66}},{name:"Babyroze",color:{h:341,s:44,l:66}},{name:"Lavendelpaars",color:{h:290,s:44,l:66}},{name:"Zachtpaars",color:{h:240,s:44,l:70}}];function l(h){return h.h==o.value.h&&h.s==o.value.s&&h.l==o.value.l}const c=he(()=>i.slice(0,8).some(h=>l(h.color)));function f(h){o.value=h}function a(h){r.value=h}return(h,p)=>(F(),X("div",nf,[k("div",sf,[k("div",of,[(F(!0),X(ve,null,et(i.slice(0,8),g=>(F(),X("button",{class:Pe(["swatch",{selected:l(g.color)}]),key:g.name,title:g.name,style:Oe({"background-color":`hsl(${g.color.h} ${g.color.s}% ${g.color.l}%`}),onClick:A=>o.value=g.color},null,14,rf))),128))]),k("button",{class:Pe(["custom",{selected:!c.value}]),style:Oe({"--sel-color":c.value?"transparent":`hsl(${o.value.h} ${o.value.s}% ${o.value.l}%)`}),title:"Kleur kiezen",onClick:p[0]||(p[0]=g=>r.value=!0)},[U(pe,null,{default:G(()=>[Q("palette")]),_:1})],6)]),U(ga,{swatches:i,"model-value":o.value,"onUpdate:modelValue":f,pickerOpen:r.value,"onUpdate:pickerOpen":a},null,8,["model-value","pickerOpen"])]))}},af=kt(lf,[["__scopeId","data-v-35bdf943"]]),cf=e=>(Gt("data-v-c7caef6d"),e=e(),qt(),e),uf={class:"segmented-button"},ff=["onClick","data-state","data-has-icon","title"],df={key:0,class:"button-segment-text"},hf={key:1,class:"button-segment-icon-wrapper last"},pf=cf(()=>k("div",{class:"button-segment-state-layer"},null,-1)),mf={__name:"SegmentedButton",props:["modelValue","options","density"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(r){s("update:modelValue",r)}});return(r,i)=>(F(),X("div",uf,[(F(!0),X(ve,null,et(e.options,l=>(F(),X("button",{key:l.value,class:"button-segment",onClick:c=>o.value=l.value,"data-state":l.value===o.value,"data-has-icon":!!l.icon,title:l.tooltip,style:Oe({height:`${40+4*(e.density||0)}px`})},[k("div",{class:Pe(["button-segment-icon-wrapper",{hidden:!(l.value===o.value||l.icon&&l.title)}])},[U(Tn,{name:"icon"},{default:G(()=>[l.value===o.value?(F(),qe(pe,{key:"selected",class:"button-segment-icon selected"},{default:G(()=>[Q("check ")]),_:1})):l.icon&&l.title?(F(),qe(pe,{key:"icon",class:"button-segment-icon"},{default:G(()=>[Q(xe(l.icon),1)]),_:2},1024)):Ze("",!0)]),_:2},1024)],2),l.title?(F(),X("span",df,xe(l.title),1)):l.icon?(F(),X("div",hf,[U(pe,{key:"icon",class:"button-segment-icon"},{default:G(()=>[Q(xe(l.icon),1)]),_:2},1024)])):Ze("",!0),pf],12,ff))),128))]))}},ya=kt(mf,[["__scopeId","data-v-c7caef6d"]]),ba=e=>(Gt("data-v-e109c13a"),e=e(),qt(),e),vf=ba(()=>k("div",{id:"appbar"},null,-1)),gf=ba(()=>k("div",{id:"menubar-title"},null,-1)),yf=[gf],bf=Pl('
',2),_f={__name:"MagisterThemePreview",setup(e){const t=Bt("syncedStorage"),n=he(()=>{var h,p,g,A,V,q;let r=(h=t.value.ptheme||"auto,207,95,55")==null?void 0:h.split(","),i=(p=t.value.pagecolor)!=null&&p.startsWith("true")?`hsl(${t.value.pagecolor.replace("true,","").replace(/,/gi," ")})`:null,l=(g=t.value.appbarcolor)!=null&&g.startsWith("true")?`hsl(${t.value.appbarcolor.replace("true,","").replace(/,/gi," ")})`:null,c=(A=t.value.sidecolor)!=null&&A.startsWith("true")?`hsl(${t.value.sidecolor.replace("true,","").replace(/,/gi," ")})`:null,f=(V=t.value.wallpaper)!=null&&V.startsWith("custom")?`linear-gradient(color-mix(in srgb, var(--page), transparent 20%), color-mix(in srgb, var(--page), transparent 20%)), url(${t.value.wallpaper.replace("custom,","")})`:"none",a=(q=t.value.decoration)!=null&&q.startsWith("custom")?`url(${t.value.decoration.replace("custom,","")})`:"none";return r==null||r.shift(),{"--page":i||"light-dark(#ffffff, #111111)","--wallpaper":f,"--appbar":l||`light-dark(${s(207,95,47,...r)}, ${s(207,73,22,...r)})`,"--menubar":c||`light-dark(${s(207,95,55,...r)}, ${s(207,73,30,...r)})`,"--decoration":a,"--sidebar":"light-dark(#ffffffaa, #0c0c0caa)","--foreground-accent":`light-dark(${s(207,78,43,...r)}, ${s(207,53,55,...r)})`,"--border":"light-dark(#dfdfdfaa, #2e2e2eaa)","--border-radius":(t.value.shape??8)+"px","--accent-1":`light-dark(${s(207,95,55,...r)}, ${s(207,73,30,...r)})`,"--accent-2":`light-dark(${s(207,95,47,...r)}, ${s(207,73,22,...r)})`}});function s(r=207,i=95,l=55,c=0,f=0,a=0,h,p,g){let A,V,q;if(c=Number(c),f=Number(f),a=Number(a),h)A=h;else if(c<=207)A=r/207*c;else if(c>207){let K=(360-r)/153,T=r-K*207;A=K*c+T}if(p)V=p;else if(f<=95)V=i/95*f;else if(f>95){let K=(100-i)/5,T=i-K*95;V=K*f+T}if(g)q=g;else if(a<=55)q=l/55*a;else if(a>55){let K=(100-l)/45,T=l-K*55;q=K*a+T}return`hsl(${A}, ${V}%, ${q}%)`}const o=[{id:"none",style:{}},{id:"waves",style:{"background-image":"repeating-radial-gradient( circle at 0 0, transparent 0, var(--palette-primary) 19px, transparent 20px ), repeating-linear-gradient( #ffffff11, #ffffff33 )"}},{id:"zig-zag",style:{"background-image":"linear-gradient(135deg, #ffffff11 25%, transparent 25%), linear-gradient(225deg, #ffffff11 25%, transparent 25%), linear-gradient(45deg, #ffffff11 25%, transparent 25%), linear-gradient(315deg, #ffffff11 25%, var(--palette-primary) 25%)","background-position":"15px 0, 15px 0, 0 0, 0 0","background-size":"30px 30px","background-repeat":"repeat"}},{id:"polka-dot",style:{"background-image":"radial-gradient(#ffffff11 30%, transparent 31.2%), radial-gradient(#ffffff11 30%, transparent 31.2%)","background-position":"0px 0px, 15px 15px","background-size":"30px 30px"}},{id:"stripes",style:{"background-image":"repeating-linear-gradient(45deg, transparent, transparent 10px, #ffffff0a 10px, #ffffff22 20px)"}},{id:"lego",style:{"background-size":"150px","background-position":"14px 14px","background-image":`url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F>')`}}];return(r,i)=>{var l;return F(),X("div",{id:"theme-preview",style:Oe(n.value)},[vf,k("div",{id:"menubar",style:Oe({...((l=o.find(c=>{var f;return(f=be(t).decoration)==null?void 0:f.startsWith(c.id)}))==null?void 0:l.style)||{}})},yf,4),bf],4)}}},Af=kt(_f,[["__scopeId","data-v-e109c13a"]]),kf={class:"setting theme-picker",id:"theme-picker"},zf={__name:"ThemePicker",props:["modelValue","id"],emits:["update:modelValue"],setup(e,{emit:t}){var f;const n=e,s=t,o=he({get(){let a=n.modelValue||i.codepoint,[h,p,g,A]=a.split(",");return{scheme:h,color:{h:p,s:g,l:A}}},set(a){s("update:modelValue",`${a.scheme},${a.color.h},${a.color.s},${a.color.l}`)}}),r=ce((f=window.matchMedia)==null?void 0:f.call(window,"(prefers-color-scheme: dark)").matches),i={scheme:"auto",color:{h:207,s:95,l:55},codepoint:"auto,207,95,55"};function l(a){o.value={...o.value,scheme:a}}function c(a){o.value={...o.value,color:a}}return(a,h)=>(F(),X("div",kf,[U(Af,{id:"theme-preview"}),U(ya,{id:"theme-scheme","model-value":o.value.scheme,"onUpdate:modelValue":l,options:[{value:"auto",icon:"hdr_auto",tooltip:r.value?"Op basis van browserthema (momenteel donker)":"Op basis van browserthema (momenteel licht)"},{value:"light",icon:"light_mode",tooltip:"Licht thema"},{value:"dark",icon:"dark_mode",tooltip:"Donker thema"}]},null,8,["model-value","options"]),U(af,{id:"theme-color","model-value":o.value.color,"onUpdate:modelValue":c,"swatches-enabled":!0},null,8,["model-value"])]))}},wf=kt(zf,[["__scopeId","data-v-13a00e5b"]]),xf={class:"setting key-picker",ref:"label"},Sf={class:"setting-title"},Cf={class:"setting-subtitle"},Ef=k("span",{class:"supporting-text"},"Druk op een toets",-1),$f={__name:"KeyPicker",props:["modelValue","id"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(f){s("update:modelValue",f)}});let r=ce(!1),i=ce(!1);function l(){r.value=!0,document.addEventListener("keydown",f=>{r.value&&(o.value=f.key,i.value=!0,setTimeout(()=>{r.value=!1,i.value=!1},500))},{once:!0})}function c(f){return f&&(f===" "?"Spatie":f.charAt(0).toUpperCase()+f.slice(1))}return(f,a)=>(F(),X("div",xf,[k("button",{class:"key-picker-click-layer",onClick:l},[k("div",null,[k("h3",Sf,[ge(f.$slots,"title")]),k("span",Cf,[ge(f.$slots,"subtitle"),Q(" ("+xe(c(o.value))+") ",1)])]),U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Pn,{active:be(r),"onUpdate:active":a[0]||(a[0]=h=>$e(r)?r.value=h:r=h),handle:!0},{content:G(()=>[Ef,k("span",{class:Pe(["key-picker-selected",{selected:be(i)}])},xe(c(o.value)),3)]),_:1},8,["active"])],512))}},Of={class:"setting image-input",ref:"label"},Tf=["src"],Pf={key:1,class:"image-input-avatar"},Vf={class:"setting-title"},Rf={class:"setting-subtitle"},Df=k("span",{class:"supporting-text"},"Gekozen afbeelding",-1),If={class:"image-wrapper"},Mf=["src"],Nf={key:1,class:"image-picker-selected"},Lf={class:"supporting-text"},jf=k("br",null,null,-1),Bf=k("div",{class:"what-next"},[Q(" Afbeelding plakken "),k("span",{class:"keybind"},"Ctrl"),k("span",{class:"keybind"},"V")],-1),Ff=["id"],Uf=k("span",null,"Afbeelding uploaden",-1),Hf={key:1,class:"supporting-text"},ws=56,ui=.3,Kf={__name:"ImageInput",props:["modelValue","id"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(h){s("update:modelValue",h)}});let r=window.navigator.userAgent.match(/Firefox\/([0-9]+)\./gi);const i=ce(null);let l=ce(!1),c=ce(!1);function f(){l.value=!0,document.addEventListener("paste",h=>{l.value&&(i.value.files=h.clipboardData.files,a())},{once:!0})}function a(){const h=i.value.files[0];if(h){const p=new FileReader;p.onload=function(){const g=new Image;g.onload=function(){const A=document.createElement("canvas"),V=A.getContext("2d");A.width=ws,A.height=ws,V.drawImage(g,0,0,ws,ws),o.value=A.toDataURL("image/webp",ui)||A.toDataURL("image/jpeg",ui),c.value=!0},g.src=p.result,setTimeout(()=>{l.value=!1,c.value=!1},500)},p.readAsDataURL(h)}}return(h,p)=>(F(),X("div",Of,[k("button",{class:"image-input-click-layer",onClick:f},[o.value?(F(),X("img",{key:0,class:Pe(["image-input-avatar",{selected:be(c)}]),src:o.value,width:"40",height:"40"},null,10,Tf)):(F(),X("div",Pf,[U(pe,null,{default:G(()=>[Q("add_photo_alternate")]),_:1})])),k("div",null,[k("h3",Vf,[ge(h.$slots,"title")]),k("span",Rf,[ge(h.$slots,"subtitle")])]),U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Pn,{active:be(l),"onUpdate:active":p[1]||(p[1]=g=>$e(l)?l.value=g:l=g),handle:!0},{content:G(()=>[Df,k("div",If,[o.value?(F(),X("img",{key:0,class:Pe(["image-picker-selected",{selected:be(c)}]),src:o.value,width:"56",height:"56"},null,10,Mf)):(F(),X("div",Nf,[U(pe,null,{default:G(()=>[Q("add_photo_alternate")]),_:1})])),k("span",Lf,[Q(xe((o.value||"").length.toLocaleString("nl-NL"))+" bytes",1),jf,Q("De afbeelding is verkleind en gecomprimeerd, maar het effect is op Magister niet merkbaar.")])]),Bf,k("input",{type:"file",id:e.id,ref_key:"input",ref:i,accept:"image/*",onChange:a},null,40,Ff),be(r)?(F(),X("span",Hf,"Jouw browser ondersteunt het uploaden van afbeeldingen niet. Je kunt wel een afbeelding plakken.")):(F(),X("button",{key:0,class:"bottom-sheet-action",onClick:p[0]||(p[0]=g=>i.value.click())},[U(pe,null,{default:G(()=>[Q("drive_folder_upload")]),_:1}),Uf]))]),_:1},8,["active"])],512))}},Wf=["active","tabindex"],Gf=["scrolled"],qf={class:"fullscreen-dialog-title"},Zf={class:"fullscreen-dialog-actions"},Xf={__name:"DialogFullscreen",props:["active","fullscreen"],emits:["update:active"],setup(e,{emit:t}){const n=e,s=t,o=()=>{s("update:active",!1)},r=ce(null),{y:i}=pa(r);return(l,c)=>(F(),X("div",{class:"fullscreen-dialog",active:n.active,tabindex:n.active?0:-1},[k("div",{class:"fullscreen-dialog-header",scrolled:be(i)>16},[k("button",{class:"fullscreen-dialog-close",onClick:o},[U(pe,null,{default:G(()=>[Q("close")]),_:1})]),k("h2",qf,[ge(l.$slots,"headline")]),k("div",Zf,[ge(l.$slots,"buttons")])],8,Gf),k("span",{class:"fullscreen-dialog-content",ref_key:"content",ref:r},[ge(l.$slots,"content")],512)],8,Wf))}},Yf={class:"key-input"},Jf=k("span",{class:"supporting-text"},"Druk op een toets",-1),Qf={__name:"KeyInput",props:["modelValue","id","allowClear"],emits:["update:modelValue","input"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(a){s("update:modelValue",a),s("input",a)}});let r=ce(!1),i=ce(!1);function l(){r.value=!0,document.addEventListener("keydown",a=>{r.value&&(o.value=a.key,i.value=!0,setTimeout(()=>{r.value=!1,i.value=!1},500))},{once:!0})}function c(){o.value="",i.value=!0,setTimeout(()=>{r.value=!1,i.value=!1},500)}function f(a){return a&&(a===" "?"Spatie":a.charAt(0).toUpperCase()+a.slice(1))}return(a,h)=>(F(),X("div",Yf,[k("button",{onClick:l},xe(f(o.value)||"⋯"),1),U(Pn,{active:be(r),"onUpdate:active":h[0]||(h[0]=p=>$e(r)?r.value=p:r=p),handle:!0},{content:G(()=>[Jf,k("span",{class:Pe(["key-picker-selected",{selected:be(i)}])},xe(f(o.value)||"Geen geselecteerd"),3),e.allowClear?(F(),X("button",{key:0,class:"button text key-picker-clear",onClick:c},"Wissen")):Ze("",!0)]),_:1},8,["active"])]))}},ed={class:"icon-input"},td={class:"icon-picker-all"},nd={class:"supporting-text"},sd={class:"icon-picker-grid"},od=["onClick"],rd={__name:"IconInput",props:["modelValue","id"],emits:["update:modelValue","input"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(f){s("update:modelValue",f),s("input",f)}}),r={Media:"",Technologie:"",Kalenders:"",Bestanden:"",Personen:"",Divers:"☀⏾",Cirkels:"",Vierkanten:"⬛",Handen:"",Amusement:"♝♚♞♟♛♜",Emoticons:""};let i=ce(!1);function l(){i.value=!0;let f=document.querySelector(".icon-picker-option.selected");f&&f.scrollIntoView({behavior:"smooth",block:"center"})}function c(f){o.value=f,setTimeout(()=>{i.value=!1},500)}return(f,a)=>(F(),X("div",ed,[k("button",{onClick:l},xe(o.value),1),U(Pn,{active:be(i),"onUpdate:active":a[0]||(a[0]=h=>$e(i)?i.value=h:i=h),handle:!0},{content:G(()=>[k("div",td,[(F(),X(ve,null,et(r,(h,p)=>k("div",{key:p},[k("span",nd,xe(p),1),k("div",sd,[(F(!0),X(ve,null,et(h.split(""),g=>(F(),X("button",{class:Pe(["icon-picker-option",{selected:o.value===g}]),key:g,onClick:A=>c(g)},xe(g),11,od))),128))])])),64))])]),_:1},8,["active"])]))}},id={class:"setting"},ld={class:"setting-title"},ad={class:"setting-subtitle"},cd=k("br",null,null,-1),ud=k("div",{class:"shortcut-example"},[k("span",null,"Icoon"),k("span",null,"URL"),k("span",null,"Sneltoets")],-1),fd=["value","onInput"],dd={class:"shortcut-actions"},hd=["onClick"],pd=["onClick"],md=["onClick"],vd={__name:"ShortcutsEditor",props:["modelValue"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return typeof n.modelValue=="object"?Object.values(n.modelValue):n.modelValue},set(f){s("update:modelValue",f)}}),r=ce(!1);function i(f){let a=[...o.value];a.splice(f,1),o.value=a}function l(f,a){let h=[...o.value];h[f]=a,o.value=h}function c(f,a){let h=[...o.value];if(a<0||a>=h.length)return;let p=h.splice(f,1)[0];h.splice(a,0,p),o.value=h}return(f,a)=>(F(),X("div",id,[k("button",{class:"shortcuts-editor-click-layer",onClick:a[0]||(a[0]=h=>r.value=!0)},[k("div",null,[k("h3",ld,[ge(f.$slots,"title")]),k("span",ad,[ge(f.$slots,"subtitle")])]),U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Xf,{fullscreen:"",active:r.value,"onUpdate:active":a[2]||(a[2]=h=>r.value=h)},{headline:G(()=>[ge(f.$slots,"title")]),content:G(()=>[ge(f.$slots,"subtitle"),cd,ud,U(js,{name:"editor",tag:"ul",class:"shortcuts-list"},{default:G(()=>[(F(!0),X(ve,null,et(o.value,(h,p)=>(F(),X("li",{key:h.icon,class:"shortcut-wrapper"},[U(rd,{modelValue:o.value[p].icon,"onUpdate:modelValue":g=>o.value[p].icon=g,onInput:g=>l(p,{icon:g,href:o.value[p].href,hotkey:o.value[p].hotkey})},null,8,["modelValue","onUpdate:modelValue","onInput"]),k("input",{class:"text-input",type:"input",value:o.value[p].href,onInput:g=>l(p,{icon:o.value[p].icon,href:g.target.value.replace("https://",""),hotkey:o.value[p].hotkey}),placeholder:" ",autocomplete:"off",spellcheck:"false"},null,40,fd),U(Qf,{modelValue:o.value[p].hotkey,"onUpdate:modelValue":g=>o.value[p].hotkey=g,allowClear:!0,onInput:g=>l(p,{icon:o.value[p].icon,href:o.value[p].href,hotkey:g})},null,8,["modelValue","onUpdate:modelValue","onInput"]),k("div",dd,[k("button",{class:"element-action",onClick:g=>i(p)},[U(pe,null,{default:G(()=>[Q("delete")]),_:1})],8,hd),k("button",{class:"element-action",onClick:g=>c(p,p-1)},[U(pe,null,{default:G(()=>[Q("keyboard_arrow_up")]),_:1})],8,pd),k("button",{class:"element-action",onClick:g=>c(p,p+1)},[U(pe,null,{default:G(()=>[Q("keyboard_arrow_down")]),_:1})],8,md)])]))),128))]),_:1}),k("button",{class:"button text",style:{"margin-top":"16px"},onClick:a[1]||(a[1]=h=>o.value=[...o.value,{icon:"",href:"",hotkey:""}])},"Toevoegen")]),_:3},8,["active"])]))}},gd=["title"],yd={class:"setting-title"},bd={__name:"ColorOverrideSetting",props:["modelValue","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){let f=n.modelValue||n.setting.default,[a,h,p,g]=f.split(",");return{override:a,color:{h,s:p,l:g}}},set(f){s("update:modelValue",`${f.override},${f.color.h},${f.color.s},${f.color.l}`)}}),r=ce(!1);function i(f){o.value={...o.value,override:f},f=="true"&&(r.value=!0)}function l(f){o.value={...o.value,color:f}}function c(f){r.value=f}return(f,a)=>(F(),X("div",{class:"setting color-override-setting",title:e.setting.title},[k("h3",yd,xe(e.setting.subtitle),1),U(pe,{class:"setting-icon"},{default:G(()=>[Q("format_color_fill")]),_:1}),U(ya,{"model-value":o.value.override,"onUpdate:modelValue":i,options:[{value:"false",icon:"format_color_reset",title:"Standaard"},{value:"true",icon:"palette",title:"Aangepast"}],density:"-1",style:Oe({"--sel-color":o.value.override=="true"?`hsl(${o.value.color.h} ${o.value.color.s}% ${o.value.color.l}%)`:"transparent"})},null,8,["model-value","style"]),U(ga,{"model-value":o.value.color,"onUpdate:modelValue":l,pickerOpen:r.value,"onUpdate:pickerOpen":c},null,8,["model-value","pickerOpen"])],8,gd))}},_d={class:"border-cutout"},Ad={class:"text-title"},kd={__name:"TextInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(e){const t=Nl(e,"modelValue"),n=ce(null),{focused:s}=ro(n),o=he(()=>t.value.length>0);return(r,i)=>(F(),X("label",{class:Pe(["text-label",{focused:be(s),filled:o.value}])},[rs(k("input",{class:"text-input",type:"input",ref_key:"input",ref:n,"onUpdate:modelValue":i[0]||(i[0]=l=>t.value=l),placeholder:" ",autocomplete:"off"},null,512),[[En,t.value]]),k("div",_d,[ge(r.$slots,"title",{},void 0,!0)]),k("h3",Ad,[ge(r.$slots,"title",{},void 0,!0)])],2))}},zd=kt(kd,[["__scopeId","data-v-d9ad750f"]]),wd=e=>(Gt("data-v-abe95c37"),e=e(),qt(),e),xd=wd(()=>k("span",{class:"supporting-text"},"Geef de koppeling van de afbeelding die je wilt gebruiken.",-1)),Sd={__name:"ImageUrlSheet",props:["modelValue","pickerOpen"],emits:["update:modelValue","update:pickerOpen"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(l){s("update:modelValue",l)}}),r=he({get(){return n.pickerOpen||!1},set(l){s("update:pickerOpen",l)}});function i(l){o.value=l}return(l,c)=>(F(),qe(Pn,{active:r.value,"onUpdate:active":c[0]||(c[0]=f=>r.value=f),handle:!0},{content:G(()=>[U(zd,{"model-value":o.value,"onUpdate:modelValue":i,style:{"--context-color":"var(--color-surface-container-low)"}},{title:G(()=>[Q("Afbeeldings-URL")]),_:1},8,["model-value"]),xd]),_:1},8,["active"]))}},Cd=kt(Sd,[["__scopeId","data-v-abe95c37"]]),Ed=e=>(Gt("data-v-66ad6baf"),e=e(),qt(),e),$d=["title"],Od={class:"swatches-wrapper"},Td=["title","onClick","data-state"],Pd={key:0},Vd=Ed(()=>k("div",{class:"state-layer"},null,-1)),Rd={key:1},Dd={key:2},Id={__name:"DecorationPickerSetting",props:["modelValue","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){let a=n.modelValue||n.setting.default,[h,p]=a.split(",");return{decoration:h,url:p||""}},set(a){s("update:modelValue",`${a.decoration},${a.url||""}`)}}),r=ce(!1);let i=[{id:"none",name:"Geen",style:{}},{id:"custom",name:"Afbeelding kiezen",style:{}}];n.setting.id==="decoration"&&(i=[i[0],{id:"waves",name:"Golven",style:{"background-image":"repeating-radial-gradient( circle at 0 0, transparent 0, var(--palette-primary) 19px, transparent 20px ), repeating-linear-gradient( #ffffffbb, #ffffffff )"}},{id:"zig-zag",name:"Zigzag",style:{"background-image":"linear-gradient(135deg, #ffffffbb 25%, transparent 25%), linear-gradient(225deg, #ffffffbb 25%, transparent 25%), linear-gradient(45deg, #ffffffbb 25%, transparent 25%), linear-gradient(315deg, #ffffffbb 25%, var(--palette-primary) 25%)","background-position":"15px 0, 15px 0, 0 0, 0 0","background-size":"30px 30px","background-repeat":"repeat"}},{id:"polka-dot",name:"Stippen",style:{"background-image":"radial-gradient(#ffffffbb 30%, transparent 31.2%), radial-gradient(#ffffffbb 30%, transparent 31.2%)","background-position":"0px 0px, 15px 15px","background-size":"30px 30px"}},{id:"stripes",name:"Strepen",style:{"background-image":"repeating-linear-gradient(45deg, transparent, transparent 10px, #ffffff77 10px, #ffffffcc 20px)"}},{id:"lego",name:"LEGO",style:{"background-size":"150px","background-position":"14px 14px","background-image":`url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F>')`}},i[1]]);function l(a){o.value={...o.value,decoration:a},a==="custom"&&(r.value=!0)}function c(a){o.value={...o.value,url:a}}function f(a){r.value=a}return(a,h)=>(F(),X("div",{class:"setting decoration-picker-setting",title:e.setting.title},[U(pe,{class:"setting-icon"},{default:G(()=>[Q("wallpaper")]),_:1}),k("div",Od,[(F(!0),X(ve,null,et(be(i),(p,g)=>(F(),X("button",{key:g,class:"swatch",style:Oe(p.style),title:p.name,onClick:A=>l(p.id),"data-state":o.value.decoration===p.id},[U(Tn,{name:"swatch-check"},{default:G(()=>[o.value.decoration===p.id?(F(),X("div",Pd,[Vd,p.id==="custom"?(F(),qe(pe,{key:0},{default:G(()=>[Q("add_photo_alternate")]),_:1})):(F(),qe(pe,{key:1},{default:G(()=>[Q("check")]),_:1}))])):p.id==="none"?(F(),X("div",Rd,[U(pe,null,{default:G(()=>[Q("remove_selection")]),_:1})])):p.id==="custom"?(F(),X("div",Dd,[U(pe,null,{default:G(()=>[Q("add_photo_alternate")]),_:1})])):Ze("",!0)]),_:2},1024)],12,Td))),128))]),U(Cd,{"model-value":o.value.url,"onUpdate:modelValue":c,pickerOpen:r.value,"onUpdate:pickerOpen":f},null,8,["model-value","pickerOpen"])],8,$d))}},Md=kt(Id,[["__scopeId","data-v-66ad6baf"]]),Nd=["title"],Ld=k("br",null,null,-1),jd={__name:"DecorationSizeSetting",props:["modelValue","id","setting"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(i){s("update:modelValue",i)}});function r(i){let l=n.setting.decimals||0;if(!n.setting.format)return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l});switch(n.setting.format){case"percent":return Number(i).toLocaleString("nl-NL",{style:"percent",minimumFractionDigits:l,maximumFractionDigits:l});default:return Number(i).toLocaleString("nl-NL",{minimumFractionDigits:l,maximumFractionDigits:l})+n.setting.format}}return(i,l)=>(F(),X("div",{class:"setting decoration-size-setting",title:e.setting.title},[Ld,U(be(va),{min:e.setting.min,max:e.setting.max,interval:e.setting.step,duration:.2,"tooltip-formatter":c=>r(c),"tooltip-style":{},modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=c=>o.value=c),modelModifiers:{lazy:!0}},null,8,["min","max","interval","tooltip-formatter","modelValue"])],8,Nd))}},Bd=["active"],Fd=["active"],Ud={class:"dialog-title center"},Hd={class:"dialog-description"},Kd={class:"dialog-actions"},Es={__name:"Dialog",props:["active"],emits:["update:active"],setup(e,{emit:t}){const n=e,s=t,o=()=>{s("update:active",!1)};return(r,i)=>(F(),X(ve,null,[k("div",{class:"scrim",active:n.active,onClick:o},null,8,Bd),k("div",{class:"dialog",active:n.active},[U(pe,{class:"dialog-icon"},{default:G(()=>[ge(r.$slots,"icon")]),_:3}),k("h2",Ud,[ge(r.$slots,"headline")]),k("span",Hd,[ge(r.$slots,"text")]),k("div",Kd,[ge(r.$slots,"buttons")])],8,Fd)],64))}},Wd=["for"],Gd=["id"],qd={class:"border-cutout"},Zd={class:"setting-title"},Xd={class:"setting-subtitle"},_a=Object.assign({inheritAttrs:!1},{__name:"InputText",props:["id","modelValue"],emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,o=he({get(){return n.modelValue},set(c){s("update:modelValue",c)}}),r=ce(null),{focused:i}=ro(r),l=he(()=>{var c;return((c=o==null?void 0:o.value)==null?void 0:c.length)>0});return(c,f)=>(F(),X("label",{class:Pe(["text-input-label",{focused:be(i),filled:l.value}]),for:e.id},[rs(k("input",mr({class:"text-input",type:"input",id:e.id,ref_key:"input",ref:r,"onUpdate:modelValue":f[0]||(f[0]=a=>o.value=a),placeholder:" ",autocomplete:"off"},c.$attrs),null,16,Gd),[[En,o.value,void 0,{lazy:!0}]]),k("div",qd,[ge(c.$slots,"title")]),k("h3",Zd,[ge(c.$slots,"title")]),k("span",Xd,[ge(c.$slots,"subtitle")])],10,Wd))}}),Yd={id:"about"},Jd={id:"about-hero"},Qd=k("p",{id:"about-description"},[Q(" Ontwikkeld door Quinten Althues"),k("br"),Q(" Bedankt voor het gebruiken van Study Tools!"),k("br")],-1),e0={id:"about-buttons"},t0=k("span",null,"Website",-1),n0=k("span",null,"E-mail",-1),s0=k("span",null,"Discord",-1),o0=k("span",null,"PayPal",-1),r0=k("span",null,"Privacybeleid",-1),i0=k("br",null,null,-1),l0=k("br",null,null,-1),a0=k("div",null,[k("h3",{class:"setting-title"}," Voorkeuren wissen ")],-1),c0=k("div",null,[k("h3",{class:"setting-title"}," Voorkeuren kopiëren/plakken ")],-1),u0=k("br",null,null,-1),f0=k("br",null,null,-1),d0={__name:"About",emits:["resetSettings"],setup(e,{emit:t}){const n=t,{manifest:s}=r1(),o=Bt("syncedStorage"),r=ce(!1),i=ce(!1),l=ce(!1),c=he({get(){try{return JSON.stringify(o.value)||{}}catch{return{}}},set(h){try{return o.value=JSON.parse(h)||o.value||{},o.value}catch{return o.value=o.value||{},o.value}}});function f(){n("resetSettings"),i.value=!1}function a(h){window.open(h,"_blank","noreferrer")}return(h,p)=>(F(),X("div",Yd,[k("h4",Jd,[Q("Study Tools voor Magister ("),k("button",{class:"button text inline",onClick:p[0]||(p[0]=g=>a("https://github.com/QkeleQ10/Study-Tools/blob/dev/updates.json"))},[k("span",null,"versie "+xe(be(s).version||"onbekend"),1)]),Q(")")]),Qd,k("div",e0,[k("button",{class:"button",onClick:p[1]||(p[1]=g=>a("https://qkeleq10.github.io/studytools"))},[U(pe,null,{default:G(()=>[Q("captive_portal")]),_:1}),t0]),k("button",{class:"button tonal",onClick:p[2]||(p[2]=g=>a("mailto:quinten@althues.nl?subject=Study Tools"))},[U(pe,null,{default:G(()=>[Q("alternate_email")]),_:1}),n0]),k("button",{class:"button tonal",onClick:p[3]||(p[3]=g=>a("https://discord.gg/2rP7pfeAKf"))},[U(pe,null,{default:G(()=>[Q("forum")]),_:1}),s0]),k("button",{class:"button tonal",onClick:p[4]||(p[4]=g=>a("https://paypal.me/QkeleQ10"))},[U(pe,null,{default:G(()=>[Q("volunteer_activism")]),_:1}),o0]),k("button",{class:"button tonal",onClick:p[5]||(p[5]=g=>r.value=!0)},[U(pe,null,{default:G(()=>[Q("shield_locked")]),_:1}),r0])]),U(Es,{active:r.value,"onUpdate:active":p[7]||(p[7]=g=>r.value=g)},{icon:G(()=>[Q("info")]),headline:G(()=>[Q("Informatie")]),text:G(()=>[Q(" Deze extensie slaat gegevens over je identiteit, je accounts en je instellingen op in de browser. Afhankelijk van je browserinstellingen worden ze al dan niet opgeslagen in de cloud. Er wordt nooit informatie doorgestuurd naar de ontwikkelaar of naar derden."),i0,l0,Q(" Ik kan onder geen enkele omstandigheid je gegevens zien. Ik kan alleen zien hoe veel gebruikers mijn extensie gebruiken en andere statistieken zoals percentages van besturingssystemen. Ik kan dus niet per gebruiker dingen zien en Magister-gegevens zijn compleet ontoegankelijk voor mij. ")]),buttons:G(()=>[k("button",{onClick:p[6]||(p[6]=g=>r.value=!1)},"Begrepen")]),_:1},8,["active"]),k("button",{id:"about-reset",onClick:p[8]||(p[8]=g=>i.value=!0)},[a0,U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Es,{active:i.value,"onUpdate:active":p[10]||(p[10]=g=>i.value=g)},{icon:G(()=>[Q("restart_alt")]),headline:G(()=>[Q("Voorkeuren wissen?")]),text:G(()=>[Q("Hiermee stel je alle instellingen van Study Tools in op de standaardwaarden.")]),buttons:G(()=>[k("button",{onClick:p[9]||(p[9]=g=>i.value=!1)},"Annuleren"),k("button",{onClick:f},"Wissen")]),_:1},8,["active"]),k("button",{id:"about-export",onClick:p[11]||(p[11]=g=>l.value=!0)},[c0,U(pe,null,{default:G(()=>[Q("chevron_right")]),_:1})]),U(Es,{active:l.value,"onUpdate:active":p[15]||(p[15]=g=>l.value=g)},{icon:G(()=>[Q("copy_all")]),headline:G(()=>[Q("Voorkeuren kopiëren/plakken")]),text:G(()=>[Q("Kopieer de inhoud van het tekstvak om je voorkeuren op te slaan op je klembord. Plak in het tekstvak om voorkeuren te wijzigen. Als je plakt, dan gaan al je huidige voorkeuren verloren."),u0,f0,U(_a,{id:"settings-paste-input",modelValue:c.value,"onUpdate:modelValue":p[12]||(p[12]=g=>c.value=g),onFocus:p[13]||(p[13]=g=>g.target.select())},{title:G(()=>[Q("Plak hier")]),_:1},8,["modelValue"])]),buttons:G(()=>[k("button",{onClick:p[14]||(p[14]=g=>l.value=!1)},"Sluiten")]),_:1},8,["active"])]))}},yr=e=>(Gt("data-v-df5d40bd"),e=e(),qt(),e),h0={class:"setting-wrapper"},p0={id:"theme-presets-container"},m0=yr(()=>k("div",{id:"theme-presets-heading"},[k("h3",{class:"setting-title"},"Themapakketten"),k("span",{class:"setting-subtitle"},"Als je een vooraf ingesteld themapakket selecteert, dan worden al je voorkeuren voor het uiterlijk gewist.")],-1)),v0={id:"theme-presets"},g0=["title","onClick"],y0=yr(()=>k("br",null,null,-1)),b0=yr(()=>k("br",null,null,-1)),_0={__name:"ThemePresets",setup(e){const t=Bt("syncedStorage"),n=ce(!1);function s(l){for(const c in l)if(Object.hasOwnProperty.call(l,c)&&c!="name"&&c!="thumbnail"){const f=l[c];t.value[c]=f}}const o=(l,...c)=>Object.fromEntries(c.filter(f=>f in l).map(f=>[f,l[f]])),r=he({get(){try{return JSON.stringify(o(t.value,"ptheme","pagecolor","wallpaper","sidecolor","decoration","decoration-size","appbarcolor","shape","custom-css"))||{}}catch{return{}}},set(l){try{return t.value={...t.value,...JSON.parse(l)||t.value||{}},t.value}catch{return t.value=t.value||{},t.value}}}),i=[{name:"Magister",thumbnail:"url('https://upload.wikimedia.org/wikipedia/commons/4/49/Magister_6_logo.jpg')",ptheme:"auto,207,95,55",pagecolor:"false,0,0,7",wallpaper:"none,",sidecolor:"false,207,95,55",decoration:"none,","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Hawaï",thumbnail:"url('https://w0.peakpx.com/wallpaper/865/392/HD-wallpaper-hawaii-background-beautiful-colors-nature-outside-palm-trees-portrait-summer-water.jpg')",ptheme:"light,180,50,40",pagecolor:"false,0,0,7",wallpaper:"custom,https://i.imgur.com/qY42IDh.png",sidecolor:"false,207,95,55",decoration:"custom,https://w0.peakpx.com/wallpaper/865/392/HD-wallpaper-hawaii-background-beautiful-colors-nature-outside-palm-trees-portrait-summer-water.jpg","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Vaporwave",thumbnail:"url('https://wallpapers.com/images/hd/80s-neon-veqvixadrbra13q4.jpg')",ptheme:"dark,275,100,60",pagecolor:"false,0,0,7",wallpaper:"custom,https://i.imgur.com/ss4ty9u.png",sidecolor:"false,207,95,55",decoration:"custom,https://wallpapers.com/images/hd/80s-neon-veqvixadrbra13q4.jpg","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Wilde Westen",thumbnail:"url('https://static.vecteezy.com/system/resources/previews/023/592/503/non_2x/american-desert-landscape-western-background-vector.jpg')",ptheme:"dark,10,80,50",pagecolor:"false,0,0,7",wallpaper:"custom,https://i.imgur.com/UgMMNqN.png",sidecolor:"false,207,95,55",decoration:"custom,https://static.vecteezy.com/system/resources/previews/023/592/503/non_2x/american-desert-landscape-western-background-vector.jpg","decoration-size":1,appbarcolor:"false,207,95,47",shape:8,"custom-css":""},{name:"Discord",thumbnail:"url('https://static.vecteezy.com/system/resources/previews/006/892/625/original/discord-logo-icon-editorial-free-vector.jpg')",ptheme:"dark,235,48,85",pagecolor:"true,223,6.7,20.6",wallpaper:"none,",sidecolor:"true,220,6.5,18",decoration:"none","decoration-size":1,appbarcolor:"true,225,6.3,12.5",shape:10,"magister-picture":"custom","magister-picture-source":"data:image/webp;base64,UklGRuwCAABXRUJQVlA4WAoAAAAgAAAANwAANwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZWUDgg/gAAAHAHAJ0BKjgAOAA/EXi1UCwnpaKuFtuJgCIJZADOsD76t/HoihGP61hpYw5Z1NN4bq7oCKOufMpnylC3y80qP7dFAy4gANZ5R6+pAwH5/1E9hHfeEu9y0SE1mj3Z+QDLC5oD3+LqS1T6ZjXgiYHVWkX3iFjKDyX7UcGV+Smyo1jisfsJFp8mgoSp31n5pybf8uJuJDN8KLAr/UEXi/UylwajOjYeNN4sHaE1pCQwGkAIBs1SUk7qLFKqGb0GsiU4N61XrXFPy/3i91rdvItliQM1J8gZZ9QIz32RnVHALZTLoWn4//RXx++eKTomYf2YcvOjHNDz3CseeMrAAAAA","custom-css":":root{--st-background-secondary:#232428}#st-start-widgets{background-color:var(--st-side-background);border-left:none;box-shadow:none}#st-start-widget-controls-wrapper,.menu-footer{background-color:#232428;border-top:none}"}];return(l,c)=>(F(),X("div",h0,[k("div",p0,[m0,k("button",{id:"theme-presets-copy",title:"Kopiëren/plakken",onClick:c[0]||(c[0]=f=>n.value=!0)},[U(pe,null,{default:G(()=>[Q("copy_all")]),_:1})]),k("div",v0,[(F(),X(ve,null,et(i,f=>k("button",{title:f.name,style:Oe({"--thumbnail":f.thumbnail}),onClick:a=>s(f)},null,12,g0)),64))])]),U(Es,{active:n.value,"onUpdate:active":c[4]||(c[4]=f=>n.value=f)},{icon:G(()=>[Q("copy_all")]),headline:G(()=>[Q("Thema kopiëren/plakken")]),text:G(()=>[Q("Kopieer de inhoud van het tekstvak om je thema op te slaan op je klembord. Plak in het tekstvak om het thema te wijzigen. Als je plakt, dan gaan al je huidige themavoorkeuren verloren."),y0,b0,U(_a,{id:"settings-paste-input",modelValue:r.value,"onUpdate:modelValue":c[1]||(c[1]=f=>r.value=f),onFocus:c[2]||(c[2]=f=>f.target.select())},{title:G(()=>[Q("Plak hier")]),_:1},8,["modelValue"])]),buttons:G(()=>[k("button",{onClick:c[3]||(c[3]=f=>n.value=!1)},"Sluiten")]),_:1},8,["active"])]))}},A0=kt(_0,[["__scopeId","data-v-df5d40bd"]]),k0={class:"chip-label"},z0=k("div",{class:"state-layer chip-state-layer"},null,-1),w0={__name:"Chip",props:["type"],setup(e){const t=e;return(n,s)=>(F(),X("button",{class:Pe(["chip",t.type||"assist"])},[U(pe,{class:"chip-icon"},{default:G(()=>[ge(n.$slots,"icon")]),_:3}),k("span",k0,[ge(n.$slots,"label")]),z0],2))}},x0={id:"app-wrapper"},S0={id:"options-container"},C0=["data-setting-type","data-setting-id","data-scrolled"],E0={__name:"App",setup(e){const t=ce(null),{y:n}=pa(t),s=o1();fr("syncedStorage",s);const o={SwitchInput:g1,SegmentedButton:C1,TextInput:V1,SlideInput:F1,ThemePicker:wf,KeyPicker:$f,ImageInput:Kf,ShortcutsEditor:vd,ColorOverrideSetting:bd,DecorationPickerSetting:Md,DecorationSizeSetting:jd};let r=ce("appearance"),i=ce("");setTimeout(()=>i.value="list",200);function l(h){let p=!0;return h!=null&&h.conditions&&h.conditions.forEach(g=>{let A;switch(g.settingId&&(A=s.value[g.settingId]),g.operator){case"equal":A!==g.value&&(p=!1);break;case"not equal":A===g.value&&(p=!1);break;case"starting with":A!=null&&A.startsWith(g.value)||(p=!1);break;case"not starting with":A!=null&&A.startsWith(g.value)&&(p=!1);break;case"defined":A||(p=!1);break}}),p}function c(){Fo.forEach(h=>{h.settings.forEach(p=>{s.value[p.id]=p.default})})}function f(h){t.value.scrollTo({top:0,left:0,behavior:h?"instant":"smooth"})}function a(h){window.open(h,"_blank","noreferrer")}return(h,p)=>(F(),X("div",x0,[U(u1,{modelValue:be(r),"onUpdate:modelValue":p[0]||(p[0]=g=>$e(r)?r.value=g:r=g),onScrollToTop:f,"data-scrolled":be(n)>16},null,8,["modelValue","data-scrolled"]),k("main",{id:"main",ref_key:"main",ref:t},[k("div",S0,[U(js,{name:"fade"},{default:G(()=>[(F(!0),X(ve,null,et(be(Fo),g=>(F(),X(ve,null,[g.id===be(r)?(F(),X("div",{class:"options-category",key:g.id},[U(js,{name:be(i)},{default:G(()=>[g.id==="about"?(F(),qe(d0,{key:"about",onResetSettings:c})):Ze("",!0),(F(!0),X(ve,null,et(g.settings,A=>(F(),X(ve,null,[l(A)?(F(),X("div",{class:Pe(["setting-wrapper",{visible:l(A),inline:A.inline}]),"data-setting-type":A.type,"data-setting-id":A.id,key:A.id,"data-scrolled":be(n)>16},[(F(),qe(Hi(o[A.type||"SwitchInput"]),{setting:A,id:A.id,modelValue:be(s)[A.id],"onUpdate:modelValue":V=>be(s)[A.id]=V},{title:G(()=>[Q(xe(A.title),1)]),subtitle:G(()=>[Q(xe(A.subtitle),1)]),_:2},1032,["setting","id","modelValue","onUpdate:modelValue"])),(F(!0),X(ve,null,et(A.links,V=>(F(),qe(w0,{key:V.label,onClick:q=>a(V.href)},{icon:G(()=>[Q(xe(V.icon),1)]),label:G(()=>[Q(xe(V.label),1)]),_:2},1032,["onClick"]))),128))],10,C0)):Ze("",!0)],64))),256)),g.id==="appearance"?(F(),qe(A0,{key:"appearance"})):Ze("",!0)]),_:2},1032,["name"])])):Ze("",!0)],64))),256))]),_:1})])],512)]))}};ia(E0).mount("#app"); diff --git a/popup/dist/index.html b/popup/dist/index.html index 8b589d5..d98003e 100644 --- a/popup/dist/index.html +++ b/popup/dist/index.html @@ -7,7 +7,7 @@ Study Tools-configuratiepaneel - + diff --git a/popup/src/components/IconInput.vue b/popup/src/components/IconInput.vue index a540261..4c59a85 100644 --- a/popup/src/components/IconInput.vue +++ b/popup/src/components/IconInput.vue @@ -21,7 +21,7 @@ const iconCats = { "Kalenders": '', "Bestanden": '', "Personen": '', - "Divers": '☀⏾', + "Divers": '☀⏾', "Cirkels": '', "Vierkanten": '⬛', "Handen": '', diff --git a/src/magister/scripts/gamification.js b/src/magister/scripts/gamification.js index bfabdd8..f263b30 100644 --- a/src/magister/scripts/gamification.js +++ b/src/magister/scripts/gamification.js @@ -98,12 +98,12 @@ async function constructWrapped(lastYearOnly) { for (let i = 0; i < years.length; i++) { const year = years[i] - const newElement = await constructWrappedForYear(year, i) + const newElement = await constructWrappedForYear(i) yearsWrapper.append(newElement) } if (!lastYearOnly) { - const newElement = await constructWrappedForYear({}, years.length) + const newElement = await constructWrappedForYear(years.length) yearsWrapper.append(newElement) const previousButton = element('button', 'st-wrapped-prev', dialog, { class: 'st-button icon', 'data-icon': '', disabled: true }) @@ -143,8 +143,10 @@ async function constructWrapped(lastYearOnly) { resolve(dialog) - async function constructWrappedForYear(year, i) { + async function constructWrappedForYear(i) { return new Promise(async (resolveYear) => { + let year = JSON.parse(JSON.stringify((i === years.length ? {} : years[i]) || {})) + let seed = cyrb128((year.groep?.code + year.lesperiode?.code) || (user.name?.firstname + i)) let rand = sfc32(seed[0], seed[1], seed[2], seed[3]) @@ -167,9 +169,9 @@ async function constructWrapped(lastYearOnly) { year.grades = years.flatMap(obj => obj.grades) .filter((grade, index, self) => index === self.findIndex((g) => - g.CijferKolom.KolomKop === grade.CijferKolom.KolomKop && - g.CijferKolom.KolomNaam === grade.CijferKolom.KolomNaam && - g.CijferStr === grade.CijferStr + g?.CijferKolom?.KolomKop === grade.CijferKolom.KolomKop && + g?.CijferKolom?.KolomNaam === grade.CijferKolom.KolomNaam && + g?.CijferStr === grade.CijferStr ) ) year.events = years.flatMap(obj => obj.events) @@ -182,9 +184,9 @@ async function constructWrapped(lastYearOnly) { .filter(grade => grade.CijferKolom.KolomSoort == 1 && !isNaN(Number(grade.CijferStr.replace(',', '.'))) && (Number(grade.CijferStr.replace(',', '.')) <= 10) && (Number(grade.CijferStr.replace(',', '.')) >= 1)) .filter((grade, index, self) => index === self.findIndex((g) => - g.CijferKolom.KolomKop === grade.CijferKolom.KolomKop && - g.CijferKolom.KolomNaam === grade.CijferKolom.KolomNaam && - g.CijferStr === grade.CijferStr + g?.CijferKolom?.KolomKop === grade.CijferKolom.KolomKop && + g?.CijferKolom?.KolomNaam === grade.CijferKolom.KolomNaam && + g?.CijferStr === grade.CijferStr ) ) .sort((a, b) => new Date(a.DatumIngevoerd) - new Date(b.DatumIngevoerd)) @@ -193,6 +195,8 @@ async function constructWrapped(lastYearOnly) { year.assignments = await MagisterApi.assignments.forYear(year) || [] } + years[i] = year + const teacherNames = await getFromStorage('start-teacher-names') || await getFromStorage('teacher-names', 'local') || {} if (year.examInfo && Object.keys(year.examInfo).length > 0) { @@ -427,8 +431,8 @@ async function themeContest() { event.preventDefault() - if ((await getFromStorage('themeContestJurorMode', 'session')) === 'true') { - const textarea = element('textarea', 'null', document.body, { style: 'position: absolute; z-index: 99999999; top: 50%; left: 50%; translate: -50% -50%; width: 300px; height: 200px; transition: all 200ms;', resize: 'both' }) + if ((await getFromStorage('themeContestJurorMode', 'session')) === 'true' || syncedStorage['themeContestJurorMode']) { + const textarea = element('textarea', 'null', document.body, { style: 'position: absolute; z-index: 99999999; top: 50%; left: 50%; translate: -50% -50%; width: 300px; height: 200px; transition: all 200ms;', resize: 'both', innerText: 'alt+klik om te verplaatsen, ctrl+klik om te verbergen' }) document.body.addEventListener('click', (event) => { if (event.altKey) { event.preventDefault() diff --git a/src/magister/scripts/today.js b/src/magister/scripts/today.js index 32673df..b7a2289 100644 --- a/src/magister/scripts/today.js +++ b/src/magister/scripts/today.js @@ -72,8 +72,9 @@ async function today() { todayWidgets() async function todayHeader() { - let headerText = element('span', 'st-start-header-text', header, { class: 'st-title' }), - headerGreeting = element('span', 'st-start-header-greeting', header, { class: 'st-title' }), + const headerTextWrapper = element('div', 'st-start-header-text-wrapper', header) + let headerText = element('span', 'st-start-header-text', headerTextWrapper, { class: 'st-title' }), + headerGreeting = element('span', 'st-start-header-greeting', headerTextWrapper, { class: 'st-title' }), headerButtons = element('div', 'st-start-header-buttons', header), formattedWeekday = now.toLocaleString(locale, { timeZone: 'Europe/Amsterdam', weekday: 'long' }) @@ -385,7 +386,7 @@ async function today() { const events = await MagisterApi.events() // Display error if the result does not exist or if it is not an array - if (!(events?.constructor === Array)) { + if (!events || !Array.isArray(events)) { element('i', `st-start-fa`, schedule, { class: 'st-start-icon fa-duotone fa-calendar-circle-exclamation' }) element('span', `st-start-disclaimer`, schedule, { class: 'st-start-disclaimer', innerText: i18n('error') }) return @@ -848,7 +849,6 @@ async function today() { if (type === 'Lijst') widgetTitle.dataset.amount = recentGrades.filter(item => item.unread).length recentGrades.forEach((item, i) => { - console.log(item) const gradeElement = element('div', `st-start-widget-grades-${i}`, widgetItemsContainer, { class: 'st-start-widget-grades-item', 'data-unread': item.unread, 'data-hidden': item.hidden, 'data-assignment': item.assignment }) children.push(gradeElement) if (i === 0) widgetElement.dataset.unread = item.unread @@ -895,6 +895,7 @@ async function today() { }) const scrollPagn = element('div', 'st-start-widget-grades-scroll-pagn', widgetElement) + scrollPagn.inenrText = '' children.forEach((child, i) => { const scrollPagnNode = element('div', undefined, scrollPagn, { 'data-current': i === 0 }) scrollPagnNode.addEventListener('click', (event) => { diff --git a/src/magister/styles/today.css b/src/magister/styles/today.css index bedb57a..15dffd6 100644 --- a/src/magister/styles/today.css +++ b/src/magister/styles/today.css @@ -47,17 +47,23 @@ grid-area: header; position: relative; width: 100%; - display: grid; - grid-template: - 'text buttons' 32px - / 1fr auto; - align-items: center; + height: 84px; + box-sizing: border-box; + display: flex; padding: 32px 32px 20px; transition: background-color 200ms, padding-right 200ms, opacity 200ms; } +#st-start-header-text-wrapper { + flex: 1; + display: flex; + overflow: hidden; +} + #st-start-header-text, #st-start-header-greeting { + flex: 100% 0 0; + width: 100%; margin-bottom: 0; text-wrap: nowrap; overflow: hidden; @@ -65,6 +71,10 @@ transition: opacity 300ms; } +#st-start-header-greeting { + translate: -100%; +} + #st-start-header-text[data-state="visible"], #st-start-header-greeting[data-state="visible"] { animation: 150ms flipDownIn 150ms both; @@ -81,13 +91,6 @@ color: var(--st-foreground-secondary); } -#st-start-header-greeting { - position: absolute; - top: 32px; - left: 32px; - padding-right: 6px; -} - #st-start-header-text:after { content: attr(data-last-letter); } @@ -1171,7 +1174,9 @@ a.st-widget-title { } .st-start-widget-grades-item-rslt[data-great=true] { - background: linear-gradient(in hsl longer hue, hsl(0, 100%, 60%) 0 0) 0 0/100% 200%; + background-image: linear-gradient(rgba(255, 0, 0, 1) 0%, rgba(255, 154, 0, 1) 10%, rgba(208, 222, 33, 1) 20%, rgba(79, 220, 74, 1) 30%, rgba(63, 218, 216, 1) 40%, rgba(47, 201, 226, 1) 50%, rgba(28, 127, 238, 1) 60%, rgba(95, 21, 242, 1) 70%, rgba(186, 12, 248, 1) 80%, rgba(251, 7, 217, 1) 90%, rgba(255, 0, 0, 1) 100%); + background-position: 0 0; + background-size: 100% 200%; background-clip: text; color: transparent; animation: great-grade 2s linear infinite; diff --git a/src/util.js b/src/util.js index 53b1a8d..3f2caf7 100644 --- a/src/util.js +++ b/src/util.js @@ -149,6 +149,7 @@ function awaitElement(querySelector, all = false, duration = 10000, quiet = fals */ function getFromStorage(key, location = 'sync') { return new Promise((resolve, reject) => { + if (location === 'session' && !chrome.storage.session) location = 'local' chrome.storage[location].get([key], (result) => { let value = Object.values(result)[0] value ? resolve(value) : resolve('') @@ -165,6 +166,7 @@ function getFromStorage(key, location = 'sync') { */ function getFromStorageMultiple(array, location = 'sync', all = false) { return new Promise((resolve, reject) => { + if (location === 'session' && !chrome.storage.session) location = 'local' chrome.storage[location].get(all ? null : array.map(e => [e]), (result) => { result ? resolve(result) : reject(Error('None found')) }) @@ -173,6 +175,7 @@ function getFromStorageMultiple(array, location = 'sync', all = false) { function saveToStorage(key, value, location) { return new Promise((resolve, reject) => { + if (location === 'session' && !chrome.storage.session) location = 'local' chrome.storage[location ? location : 'sync'].set({ [key]: value }, resolve()) }) }