@nebularstreams/libmui 4.3.64 → 4.3.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/libmui.esm.min.mjs +2 -2
- package/package.json +1 -1
package/dist/libmui.esm.min.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import e from"mithril";function t(e,t,n,a,i){return{...e&&{view:e},...t&&{oninit:t},...n&&{oncreate:n},...i&&{onupdate:i},...a&&{onremove:a}}}function n(e,t,n){const a=("function"==typeof e?e(t):e)||{};return n&&(a.initialParams=n),a}const a=({currentIndex:e},t)=>e===t,i={view:({attrs:t})=>e(`i.icon.${t.pack||"fas"}.fa-${t.icon||"cog"}${t.size?".fa-"+t.size+"x":""}`,{title:t.icontitle||void 0,role:"presentation",onclick:t.onclick||null,...t.iconClass&&{class:t.iconClass}})},o={view:({attrs:t,state:n,children:a})=>e(t.download||t.link?"a.button":"button",{...t.link&&{href:t.link},...t.download&&{download:t.download},...t.target&&{target:t.target},"aria-label":t["aria-label"]||t.title||t.text,title:t.title||t["aria-label"],class:(t.class||"")+(n.busy?" busy":""),...n.error&&{"data-error":n.error.message},...t.onclick&&{onclick:a=>{clearTimeout(n.debounce),n.debounce=setTimeout((()=>{const i=t.onclick(a,t);i&&i.then&&i.catch&&(n.busy=!0,e.redraw(),i.then((()=>{n.busy=!1,e.redraw()})).catch((t=>{n.busy=!1,n.error=t,e.redraw()})))}),25)}}},[...t.icon&&!t.right?[e(i,t)]:[],...t.text?[e("span.pad-1.pad-h",{class:t.textClass||null},t.text)]:[],...t.icon&&t.right?[e(i,t)]:[],...a])},l={view:({attrs:t,state:n,children:a})=>e(t.download||t.link?"a.button":"button",{...t.link&&{href:t.link},...t.download&&{rel:"nofollow",download:t.download},...t.target&&{target:t.target},"aria-label":t["aria-label"]||t.title||t.text,title:t.title||t["aria-label"],class:(t.class||"")+(n.busy?" busy":""),...n.error&&{"data-error":n.error.message},...t.onClick&&{onclick:a=>{clearTimeout(n.debounce),n.debounce=setTimeout((()=>{const i=t.onClick(a,t);i&&i.then&&i.catch&&(n.busy=!0,e.redraw(),i.then((()=>{n.busy=!1,e.redraw()})).catch((t=>{n.busy=!1,n.error=t,e.redraw()})))}),25)}},...t.disabled&&{disabled:!0}},[...t.icon&&!t.right?[e(i,{iconClass:t.iconClass,icon:t.icon})]:[],...t.text?[e("span.pad-1.pad-h",{class:t.textClass||null},t.text)]:[],...t.icon&&t.right?[e(i,{iconClass:t.iconClass,icon:t.icon})]:[],...a])},r={view:({attrs:t,children:n})=>e(".flexcol.flexcenter.al-center.grows.emptywidget",{...t.class&&{class:t.class},...t.key&&{key:t.key},role:"presentation"},[e(i,t),...t.message?[e(".marg-2.marg-v",{role:"status",class:t.size>4?"font-150":"font-100","aria-label":t.message},t.message.split("\n").map(((t,n,a)=>1===a.length?t:e("p.msg"+n,t))))]:[],...n?[e(".flexcol.additional",n)]:[]])},s=(t,n,a,i)=>{const o=n.currentIndex,l=n.currentParams;-1===a?Object.assign(n,{current:null,currentIndex:-1,currentParams:[]}):Object.assign(n,{current:t.items[a]||null,currentIndex:n.current?a:-1,currentParams:i||[]}),t.onSelected&&t.onSelected(n.current,n.currentParams,n.currentIndex!==o,l),e.redraw()},c={oninit:({attrs:e,state:t})=>{(t=e.state||t).setItem=(n,...a)=>s(e,e.state||t,n,a);const n=!isNaN(t.currentIndex)?t.currentIndex:e.selected,a=e.items&&e.items.length?void 0!==n&&e.items[n]?n:e.noinitial?-1:0:-1,i=-1!==a?e.items[a]:null;Object.assign(t,{currentIndex:a,current:i})},onupdate:({attrs:e,state:t})=>{(e.state||t).setItem=(n,...a)=>s(e,e.state||t,n,a)},view:({attrs:t,state:i})=>{i=t.state||i;const{current:s}=i;return e((t.element||"widget")+".selector"+(t.horizontal?".flexrow":".flexcol")+(t.className?"."+t.className:""),{...t.key&&{key:t.key},class:(i.current?"hascurrent":"empty")+(t.class?" "+t.class:"")+(s?.bodyTitle?" withbodytitle":"")},[...t.hideonly&&!(t.items.length>1)||t.hidesel?[]:[e("nav.toolbar.fullwidth"+(t.horizontal?".flexcol":".flexrow"),{"aria-label":t["aria-label"]||t.title||"selector",class:t.toolbarClass},t.items.map(((t,n)=>e(o,{class:(t.class?t.class+" ":"")+(a(i,n)?"accent":"nel"),icon:t.icon||null,...t.title&&{title:t.title},...t["aria-label"]&&{"aria-label":t["aria-label"]},...t.text&&{text:t.text},onclick:()=>{Date.now()-i.clickts<200||(i.clickts=Date.now(),i.bodyHidden=!1,i.setItem(n))}}))))],...s?[...t.toggle&&!i.bodyHidden?[e(l,{class:"selectornotch "+(i.bodyHidden?"bodyhidden":"bodyshown"),icon:i.bodyHidden?"caret-up":"caret-down",title:i.bodyHidden?"expand panel":"contract panel",onClick:()=>{i.bodyHidden=!i.bodyHidden,e.redraw()}})]:[],...t.toggle&&i.bodyHidden?[]:[...s?.bodyTitle?[e(".bodytitle",s.bodyTitle)]:[],e(".grows.flexcol.ohidden.selectorbody",{class:t.bodyClass,role:"presentation"},[e(s.widget,n(s.attrs,t,i.currentParams),s.children)])],...t.closeButton?[e(o,{class:"closebutton absolute toright",icon:"times",onclick:()=>{i.setItem(-1)},"aria-label":"close item"})]:[]]:e(r,t)])}},u={info:"info",error:"exclamation-triangle",success:"check"};const d=new function(t=5e3,n){let a,i=[];function l(){const r=n||document.getElementById("notification-container");if(i.length){const n=i.splice(0,1)[0];!function(t,n){e.render(t,e(o,{class:"notification "+n.type,text:n.text,icon:u[n.type]||"info",size:1,role:"status",onclick:l}))}(r,n),clearTimeout(a),a=setTimeout(l,n.timer||t)}else e.render(r,""),a=null}return{add:(e,t)=>{i.push({text:e,type:t}),a||l()},clear:()=>{i=[],l()}}},h={};const f=t((({attrs:t,state:n,children:a})=>{const{nofold:i,cardid:o,size:r,title:s,action:c,collapsedAction:u,collapsedClass:d,expandedClass:f,cols:p,element:m,busy:g,expandedView:v,collapsedView:y,titleWidget:b,titleAttrs:w,titleClass:x,bodyClass:C,titleExpanded:k,titleCollapsed:M,foldIcon:A="fa-chevron-down"}=t,T=!i&&(o?!h[o]:!!n.collapsed),_=T?y?y(t,n):[]:v?v(t,n):a||[],I=b?e(b,w||{}):s?e("span.ellipsis.ohidden.unfold.grows",s):void 0,E=g?"fa-sync":`${A} ${T?"iscollapsed":"isexpanded"}`;return _.length||!t.skipEmpty?e(m||"ul",{class:"cardie ohidden "+(p?"flexcol ":"flexrow wrap ")+(t.class?" "+t.class:"")+(i?" expanded":" "+(T?"collapsed "+(d||""):"expanded "+(f||"")))+(r?" marg-"+r:"")+(b?" withwidget":"")+(g?" busycard":"")},[...I?[e(".title.grows.fabf.flexrow.pointer.unfold",i?{class:x||"pad-2"}:{class:`${x||"pad-2"} ${E||""}`,title:T?M||"Click to expand the options":k||M||"Click to collapse the options",onclick:a=>{a.target.classList.contains("unfold")&&(a.shiftKey&&t.onShiftOpen?t.onShiftOpen():t.cardid?function(e,t=0){if(e){const[n,a]=e.split("-");t&&n&&a&&Object.keys(h).forEach((e=>{e.startsWith(n+"-")&&(h[e]=0)})),h[e]=t}}(o,T):n.collapsed=!n.collapsed,e.redraw())}},!c||!i&&T?u&&T?[e(l,u),I]:I:[e(l,c),I])]:[],..._.length?[e(".flexbreak"),e(".cardiebody.fadein-filter.grows",{class:(p?"flexcol ":"flexrow wrap")+" "+(C||"")},..._)]:[],...t.alwaysView?[t.alwaysView({attrs:t,state:n})]:[]]):[]}),(({attrs:e,state:t})=>{e.cardid||(t.collapsed=!e.nofold&&(e.cardid?!h[e.cardid]:!!e.collapsed))}),void 0,void 0,void 0);function p(e,t,n,a,i){return{...e&&{view:e},...t&&{oninit:t},...n&&{oncreate:n},...i&&{onupdate:i},...a&&{onremove:a}}}const g=p((({attrs:t,children:n})=>e(".separator",{class:t.class||"mini",...t.onClick&&{onclick:t.onClick}},[e("span.grows",t.text),...n||[]]))),v=t((({attrs:t})=>{const{value:n,field:a,toggle:i,element:o,emptyMessage:r,chooseKey:s,chooseDict:c}=t,u=!t.choose&&s&&c?c[s]:t.choose,d=u?u.map((e=>({value:e,caption:e}))):t.choices||{},h=Object.keys(d),f=h.length,p=(t.class||"")+(t.subclass?" "+t.subclass:" scaff scaff-b1");return f||r?[...t.label?[e(g,{text:t.label,class:t.labelClass||""})]:[],e((o||"div")+".buttonchoice.flexrow.ohidden",{class:p+(t.icon?" withicon fa-"+t.icon:""),title:t.title},e(".flexrow.grows.ohidden.wrap"+(t.icon?" scaff-left":""),h.length?h.map((o=>{const r=d[o],s=t.raw&&a?r:r.value,c=(a?s[a]:s)===n;return e(l,{icon:r.icon||void 0,class:"grows scaff-b0 "+(t.buttonClass?t.buttonClass+" ":"rectbutton unitheightsmall ")+(r.class?r.class+" ":"")+(c?"accent":""),title:r.current?r.titleOn||r.title:r.titleOff||r.title,onClick:n=>{t.onchange(i&&c?void 0:r,o,n),e.redraw()}},t.render?t.render(r):r.caption||o)})):[e(".emptychoice.grows.al-center.align-self-center.unitheightsmall",t.emptyMessage)]))]:[]})),y=t((({attrs:t})=>{const{value:n,field:a,element:i,emptyMessage:o,chooseKey:r,chooseDict:s}=t,c=!t.choose&&r&&s?s[r]:t.choose,u=c?c.map((e=>({value:e,caption:e}))):t.choices||{},d=Array.isArray(n)?n:[],h=Object.keys(u),f=Math.max(1,Math.trunc(Number(t.rows)||1)),p=Math.max(1,Math.trunc(Number(t.cols)||Math.ceil(h.length/f)||1)),m=Boolean(t.responsive),g=t.minCellWidth||"3rem",v=m?`repeat(auto-fit, minmax(min(100%, max(${g}, ${100/p+"%"})), 1fr))`:`repeat(${p}, minmax(0, 1fr))`,y=(t.class||"")+(t.subclass?` ${t.subclass}`:" scaff scaff-b1");return h.length||o?e((i||"div")+".buttonchoice.flexrow.ohidden",{class:y+(t.icon?` withicon fa-${t.icon}`:""),title:t.title},e(".grows.ohidden"+(t.icon?".scaff-left":""),{style:{display:"grid",gridTemplateColumns:v}},h.length?h.map((n=>{const i=u[n],o=t.raw&&a?i:i.value,r=a?o[a]:o,s=d.includes(r);return e(l,{icon:i.icon||void 0,class:"grows scaff-b0 "+(t.buttonClass?`${t.buttonClass} `:"rectbutton unitheightsmall ")+(i.class?`${i.class} `:"")+(s?"accent":""),title:s?i.titleOn||i.title:i.titleOff||i.title,"aria-pressed":String(s),onClick:a=>{const o=s?d.filter((e=>e!==r)):[...d,r];t.onchange?.(o,i,n,a),e.redraw()}},t.render?t.render(i):i.caption||n)})):[e(".emptychoice.grows.al-center.align-self-center.unitheightsmall",o)])):[]})),b=(e,t,n=!1)=>{if(n||"number"===e.type){const n=e.float?Number.parseFloat(t):Number.parseInt(t,10);return Number.isNaN(n)?void 0:n}return t},w=(e,t,n)=>{const a=t.hasOwnProperty("value")?t.value:e.value;return b(e,a,n)},x={view:t=>{const{attrs:n,state:a}=t;return a.attrs=n,e(".input-static.w-100.ellipsis",{class:(n.onDrag?"withdrag ":"")+(n.staticClass||"grows"),...n.staticTitle&&{title:n.staticTitle},...n.onDrag||{onclick:n.onClick},oncreate:({dom:e,state:a})=>{if(n.onDrag&&!n.readonly){const n=a.hammer=new Hammer.Manager(e,{touchAction:"pan-y"}),i=new Hammer.Pan({direction:Hammer.DIRECTION_VERTICAL}),o=new Hammer.Tap;n.add([i,o]),n.on("tap",(()=>t.state.attrs.onClick())),n.on("panup",(e=>t.state.attrs.onDrag(-1,e.srcEvent))),n.on("pandown",(e=>t.state.attrs.onDrag(1,e.srcEvent))),n.on("panend pancancel",(e=>t.state.attrs.onDrag(0,e.srcEvent)))}n.focus&&e.focus()},onremove:({state:e})=>{e.hammer&&e.hammer.destroy()}},n.value)}},C={view:({attrs:t,state:n})=>{const a=t=>{n.value&&n.showInput&&delete n.showInput,delete n.value,t&&e.redraw()},i=[...!t.multi||t.alwaysmulti||t.type&&"text"!==t.type?[]:[e(l,{icon:n.multi?"angle-double-up":"angle-double-down",class:"pad-2 transp inputaction",onClick:()=>{n.multi=!n.multi,e.redraw()}})],...t.actions?t.actions.map((t=>e(l,{...t,class:"inputaction transp pad-2"}))):[],...t.action?[e(l,{...t.action,class:"inputaction transp pad-2"})]:[]];return e(".textfield.flexcol.relative",{class:(t.label?"witharia":"")+(t.containerClass?" "+t.containerClass:""),...t.label&&{"aria-label":t.label}},e(".textfieldinner.flexrow",[!t.staticField||!t.readonly&&n.showInput?!n.multi&&!t.alwaysmulti||t.type&&"text"!==t.type?e("input.w-100",{...t.id&&{id:t.id},type:t.type||"text",...void 0!==t.max&&{max:t.max},...void 0!==t.min&&{min:t.min},...t.step>0&&{step:t.step},...t.maxlength&&{maxlength:t.maxlength},...t.title&&{title:t.title},class:(t.class||"")+(n.isValid?"":" bg-error"),value:w(t,n),placeholder:t.hint||"",...t.readonly?{readonly:"readonly"}:{oninput:e=>{n.value=b(t,e.target.value),e.fromoninput=!0,n.checkValid(),t.final||n.isValid&&(t.onchange||t.oninput)&&(t.oninput||t.onchange)(n.value,e)},onchange:e=>{t.onchange&&(n.value=b(t,e.target.value),n.checkValid(),e.enterPressed=n.enterPressed,delete n.enterPressed,n.isValid&&t.onchange(n.value,e),t.staticField?a(!0):delete n.value)},onblur:()=>{n.showInput&&a(!0)},onkeyup:e=>{n.showInput&&("Escape"===e.key?a(!0):"Enter"===e.key&&(n.value!==t.value&&n.value||(n.checkValid(),n.isValid&&t.onchange(t.value,e),a(!0))))},onbeforeinput:e=>{"number"===t.subtype&&e.data&&!/^[0-9.\-]$/.test(e.data)&&e.preventDefault()},inputmode:"number"===t.subtype?"decimal":void 0,onkeypress:e=>{n.showInput||"Enter"!==e.key||t.onenter&&t.onenter(e.target.value,e)}}}):e("textarea.w-100",{class:t.class,value:w(t,n),...t.title&&{title:t.title},placeholder:t.hint||"",oninput:e=>{n.value=b(t,e.target.value),n.checkValid(),t.final||t.onchange&&n.isValid&&(t.oninput||t.onchange)(n.value,e,!0)},onchange:e=>{t.onchange&&(n.value=b(t,e.target.value),n.checkValid(),a(!1),n.isValid&&t.onchange(n.value,e,!0))},onblur:()=>{n.showInput&&a(!0)},onkeyup:e=>{"Escape"===e.key&&n.showInput&&a(!1)}}):e(x,{readonly:t.readonly,staticClass:(n.dragging?"accent ":"")+(t.staticClass||""),staticTitle:t.staticTitle||t.draginc&&"Click then drag up and down to modify value, or just click to enter a custom value",value:t.displayTitle||w(t,n),focus:t.focus,...t.draginc&&!t.readonly&&{onDrag:(a,i)=>{if(a){n.dragging=!0;let e=w(t,n,!0);if(Number.isNaN(e)||void 0===e)return;e+=a*t.draginc,void 0!==t.max&&e>t.max&&(e=t.max),void 0!==t.min&&e<t.min&&(e=t.min),n.value="number"===t.type?e:String(e),t.onchange(n.value,i)}else delete n.dragging,delete n.value,e.redraw()}},...t.readonly||{onClick:()=>{n.showInput=!0,n.value=t.value,e.redraw()}}}),...i.length?[e(".span.actions",i)]:[]]))},oninit:({attrs:t,state:n})=>{if(t.staticField&&t.draginc){const e=w(t,n,!0);n.showInput=Number.isNaN(e)||null==e}if(t.pattern)try{n.regexp=new RegExp(t.pattern)}catch(e){}n.checkValid=()=>{let a=!0;t.validator&&(a=t.validator(n.value)),n.regexp&&(a=a&&n.regexp.test(n.value)),t.nodelete&&(a=a&&""!==n.value),a!==n.isValid&&(n.isValid=a,e.redraw())}}},k=t((({attrs:t,children:n})=>n.length?e(".notice.cardie.flexcol.pad-3",{class:t.class||"marg-2 font-75",...t.key&&{key:t.key}},e(".flexrow",[...t.icon?[e(i,{size:t.size,icon:t.icon,class:t.iconClass,title:t.icontitle})]:[],...t.text?[e(".pad-2.pad-h",t.text)]:[],...t.html?[e(".innerhtml",e.trust(t.html))]:[]]),...n):e(".notice.cardie.flexrow.pad-3",{class:t.class||"marg-2 font-75",onclick:t.onClick,...t.key&&{key:t.key}},[...t.icon?[e(i,{size:t.size,icon:t.icon,class:t.iconClass,title:t.icontitle})]:[],(t.texts||[t.text]).map((t=>e(".pad-2.pad-h",t)))]))),M={view:({attrs:t})=>t.items.map((({name:n},a)=>e("option",{...t.state.index===a+(t.offset||0)&&{selected:!0}},n)))};let A;function T(e,t){if(e.groups){t.groups={},t.allItems=[],e.parsed=!0;Object.keys(e.groups).forEach((n=>{t.groups[n]={label:n,len:e.groups[n].length,items:e.groups[n]}}));const n=Object.values(t.groups);n.forEach(((a,i)=>{e.value&&(t.index=0),a.offset=i?n[i-1].offset+n[i-1].len:0,t.allItems=t.allItems.concat(a.items),e.value&&a.items.forEach(((n,i)=>{const o=n.value;(e.parser?e.parser(o):o)===e.value&&(t.index=i+a.offset)}))}))}else if(e.items){t.index=0;for(let n=0,a=e.items.length;n<a;n++){const a=e.items[n].value;if((e.parser?e.parser(a):a)===e.value){t.index=n;break}}t.allItems=e.items}else t.allItems=[]}const _={view:({attrs:t,state:n})=>{const{groups:a}=n;return e("select",{"aria-label":t.caption,class:t.class,oninput:a=>{T(t,n);const i=n.index=a.target.selectedIndex,o=i>=0?n.allItems[i]:null;t.onchange&&o&&t.onchange(o.value,o,i),e.redraw()}},a?Object.values(a).map((t=>e("optgroup",{label:t.label},e(M,{items:t.items,offset:t.offset,state:n})))):e(M,{items:null!=t.items?t.items:[],state:n}))},oninit:({attrs:e,state:t})=>{Object.assign(t,{index:e.index||0,initial:e.value}),T(e,t)},oncreate:()=>{},onupdate:({attrs:t,state:n})=>{const a=void 0!==t.value&&n.initial!==t.value;(!n.groups&&!n.allItems||a)&&(T(t,n),a&&(n.initial=t.value,clearTimeout(A),A=setTimeout((()=>e.redraw()),50)))}};let I;function E(e){"function"==typeof I&&(I(),I=void 0),N.redraw&&(N.redraw(!0),delete N.redraw),e.style.display="none"}function N(t,n=!1,a=".modal-content"){const i=document.getElementById("modal-container");if(i.classList.toggle("iscustom",".modal-content"!==a),n&&(I=n,i.onclick=e=>{"modal-container"===e.target.id&&E(i)}),!t)return N.redraw&&(N.redraw(!0),delete N.redraw),void(null===t?i.style.display="none":E(i));i.style.display="flex",N.redraw=n=>{e.render(i,e(a,{role:"alertdialog","aria-labelledby":"modaltitle","aria-modal":!0},n||!t?[]:["function"==typeof t?t():t]))},N.redraw()}function S(){const e=document.getElementById("modal-container");return"none"!==e.style.display&&(E(e),!0)}const j=/\$([A-Za-z0-9_\/\:\=]+)\$/g,L=(e,t,n)=>O(e,t,{encode:n}),z=(e,t,n,a)=>O(e,t,{encode:n,unescape:a,dothrow:!0}),D={daterel:e=>new Date(e).toISOString()};function O(e,t,n){if(!e)return"";if("string"!=typeof e)return e;let a;return n=n||{},t=t||{},e.replace(j,((e,i)=>{let o=null,l=!1;i.indexOf("=")>0&&(a=i.split("="),i=a[0],l=3===a.length,o=l?n.dothrow?a[2]:null:a[1]);const r=i.split(":"),s=r[0],c=r[1]||null,u=s.split("/"),d=u.shift();let h=t[d];"number"==typeof h&&(h=""+h);let f=(u.length?P(h,u.join("/")):h)||o;if(null==f&&n.dothrow)throw new Error("Parameter "+d+(u.length?"/"+u.join("/"):"")+" is required");return null==f&&(f=n.hasOwnProperty("defvalue")?n.defvalue:"$"+s+(l?"=="+a[2]:"")+"$"),c&&D[c]&&(f=D[c](f)),n.unescape&&(f=unescape(f)),n.encode?escape(f):f}))}const P=function(e,t){if(!t)return e;try{const n=t.split("/");let a=e;for(const e in n)if(a=a[n[e]],!a){a=null;break}return a}catch(e){return null}};const K=/[^0-9A-Z._\-]+/gi,B=/[^0-9A-Z_\-]+/gi;function F(e,t=!0){return t=t&&!e?.endsWith("."),e?e.trim().toLowerCase().replace(t?K:B,""):null}const R={tokenize:(e,t,n)=>O(e,t,{encode:n,defvalue:""}),tokenizeStrict:z,tokenizeObject:function e(t,n,a,i){const o=a?z:L,l=i?{}:t;if("string"==typeof t)return o(t,n);if("object"==typeof t){if(t.length){const i=[];for(const o of t)i.push(e(o,n,a,!0));return i}for(const i of Object.keys(t)){const r=t[i];l[i]="object"==typeof r?e(r,n,a,!0):"string"==typeof r?o(t[i],n):r}}return l},tokenizeKeep:L,tokenizeWithDefault:(e,t,n)=>O(e,t,null==n?null:{defvalue:n}),tokenizeUrl:function(e,t,n){n=n||{};const{message:a,getTitle:i,defaultTitle:o}=n,l=o||"Url",r="string"==typeof e?o:"object"==typeof e&&e.id&&e.id||l;if(i)return r;const s="string"==typeof e?e:"object"==typeof e&&e.url?e.url:null;try{return z(s,t||{},"...")}catch(e){return console.log("[TOKENIZER]",e.message),a||"(not enough parameters)"}},getPointedData:P,sanitizeFilename:F,generateFilename:(e,t=void 0)=>{const n=parseInt(md5(e).substring(24),16).toString(32);return(t?F(t)+"-":"")+n}},V=(e,t)=>{const n=[];if(t)for(const e of Object.keys(t))t[e]&&n.push("."+e);return(e||"")+n.join("")},$=(e,t)=>{const n=e?[e]:[];if(t)for(const e of Object.keys(t))t[e]&&n.push(e);return n.join(" ")};function H(t,n,a,i=!1){let o;return"function"==typeof i&&(o=i,i=!1),new Promise((l=>{const r=a.map(((e,t)=>({caption:e,onclick:()=>l({idx:t,name:e})})));!function(t,n,a=["CANCEL","OK"],i={}){N(e({view:()=>[...t?[e("h3",t)]:[],...n?[e("h4",n)]:[],e(".container",a.map((t=>e("button",{onclick:()=>{document.getElementById("modal-container").style.display="none",t.onclick&&t.onclick(t.caption)}},t.caption||"OK"))))]},{}),i.onCancel||!i.noCancel)}(t,n,r,{onCancel:o,noCancel:i})}))}function Y(t,n,a,i){return new Promise((l=>{function r(e){N(null);try{l(e)}catch(e){}}const s=V(".popup.flexcol",{".favlist":(i=i||{}).favlist,".isfav":t&&t.classList.contains("isfav"),".isplay":t&&t.classList.contains("selected")});N(e({view:()=>e(s,{onclick:e=>{if("INPUT"===e.target.nodeName)return;const a=e.target.getAttribute("data-action");a?r({domItem:t,item:n,action:a}):N(null)}},[...n.title?[e("h3",{id:"modaltitle"},n.title)]:[],...a.map((a=>"text"===a.type?e("input.action",{value:a.value||"",type:"text",placeholder:a.hint||"",oncreate:({dom:e})=>e.focus(),onkeyup:e=>{27===e.keyCode&&r({domItem:t,item:n,action:a})},onchange:e=>{e.target.blur(),r({domItem:t,item:n,action:a,value:e.target.value})}}):e(o,{...a,onclick:()=>r({domItem:t,item:n,action:a})},a.caption)))])}),!0)}))}function q(t,n,a,i,o=!1){n=n||{};const{arrayClass:l="isarray",arrayChildClass:r="ischildren",objectClass:s="isobject"}=n;return e("ul",{...n.attrs||{},class:n.class},t?[...(n.keys||Object.keys(t)).map((a=>{const c=t[a]||null,u=null!==c&&"object"==typeof c,d=u&&c.length,h=(i?i+"_":"")+a;return e("li.field_"+(n.start||"")+h,{class:(d?l:u?s+" ":"")+(o?r:""),"data-title":n.titles&&n.titles[a]||a,...n.itemAttrs||{}},u?[e(".subvalues",q(c,{...n,keys:null},null,(i?i+"_":"")+a,d))]:n.renderer&&n.renderer[h]?n.renderer[h](c):e("span.value",t[a]))})),...a||[]]:[e(".empty",{})])}const W={view:({attrs:t,children:n})=>{let a;try{a=t.pointer?P(t.object,t.pointer):t.object}catch(n){return e(r,{message:n.message,...t})}return a?q(a,t,n):e(r,t)}};function G(e,t,n=void 0,a="YES",i="NO"){U(e,[i,a],n).then((e=>{e?t(e):n&&n()})).catch((()=>{n&&n()}))}function U(e,t=["NO","YES"],n="cancelled"){return new Promise(((a,i)=>{H(null,e,t,(()=>i(new Error(n)))).then((({idx:e})=>{e>=0?a(e):i(new Error(n))}))}))}const X=p((({attrs:t,state:n})=>e((t.unit||"")+".flexrow"+(t.subline?" withsubline":""),{class:t.class,text:t.text,title:t.title||null,onclick:()=>{n.checked=!n.checked,t.onchange&&t.onchange(n.checked),e.redraw()}},t.right?[...t.text?[e("span.grows.caption",t.subline?{"data-subline":t.subline}:{},t.text)]:[],e(i,{iconClass:"pad-2 pad-h",icon:n.checked?"toggle-on":"toggle-off"})]:[e(i,{iconClass:"pad-2 pad-h",icon:n.checked?"toggle-on":"toggle-off"}),...t.text?[e("span.grows.caption",t.subline?{"data-subline":t.subline}:{},t.text)]:[]])),(({attrs:e,state:t})=>{t.checked=t.original=e.checked}),null,null,(({attrs:t,state:n})=>{t.checked!==n.original&&(n.checked=n.original=t.checked,e.redraw())})),Z=window.structuredClone?window.structuredClone:e=>JSON.parse(JSON.stringify(e));function J(t,n,a={}){const{title:i,field:o,icon:l,textNew:r,textHint:s,resolve:c}=a,u=Array.isArray(t)?t.map((e=>({icon:e.icon||l,caption:o?e[o]:e,onClick:t=>n(e,t)}))):Object.keys(t).map((e=>({icon:t[e].icon||l,caption:t[e].caption||t[e].label||e,onClick:a=>n(c&&void 0!==t[e].value?t[e].value:t[e],a)})));Array.isArray(t)&&!t.length?d.add("No items available"):Y(document.body,{title:i},[...r&&!o?[{icon:"plus",caption:r,onClick:()=>Q(r,"",s,(t=>{t&&t&&t.trim()&&(n(t),e.redraw())}))}]:[],...u]).then((({action:e})=>e.onClick())).finally((()=>{}))}function Q(e,t,n,a,i={}){setTimeout((()=>Y(document.body,{title:e},[{type:"text",hint:n,value:t}]).then((({value:e})=>(i.refreshKey=String(Date.now()),a(e))))),100)}const ee=[["Lights and Fog",null,["amblight","l0","l1","l2","l3","fog"],0],["Face and Accessories",null,["facekit"],1],["Particle settings",null,["particles"],2],["Video Segmentation","common",["segcam","mask","green"],3,!0],["Video Effects",null,["fxconfig"],9],["Video Plane","val",["xvideo","yvideo","zvideo","rvideo","svideo","video"],4],["Main Camera","val",["ypos","xpos","zoom","yaw","pitch","roll","ai"],5],["Drone Camera","val",["free"],6],["Followed Agent","val",["track"],10],["Game Camera","val",["orbit","track","ocam"],7,void 0,!0],["Transition Speed","val",["spd"],8]],te=p((({attrs:t})=>e("h2.marg-2.no-marg-bottom",t.title))),ne=p((({attrs:t})=>{const{type:n="changes",meta:a,onInput:i,title:o,options:r}=t,s=a.title?.trim().length&&a.description?.trim().length,c=r&&r.embedded;return e(".flexcol.grows.ohidden.fadein",[...t.title?[e(te,{title:o})]:[],e(".flexrow.wrap.grows.pad-3.propsgroup.scrolly",[...t.notice?[e(k,{class:"marg-1 marg-v withbottommargin font-75 col-12",size:1,icon:"info-circle",text:t.notice})]:[],e(".witharia.col-12.pad-1.pad-v",{"aria-label":n+" name"},e(C,{class:"pad-2 pad-xh "+(s?"valid":"invalid"),value:a.title,maxlength:64,onchange:t=>{a.title=t,e.redraw()}})),...c?[]:[e(".col-12.witharia.pad-1.pad-v",{"aria-label":"description"},e(C,{class:"pad-2 pad-xh "+(a.description?"valid":"invalid"),value:a.description,maxlength:240,multi:!0,alwaysmulti:!0,onchange:t=>{a.description=t,e.redraw()}})),e(".col-8.witharia.pad-1.pad-v",{"aria-label":"tags"},e(C,{class:"pad-2 pad-xh",value:a.tags,maxlength:128,onchange:e=>{a.tags=e.toLowerCase().split(" ").join(",").split(",").filter((e=>e.length)).join(",")}})),e(".col-4.witharia.pad-1.pad-v",{"aria-label":"youtube video"},e(C,{class:"pad-2 pad-xh",value:a.ytref||"",hint:"YouTube ID",maxlength:16,onchange:e=>{(e=e.trim())?-1===e.indexOf(" ")&&(a.ytref=e.trim()):delete a.ytref}}))],e(".col-4.witharia.pad-1.pad-v",{"aria-label":"content attribution"},e(C,{class:"pad-2 pad-xh",value:a.author,hint:"author name",maxlength:128,onchange:e=>{a.author=e}})),e(".col-4.witharia.pad-1.pad-v",{"aria-label":"license or author link"},e(C,{class:"pad-2 pad-xh",hint:"https://...",value:a.link,maxlength:128,onchange:e=>{a.link=e}})),e(".col-4.witharia.pad-1.pad-v",{"aria-label":"source domain"},e(C,{class:"pad-2 pad-xh",value:a.source,hint:"example.com",maxlength:128,onchange:e=>{a.source=e}})),e(".col-12.al-right.marg-2.marg-v",e(l,{class:"noshrink accentbutton unitheightsmall col-4",text:"save "+n,onClick:()=>{a.title?.trim().length&&(c||a.description?.trim().length)?(N(null),i(a)):d.add("Information is incomplete or invalid")}}))])])})),ae=p((({attrs:t})=>{const{parameters:n,preset:a,presetComponents:i,types:o,globalData:r,fetcher:s}=t,c=[],u=[],h=o?ee:ee.filter((e=>{const[,t,i,o,l]=e,s=t?a[t]:a,d=l?r:n,h=t?d[t]:d;let f=!1;if(i.length){for(const e of i)s&&void 0!==s[e]&&(f=c[o]=!0),void 0!==h[e]&&(f=u[o]=!0);return f}return f=!0,u[o]=!!h,c[o]=!!s,f}));return e("ul.flexrow.wrap.userdialog",h.length?h.map((h=>{const[f,p,m,g,v,y]=h,b=o?void 0:p?a[p]:a,w=v?r:n,x=o?void 0:p?w[p]:w,C=o||c[g],k=u[g];return[...i?[e(X,{title:`Include ${h[0]} in snapshots`,class:"grows unitheightsmall"+(i[g]?" accent":""),checked:!!i[g],onchange:n=>{i[g]=!i[g],e.redraw(),t.redraw&&t.redraw()}}),e(".grows",{class:C?"avail":"unavail"},f)]:[],...t.types?[]:[e(l,{class:"col-3"+(k?"avail":"unavail"),icon:"sync",title:`Copy ${f} from current state`,onClick:()=>{if(m.length){p&&!a[p]&&(a[p]={});const e=p?a[p]:a;for(const t of m)if(void 0!==x[t]){const n=y&&s?s(e[t],g):x[t];e[t]=Z(n)}}else if(0===m.length&&p&&void 0!==x){const e=y&&s?s(x,g):x;a[p]=Z(e)}t.redraw&&t.redraw(),d.add(`updated ${f} from current scene`)}}),e(l,{class:"col-3 "+(C?"":"disabled text-lo"),icon:"trash",title:`Delete ${f} in preset`,onClick:()=>C&&(()=>{if(m.length)for(const e of m)delete b[e];else 0===m.length&&p&&delete a[p];t.redraw&&t.redraw()})()})],e(".flexbreak")]})):e("h3","Preset is Empty"))}));var ie=Object.freeze({__proto__:null,choose:function(e,t={icon:"circle",onSelect:()=>{}}){const{icon:n,title:a,field:i,onSelect:o,parser:l=e=>e}=t,r=e.map(((e,t)=>({icon:i&&e.icon||n,caption:l(i?e[i]:e,e),onClick:n=>o(e,n,t)})));Array.isArray(e)&&!e.length?d.add("No items available"):Y(document.body,{title:a},r).then((({action:e})=>e.onClick()))},promptEntity:(t,n,a,i={})=>new Promise(((o,l)=>{N(e(ne,{meta:t,type:a,title:n,options:i,onInput:e=>o(e)}),(()=>{l(new Error("cancelled"))}))})),promptName:Q,promptOptions:J,promptPreset:(t,n,a={})=>new Promise(((i,o)=>{N((()=>e(ae,{...a,preset:t,parameters:n,redraw:()=>N.redraw()})),(()=>{o(new Error("cancelled"))}))}))});const oe=p((({attrs:t})=>e(".flexcol.combocontainer.grows",{class:(t.outerClass||"")+" "+(t.label?"witharia":""),...t.label&&{"aria-label":t.label},title:t.hint},[e(".flexrow.combowidget.bg-inputs",{class:(t.value?"yesvalue ":"novalue ")+(t.class||"")},[e(l,{class:"transp combovalue grows flexrow "+(t.buttonClass||"")+(t.innerLabel?" witharia":""),textClass:"grows "+t.textClass,iconClass:"noshrink",...t.innerLabel&&{"aria-label":t.innerLabel},onClick:e=>{e.shiftKey?t.onchange(void 0,e):t.locked||function(e){const{title:t,items:n,itemsKey:a,itemsText:i,field:o,onchange:l,textNew:r,textHint:s,resolve:c,icon:u,item:d}=e,h="function"==typeof n?n():n;J(a?"function"==typeof a?a():h[a]?"function"==typeof h[a]?h[a](d)||[]:h[a]||[]:[]:h,l,{title:t,field:o,icon:u,textNew:r,textHint:s,resolve:c})}(t)},...t.value?{icon:t.value?.icon||t.icon,text:t.field||t.fieldTitle?t.value[t.fieldTitle||t.field]:t.itemsText&&t.itemsText[t.value]||t.value}:{icon:t.emptyIcon||(t.emptyText?"":"plus"),text:t.emptyText||""}}),t.value&&!t.nodelete?[e(l,{class:"clrcombo pad-2 pad-h transp "+(t.closeClass||"scaff-left"),onClick:n=>{const{field:a}=t;if(!t.confirm||n.shiftKey||n.metaKey||n.ctrlKey||n.altKey)t.onchange(a?void 0:"",n);else{const e="function"==typeof t.confirm?t.confirm():t.confirm;e?G(e,(()=>{t.onchange(a?void 0:"",n)})):t.onchange(a?void 0:"",n)}e.redraw()},icon:t.removeIcon||"times",title:t.removeHint||"remove this item"})]:[]])]))),le=function(){"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function e(e,t){return e(t={exports:{}},t.exports),t.exports}var t=e((function(e,t){var n;e.exports=(n=function(){function e(e,t){e?(l(e,t,"touchstart","touchmove","touchend"),l(e,t,"mousedown","mousemove","mouseup")):console.warn("drag is missing elem!")}function t(t){var n=i(t.class||"",t.parent),o=i("pointer",n);return i("shape shape1",o),i("shape shape2",o),i("bg bg1",n),i("bg bg2",n),e(n,a(t.cbs,o)),{background:n,pointer:o}}function n(t){var n=i(t.class,t.parent),o=i("pointer",n);return i("shape",o),i("bg",n),e(n,a(t.cbs,o)),{background:n,pointer:o}}return e.xyslider=t,e.slider=n,e;function a(e,t){var n={};for(var a in e)n[a]=i(e[a]);function i(e){return function(n){n.pointer=t,e(n)}}return n}function i(e,t){return o("div",e,t)}function o(e,t,n){var a=document.createElement(e);return t&&(a.className=t),n.appendChild(a),a}function l(e,t,n,a,i){var o=(t=c(t)).begin,l=t.change,u=t.end;r(e,n,(function(t){var n=f(h,l,e);function c(){s(document,a,n),s(document,i,c),h(u,e,t)}r(document,a,n),r(document,i,c),h(o,e,t)}))}function r(e,t,n){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("testPassive",null,i),window.removeEventListener("testPassive",null,i)}catch(e){}e.addEventListener(t,n,!!a&&{passive:!1})}function s(e,t,n){e.removeEventListener(t,n,!1)}function c(e){return e?{begin:e.begin||d,change:e.change||d,end:e.end||d}:{begin:function(e){t={x:e.elem.offsetLeft,y:e.elem.offsetTop},n=e.cursor},change:function(e){u(e.elem,"left",t.x+e.cursor.x-n.x+"px"),u(e.elem,"top",t.y+e.cursor.y-n.y+"px")},end:d};var t,n}function u(e,t,n){e.style[t]=n}function d(){}function h(e,t,n){n.preventDefault();var a=p(t),i=t.clientWidth*(window.SCALE||1),o=t.clientHeight*(window.SCALE||1),l={x:m(t,n),y:g(t,n)},r=(l.x-a.x)/i,s=(l.y-a.y)/o;e({x:isNaN(r)?0:r,y:isNaN(s)?0:s,cursor:l,elem:t,e:n})}function f(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}function p(e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top}}function m(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientX)}function g(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientY)}}(),n)})),n=e((function(e,t){e.exports=function(){function e(t){if(Array.isArray(t)){if("string"==typeof t[0]&&"function"==typeof e[t[0]])return new e[t[0]](t.slice(1,t.length));if(4===t.length)return new e.RGB(t[0]/255,t[1]/255,t[2]/255,t[3]/255)}else if("string"==typeof t){var a=t.toLowerCase();e.namedColors[a]&&(t="#"+e.namedColors[a]),"transparent"===a&&(t="rgba(0,0,0,0)");var l=t.match(o);if(l){var r=l[1].toUpperCase(),s=n(l[8])?l[8]:parseFloat(l[8]),c="H"===r[0],u=l[3]?100:c?360:255,d=l[5]||c?100:255,h=l[7]||c?100:255;if(n(e[r]))throw new Error("color."+r+" is not installed.");return new e[r](parseFloat(l[2])/u,parseFloat(l[4])/d,parseFloat(l[6])/h,s)}t.length<6&&(t=t.replace(/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i,"$1$1$2$2$3$3"));var f=t.match(/^#?([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])$/i);if(f)return new e.RGB(parseInt(f[1],16)/255,parseInt(f[2],16)/255,parseInt(f[3],16)/255);if(e.CMYK){var p=t.match(new RegExp("^cmyk\\("+i.source+","+i.source+","+i.source+","+i.source+"\\)$","i"));if(p)return new e.CMYK(parseFloat(p[1])/100,parseFloat(p[2])/100,parseFloat(p[3])/100,parseFloat(p[4])/100)}}else if("object"==typeof t&&t.isColor)return t;return!1}var t=[],n=function(e){return void 0===e},a=/\s*(\.\d+|\d+(?:\.\d+)?)(%)?\s*/,i=/\s*(\.\d+|100|\d?\d(?:\.\d+)?)%\s*/,o=new RegExp("^(rgb|hsl|hsv)a?\\("+a.source+","+a.source+","+a.source+"(?:,"+/\s*(\.\d+|\d+(?:\.\d+)?)\s*/.source+")?\\)$","i");e.namedColors={},e.installColorSpace=function(a,i,o){function l(t,n){var a={};for(var i in a[n.toLowerCase()]=function(){return this.rgb()[n.toLowerCase()]()},e[n].propertyNames.forEach((function(e){var t="black"===e?"k":e.charAt(0);a[e]=a[t]=function(t,a){return this[n.toLowerCase()]()[e](t,a)}})),a)a.hasOwnProperty(i)&&void 0===e[t].prototype[i]&&(e[t].prototype[i]=a[i])}e[a]=function(e){var t=Array.isArray(e)?e:arguments;i.forEach((function(e,n){var o=t[n];if("alpha"===e)this._alpha=isNaN(o)||o>1?1:o<0?0:o;else{if(isNaN(o))throw new Error("["+a+"]: Invalid color: ("+i.join(",")+")");"hue"===e?this._hue=o<0?o-Math.floor(o):o%1:this["_"+e]=o<0?0:o>1?1:o}}),this)},e[a].propertyNames=i;var r=e[a].prototype;for(var s in["valueOf","hex","hexa","css","cssa"].forEach((function(e){r[e]=r[e]||("RGB"===a?r.hex:function(){return this.rgb()[e]()})})),r.isColor=!0,r.equals=function(e,t){n(t)&&(t=1e-10),e=e[a.toLowerCase()]();for(var o=0;o<i.length;o+=1)if(Math.abs(this["_"+i[o]]-e["_"+i[o]])>t)return!1;return!0},r.toJSON=function(){return[a].concat(i.map((function(e){return this["_"+e]}),this))},o)if(o.hasOwnProperty(s)){var c=s.match(/^from(.*)$/);c?e[c[1].toUpperCase()].prototype[a.toLowerCase()]=o[s]:r[s]=o[s]}return r[a.toLowerCase()]=function(){return this},r.toString=function(){return"["+a+" "+i.map((function(e){return this["_"+e]}),this).join(", ")+"]"},i.forEach((function(e){var t="black"===e?"k":e.charAt(0);r[e]=r[t]=function(t,n){return void 0===t?this["_"+e]:n?new this.constructor(i.map((function(n){return this["_"+n]+(e===n?t:0)}),this)):new this.constructor(i.map((function(n){return e===n?t:this["_"+n]}),this))}})),t.forEach((function(e){l(a,e),l(e,a)})),t.push(a),e},e.pluginList=[],e.use=function(t){return-1===e.pluginList.indexOf(t)&&(this.pluginList.push(t),t(e)),e},e.installMethod=function(n,a){return t.forEach((function(t){e[t].prototype[n]=a})),this},e.installColorSpace("RGB",["red","green","blue","alpha"],{hex:function(){var e=(65536*Math.round(255*this._red)+256*Math.round(255*this._green)+Math.round(255*this._blue)).toString(16);return"#"+"00000".substr(0,6-e.length)+e},hexa:function(){var e=Math.round(255*this._alpha).toString(16);return"#"+"00".substr(0,2-e.length)+e+this.hex().substr(1,6)},css:function(){return"rgb("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+")"},cssa:function(){return"rgba("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+","+this._alpha+")"}});var l=e,r=function(e){e.installColorSpace("XYZ",["x","y","z","alpha"],{fromRgb:function(){var t=function(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92},n=t(this._red),a=t(this._green),i=t(this._blue);return new e.XYZ(.4124564*n+.3575761*a+.1804375*i,.2126729*n+.7151522*a+.072175*i,.0193339*n+.119192*a+.9503041*i,this._alpha)},rgb:function(){var t=this._x,n=this._y,a=this._z,i=function(e){return e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e};return new e.RGB(i(3.2404542*t+-1.5371385*n+-.4985314*a),i(-.969266*t+1.8760108*n+.041556*a),i(.0556434*t+-.2040259*n+1.0572252*a),this._alpha)},lab:function(){var t=function(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29},n=t(this._x/95.047),a=t(this._y/100),i=t(this._z/108.883);return new e.LAB(116*a-16,500*(n-a),200*(a-i),this._alpha)}})},s=function(e){e.use(r),e.installColorSpace("LAB",["l","a","b","alpha"],{fromRgb:function(){return this.xyz().lab()},rgb:function(){return this.xyz().rgb()},xyz:function(){var t=function(e){var t=Math.pow(e,3);return t>.008856?t:(e-16/116)/7.87},n=(this._l+16)/116,a=this._a/500+n,i=n-this._b/200;return new e.XYZ(95.047*t(a),100*t(n),108.883*t(i),this._alpha)}})},c=function(e){e.installColorSpace("HSV",["hue","saturation","value","alpha"],{rgb:function(){var t,n,a,i=this._hue,o=this._saturation,l=this._value,r=Math.min(5,Math.floor(6*i)),s=6*i-r,c=l*(1-o),u=l*(1-s*o),d=l*(1-(1-s)*o);switch(r){case 0:t=l,n=d,a=c;break;case 1:t=u,n=l,a=c;break;case 2:t=c,n=l,a=d;break;case 3:t=c,n=u,a=l;break;case 4:t=d,n=c,a=l;break;case 5:t=l,n=c,a=u}return new e.RGB(t,n,a,this._alpha)},hsl:function(){var t,n=(2-this._saturation)*this._value,a=this._saturation*this._value,i=n<=1?n:2-n;return t=i<1e-9?0:a/i,new e.HSL(this._hue,t,n/2,this._alpha)},fromRgb:function(){var t,n=this._red,a=this._green,i=this._blue,o=Math.max(n,a,i),l=o-Math.min(n,a,i),r=0===o?0:l/o,s=o;if(0===l)t=0;else switch(o){case n:t=(a-i)/l/6+(a<i?1:0);break;case a:t=(i-n)/l/6+1/3;break;case i:t=(n-a)/l/6+2/3}return new e.HSV(t,r,s,this._alpha)}})},u=function(e){e.use(c),e.installColorSpace("HSL",["hue","saturation","lightness","alpha"],{hsv:function(){var t,n=2*this._lightness,a=this._saturation*(n<=1?n:2-n);return t=n+a<1e-9?0:2*a/(n+a),new e.HSV(this._hue,t,(n+a)/2,this._alpha)},rgb:function(){return this.hsv().rgb()},fromRgb:function(){return this.hsv().hsl()}})},d=function(e){e.installColorSpace("CMYK",["cyan","magenta","yellow","black","alpha"],{rgb:function(){return new e.RGB(1-this._cyan*(1-this._black)-this._black,1-this._magenta*(1-this._black)-this._black,1-this._yellow*(1-this._black)-this._black,this._alpha)},fromRgb:function(){var t=this._red,n=this._green,a=this._blue,i=1-t,o=1-n,l=1-a,r=1;return t||n||a?(i=(i-(r=Math.min(i,Math.min(o,l))))/(1-r),o=(o-r)/(1-r),l=(l-r)/(1-r)):r=1,new e.CMYK(i,o,l,r,this._alpha)}})},h=function(e){e.namedColors={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"}},f=function(e){e.installMethod("clearer",(function(e){return this.alpha(isNaN(e)?-.1:-e,!0)}))},p=function(e){e.use(u),e.installMethod("darken",(function(e){return this.lightness(isNaN(e)?-.1:-e,!0)}))},m=function(e){e.use(u),e.installMethod("desaturate",(function(e){return this.saturation(isNaN(e)?-.1:-e,!0)}))},g=function(e){function t(){var t=this.rgb(),n=.3*t._red+.59*t._green+.11*t._blue;return new e.RGB(n,n,n,t._alpha)}e.installMethod("greyscale",t).installMethod("grayscale",t)},v=function(e){e.use(u),e.installMethod("lighten",(function(e){return this.lightness(isNaN(e)?.1:e,!0)}))},y=function(e){e.installMethod("mix",(function(t,n){t=e(t).rgb();var a=2*(n=1-(isNaN(n)?.5:n))-1,i=this._alpha-t._alpha,o=((a*i==-1?a:(a+i)/(1+a*i))+1)/2,l=1-o,r=this.rgb();return new e.RGB(r._red*o+t._red*l,r._green*o+t._green*l,r._blue*o+t._blue*l,r._alpha*n+t._alpha*(1-n))}))},b=function(e){e.installMethod("negate",(function(){var t=this.rgb();return new e.RGB(1-t._red,1-t._green,1-t._blue,this._alpha)}))},w=function(e){e.installMethod("opaquer",(function(e){return this.alpha(isNaN(e)?.1:e,!0)}))},x=function(e){e.use(u),e.installMethod("rotate",(function(e){return this.hue((e||0)/360,!0)}))},C=function(e){e.use(u),e.installMethod("saturate",(function(e){return this.saturation(isNaN(e)?.1:e,!0)}))},k=function(e){e.installMethod("toAlpha",(function(e){var t=this.rgb(),n=e(e).rgb(),a=new e.RGB(0,0,0,t._alpha),i=["_red","_green","_blue"];return i.forEach((function(e){t[e]<1e-10?a[e]=t[e]:t[e]>n[e]?a[e]=(t[e]-n[e])/(1-n[e]):t[e]>n[e]?a[e]=(n[e]-t[e])/n[e]:a[e]=0})),a._red>a._green?a._red>a._blue?t._alpha=a._red:t._alpha=a._blue:a._green>a._blue?t._alpha=a._green:t._alpha=a._blue,t._alpha<1e-10||(i.forEach((function(e){t[e]=(t[e]-n[e])/t._alpha+n[e]})),t._alpha*=a._alpha),t}))};return l.use(r).use(s).use(c).use(u).use(d).use(h).use(f).use(p).use(m).use(g).use(v).use(y).use(b).use(w).use(x).use(C).use(k)}()})),a=o(i,"div");function i(e,t,n){var a=document.createElement(e);return a.className=t,n.appendChild(a),a}function o(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}function l(e,t,n){return Math.min(Math.max(e,t),n)}var r={clamp:l,e:i,div:a,partial:o,labelInput:function(e,t,n,o){var l="colorPickerInput"+Math.floor(1001*Math.random()),r=a(e,n),s=function(e,t,n){var a=i("label","",t);a.innerHTML=e,n&&a.setAttribute("for",n);return a}(t,r,l),c=function(e,t,n,a){var o=i("input","",t);o.type=e,n&&(o.maxLength=n);a&&o.setAttribute("id",a);n&&(o.maxLength=n);return o}("text",r,o,l);return{label:s,input:c}},X:function(e,t){e.style.left=l(100*t,0,100)+"%"},Y:function(e,t){e.style.top=l(100*t,0,100)+"%"},BG:function(e,t){e.style.background=t}};var s={currentColor:function(e){var t=r.div("currentColorContainer",e),n=r.div("currentColor",t);return{change:function(e){r.BG(n,e.cssa())}}},fields:function(e,t,n){var a=n.space,i=n.limit||255,o=n.fix>=0?n.fix:0,l=(""+i).length+o;l=o?l+1:l;var s=a.split(""),c="A"==a[a.length-1];if(a=c?a.slice(0,-1):a,["RGB","HSL","HSV","CMYK"].indexOf(a)<0)return console.warn("Invalid field names",a);var u=r.div("colorFields",e),d=s.map((function(e){e=e.toLowerCase();var t=r.labelInput("color "+e,e,u,l);return t.input.onblur=h,t.input.onkeydown=f,t.input.onkeyup=p,{name:e,e:t}}));function h(){t.done()}function f(e){e.ctrlKey||e.altKey||!/^[a-zA-Z]$/.test(e.key)||e.preventDefault()}function p(){var e=[a];d.forEach((function(t){e.push(t.e.input.value/i)})),c||e.push(t.getAlpha()),t.set(e)}return{change:function(e){d.forEach((function(t){t.e.input.value=(e[t.name]()*i).toFixed(o)}))}}},hex:function(e,t,n){var a=r.labelInput("hex",n.label||"",e,7);return a.input.value="#",a.input.onkeyup=function(e){var n=e.keyCode||e.which,a=e.target.value;a=function(e,t,n){for(var a=e,i=e.length;i<t;i++)a+=n;return a}(a="#"==a[0]?a:"#"+a,7,"0"),13==n&&t.set(a)},a.input.onblur=function(e){t.set(e.target.value),t.done()},{change:function(e){a.input.value="#"==a.input.value[0]?"#":"",a.input.value+=e.hex().slice(1)}}},alpha:function(e,n){var a=t.slider({parent:e,class:"oned alpha chequered",cbs:{begin:i,change:i,end:function(){n.done()}}});function i(e){var t=r.clamp(e.y,0,1);r.Y(e.pointer,t),n.setAlpha(1-t)}return{change:function(e){r.Y(a.pointer,1-e.alpha())}}},close:function(e,t,n){var a=r.e("a",n.class||"close",e);a.href="#",a.innerHTML=n.label||"Close",a.onclick=function(e){e.preventDefault(),t.hide()}}},c=function(e){return n=m,(a=[e.init,e.xy,e.z]).map(n).filter(g).length!=a.length?console.warn("colorjoe: missing cb"):function(n,a,i){return function(e){if(!e.e)return console.warn("colorjoe: missing element");var n=function(e){return"string"==typeof e}(e.e)?document.getElementById(e.e):e.e;n.className="colorPicker";var a=e.cbs,i=t.xyslider({parent:n,class:"twod",cbs:{begin:o,change:o,end:g}});function o(e){d=a.xy(d,{x:r.clamp(e.x,0,1),y:r.clamp(e.y,0,1)},i,l),m()}var l=t.slider({parent:n,class:"oned",cbs:{begin:s,change:s,end:g}});function s(e){d=a.z(d,r.clamp(e.y,0,1),i,l),m()}var u=h(e.color),d=a.init(u,i,l),p={change:[],done:[]};function m(e){e=f(e)?e:[];for(var t,n=p.change,a=0,i=n.length;a<i;a++)t=n[a],-1==e.indexOf(t.name)&&t.fn(d)}function g(){if(!u.equals(d)){for(var e=0,t=p.done.length;e<t;e++)p.done[e].fn(d);u=d}}var v={e:n,done:function(){return g(),this},update:function(e){return m(e),this},hide:function(){return n.style.display="none",this},show:function(){return n.style.display="",this},get:function(){return d},set:function(e){var t=this.get();return d=a.init(h(e),i,l),t.equals(d)||this.update(),this},getAlpha:function(){return d.alpha()},setAlpha:function(e){return d=d.alpha(e),this.update(),this},on:function(e,t,n){return"change"==e||"done"==e?p[e].push({name:n,fn:t}):console.warn('Passed invalid evt name "'+e+'" to colorjoe.on'),this},removeAllListeners:function(e){if(e)p[e]=[];else for(var t in p)p[t]=[];return this}};return function(e,t,n){if(!n)return;var a,i,o,l=r.div("extras",e);n.forEach((function(e,n){f(e)?(i=e[0],o=e.length>1?e[1]:{}):(i=e,o={});var r=i in c.extras?c.extras[i]:null;if(r)for(var s in a=r(l,function(e,t){var n=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e);return n.update=function(){e.update([t])},n}(t,i+n),o),a)t.on(s,a[s],i)}))}(n,v,e.extras),m(),v}({e:n,color:a,cbs:e,extras:i})};var n,a};for(var u in c.rgb=c({init:function(e,t,a){var i=n(e).hsv();return this.xy(i,{x:i.saturation(),y:1-i.value()},t,a),this.z(i,i.hue(),t,a),i},xy:function(e,t,n){return r.X(n.pointer,t.x),r.Y(n.pointer,t.y),e.saturation(t.x).value(1-t.y)},z:function(e,t,n,a){return r.Y(a.pointer,t),d(n.background,t),e.hue(t)}}),c.hsl=c({init:function(e,t,a){var i=n(e).hsl();return this.xy(i,{x:i.hue(),y:1-i.saturation()},t,a),this.z(i,1-i.lightness(),t,a),i},xy:function(e,t,n,a){return r.X(n.pointer,t.x),r.Y(n.pointer,t.y),d(a.background,t.x),e.hue(t.x).saturation(1-t.y)},z:function(e,t,n,a){return r.Y(a.pointer,t),e.lightness(1-t)}}),c.extras={},c.registerExtra=function(e,t){e in c.extras&&console.warn('Extra "'+e+'"has been registered already!'),c.extras[e]=t},s)c.registerExtra(u,s[u]);function d(e,t){r.BG(e,new n.HSV(t,1,1).cssa())}function h(e){if(!p(e))return n("#000");if(e.isColor)return e;var t=n(e);return t||(p(e)&&console.warn("Passed invalid color to colorjoe, using black instead"),n("#000"))}function f(e){return"[object Array]"===Object.prototype.toString.call(e)}function p(e){return void 0!==e}function m(e){return"function"==typeof e}function g(e){return e}var v=c;return window.OneColor=n,v}(),re=p((()=>e(".colorjoe-frame.absolute")),null,(({attrs:e,dom:t})=>{window.SCALE=1,e.state.joe=(e.hsl?le.hsl:le.rgb)(t,e.color,e.noalpha?[]:["alpha"]),e.state.joe.on("change",(t=>{e.onColor(e.noalpha?t.css():t.cssa(),t)})).update()})),se=[],ce=p((({attrs:t,state:n,children:a})=>e(".colorjoe-popper.flexcol",{class:t.noalpha?"no-alpha":""},[e(re,{...t,state:n}),...a,e(".flexrow.extended.w-100.scaff-top.pad-2.wrap",[[0,1,2,3,4,5,6,7,8].map((a=>e("button.scaff.scaff-b1.marg-1.unitheightsmall.grows",{class:se[a]?"":"chequered",style:{...se[a]&&{backgroundColor:se[a]}},onclick:i=>{i.shiftKey?se[a]=n.joe.get().css():se[a]&&n.joe.set(se[a]),t.onRedraw?t.onRedraw():e.redraw()}}))),e(".flexbreak"),...t.onRemove?[e("button.scaff.scaff-b1.unitheightsmall.marg-1.pad-2.pad-h.grows.fabf.transp.bg-accent.fa-trash",{onclick:()=>t.onRemove(n.joe.get())})]:[]])]))),ue=p((t=>{const{attrs:n,state:a}=t;return[e(".colorjoe-cell.chequered",{class:(n.class||"")+(a.shown?" open":""),title:n.title,...n.style&&{style:n.style}},[e(".inset",{style:{backgroundColor:a.color},...n.caption&&{"data-caption":n.caption,class:"titled"},onclick:a=>{n.onshiftclick&&(a.shiftKey||a.ctrlKey)?n.onshiftclick():(t=>{N((()=>e(ce,{noalpha:t.attrs.noalpha,color:t.state.color,hsl:t.attrs.hsl,onColor:(n,a)=>{t.state.color=n,t.attrs.onchange&&t.attrs.onchange(n,a),e.redraw()},onRemove:()=>{t.attrs.onchange&&t.attrs.onchange(null,null),N(null)},onRedraw:()=>{N.redraw(),e.redraw()}},t.children)),(()=>{}),".modal-content-popper")})(t)}})])]}),(({attrs:e,state:t})=>{t.original=e.color,t.color=t.original||"rgba(0,0,0,0)"}),null,null,(({attrs:t,state:n})=>{n.original!==t.color&&(n.original=t.color,n.color=n.original||"rgba(0,0,0,0)",e.redraw())})),de=[255,255,255,1];
|
|
1
|
+
import t from"mithril";function n(e,t,n,a,i){return{...e&&{view:e},...t&&{oninit:t},...n&&{oncreate:n},...i&&{onupdate:i},...a&&{onremove:a}}}function a(e,t,n){const a=("function"==typeof e?e(t):e)||{};return n&&(a.initialParams=n),a}const i=({currentIndex:e},t)=>e===t,o={view:({attrs:e})=>t(`i.icon.${e.pack||"fas"}.fa-${e.icon||"cog"}${e.size?".fa-"+e.size+"x":""}`,{title:e.icontitle||void 0,role:"presentation",onclick:e.onclick||null,...e.iconClass&&{class:e.iconClass}})},l={view:({attrs:e,state:n,children:a})=>t(e.download||e.link?"a.button":"button",{...e.link&&{href:e.link},...e.download&&{download:e.download},...e.target&&{target:e.target},"aria-label":e["aria-label"]||e.title||e.text,title:e.title||e["aria-label"],class:(e.class||"")+(n.busy?" busy":""),...n.error&&{"data-error":n.error.message},...e.onclick&&{onclick:a=>{clearTimeout(n.debounce),n.debounce=setTimeout((()=>{const i=e.onclick(a,e);i&&i.then&&i.catch&&(n.busy=!0,t.redraw(),i.then((()=>{n.busy=!1,t.redraw()})).catch((e=>{n.busy=!1,n.error=e,t.redraw()})))}),25)}}},[...e.icon&&!e.right?[t(o,e)]:[],...e.text?[t("span.pad-1.pad-h",{class:e.textClass||null},e.text)]:[],...e.icon&&e.right?[t(o,e)]:[],...a])},r={view:({attrs:e,state:n,children:a})=>t(e.download||e.link?"a.button":"button",{...e.link&&{href:e.link},...e.download&&{rel:"nofollow",download:e.download},...e.target&&{target:e.target},"aria-label":e["aria-label"]||e.title||e.text,title:e.title||e["aria-label"],class:(e.class||"")+(n.busy?" busy":""),...n.error&&{"data-error":n.error.message},...e.onClick&&{onclick:a=>{clearTimeout(n.debounce),n.debounce=setTimeout((()=>{const i=e.onClick(a,e);i&&i.then&&i.catch&&(n.busy=!0,t.redraw(),i.then((()=>{n.busy=!1,t.redraw()})).catch((e=>{n.busy=!1,n.error=e,t.redraw()})))}),25)}},...e.disabled&&{disabled:!0}},[...e.icon&&!e.right?[t(o,{iconClass:e.iconClass,icon:e.icon})]:[],...e.text?[t("span.pad-1.pad-h",{class:e.textClass||null},e.text)]:[],...e.icon&&e.right?[t(o,{iconClass:e.iconClass,icon:e.icon})]:[],...a])},s={view:({attrs:e,children:n})=>t(".flexcol.flexcenter.al-center.grows.emptywidget",{...e.class&&{class:e.class},...e.key&&{key:e.key},role:"presentation"},[t(o,e),...e.message?[t(".marg-2.marg-v",{role:"status",class:e.size>4?"font-150":"font-100","aria-label":e.message},e.message.split("\n").map(((e,n,a)=>1===a.length?e:t("p.msg"+n,e))))]:[],...n?[t(".flexcol.additional",n)]:[]])},c=(e,n,a,i)=>{const o=n.currentIndex,l=n.currentParams;-1===a?Object.assign(n,{current:null,currentIndex:-1,currentParams:[]}):Object.assign(n,{current:e.items[a]||null,currentIndex:n.current?a:-1,currentParams:i||[]}),e.onSelected&&e.onSelected(n.current,n.currentParams,n.currentIndex!==o,l),t.redraw()},u={oninit:({attrs:e,state:t})=>{(t=e.state||t).setItem=(n,...a)=>c(e,e.state||t,n,a);const n=!isNaN(t.currentIndex)?t.currentIndex:e.selected,a=e.items&&e.items.length?void 0!==n&&e.items[n]?n:e.noinitial?-1:0:-1,i=-1!==a?e.items[a]:null;Object.assign(t,{currentIndex:a,current:i})},onupdate:({attrs:e,state:t})=>{(e.state||t).setItem=(n,...a)=>c(e,e.state||t,n,a)},view:({attrs:e,state:n})=>{n=e.state||n;const{current:o}=n;return t((e.element||"widget")+".selector"+(e.horizontal?".flexrow":".flexcol")+(e.className?"."+e.className:""),{...e.key&&{key:e.key},class:(n.current?"hascurrent":"empty")+(e.class?" "+e.class:"")+(o?.bodyTitle?" withbodytitle":"")},[...e.hideonly&&!(e.items.length>1)||e.hidesel?[]:[t("nav.toolbar.fullwidth"+(e.horizontal?".flexcol":".flexrow"),{"aria-label":e["aria-label"]||e.title||"selector",class:e.toolbarClass},e.items.map(((e,a)=>t(l,{class:(e.class?e.class+" ":"")+(i(n,a)?"accent":"nel"),icon:e.icon||null,...e.title&&{title:e.title},...e["aria-label"]&&{"aria-label":e["aria-label"]},...e.text&&{text:e.text},onclick:()=>{Date.now()-n.clickts<200||(n.clickts=Date.now(),n.bodyHidden=!1,n.setItem(a))}}))))],...o?[...e.toggle&&!n.bodyHidden?[t(r,{class:"selectornotch "+(n.bodyHidden?"bodyhidden":"bodyshown"),icon:n.bodyHidden?"caret-up":"caret-down",title:n.bodyHidden?"expand panel":"contract panel",onClick:()=>{n.bodyHidden=!n.bodyHidden,t.redraw()}})]:[],...e.toggle&&n.bodyHidden?[]:[...o?.bodyTitle?[t(".bodytitle",o.bodyTitle)]:[],t(".grows.flexcol.ohidden.selectorbody",{class:e.bodyClass,role:"presentation"},[t(o.widget,a(o.attrs,e,n.currentParams),o.children)])],...e.closeButton?[t(l,{class:"closebutton absolute toright",icon:"times",onclick:()=>{n.setItem(-1)},"aria-label":"close item"})]:[]]:t(s,e)])}},d={info:"info",error:"exclamation-triangle",success:"check"};const f=new function(e=5e3,n){let a,i=[];function o(){const r=n||document.getElementById("notification-container");if(i.length){const n=i.splice(0,1)[0];!function(e,n){t.render(e,t(l,{class:"notification "+n.type,text:n.text,icon:d[n.type]||"info",size:1,role:"status",onclick:o}))}(r,n),clearTimeout(a),a=setTimeout(o,n.timer||e)}else t.render(r,""),a=null}return{add:(e,t)=>{i.push({text:e,type:t}),a||o()},clear:()=>{i=[],o()}}},h={};const p=n((({attrs:e,state:n,children:a})=>{const{nofold:i,cardid:o,size:l,title:s,action:c,collapsedAction:u,collapsedClass:d,expandedClass:f,cols:p,element:m,busy:g,expandedView:v,collapsedView:y,titleWidget:b,titleAttrs:w,titleClass:x,bodyClass:C,titleExpanded:k,titleCollapsed:M,foldIcon:A="fa-chevron-down"}=e,T=!i&&(o?!h[o]:!!n.collapsed),_=T?y?y(e,n):[]:v?v(e,n):a||[],I=b?t(b,w||{}):s?t("span.ellipsis.ohidden.unfold.grows",s):void 0,E=g?"fa-sync":`${A} ${T?"iscollapsed":"isexpanded"}`;return _.length||!e.skipEmpty?t(m||"ul",{class:"cardie ohidden "+(p?"flexcol ":"flexrow wrap ")+(e.class?" "+e.class:"")+(i?" expanded":" "+(T?"collapsed "+(d||""):"expanded "+(f||"")))+(l?" marg-"+l:"")+(b?" withwidget":"")+(g?" busycard":"")},[...I?[t(".title.grows.fabf.flexrow.pointer.unfold",i?{class:x||"pad-2"}:{class:`${x||"pad-2"} ${E||""}`,title:T?M||"Click to expand the options":k||M||"Click to collapse the options",onclick:a=>{a.target.classList.contains("unfold")&&(a.shiftKey&&e.onShiftOpen?e.onShiftOpen():e.cardid?function(e,t=0){if(e){const[n,a]=e.split("-");t&&n&&a&&Object.keys(h).forEach((e=>{e.startsWith(n+"-")&&(h[e]=0)})),h[e]=t}}(o,T):n.collapsed=!n.collapsed,t.redraw())}},!c||!i&&T?u&&T?[t(r,u),I]:I:[t(r,c),I])]:[],..._.length?[t(".flexbreak"),t(".cardiebody.fadein-filter.grows",{class:(p?"flexcol ":"flexrow wrap")+" "+(C||"")},..._)]:[],...e.alwaysView?[e.alwaysView({attrs:e,state:n})]:[]]):[]}),(({attrs:e,state:t})=>{e.cardid||(t.collapsed=!e.nofold&&(e.cardid?!h[e.cardid]:!!e.collapsed))}),void 0,void 0,void 0);function g(e,t,n,a,i){return{...e&&{view:e},...t&&{oninit:t},...n&&{oncreate:n},...i&&{onupdate:i},...a&&{onremove:a}}}const v=g((({attrs:e,children:n})=>t(".separator",{class:e.class||"mini",...e.onClick&&{onclick:e.onClick}},[t("span.grows",e.text),...n||[]]))),y=n((({attrs:e})=>{const{value:n,field:a,toggle:i,element:o,emptyMessage:l,chooseKey:s,chooseDict:c}=e,u=!e.choose&&s&&c?c[s]:e.choose,d=u?u.map((e=>({value:e,caption:e}))):e.choices||{},f=Object.keys(d),h=f.length,p=(e.class||"")+(e.subclass?" "+e.subclass:" scaff scaff-b1");return h||l?[...e.label?[t(v,{text:e.label,class:e.labelClass||""})]:[],t((o||"div")+".buttonchoice.flexrow.ohidden",{class:p+(e.icon?" withicon fa-"+e.icon:""),title:e.title},t(".flexrow.grows.ohidden.wrap"+(e.icon?" scaff-left":""),f.length?f.map((o=>{const l=d[o],s=e.raw&&a?l:l.value,c=(a?s[a]:s)===n;return t(r,{icon:l.icon||void 0,class:"grows scaff-b0 "+(e.buttonClass?e.buttonClass+" ":"rectbutton unitheightsmall ")+(l.class?l.class+" ":"")+(c?"accent":""),title:l.current?l.titleOn||l.title:l.titleOff||l.title,onClick:n=>{e.onchange(i&&c?void 0:l,o,n),t.redraw()}},e.render?e.render(l):l.caption||o)})):[t(".emptychoice.grows.al-center.align-self-center.unitheightsmall",e.emptyMessage)]))]:[]})),b=n((({attrs:e})=>{const{value:n,field:a,element:i,emptyMessage:o,chooseKey:l,chooseDict:s}=e,c=!e.choose&&l&&s?s[l]:e.choose,u=c?c.map((e=>({value:e,caption:e}))):e.choices||{},d=Array.isArray(n)?n:[],f=Object.keys(u),h=Math.max(1,Math.trunc(Number(e.rows)||1)),p=Math.max(1,Math.trunc(Number(e.cols)||Math.ceil(f.length/h)||1)),m=Boolean(e.responsive),g=e.minCellWidth||"3rem",v=m?`repeat(auto-fit, minmax(min(100%, max(${g}, ${100/p+"%"})), 1fr))`:`repeat(${p}, minmax(0, 1fr))`,y=(e.class||"")+(e.subclass?` ${e.subclass}`:" scaff scaff-b1");return f.length||o?t((i||"div")+".buttonchoice.flexrow.ohidden",{class:y+(e.icon?` withicon fa-${e.icon}`:""),title:e.title},t(".grows.ohidden"+(e.icon?".scaff-left":""),{style:{display:"grid",gridTemplateColumns:v}},f.length?f.map((n=>{const i=u[n],o=e.raw&&a?i:i.value,l=a?o[a]:o,s=d.includes(l);return t(r,{icon:i.icon||void 0,class:"grows scaff-b0 "+(e.buttonClass?`${e.buttonClass} `:"rectbutton unitheightsmall ")+(i.class?`${i.class} `:"")+(s?"accent":""),title:s?i.titleOn||i.title:i.titleOff||i.title,"aria-pressed":String(s),onClick:a=>{const o=s?d.filter((e=>e!==l)):[...d,l];e.onchange?.(o,i,n,a),t.redraw()}},e.render?e.render(i):i.caption||n)})):[t(".emptychoice.grows.al-center.align-self-center.unitheightsmall",o)])):[]})),w=(e,t,n=!1)=>{if(n||"number"===e.type){const n=e.float?Number.parseFloat(t):Number.parseInt(t,10);return Number.isNaN(n)?void 0:n}return t},x=(e,t,n)=>{const a=t.hasOwnProperty("value")?t.value:e.value;return w(e,a,n)},C={view:e=>{const{attrs:n,state:a}=e;return a.attrs=n,t(".input-static.w-100.ellipsis",{class:(n.onDrag?"withdrag ":"")+(n.staticClass||"grows"),...n.staticTitle&&{title:n.staticTitle},...n.onDrag||{onclick:n.onClick},oncreate:({dom:t,state:a})=>{if(n.onDrag&&!n.readonly){const n=a.hammer=new Hammer.Manager(t,{touchAction:"pan-y"}),i=new Hammer.Pan({direction:Hammer.DIRECTION_VERTICAL}),o=new Hammer.Tap;n.add([i,o]),n.on("tap",(()=>e.state.attrs.onClick())),n.on("panup",(t=>e.state.attrs.onDrag(-1,t.srcEvent))),n.on("pandown",(t=>e.state.attrs.onDrag(1,t.srcEvent))),n.on("panend pancancel",(t=>e.state.attrs.onDrag(0,t.srcEvent)))}n.focus&&t.focus()},onremove:({state:e})=>{e.hammer&&e.hammer.destroy()}},n.value)}},k={view:({attrs:e,state:n})=>{const a=e=>{n.value&&n.showInput&&delete n.showInput,delete n.value,e&&t.redraw()},i=[...!e.multi||e.alwaysmulti||e.type&&"text"!==e.type?[]:[t(r,{icon:n.multi?"angle-double-up":"angle-double-down",class:"pad-2 transp inputaction",onClick:()=>{n.multi=!n.multi,t.redraw()}})],...e.actions?e.actions.map((e=>t(r,{...e,class:"inputaction transp pad-2"}))):[],...e.action?[t(r,{...e.action,class:"inputaction transp pad-2"})]:[]];return t(".textfield.flexcol.relative",{class:(e.label?"witharia":"")+(e.containerClass?" "+e.containerClass:""),...e.label&&{"aria-label":e.label}},t(".textfieldinner.flexrow",[!e.staticField||!e.readonly&&n.showInput?!n.multi&&!e.alwaysmulti||e.type&&"text"!==e.type?t("input.w-100",{...e.id&&{id:e.id},type:e.type||"text",...void 0!==e.max&&{max:e.max},...void 0!==e.min&&{min:e.min},...e.step>0&&{step:e.step},...e.maxlength&&{maxlength:e.maxlength},...e.title&&{title:e.title},class:(e.class||"")+(n.isValid?"":" bg-error"),value:x(e,n),placeholder:e.hint||"",...e.readonly?{readonly:"readonly"}:{oninput:t=>{n.value=w(e,t.target.value),t.fromoninput=!0,n.checkValid(),e.final||n.isValid&&(e.onchange||e.oninput)&&(e.oninput||e.onchange)(n.value,t)},onchange:t=>{e.onchange&&(n.value=w(e,t.target.value),n.checkValid(),t.enterPressed=n.enterPressed,delete n.enterPressed,n.isValid&&e.onchange(n.value,t),e.staticField?a(!0):delete n.value)},onblur:()=>{n.showInput&&a(!0)},onkeyup:t=>{n.showInput&&("Escape"===t.key?a(!0):"Enter"===t.key&&(n.value!==e.value&&n.value||(n.checkValid(),n.isValid&&e.onchange(e.value,t),a(!0))))},onbeforeinput:t=>{"number"===e.subtype&&t.data&&!/^[0-9.\-]$/.test(t.data)&&t.preventDefault()},inputmode:"number"===e.subtype?"decimal":void 0,onkeypress:t=>{n.showInput||"Enter"!==t.key||e.onenter&&e.onenter(t.target.value,t)}}}):t("textarea.w-100",{class:e.class,value:x(e,n),...e.title&&{title:e.title},placeholder:e.hint||"",oninput:t=>{n.value=w(e,t.target.value),n.checkValid(),e.final||e.onchange&&n.isValid&&(e.oninput||e.onchange)(n.value,t,!0)},onchange:t=>{e.onchange&&(n.value=w(e,t.target.value),n.checkValid(),a(!1),n.isValid&&e.onchange(n.value,t,!0))},onblur:()=>{n.showInput&&a(!0)},onkeyup:e=>{"Escape"===e.key&&n.showInput&&a(!1)}}):t(C,{readonly:e.readonly,staticClass:(n.dragging?"accent ":"")+(e.staticClass||""),staticTitle:e.staticTitle||e.draginc&&"Click then drag up and down to modify value, or just click to enter a custom value",value:e.displayTitle||x(e,n),focus:e.focus,...e.draginc&&!e.readonly&&{onDrag:(a,i)=>{if(a){n.dragging=!0;let t=x(e,n,!0);if(Number.isNaN(t)||void 0===t)return;t+=a*e.draginc,void 0!==e.max&&t>e.max&&(t=e.max),void 0!==e.min&&t<e.min&&(t=e.min),n.value="number"===e.type?t:String(t),e.onchange(n.value,i)}else delete n.dragging,delete n.value,t.redraw()}},...e.readonly||{onClick:()=>{n.showInput=!0,n.value=e.value,t.redraw()}}}),...i.length?[t(".span.actions",i)]:[]]))},oninit:({attrs:e,state:n})=>{if(e.staticField&&e.draginc){const t=x(e,n,!0);n.showInput=Number.isNaN(t)||null==t}if(e.pattern)try{n.regexp=new RegExp(e.pattern)}catch(e){}n.checkValid=()=>{let a=!0;e.validator&&(a=e.validator(n.value)),n.regexp&&(a=a&&n.regexp.test(n.value)),e.nodelete&&(a=a&&""!==n.value),a!==n.isValid&&(n.isValid=a,t.redraw())}}},M=n((({attrs:e,children:n})=>n.length?t(".notice.cardie.flexcol.pad-3",{class:e.class||"marg-2 font-75",...e.key&&{key:e.key}},t(".flexrow",[...e.icon?[t(o,{size:e.size,icon:e.icon,class:e.iconClass,title:e.icontitle})]:[],...e.text?[t(".pad-2.pad-h",e.text)]:[],...e.html?[t(".innerhtml",t.trust(e.html))]:[]]),...n):t(".notice.cardie.flexrow.pad-3",{class:e.class||"marg-2 font-75",onclick:e.onClick,...e.key&&{key:e.key}},[...e.icon?[t(o,{size:e.size,icon:e.icon,class:e.iconClass,title:e.icontitle})]:[],(e.texts||[e.text]).map((e=>t(".pad-2.pad-h",e)))]))),A={view:({attrs:e})=>e.items.map((({name:n},a)=>t("option",{...e.state.index===a+(e.offset||0)&&{selected:!0}},n)))};let T;function _(e,t){if(e.groups){t.groups={},t.allItems=[],e.parsed=!0;Object.keys(e.groups).forEach((n=>{t.groups[n]={label:n,len:e.groups[n].length,items:e.groups[n]}}));const n=Object.values(t.groups);n.forEach(((a,i)=>{e.value&&(t.index=0),a.offset=i?n[i-1].offset+n[i-1].len:0,t.allItems=t.allItems.concat(a.items),e.value&&a.items.forEach(((n,i)=>{const o=n.value;(e.parser?e.parser(o):o)===e.value&&(t.index=i+a.offset)}))}))}else if(e.items){t.index=0;for(let n=0,a=e.items.length;n<a;n++){const a=e.items[n].value;if((e.parser?e.parser(a):a)===e.value){t.index=n;break}}t.allItems=e.items}else t.allItems=[]}const I={view:({attrs:e,state:n})=>{const{groups:a}=n;return t("select",{"aria-label":e.caption,class:e.class,oninput:a=>{_(e,n);const i=n.index=a.target.selectedIndex,o=i>=0?n.allItems[i]:null;e.onchange&&o&&e.onchange(o.value,o,i),t.redraw()}},a?Object.values(a).map((e=>t("optgroup",{label:e.label},t(A,{items:e.items,offset:e.offset,state:n})))):t(A,{items:null!=e.items?e.items:[],state:n}))},oninit:({attrs:e,state:t})=>{Object.assign(t,{index:e.index||0,initial:e.value}),_(e,t)},oncreate:()=>{},onupdate:({attrs:e,state:n})=>{const a=void 0!==e.value&&n.initial!==e.value;(!n.groups&&!n.allItems||a)&&(_(e,n),a&&(n.initial=e.value,clearTimeout(T),T=setTimeout((()=>t.redraw()),50)))}};let E;function N(e){"function"==typeof E&&(E(),E=void 0),S.redraw&&(S.redraw(!0),delete S.redraw),e.style.display="none"}function S(e,n=!1,a=".modal-content"){const i=document.getElementById("modal-container");if(i.classList.toggle("iscustom",".modal-content"!==a),n&&(E=n,i.onclick=e=>{"modal-container"===e.target.id&&N(i)}),!e)return S.redraw&&(S.redraw(!0),delete S.redraw),void(null===e?i.style.display="none":N(i));i.style.display="flex",S.redraw=n=>{t.render(i,t(a,{role:"alertdialog","aria-labelledby":"modaltitle","aria-modal":!0},n||!e?[]:["function"==typeof e?e():e]))},S.redraw()}function j(){const e=document.getElementById("modal-container");return"none"!==e.style.display&&(N(e),!0)}const L=/\$([A-Za-z0-9_\/\:\=]+)\$/g,z=(e,t,n)=>P(e,t,{encode:n}),D=(e,t,n,a)=>P(e,t,{encode:n,unescape:a,dothrow:!0}),O={daterel:e=>new Date(e).toISOString()};function P(e,t,n){if(!e)return"";if("string"!=typeof e)return e;let a;return n=n||{},t=t||{},e.replace(L,((e,i)=>{let o=null,l=!1;i.indexOf("=")>0&&(a=i.split("="),i=a[0],l=3===a.length,o=l?n.dothrow?a[2]:null:a[1]);const r=i.split(":"),s=r[0],c=r[1]||null,u=s.split("/"),d=u.shift();let f=t[d];"number"==typeof f&&(f=""+f);let h=(u.length?K(f,u.join("/")):f)||o;if(null==h&&n.dothrow)throw new Error("Parameter "+d+(u.length?"/"+u.join("/"):"")+" is required");return null==h&&(h=n.hasOwnProperty("defvalue")?n.defvalue:"$"+s+(l?"=="+a[2]:"")+"$"),c&&O[c]&&(h=O[c](h)),n.unescape&&(h=unescape(h)),n.encode?escape(h):h}))}const K=function(e,t){if(!t)return e;try{const n=t.split("/");let a=e;for(const e in n)if(a=a[n[e]],!a){a=null;break}return a}catch(e){return null}};const B=/[^0-9A-Z._\-]+/gi,F=/[^0-9A-Z_\-]+/gi;function R(e,t=!0){return t=t&&!e?.endsWith("."),e?e.trim().toLowerCase().replace(t?B:F,""):null}const V={tokenize:(e,t,n)=>P(e,t,{encode:n,defvalue:""}),tokenizeStrict:D,tokenizeObject:function e(t,n,a,i){const o=a?D:z,l=i?{}:t;if("string"==typeof t)return o(t,n);if("object"==typeof t){if(t.length){const i=[];for(const o of t)i.push(e(o,n,a,!0));return i}for(const i of Object.keys(t)){const r=t[i];l[i]="object"==typeof r?e(r,n,a,!0):"string"==typeof r?o(t[i],n):r}}return l},tokenizeKeep:z,tokenizeWithDefault:(e,t,n)=>P(e,t,null==n?null:{defvalue:n}),tokenizeUrl:function(e,t,n){n=n||{};const{message:a,getTitle:i,defaultTitle:o}=n,l=o||"Url",r="string"==typeof e?o:"object"==typeof e&&e.id&&e.id||l;if(i)return r;const s="string"==typeof e?e:"object"==typeof e&&e.url?e.url:null;try{return D(s,t||{},"...")}catch(e){return console.log("[TOKENIZER]",e.message),a||"(not enough parameters)"}},getPointedData:K,sanitizeFilename:R,generateFilename:(e,t=void 0)=>{const n=parseInt(md5(e).substring(24),16).toString(32);return(t?R(t)+"-":"")+n}},$=(e,t)=>{const n=[];if(t)for(const e of Object.keys(t))t[e]&&n.push("."+e);return(e||"")+n.join("")},H=(e,t)=>{const n=e?[e]:[];if(t)for(const e of Object.keys(t))t[e]&&n.push(e);return n.join(" ")};function Y(e,n,a,i=!1){let o;return"function"==typeof i&&(o=i,i=!1),new Promise((l=>{const r=a.map(((e,t)=>({caption:e,onclick:()=>l({idx:t,name:e})})));!function(e,n,a=["CANCEL","OK"],i={}){S(t({view:()=>[...e?[t("h3",e)]:[],...n?[t("h4",n)]:[],t(".container",a.map((e=>t("button",{onclick:()=>{document.getElementById("modal-container").style.display="none",e.onclick&&e.onclick(e.caption)}},e.caption||"OK"))))]},{}),i.onCancel||!i.noCancel)}(e,n,r,{onCancel:o,noCancel:i})}))}function q(e,n,a,i){return new Promise((o=>{function r(e){S(null);try{o(e)}catch(e){}}const s=$(".popup.flexcol",{".favlist":(i=i||{}).favlist,".isfav":e&&e.classList.contains("isfav"),".isplay":e&&e.classList.contains("selected")});S(t({view:()=>t(s,{onclick:t=>{if("INPUT"===t.target.nodeName)return;const a=t.target.getAttribute("data-action");a?r({domItem:e,item:n,action:a}):S(null)}},[...n.title?[t("h3",{id:"modaltitle"},n.title)]:[],...a.map((a=>"text"===a.type?t("input.action",{value:a.value||"",type:"text",placeholder:a.hint||"",oncreate:({dom:e})=>e.focus(),onkeyup:t=>{27===t.keyCode&&r({domItem:e,item:n,action:a})},onchange:t=>{t.target.blur(),r({domItem:e,item:n,action:a,value:t.target.value})}}):t(l,{...a,onclick:()=>r({domItem:e,item:n,action:a})},a.caption)))])}),!0)}))}function W(e,n,a,i,o=!1){n=n||{};const{arrayClass:l="isarray",arrayChildClass:r="ischildren",objectClass:s="isobject"}=n;return t("ul",{...n.attrs||{},class:n.class},e?[...(n.keys||Object.keys(e)).map((a=>{const c=e[a]||null,u=null!==c&&"object"==typeof c,d=u&&c.length,f=(i?i+"_":"")+a;return t("li.field_"+(n.start||"")+f,{class:(d?l:u?s+" ":"")+(o?r:""),"data-title":n.titles&&n.titles[a]||a,...n.itemAttrs||{}},u?[t(".subvalues",W(c,{...n,keys:null},null,(i?i+"_":"")+a,d))]:n.renderer&&n.renderer[f]?n.renderer[f](c):t("span.value",e[a]))})),...a||[]]:[t(".empty",{})])}const G={view:({attrs:e,children:n})=>{let a;try{a=e.pointer?K(e.object,e.pointer):e.object}catch(n){return t(s,{message:n.message,...e})}return a?W(a,e,n):t(s,e)}};function U(e,t,n=void 0,a="YES",i="NO"){X(e,[i,a],n).then((e=>{e?t(e):n&&n()})).catch((()=>{n&&n()}))}function X(e,t=["NO","YES"],n="cancelled"){return new Promise(((a,i)=>{Y(null,e,t,(()=>i(new Error(n)))).then((({idx:e})=>{e>=0?a(e):i(new Error(n))}))}))}const Z=g((({attrs:e,state:n})=>t((e.unit||"")+".flexrow"+(e.subline?" withsubline":""),{class:e.class,text:e.text,title:e.title||null,onclick:()=>{n.checked=!n.checked,e.onchange&&e.onchange(n.checked),t.redraw()}},e.right?[...e.text?[t("span.grows.caption",e.subline?{"data-subline":e.subline}:{},e.text)]:[],t(o,{iconClass:"pad-2 pad-h",icon:n.checked?"toggle-on":"toggle-off"})]:[t(o,{iconClass:"pad-2 pad-h",icon:n.checked?"toggle-on":"toggle-off"}),...e.text?[t("span.grows.caption",e.subline?{"data-subline":e.subline}:{},e.text)]:[]])),(({attrs:e,state:t})=>{t.checked=t.original=e.checked}),null,null,(({attrs:e,state:n})=>{e.checked!==n.original&&(n.checked=n.original=e.checked,t.redraw())})),J=window.structuredClone?window.structuredClone:e=>JSON.parse(JSON.stringify(e));function Q(e,n,a={}){const{title:i,field:o,icon:l,textNew:r,textHint:s,resolve:c}=a,u=Array.isArray(e)?e.map((e=>({icon:e.icon||l,caption:o?e[o]:e,onClick:t=>n(e,t)}))):Object.keys(e).map((t=>({icon:e[t].icon||l,caption:e[t].caption||e[t].label||t,onClick:a=>n(c&&void 0!==e[t].value?e[t].value:e[t],a)})));Array.isArray(e)&&!e.length?f.add("No items available"):q(document.body,{title:i},[...r&&!o?[{icon:"plus",caption:r,onClick:()=>ee(r,"",s,(e=>{e&&e&&e.trim()&&(n(e),t.redraw())}))}]:[],...u]).then((({action:e})=>e.onClick())).finally((()=>{}))}function ee(e,t,n,a,i={}){setTimeout((()=>q(document.body,{title:e},[{type:"text",hint:n,value:t}]).then((({value:e})=>(i.refreshKey=String(Date.now()),a(e))))),100)}const te=[["Lights and Fog",null,["amblight","l0","l1","l2","l3","fog"],0],["Face and Accessories",null,["facekit"],1],["Particle settings",null,["particles"],2],["Video Segmentation","common",["segcam","mask","green"],3,!0],["Video Effects",null,["fxconfig"],9],["Video Plane","val",["xvideo","yvideo","zvideo","rvideo","svideo","video"],4],["Main Camera","val",["ypos","xpos","zoom","yaw","pitch","roll","ai"],5],["Drone Camera","val",["free"],6],["Followed Agent","val",["track"],10],["Game Camera","val",["orbit","track","ocam"],7,void 0,!0],["Transition Speed","val",["spd"],8]],ne=g((({attrs:e})=>t("h2.marg-2.no-marg-bottom",e.title))),ae=g((({attrs:e})=>{const{type:n="changes",meta:a,onInput:i,title:o,options:l}=e,s=a.title?.trim().length&&a.description?.trim().length,c=l&&l.embedded;return t(".flexcol.grows.ohidden.fadein",[...e.title?[t(ne,{title:o})]:[],t(".flexrow.wrap.grows.pad-3.propsgroup.scrolly",[...e.notice?[t(M,{class:"marg-1 marg-v withbottommargin font-75 col-12",size:1,icon:"info-circle",text:e.notice})]:[],t(".witharia.col-12.pad-1.pad-v",{"aria-label":n+" name"},t(k,{class:"pad-2 pad-xh "+(s?"valid":"invalid"),value:a.title,maxlength:64,onchange:e=>{a.title=e,t.redraw()}})),...c?[]:[t(".col-12.witharia.pad-1.pad-v",{"aria-label":"description"},t(k,{class:"pad-2 pad-xh "+(a.description?"valid":"invalid"),value:a.description,maxlength:240,multi:!0,alwaysmulti:!0,onchange:e=>{a.description=e,t.redraw()}})),t(".col-8.witharia.pad-1.pad-v",{"aria-label":"tags"},t(k,{class:"pad-2 pad-xh",value:a.tags,maxlength:128,onchange:e=>{a.tags=e.toLowerCase().split(" ").join(",").split(",").filter((e=>e.length)).join(",")}})),t(".col-4.witharia.pad-1.pad-v",{"aria-label":"youtube video"},t(k,{class:"pad-2 pad-xh",value:a.ytref||"",hint:"YouTube ID",maxlength:16,onchange:e=>{(e=e.trim())?-1===e.indexOf(" ")&&(a.ytref=e.trim()):delete a.ytref}}))],t(".col-4.witharia.pad-1.pad-v",{"aria-label":"content attribution"},t(k,{class:"pad-2 pad-xh",value:a.author,hint:"author name",maxlength:128,onchange:e=>{a.author=e}})),t(".col-4.witharia.pad-1.pad-v",{"aria-label":"license or author link"},t(k,{class:"pad-2 pad-xh",hint:"https://...",value:a.link,maxlength:128,onchange:e=>{a.link=e}})),t(".col-4.witharia.pad-1.pad-v",{"aria-label":"source domain"},t(k,{class:"pad-2 pad-xh",value:a.source,hint:"example.com",maxlength:128,onchange:e=>{a.source=e}})),t(".col-12.al-right.marg-2.marg-v",t(r,{class:"noshrink accentbutton unitheightsmall col-4",text:"save "+n,onClick:()=>{a.title?.trim().length&&(c||a.description?.trim().length)?(S(null),i(a)):f.add("Information is incomplete or invalid")}}))])])})),ie=g((({attrs:e})=>{const{parameters:n,preset:a,presetComponents:i,types:o,globalData:l,fetcher:s}=e,c=[],u=[],d=o?te:te.filter((e=>{const[,t,i,o,r]=e,s=t?a[t]:a,d=r?l:n,f=t?d[t]:d;let h=!1;if(i.length){for(const e of i)s&&void 0!==s[e]&&(h=c[o]=!0),void 0!==f[e]&&(h=u[o]=!0);return h}return h=!0,u[o]=!!f,c[o]=!!s,h}));return t("ul.flexrow.wrap.userdialog",d.length?d.map((d=>{const[h,p,m,g,v,y]=d,b=o?void 0:p?a[p]:a,w=v?l:n,x=o?void 0:p?w[p]:w,C=o||c[g],k=u[g];return[...i?[t(Z,{title:`Include ${d[0]} in snapshots`,class:"grows unitheightsmall"+(i[g]?" accent":""),checked:!!i[g],onchange:n=>{i[g]=!i[g],t.redraw(),e.redraw&&e.redraw()}}),t(".grows",{class:C?"avail":"unavail"},h)]:[],...e.types?[]:[t(r,{class:"col-3"+(k?"avail":"unavail"),icon:"sync",title:`Copy ${h} from current state`,onClick:()=>{if(m.length){p&&!a[p]&&(a[p]={});const e=p?a[p]:a;for(const t of m)if(void 0!==x[t]){const n=y&&s?s(e[t],g):x[t];e[t]=J(n)}}else if(0===m.length&&p&&void 0!==x){const e=y&&s?s(x,g):x;a[p]=J(e)}e.redraw&&e.redraw(),f.add(`updated ${h} from current scene`)}}),t(r,{class:"col-3 "+(C?"":"disabled text-lo"),icon:"trash",title:`Delete ${h} in preset`,onClick:()=>C&&(()=>{if(m.length)for(const e of m)delete b[e];else 0===m.length&&p&&delete a[p];e.redraw&&e.redraw()})()})],t(".flexbreak")]})):t("h3","Preset is Empty"))}));var oe=Object.freeze({__proto__:null,choose:function(e,t={icon:"circle",onSelect:()=>{}}){const{icon:n,title:a,field:i,onSelect:o,parser:l=e=>e}=t,r=e.map(((e,t)=>({icon:i&&e.icon||n,caption:l(i?e[i]:e,e),onClick:n=>o(e,n,t)})));Array.isArray(e)&&!e.length?f.add("No items available"):q(document.body,{title:a},r).then((({action:e})=>e.onClick()))},promptEntity:(e,n,a,i={})=>new Promise(((o,l)=>{S(t(ae,{meta:e,type:a,title:n,options:i,onInput:e=>o(e)}),(()=>{l(new Error("cancelled"))}))})),promptName:ee,promptOptions:Q,promptPreset:(e,n,a={})=>new Promise(((i,o)=>{S((()=>t(ie,{...a,preset:e,parameters:n,redraw:()=>S.redraw()})),(()=>{o(new Error("cancelled"))}))}))});const le=g((({attrs:e})=>t(".flexcol.combocontainer.grows",{class:(e.outerClass||"")+" "+(e.label?"witharia":""),...e.label&&{"aria-label":e.label},title:e.hint},[t(".flexrow.combowidget.bg-inputs",{class:(e.value?"yesvalue ":"novalue ")+(e.class||"")},[t(r,{class:"transp combovalue grows flexrow "+(e.buttonClass||"")+(e.innerLabel?" witharia":""),textClass:"grows "+e.textClass,iconClass:"noshrink",...e.innerLabel&&{"aria-label":e.innerLabel},onClick:t=>{t.shiftKey?e.onchange(void 0,t):e.locked||function(e){const{title:t,items:n,itemsKey:a,itemsText:i,field:o,onchange:l,textNew:r,textHint:s,resolve:c,icon:u,item:d}=e,f="function"==typeof n?n():n;Q(a?"function"==typeof a?a():f[a]?"function"==typeof f[a]?f[a](d)||[]:f[a]||[]:[]:f,l,{title:t,field:o,icon:u,textNew:r,textHint:s,resolve:c})}(e)},...e.value?{icon:e.value?.icon||e.icon,text:e.field||e.fieldTitle?e.value[e.fieldTitle||e.field]:e.itemsText&&e.itemsText[e.value]||e.value}:{icon:e.emptyIcon||(e.emptyText?"":"plus"),text:e.emptyText||""}}),e.value&&!e.nodelete?[t(r,{class:"clrcombo pad-2 pad-h transp "+(e.closeClass||"scaff-left"),onClick:n=>{const{field:a}=e;if(!e.confirm||n.shiftKey||n.metaKey||n.ctrlKey||n.altKey)e.onchange(a?void 0:"",n);else{const t="function"==typeof e.confirm?e.confirm():e.confirm;t?U(t,(()=>{e.onchange(a?void 0:"",n)})):e.onchange(a?void 0:"",n)}t.redraw()},icon:e.removeIcon||"times",title:e.removeHint||"remove this item"})]:[]])]))),re=function(){"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function e(e,t){return e(t={exports:{}},t.exports),t.exports}var t=e((function(e,t){var n;e.exports=(n=function(){function e(e,t){e?(l(e,t,"touchstart","touchmove","touchend"),l(e,t,"mousedown","mousemove","mouseup")):console.warn("drag is missing elem!")}function t(t){var n=i(t.class||"",t.parent),o=i("pointer",n);return i("shape shape1",o),i("shape shape2",o),i("bg bg1",n),i("bg bg2",n),e(n,a(t.cbs,o)),{background:n,pointer:o}}function n(t){var n=i(t.class,t.parent),o=i("pointer",n);return i("shape",o),i("bg",n),e(n,a(t.cbs,o)),{background:n,pointer:o}}return e.xyslider=t,e.slider=n,e;function a(e,t){var n={};for(var a in e)n[a]=i(e[a]);function i(e){return function(n){n.pointer=t,e(n)}}return n}function i(e,t){return o("div",e,t)}function o(e,t,n){var a=document.createElement(e);return t&&(a.className=t),n.appendChild(a),a}function l(e,t,n,a,i){var o=(t=c(t)).begin,l=t.change,u=t.end;r(e,n,(function(t){var n=h(f,l,e);function c(){s(document,a,n),s(document,i,c),f(u,e,t)}r(document,a,n),r(document,i,c),f(o,e,t)}))}function r(e,t,n){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("testPassive",null,i),window.removeEventListener("testPassive",null,i)}catch(e){}e.addEventListener(t,n,!!a&&{passive:!1})}function s(e,t,n){e.removeEventListener(t,n,!1)}function c(e){return e?{begin:e.begin||d,change:e.change||d,end:e.end||d}:{begin:function(e){t={x:e.elem.offsetLeft,y:e.elem.offsetTop},n=e.cursor},change:function(e){u(e.elem,"left",t.x+e.cursor.x-n.x+"px"),u(e.elem,"top",t.y+e.cursor.y-n.y+"px")},end:d};var t,n}function u(e,t,n){e.style[t]=n}function d(){}function f(e,t,n){n.preventDefault();var a=p(t),i=t.clientWidth*(window.SCALE||1),o=t.clientHeight*(window.SCALE||1),l={x:m(t,n),y:g(t,n)},r=(l.x-a.x)/i,s=(l.y-a.y)/o;e({x:isNaN(r)?0:r,y:isNaN(s)?0:s,cursor:l,elem:t,e:n})}function h(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}function p(e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top}}function m(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientX)}function g(e,t){var n=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(n.clientY)}}(),n)})),n=e((function(e,t){e.exports=function(){function e(t){if(Array.isArray(t)){if("string"==typeof t[0]&&"function"==typeof e[t[0]])return new e[t[0]](t.slice(1,t.length));if(4===t.length)return new e.RGB(t[0]/255,t[1]/255,t[2]/255,t[3]/255)}else if("string"==typeof t){var a=t.toLowerCase();e.namedColors[a]&&(t="#"+e.namedColors[a]),"transparent"===a&&(t="rgba(0,0,0,0)");var l=t.match(o);if(l){var r=l[1].toUpperCase(),s=n(l[8])?l[8]:parseFloat(l[8]),c="H"===r[0],u=l[3]?100:c?360:255,d=l[5]||c?100:255,f=l[7]||c?100:255;if(n(e[r]))throw new Error("color."+r+" is not installed.");return new e[r](parseFloat(l[2])/u,parseFloat(l[4])/d,parseFloat(l[6])/f,s)}t.length<6&&(t=t.replace(/^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i,"$1$1$2$2$3$3"));var h=t.match(/^#?([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])$/i);if(h)return new e.RGB(parseInt(h[1],16)/255,parseInt(h[2],16)/255,parseInt(h[3],16)/255);if(e.CMYK){var p=t.match(new RegExp("^cmyk\\("+i.source+","+i.source+","+i.source+","+i.source+"\\)$","i"));if(p)return new e.CMYK(parseFloat(p[1])/100,parseFloat(p[2])/100,parseFloat(p[3])/100,parseFloat(p[4])/100)}}else if("object"==typeof t&&t.isColor)return t;return!1}var t=[],n=function(e){return void 0===e},a=/\s*(\.\d+|\d+(?:\.\d+)?)(%)?\s*/,i=/\s*(\.\d+|100|\d?\d(?:\.\d+)?)%\s*/,o=new RegExp("^(rgb|hsl|hsv)a?\\("+a.source+","+a.source+","+a.source+"(?:,"+/\s*(\.\d+|\d+(?:\.\d+)?)\s*/.source+")?\\)$","i");e.namedColors={},e.installColorSpace=function(a,i,o){function l(t,n){var a={};for(var i in a[n.toLowerCase()]=function(){return this.rgb()[n.toLowerCase()]()},e[n].propertyNames.forEach((function(e){var t="black"===e?"k":e.charAt(0);a[e]=a[t]=function(t,a){return this[n.toLowerCase()]()[e](t,a)}})),a)a.hasOwnProperty(i)&&void 0===e[t].prototype[i]&&(e[t].prototype[i]=a[i])}e[a]=function(e){var t=Array.isArray(e)?e:arguments;i.forEach((function(e,n){var o=t[n];if("alpha"===e)this._alpha=isNaN(o)||o>1?1:o<0?0:o;else{if(isNaN(o))throw new Error("["+a+"]: Invalid color: ("+i.join(",")+")");"hue"===e?this._hue=o<0?o-Math.floor(o):o%1:this["_"+e]=o<0?0:o>1?1:o}}),this)},e[a].propertyNames=i;var r=e[a].prototype;for(var s in["valueOf","hex","hexa","css","cssa"].forEach((function(e){r[e]=r[e]||("RGB"===a?r.hex:function(){return this.rgb()[e]()})})),r.isColor=!0,r.equals=function(e,t){n(t)&&(t=1e-10),e=e[a.toLowerCase()]();for(var o=0;o<i.length;o+=1)if(Math.abs(this["_"+i[o]]-e["_"+i[o]])>t)return!1;return!0},r.toJSON=function(){return[a].concat(i.map((function(e){return this["_"+e]}),this))},o)if(o.hasOwnProperty(s)){var c=s.match(/^from(.*)$/);c?e[c[1].toUpperCase()].prototype[a.toLowerCase()]=o[s]:r[s]=o[s]}return r[a.toLowerCase()]=function(){return this},r.toString=function(){return"["+a+" "+i.map((function(e){return this["_"+e]}),this).join(", ")+"]"},i.forEach((function(e){var t="black"===e?"k":e.charAt(0);r[e]=r[t]=function(t,n){return void 0===t?this["_"+e]:n?new this.constructor(i.map((function(n){return this["_"+n]+(e===n?t:0)}),this)):new this.constructor(i.map((function(n){return e===n?t:this["_"+n]}),this))}})),t.forEach((function(e){l(a,e),l(e,a)})),t.push(a),e},e.pluginList=[],e.use=function(t){return-1===e.pluginList.indexOf(t)&&(this.pluginList.push(t),t(e)),e},e.installMethod=function(n,a){return t.forEach((function(t){e[t].prototype[n]=a})),this},e.installColorSpace("RGB",["red","green","blue","alpha"],{hex:function(){var e=(65536*Math.round(255*this._red)+256*Math.round(255*this._green)+Math.round(255*this._blue)).toString(16);return"#"+"00000".substr(0,6-e.length)+e},hexa:function(){var e=Math.round(255*this._alpha).toString(16);return"#"+"00".substr(0,2-e.length)+e+this.hex().substr(1,6)},css:function(){return"rgb("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+")"},cssa:function(){return"rgba("+Math.round(255*this._red)+","+Math.round(255*this._green)+","+Math.round(255*this._blue)+","+this._alpha+")"}});var l=e,r=function(e){e.installColorSpace("XYZ",["x","y","z","alpha"],{fromRgb:function(){var t=function(e){return e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92},n=t(this._red),a=t(this._green),i=t(this._blue);return new e.XYZ(.4124564*n+.3575761*a+.1804375*i,.2126729*n+.7151522*a+.072175*i,.0193339*n+.119192*a+.9503041*i,this._alpha)},rgb:function(){var t=this._x,n=this._y,a=this._z,i=function(e){return e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e};return new e.RGB(i(3.2404542*t+-1.5371385*n+-.4985314*a),i(-.969266*t+1.8760108*n+.041556*a),i(.0556434*t+-.2040259*n+1.0572252*a),this._alpha)},lab:function(){var t=function(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29},n=t(this._x/95.047),a=t(this._y/100),i=t(this._z/108.883);return new e.LAB(116*a-16,500*(n-a),200*(a-i),this._alpha)}})},s=function(e){e.use(r),e.installColorSpace("LAB",["l","a","b","alpha"],{fromRgb:function(){return this.xyz().lab()},rgb:function(){return this.xyz().rgb()},xyz:function(){var t=function(e){var t=Math.pow(e,3);return t>.008856?t:(e-16/116)/7.87},n=(this._l+16)/116,a=this._a/500+n,i=n-this._b/200;return new e.XYZ(95.047*t(a),100*t(n),108.883*t(i),this._alpha)}})},c=function(e){e.installColorSpace("HSV",["hue","saturation","value","alpha"],{rgb:function(){var t,n,a,i=this._hue,o=this._saturation,l=this._value,r=Math.min(5,Math.floor(6*i)),s=6*i-r,c=l*(1-o),u=l*(1-s*o),d=l*(1-(1-s)*o);switch(r){case 0:t=l,n=d,a=c;break;case 1:t=u,n=l,a=c;break;case 2:t=c,n=l,a=d;break;case 3:t=c,n=u,a=l;break;case 4:t=d,n=c,a=l;break;case 5:t=l,n=c,a=u}return new e.RGB(t,n,a,this._alpha)},hsl:function(){var t,n=(2-this._saturation)*this._value,a=this._saturation*this._value,i=n<=1?n:2-n;return t=i<1e-9?0:a/i,new e.HSL(this._hue,t,n/2,this._alpha)},fromRgb:function(){var t,n=this._red,a=this._green,i=this._blue,o=Math.max(n,a,i),l=o-Math.min(n,a,i),r=0===o?0:l/o,s=o;if(0===l)t=0;else switch(o){case n:t=(a-i)/l/6+(a<i?1:0);break;case a:t=(i-n)/l/6+1/3;break;case i:t=(n-a)/l/6+2/3}return new e.HSV(t,r,s,this._alpha)}})},u=function(e){e.use(c),e.installColorSpace("HSL",["hue","saturation","lightness","alpha"],{hsv:function(){var t,n=2*this._lightness,a=this._saturation*(n<=1?n:2-n);return t=n+a<1e-9?0:2*a/(n+a),new e.HSV(this._hue,t,(n+a)/2,this._alpha)},rgb:function(){return this.hsv().rgb()},fromRgb:function(){return this.hsv().hsl()}})},d=function(e){e.installColorSpace("CMYK",["cyan","magenta","yellow","black","alpha"],{rgb:function(){return new e.RGB(1-this._cyan*(1-this._black)-this._black,1-this._magenta*(1-this._black)-this._black,1-this._yellow*(1-this._black)-this._black,this._alpha)},fromRgb:function(){var t=this._red,n=this._green,a=this._blue,i=1-t,o=1-n,l=1-a,r=1;return t||n||a?(i=(i-(r=Math.min(i,Math.min(o,l))))/(1-r),o=(o-r)/(1-r),l=(l-r)/(1-r)):r=1,new e.CMYK(i,o,l,r,this._alpha)}})},f=function(e){e.namedColors={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"}},h=function(e){e.installMethod("clearer",(function(e){return this.alpha(isNaN(e)?-.1:-e,!0)}))},p=function(e){e.use(u),e.installMethod("darken",(function(e){return this.lightness(isNaN(e)?-.1:-e,!0)}))},m=function(e){e.use(u),e.installMethod("desaturate",(function(e){return this.saturation(isNaN(e)?-.1:-e,!0)}))},g=function(e){function t(){var t=this.rgb(),n=.3*t._red+.59*t._green+.11*t._blue;return new e.RGB(n,n,n,t._alpha)}e.installMethod("greyscale",t).installMethod("grayscale",t)},v=function(e){e.use(u),e.installMethod("lighten",(function(e){return this.lightness(isNaN(e)?.1:e,!0)}))},y=function(e){e.installMethod("mix",(function(t,n){t=e(t).rgb();var a=2*(n=1-(isNaN(n)?.5:n))-1,i=this._alpha-t._alpha,o=((a*i==-1?a:(a+i)/(1+a*i))+1)/2,l=1-o,r=this.rgb();return new e.RGB(r._red*o+t._red*l,r._green*o+t._green*l,r._blue*o+t._blue*l,r._alpha*n+t._alpha*(1-n))}))},b=function(e){e.installMethod("negate",(function(){var t=this.rgb();return new e.RGB(1-t._red,1-t._green,1-t._blue,this._alpha)}))},w=function(e){e.installMethod("opaquer",(function(e){return this.alpha(isNaN(e)?.1:e,!0)}))},x=function(e){e.use(u),e.installMethod("rotate",(function(e){return this.hue((e||0)/360,!0)}))},C=function(e){e.use(u),e.installMethod("saturate",(function(e){return this.saturation(isNaN(e)?.1:e,!0)}))},k=function(e){e.installMethod("toAlpha",(function(e){var t=this.rgb(),n=e(e).rgb(),a=new e.RGB(0,0,0,t._alpha),i=["_red","_green","_blue"];return i.forEach((function(e){t[e]<1e-10?a[e]=t[e]:t[e]>n[e]?a[e]=(t[e]-n[e])/(1-n[e]):t[e]>n[e]?a[e]=(n[e]-t[e])/n[e]:a[e]=0})),a._red>a._green?a._red>a._blue?t._alpha=a._red:t._alpha=a._blue:a._green>a._blue?t._alpha=a._green:t._alpha=a._blue,t._alpha<1e-10||(i.forEach((function(e){t[e]=(t[e]-n[e])/t._alpha+n[e]})),t._alpha*=a._alpha),t}))};return l.use(r).use(s).use(c).use(u).use(d).use(f).use(h).use(p).use(m).use(g).use(v).use(y).use(b).use(w).use(x).use(C).use(k)}()})),a=o(i,"div");function i(e,t,n){var a=document.createElement(e);return a.className=t,n.appendChild(a),a}function o(e){var t=Array.prototype.slice,n=t.apply(arguments,[1]);return function(){return e.apply(null,n.concat(t.apply(arguments)))}}function l(e,t,n){return Math.min(Math.max(e,t),n)}var r={clamp:l,e:i,div:a,partial:o,labelInput:function(e,t,n,o){var l="colorPickerInput"+Math.floor(1001*Math.random()),r=a(e,n),s=function(e,t,n){var a=i("label","",t);a.innerHTML=e,n&&a.setAttribute("for",n);return a}(t,r,l),c=function(e,t,n,a){var o=i("input","",t);o.type=e,n&&(o.maxLength=n);a&&o.setAttribute("id",a);n&&(o.maxLength=n);return o}("text",r,o,l);return{label:s,input:c}},X:function(e,t){e.style.left=l(100*t,0,100)+"%"},Y:function(e,t){e.style.top=l(100*t,0,100)+"%"},BG:function(e,t){e.style.background=t}};var s={currentColor:function(e){var t=r.div("currentColorContainer",e),n=r.div("currentColor",t);return{change:function(e){r.BG(n,e.cssa())}}},fields:function(e,t,n){var a=n.space,i=n.limit||255,o=n.fix>=0?n.fix:0,l=(""+i).length+o;l=o?l+1:l;var s=a.split(""),c="A"==a[a.length-1];if(a=c?a.slice(0,-1):a,["RGB","HSL","HSV","CMYK"].indexOf(a)<0)return console.warn("Invalid field names",a);var u=r.div("colorFields",e),d=s.map((function(e){e=e.toLowerCase();var t=r.labelInput("color "+e,e,u,l);return t.input.onblur=f,t.input.onkeydown=h,t.input.onkeyup=p,{name:e,e:t}}));function f(){t.done()}function h(e){e.ctrlKey||e.altKey||!/^[a-zA-Z]$/.test(e.key)||e.preventDefault()}function p(){var e=[a];d.forEach((function(t){e.push(t.e.input.value/i)})),c||e.push(t.getAlpha()),t.set(e)}return{change:function(e){d.forEach((function(t){t.e.input.value=(e[t.name]()*i).toFixed(o)}))}}},hex:function(e,t,n){var a=r.labelInput("hex",n.label||"",e,7);return a.input.value="#",a.input.onkeyup=function(e){var n=e.keyCode||e.which,a=e.target.value;a=function(e,t,n){for(var a=e,i=e.length;i<t;i++)a+=n;return a}(a="#"==a[0]?a:"#"+a,7,"0"),13==n&&t.set(a)},a.input.onblur=function(e){t.set(e.target.value),t.done()},{change:function(e){a.input.value="#"==a.input.value[0]?"#":"",a.input.value+=e.hex().slice(1)}}},alpha:function(e,n){var a=t.slider({parent:e,class:"oned alpha chequered",cbs:{begin:i,change:i,end:function(){n.done()}}});function i(e){var t=r.clamp(e.y,0,1);r.Y(e.pointer,t),n.setAlpha(1-t)}return{change:function(e){r.Y(a.pointer,1-e.alpha())}}},close:function(e,t,n){var a=r.e("a",n.class||"close",e);a.href="#",a.innerHTML=n.label||"Close",a.onclick=function(e){e.preventDefault(),t.hide()}}},c=function(e){return n=m,(a=[e.init,e.xy,e.z]).map(n).filter(g).length!=a.length?console.warn("colorjoe: missing cb"):function(n,a,i){return function(e){if(!e.e)return console.warn("colorjoe: missing element");var n=function(e){return"string"==typeof e}(e.e)?document.getElementById(e.e):e.e;n.className="colorPicker";var a=e.cbs,i=t.xyslider({parent:n,class:"twod",cbs:{begin:o,change:o,end:g}});function o(e){d=a.xy(d,{x:r.clamp(e.x,0,1),y:r.clamp(e.y,0,1)},i,l),m()}var l=t.slider({parent:n,class:"oned",cbs:{begin:s,change:s,end:g}});function s(e){d=a.z(d,r.clamp(e.y,0,1),i,l),m()}var u=f(e.color),d=a.init(u,i,l),p={change:[],done:[]};function m(e){e=h(e)?e:[];for(var t,n=p.change,a=0,i=n.length;a<i;a++)t=n[a],-1==e.indexOf(t.name)&&t.fn(d)}function g(){if(!u.equals(d)){for(var e=0,t=p.done.length;e<t;e++)p.done[e].fn(d);u=d}}var v={e:n,done:function(){return g(),this},update:function(e){return m(e),this},hide:function(){return n.style.display="none",this},show:function(){return n.style.display="",this},get:function(){return d},set:function(e){var t=this.get();return d=a.init(f(e),i,l),t.equals(d)||this.update(),this},getAlpha:function(){return d.alpha()},setAlpha:function(e){return d=d.alpha(e),this.update(),this},on:function(e,t,n){return"change"==e||"done"==e?p[e].push({name:n,fn:t}):console.warn('Passed invalid evt name "'+e+'" to colorjoe.on'),this},removeAllListeners:function(e){if(e)p[e]=[];else for(var t in p)p[t]=[];return this}};return function(e,t,n){if(!n)return;var a,i,o,l=r.div("extras",e);n.forEach((function(e,n){h(e)?(i=e[0],o=e.length>1?e[1]:{}):(i=e,o={});var r=i in c.extras?c.extras[i]:null;if(r)for(var s in a=r(l,function(e,t){var n=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e);return n.update=function(){e.update([t])},n}(t,i+n),o),a)t.on(s,a[s],i)}))}(n,v,e.extras),m(),v}({e:n,color:a,cbs:e,extras:i})};var n,a};for(var u in c.rgb=c({init:function(e,t,a){var i=n(e).hsv();return this.xy(i,{x:i.saturation(),y:1-i.value()},t,a),this.z(i,i.hue(),t,a),i},xy:function(e,t,n){return r.X(n.pointer,t.x),r.Y(n.pointer,t.y),e.saturation(t.x).value(1-t.y)},z:function(e,t,n,a){return r.Y(a.pointer,t),d(n.background,t),e.hue(t)}}),c.hsl=c({init:function(e,t,a){var i=n(e).hsl();return this.xy(i,{x:i.hue(),y:1-i.saturation()},t,a),this.z(i,1-i.lightness(),t,a),i},xy:function(e,t,n,a){return r.X(n.pointer,t.x),r.Y(n.pointer,t.y),d(a.background,t.x),e.hue(t.x).saturation(1-t.y)},z:function(e,t,n,a){return r.Y(a.pointer,t),e.lightness(1-t)}}),c.extras={},c.registerExtra=function(e,t){e in c.extras&&console.warn('Extra "'+e+'"has been registered already!'),c.extras[e]=t},s)c.registerExtra(u,s[u]);function d(e,t){r.BG(e,new n.HSV(t,1,1).cssa())}function f(e){if(!p(e))return n("#000");if(e.isColor)return e;var t=n(e);return t||(p(e)&&console.warn("Passed invalid color to colorjoe, using black instead"),n("#000"))}function h(e){return"[object Array]"===Object.prototype.toString.call(e)}function p(e){return void 0!==e}function m(e){return"function"==typeof e}function g(e){return e}var v=c;return window.OneColor=n,v}(),se=g((()=>t(".colorjoe-frame.absolute")),null,(({attrs:e,dom:t})=>{window.SCALE=1,e.state.joe=(e.hsl?re.hsl:re.rgb)(t,e.color,e.noalpha?[]:["alpha"]),e.state.joe.on("change",(t=>{e.onColor(e.noalpha?t.css():t.cssa(),t)})).update()})),ce=[],ue=g((({attrs:e,state:n,children:a})=>t(".colorjoe-popper.flexcol",{class:e.noalpha?"no-alpha":""},[t(se,{...e,state:n}),...a,t(".flexrow.extended.w-100.scaff-top.pad-2.wrap",[[0,1,2,3,4,5,6,7,8].map((a=>t("button.scaff.scaff-b1.marg-1.unitheightsmall.grows",{class:ce[a]?"":"chequered",style:{...ce[a]&&{backgroundColor:ce[a]}},onclick:i=>{i.shiftKey?ce[a]=n.joe.get().css():ce[a]&&n.joe.set(ce[a]),e.onRedraw?e.onRedraw():t.redraw()}}))),t(".flexbreak"),...e.onRemove?[t("button.scaff.scaff-b1.unitheightsmall.marg-1.pad-2.pad-h.grows.fabf.transp.bg-accent.fa-trash",{onclick:()=>e.onRemove(n.joe.get())})]:[]])]))),de=g((e=>{const{attrs:n,state:a}=e;return[t(".colorjoe-cell.chequered",{class:(n.class||"")+(a.shown?" open":""),title:n.title,...n.style&&{style:n.style}},[t(".inset",{style:{backgroundColor:a.color},...n.caption&&{"data-caption":n.caption,class:"titled"},onclick:a=>{n.onshiftclick&&(a.shiftKey||a.ctrlKey)?n.onshiftclick():(e=>{S((()=>t(ue,{noalpha:e.attrs.noalpha,color:e.state.color,hsl:e.attrs.hsl,onColor:(n,a)=>{e.state.color=n,e.attrs.onchange&&e.attrs.onchange(n,a),t.redraw()},onRemove:()=>{e.attrs.onchange&&e.attrs.onchange(null,null),S(null)},onRedraw:()=>{S.redraw(),t.redraw()}},e.children)),(()=>{}),".modal-content-popper")})(e)}})])]}),(({attrs:e,state:t})=>{t.original=e.color,t.color=t.original||"rgba(0,0,0,0)"}),null,null,(({attrs:e,state:n})=>{n.original!==e.color&&(n.original=e.color,n.color=n.original||"rgba(0,0,0,0)",t.redraw())})),fe=[255,255,255,1];
|
|
2
2
|
/*! colorjoe - v4.1.1 - Juho Vepsalainen <bebraw@gmail.com> - MIT
|
|
3
|
-
https://bebraw.github.com/colorjoe - 2020-01-27 */var he=t((({attrs:t})=>{const{colors:n=[],max:a=8}=t,i=n.length,o=(e=[0,0,0,0])=>"rgba("+e.map(((e,t)=>t<3?Math.floor(255*e):e)).join(",")+")",r=(e=[0,0,0,0])=>"rgba("+((e,t,n)=>{let a,i,o;if(0===t)a=i=o=n;else{const l=(e,t,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e),r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;a=l(s,r,e+1/3),i=l(s,r,e),o=l(s,r,e-1/3)}return[Math.round(255*a),Math.round(255*i),Math.round(255*o)]})(e[0],e[1],e[2]).join(",")+","+e[3]+")";return e(".flexrow.wrap.gradient.grows",{class:t.class},[...n.map(((a,i)=>e(ue,{class:"grows",color:t.hsl?r(n[i]):o(n[i]),title:"Click to edit, or Shift-click to remove this color from the collection",hsl:t.hsl,onchange:(a,o)=>{let l;if(t.hsl){const e=o.hsl();l=[e.hue(),e.saturation(),e.lightness(),o.a()]}else l=[o.r(),o.g(),o.b(),o.a()];n[i]=l,t.onchange&&t.onchange(n),e.redraw()},onshiftclick:()=>{n.splice(i,1),t.onchange&&t.onchange(n),e.redraw()}}))),...i<a?[e(l,{icon:"plus",class:"unitheightsmall accent bg-window-lo "+(i?"mini":"grows"),title:"Add a new color to the collection, or SHIFT-CLICK to delete all colors",onClick:a=>{a.shiftKey?n.splice(0,n.length):n.push(de),t.onchange&&t.onchange(n),e.redraw()}})]:[]])}));const fe=t((({attrs:t})=>e(".flexrow.wrap.grows.plusminus",{...t.label&&{"aria-label":t.label},class:(t.label?"witharia":"")+" "+(t.class||""),title:t.title||""},[e(l,{icon:t.iconMinus??"minus",class:"unitsizesmall "+(t.buttonClass||"transp"),title:t.title?"decrease the "+t.title:"",onClick:()=>{const{step:n=1,min:a=0}=t;let i=t.value||0;Number.isNaN(i)&&(i=0),i-=n,void 0!==a&&i<a&&(i=a),t.onchange(i),e.redraw()}}),e(".currentvalue.al-center.grows.unitheightsmall",{title:t.title},t.parser?t.parser(t.value):String(t.value||0)),e(l,{icon:t.iconPlus??"plus",class:"unitsizesmall "+(t.buttonClass||"transp"),title:t.title?"increase the "+t.title:"",onClick:()=>{const{step:n=1,max:a=0}=t;let i=t.value||0;void 0!==a&&i===a||(i+=n,t.onchange(i),e.redraw())}})]))),pe=t((({attrs:t,dom:n})=>e("nav.titlebar.noshrink.flexrow",{class:t.class?" "+t.class:"unitheight bg-window-hi pad-2 pad-h shadow-2 font-125",...t.onTitleClick&&{onclick:t.onTitleClick}},[...t.onClick?[e(l,{icon:"arrow-left",onClick:()=>t.onClick()})]:[],...t.logo?[e("img.title-logo",{src:t.logo})]:[],...t.editable&&t.onchange?[e(C,{containerClass:"grows"+(t.onClick?"":" pad-2 pad-h"),hint:t.title,onchange:t.onchange,oninput:()=>{},value:t.value})]:[e("span.grows.ellipsis",{class:t.onClick?"":"pad-2 pad-h"},t.title)],...t.auxaction?[e(l,{icon:t.auxaction.icon,class:t.auxaction.class,title:t.auxaction.title,onClick:t.auxaction.onClick})]:[],...t.auxactions?t.auxactions.map((t=>e(l,{class:t.class,title:t.title,icon:t.icon,text:t.caption,onClick:t.onClick}))):[],...t.action?[e(l,{icon:t.action.icon,class:t.action.class,title:t.action.title,onClick:t.action.onClick})]:[],...t.overflow?[e(l,{icon:t.overflow.icon||"ellipsis-v",class:t.overflow.class||"",onClick:()=>Y(n,{title:t.title},t.overflow.items).then((({action:e})=>e.onClick()))})]:[]]))),me=!!navigator.userAgent.match(/iPhone|iPad|iPod/i);let ge,ve=!1;function ye(e,t,n){return Math.min(Math.max(e,t),n)}function be(e,t,n,a){if(n-t<=0)return t;if(a<=0)return ye(e,t,n);const i=Math.ceil((n-t)/a);return ye(t+Math.round(i*(e-t)/(n-t))*a,t,n)}function we(){let t,n,a,i,o,l,r,s,c,u=0,d=!1,h=!1,f=4,p=1,m=0,g=10,v=0,y=1,b="horizontal";function w(e,t){let n,a;"vertical"===b?(n=l.bottom-l.top,a=l.bottom-t):(n=l.right-l.left,a=e-l.left),a=ye(a,0,n);const i=be(a/n*(g-m)+m,m,g,y);return L(i),i}function x(t,a,i){return h?function(t,a){d=r=!0,l=n.getBoundingClientRect();const i=w(t,a);i!==v&&(v=i,c&&!1!==c(v)&&e.redraw())}(t,a):(o=i,d=!0,r=!1,l=n.getBoundingClientRect(),void(s||o.target.requestPointerLock()));var o,s}function C(e,t,n){return r?w(e,t):function(e,t,n){const a=n.shiftKey?f:n.metaKey||n.ctrlKey?4*f:p;let i,o;i="vertical"===b?n.movementY||0:n.movementX||0;let l=y>0?y:(g-m)/100;if(i<0)o=Math.max(v+l*a*i,m);else{if(!(i>0))return v;o=Math.min(v+l*a*i,g)}return o=be(o,m,g,y),L(o),o}(0,0,n)}function k(e){2!==u&&(u=1,0===e.button&&(window.addEventListener("mousemove",M),window.addEventListener("mouseup",A),x(e.clientX,e.clientY,e)))}function M(e){e.preventDefault(),N(e.clientX,e.clientY,e)}function A(e){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),S(e.clientX,e.clientY,e)}function T(e){if(1===u)return;t.addEventListener("touchmove",_),t.addEventListener("touchend",I);const n=e.changedTouches[0];x(n.clientX,n.clientY,e)}function _(e){e.preventDefault();const t=e.changedTouches[0];N(t.clientX,t.clientY,e)}function I(e){t.removeEventListener("touchmove",_),t.removeEventListener("touchend",I);const n=e.changedTouches[0];S(n.clientX,n.clientY,n)}function E(t){const n=t.keyCode;let a;if(33===n){t.preventDefault();let e=Math.max((g-m)/10,y);e<=0&&(e=1),a=be(v+e,m,g,y)}else if(34===n){t.preventDefault();let e=Math.max((g-m)/10,y);e<=0&&(e=1),a=be(v-e,m,g,y)}else if(35===n)t.preventDefault(),a=g;else if(36===n)t.preventDefault(),a=m;else if(37===n||40===n){t.preventDefault();let e=(y>0?y:(g-m)/10)*(t.shiftKey?.25:t.ctrlKey||t.metaKey?4:1);a=Math.max(v-e,m)}else if(38===n||39===n){t.preventDefault();let e=(y>0?y:(g-m)/10)*(t.shiftKey?.25:t.ctrlKey||t.metaKey?4:1);a=Math.min(v+e,g)}else 48===n&&(a=(g+m)/2);"number"==typeof a&&a!==v&&(v=a,L(v),s&&!1!==s(v)&&e.redraw())}function N(t,n,a){if(!d)return;const i=C(t,n,a);i!==v&&(v=i,c&&!1!==c(v)&&e.redraw())}function S(t,n,a){d&&(d=!1,v=C(t,n,a),s&&!1!==s(v)&&e.redraw(),r||document.exitPointerLock(),setTimeout((function(){d||(u=0)}),350))}function j(e){let t=(e-m)/(g-m);return"vertical"===b&&(t=1-t),String(100*t)+"%"}function L(e){const t=j(e),n=j(g-e+m);"vertical"===b?(o.style.top=t,a.style.height=t,i.style.height=n):(o.style.left=t,a.style.width=n,i.style.width=t)}function z(e){m=e.min,g=e.max,y="number"!=typeof e.step||Number.isNaN(e.step)?1:ye(e.step,0,g-m),b="vertical"===e.orientation?"vertical":"horizontal",s=e.onchange,c=e.ondrag,"number"==typeof e.value&&(v=ye(e.value,m,g)),h=!e.relative,f=e.factor&&e.factor[0]||4,p=e.factor&&e.factor[1]||1}return{oncreate:({attrs:e,dom:l})=>{me&&!ve&&(window.addEventListener("touchmove",(function(){})),ve=!0),z(e),t=l,n=t.querySelector(".mithril-range-bar"),a=n.querySelector(".mithril-range-bar-0"),i=n.querySelector(".mithril-range-bar-1"),o=n.querySelector(".mithril-range-handle"),t.addEventListener("mousedown",k),t.addEventListener("touchstart",T),t.addEventListener("keydown",E)},onremove:function(){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),t.removeEventListener("mousedown",k),t.removeEventListener("touchstart",T),t.removeEventListener("touchmove",_),t.removeEventListener("touchend",I),t.removeEventListener("keydown",E)},view:function({attrs:t,children:n}){const a=t.nokey?" nokey":"";z(t),v=be(v,m,g,y);const i={class:"mithril-range "+a+(t.relative?" isrelative ":" ")+(0===v?"atzero":v<0?"belowzero":"overzero")+(null!=t.class?" "+t.class:""),tabIndex:"0",role:"slider","aria-valuemin":String(m),"aria-valuemax":String(g),"aria-valuenow":String(v),"aria-orientation":b};t.id&&(i.id=t.id),t.ariaLabelledby&&(i["aria-labelledby"]=t.ariaLabelledby),t.disabled&&(i.style={pointerEvents:"none"},i["aria-disabled"]="true");const o=j(v),l=j(g-v+m);let r,s,c;return"vertical"===b?(r={top:o},s={height:o},c={height:l}):(r={left:o},s={width:l},c={width:o}),e("div",i,e("div",{class:"mithril-range-bar"+a},e("div",{class:"mithril-range-bar-0"+a,style:s}),e("div",{class:"mithril-range-bar-1"+a,style:c}),e("div",{class:"mithril-range-handle"+a,style:r},n)),!!t.name&&e("input",{type:"hidden",name:t.name,value:String(v)}))}}}const xe=t=>{const n=t.value>t.curMax?Math.ceil(t.value/t.curMax):1,a=t.curMin<0&&t.value<t.curMin?Math.abs(Math.ceil(t.value/t.curMin)):1,i=Math.min(Math.max(a,n),t.maxMultiplier);t.curMultiplier!==i&&(t.curMultiplier=i,e.redraw())},Ce=e=>e.value>=e.curMax*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1?(e.curMultiplier++,!0):e.curMin<0?ke(e):void 0,ke=e=>{if(e.value<=e.curMin*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1)return e.curMultiplier++,!0},Me={oninit:({attrs:e,state:t})=>{Object.assign(t,{value:e.value||0,initial:e.value||0,curMax:e.max,curMin:e.min,curMultiplier:1,maxMultiplier:e.multiplier||1,id:"I"+Date.now()}),t.maxMultiplier>1&&(t.value>e.max?t.curMultiplier=Math.ceil(t.value/e.max):e.min<0&&t.value<e.min&&(t.curMultiplier=Math.abs(Math.ceil(t.value/e.min))))},onupdate:({attrs:t,state:n})=>{const a=t.multiplier||1,i=t.value||0;n.curMax!==t.max||n.maxMultiplier!==a?(Object.assign(n,{curMax:t.max,curMin:t.min,maxMultiplier:a,value:t.value,initial:i}),Ce(n)||(clearTimeout(n.timer),n.timer=setTimeout(xe,1e3,n)),e.redraw()):n.initial!==i&&(Object.assign(n,{value:i,initial:i}),clearTimeout(ge),ge=setTimeout((()=>e.redraw()),50))},view:({attrs:t,state:n})=>e(".range.flexcol.control.relative"+(t.multiplier>1?".withmultiplier":""),{...t.class&&{class:t.class},title:t.hint||"Click, then use arrows to finetune value if needed"},[...t.title?[e("label",{class:"rangelabel",htmlFor:n.id},t.title)]:[],e(we,{onchange:a=>{n.value=a;!Ce(n)&&n.curMultiplier>1&&(clearTimeout(n.timer),n.timer=setTimeout(xe,1e3,n)),t.onchange?t.onchange(a):e.redraw()},ondrag:e=>e!==n.value&&(n.value=e,t.ondrag&&t.ondrag(e),!0),value:n.value||0,min:(t.min||0)*n.curMultiplier,max:n.curMax*n.curMultiplier||100,step:t.step||1,relative:t.relative,factor:t.factor},[e(".currentval",t.parser?t.parser(n.value,t.step<1):n.value?t.step<1?n.value.toFixed(2):""+Math.floor(n.value):"")])])},Ae={view:({attrs:t,state:n})=>e(Me,{value:t.value||0,min:t.min||0,max:t.max||100,step:t.step||.1,class:(t.disabled?"disabled ":"")+(t.class||""),title:t.title,multiplier:t.multiplier,hint:t.hint,parser:t.parser,relative:t.relative,factor:t.factor,getLabel:e=>e?""+e:"default",ondrag:e=>(n.changed=!0,n.value=e,t.onchange&&t.onchange(e,!0),!0),onchange:e=>(t.auto0?e=0:t.autoValue&&(e=t.autoValue),n.changed=!0,n.value=e,t.onchange&&t.onchange(e,!1),!0)})},Te={setTransState:()=>{console.warn("MainState: Not Implemented setTransState")},WIDGETS:{}};function _e(e){Object.assign(Te,e)}function Ie(e){return"string"==typeof e?Te.WIDGETS[e]:e}const Ee=t((({attrs:t})=>{const{icon:n,onchange:a,icons:i,state:o}=t;return e(l,{title:"Click to select icon or emoji for this marker",class:"chequered "+(t.class||"font-200"),icon:n&&n.icon,text:n&&n.glyph,onClick:()=>Te.setTransState("emoji",a,{icons:i})})}));function Ne(e,t){m.route(document.getElementById(e),t.default||"/",t.routes)}const Se=t((({attrs:t,children:n})=>e(".buttonchoice.withicon.flexrow.scaff.scaff-b1.fadein.ohidden.fa-"+(t.icon||"gear"),{class:t.containerClass||"col-11 grows marg-1",title:t.title},e((t.themeClass?t.themeClass:".flexrow.wrap")+".grows.col-11.ohidden.scaff-left.bg-inputs",{class:t.class},n)))),je=(t,n,a,i,o,l)=>{const r=t[n];U("Choose an action for this preset",a&&l?["DELETE","RENAME","UPDATE","CANCEL"]:["DELETE","RENAME","CANCEL"]).then((o=>{0===o?(t.splice(n,1),i&&i(n),e.redraw()):1===o?setTimeout((()=>Q("Rename Preset",r.title||"","type a name for this preset",(t=>{t&&(t=t.trim())&&(r.title=t.substring(0,24),e.redraw())}))),10):a&&2===o&&a(!1,n)}))},Le=t((({attrs:t,children:n})=>{const{title:a,noUpdate:i,items:o=[],current:r,altIndex:s,onEdit:c,emptyText:u,onAdd:d,onSelect:h,onDelete:f,addText:p="Add New",unconfirm:m,buttonClass:g,themeIcon:v,themeTitle:y}=t,b=[...o.map(((t,n)=>e("button.grows.marg-1.ellipsis.ohidden.hasShift",{class:(g||"unitheightsmall scaff-b1")+(n===r?" accent":"")+(n===s?" alt-accent":""),title:a,onclick:a=>{a.metaKey&&c?c(t):d&&a.shiftKey?m?(o.splice(n,1),f&&f(n),e.redraw()):je(o,n,d,f,0,!i):h&&h(t,n,a.metaKey,a.shiftKey)}},(t.title||t.name||t.text||String(1+n)).substring(0,32)))),...!o.length&&u?[e(".grows.marg-1.ellipsis.ohidden.al-center",u)]:[],...d?[e(l,{tabIndex:-1,icon:t.icon||"plus",title:t.addTitle||"Add a new item",class:"pad-2 pad-h al-center unitheightsmall transp addbut scaff-left bg-window-lo grows"+(o.length?" some":" empty"),onClick:e=>d(e.ctrlKey||e.metaKey),text:o?.length?"":p})]:[],...!v&&t.currentWidget&&r>=0&&o[r]&&t.currentWidget(o[r],r)||[],...!v&&t.altCurrentWidget&&s>=0&&o[s]&&t.altCurrentWidget(o[s],r)||[],...n];return v?[e(Se,{title:y,containerClass:t.containerClass,themeClass:t.themeClass,icon:v},b),...t.currentWidget&&r>=0&&o[r]&&t.currentWidget(o[r],r)||[],...t.altCurrentWidget&&s>=0&&o[s]&&t.altCurrentWidget(o[s],s)||[]]:b})),ze=t((({attrs:t,children:n})=>{const{nocontainer:a,emptyText:i,title:o,addTitle:r,items:s,currentIndex:c,altIndex:u,onEdit:d,onDelta:h,onSelect:f,onAdd:p,addText:m,icon:g,buttonClass:v}=t,y=s&&s.length<=(t.max||15)||!h?e(Le,{addTitle:r,emptyText:i,title:o,items:s,current:c,altIndex:u,onSelect:f,onAdd:p,onEdit:d,addText:m,icon:g,buttonClass:v},n):[e(l,{tabIndex:-1,icon:"caret-right",class:"unitheightsmall grows marg-1 no-marg-left",onClick:()=>h(-1)}),...s?[e(".scaff.unitheightsmall.value.al-center.bg-window-lo.grows.marg-1.no-marg-left ",1+c+" / "+s.length)]:[],e(l,{tabIndex:-1,icon:"caret-left",class:"unitheightsmall grows marg-1 marg-v",onClick:()=>h(1)}),...p?[e(l,{tabIndex:-1,icon:t.icon||"plus",class:"unitheightsmall marg-1 marg-v",onClick:()=>p()})]:[]];return a?y:s.length||!p?e(".flexrow.wrap.max.minusbar",{class:(t.dynclass?t.dynclass()+" ":"")+t.class},y):[]})),De=t((({attrs:t})=>{if(!t.layer.items)return[];const{global:n,layer:a,remoteFirst:i,isCue:o}=t,{storyWrapper:l}=n,{id:r,items:s}=a,c=l.getTickerIndex(r,i),u=i?l.getTickerIndex(r,!1):void 0;return e(ze,{title:t.title,onAdd:t.onAdd,class:"marg-1 marg-h grows",items:s,currentIndex:c,altIndex:u,current:s[c]||void 0,onDelta:e=>l.tickLayer(a,e,i,o),onSelect:(e,t,n)=>l.setTickerIndex(a,t,n,i,o)})})),Oe=t((({attrs:t})=>e(r,{size:2,icon:t.icon,class:"pad-2"},[...t.texts.map((t=>e(".text",t))),...t.buttonText?[e(l,{class:"font-125 accentbutton unitheightsmall",icon:t.icon||"plus",text:t.buttonText,onClick:t.onClick})]:[],...t.buttonAlt?[e(l,{class:"font-125 accentbutton unitheightsmall",icon:t.iconAlt||"plus",text:t.buttonTextAlt,onClick:t.onClick})]:[]])));function Pe(e,t,n){return t?t[e]||n||e:n||e}const Ke={oninit:({attrs:e})=>{e.oninit&&e.oninit()},view:({attrs:t})=>e(r,{class:t.class,icon:t.icon,size:t.size||4},[...t.header?[e("h3.pad-2.marg-0",Pe(t.header,t.headers))]:[],e(".pad-2",Pe(t.message,t.messages)),...t.action?[e(l,{text:t.action.caption,class:"accentbutton marg-4 marg-v pad-2 font-150",onClick:t.action.onclick})]:[],...t.actions?t.actions.map((t=>e(l,{text:t.caption,class:"accentbutton marg-4 marg-v pad-2 font-150",onClick:t.onclick}))):[]])};let Be=!1;function Fe(){Be=!0}var Re={taint:Fe,taintRedraw:function(){const t=Be;Be=!0,t&&e.redraw()},isTainted:function(){return Be},untaint:function(){Be=!1,e.redraw()}};const Ve=-1!==navigator.userAgent.indexOf("Windows NT")?"\\":"/",$e=e=>e.join(Ve),He=(e,t)=>["file://",...e.split("\\"),...t].join("/");function Ye(e){return new Promise(((t,n)=>{const a=new FileReader;a.onload=function(e){const a=e.target.result,i=new Image;i.onerror=function(t){e.target.value="",n(t)},i.onload=function(){t(i)},i.src=a},a.readAsDataURL(e)}))}const qe=t((({attrs:t})=>e(l,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Te.setTransState("image",void 0,{giphyQuery:"frame",onOverride:n=>{const a=n?t.parse?t.parse(n):n:void 0;a&&(t.onImage(a),e.redraw())}})}))),We=t((t=>{const{attrs:n}=t;return e("button.selectfile.relative",{...n.class&&{class:n.class}},[e(i,{icon:n.icon||"upload",iconClass:n.iconClass}),...n.text?[e("span.text",{class:n.textClass},n.text)]:[],e("input",{class:"absolute w-100 h-100 ohidden",type:"file",accept:n.accept||null,title:n.title,onchange:e=>{e.target.files&&e.target.files.length&&(n.onFile(e.target.files[0]),e.target.value="")}})])})),Ge=t((({attrs:t})=>e(We,{class:t.class,accept:t.accept||"image/*",icon:t.icon||"image",iconClass:t.iconClass,textClass:t.textClass,text:t.text,onFile:e=>t.onImageFiles([{type:"image",file:e}])}))),Ue=t((({attrs:t})=>e(Ge,{class:t.class,icon:t.icon,text:t.text,accept:t.accept,iconClass:t.iconClass,textClass:t.textClass,onImageFiles:e=>{e.length&&Ye(e[0].file).then(t.onImage).catch((e=>{t.onError&&t.onError(e)}))}}))),Xe=t((({attrs:t})=>e(Ge,{class:t.class,icon:t.icon,text:t.text,accept:t.accept,iconClass:t.iconClass,textClass:t.textClass,onImageFiles:e=>{var n;e.length&&(n=e[0].file,new Promise(((e,t)=>{const a=new FileReader;a.onload=function(a){const i=a.target.result;i?e({name:n.name,url:i}):t(new Error("no data"))},a.readAsDataURL(n)}))).then(t.onImageUrl).catch((e=>{t.onError&&t.onError(e)}))}}))),Ze=t((({attrs:t})=>{const{fontFamily:n,state:a,onchange:i}=t;return e(".flexrow.grows.fontgroup",{class:t.class},[...n&&!t.nodelete?[e(l,{class:"scaff-right unitsize",icon:"trash",onClick:()=>{i(void 0),Te.setTransState()}})]:[],e(l,{class:"grows transp font-125 ohidden",text:n||"default",icon:"font",onClick:()=>Te.setTransState("fontsel",(e=>{i(e),Te.setTransState()}))})])})),Je={},Qe=p((({attrs:t})=>{const n=t.default||[0,0],a=t.value&&Array.isArray(t.value)?t.value:n,i=!!t.float,o=t.min,l=t.max;return e(".flexrow.vector-container.w-100",{class:t.class,title:t.title,...t.title&&{"aria-label":t.title,title:t.title}},a.map(((r,s)=>e(C,{containerClass:"grows",class:t.numbersClass||"",value:String(i?parseFloat(r)||0:parseInt(r,10)||0),...Array.isArray(t.labels)&&{label:t.labels[s]||""},type:"text",hint:"0",subtype:"number",fixed:t.fixed,...t.draginc&&{staticField:!0,draginc:t.draginc},final:!!t.final,onchange:e=>{let i=!!t.float?parseFloat(e):parseInt(e,10);isNaN(i)?i=n[s]||0:(void 0!==o&&i<o&&(i=o),void 0!==l&&i>l&&(i=l)),e[s]=i,t.onchange(a)}}))))})),et="needsUpdate",tt="_rebuild_children",nt=t((({children:e})=>[e])),at=t((({attrs:t})=>e(l,{text:t.text,icon:t.icon,title:t.hint,iconClass:t.iconClass,class:(t.checked?t.inverted?"":"accent ":t.inverted?"accent ":"")+(t.class||"")+(t.noclass||" tgbutton"),onClick:()=>t.onchange(!t.checked)}))),it=t((({attrs:t})=>e(Ae,{min:0,max:t.max||1,step:.1,...t.mul&&{multiplier:t.mul},class:"tgrange grows innerlabel",title:t.text,value:t.value??0,hint:t.hint,onchange:e=>t.onchange(e),parser:e=>e||"OFF"}))),ot=t((({attrs:t,children:n})=>e(".flexrow.wrap",{class:t.class},t.source?Object.keys(t.source).map((n=>e(Ie(t.widget)||at,{text:n,icon:t.icon,checked:!!t.source[n],hint:t.hint,value:t.source[n],class:t.buttonClass,max:t.max,mul:t.mul,onchange:e=>{t.source[n]=e>=0?e:!!e,t.onchange(n)}}))).concat(n):[]))),lt=t((({attrs:t,state:n,children:a})=>[...t.keys.length>1?[e(".flexrow.wrap",{class:t.class},t.source?t.keys.map((a=>e(at,{text:a,checked:n.current===a,class:t.selectorButtonClass||"transp",hint:t.hint,onchange:()=>{n.current=a,e.redraw()}}))):[])]:[],...n.current?[e(ot,{class:t.class,source:t.source[n.current],icon:t.icon,buttonClass:t.buttonClass,onchange:t.onchange,hint:t.hint,widget:t.nocustom!==n.current?Ie(t.widget):void 0,max:t.max,mul:t.mul},a)]:[]]),(({attrs:e,state:t})=>{t.current=e.keys[0]})),rt=t((({attrs:t,children:n})=>{const a=t.source&&Array.isArray(t.source),i=a?t.source.map(((e,t)=>t)):t.keys||t.source&&Object.keys(t.source),o=()=>i&&i.length||t.add?[...t.cardie||t.noseparator?[]:[e(g,{class:t.separatorClass,text:t.caption})],e(".flexrow.wrap",{class:t.class},(t.source?i.map((n=>e(Ie(t.widget.name),{keyName:n,class:t.widgetClass,...("function"==typeof t.widget.attrs?t.widget.attrs(t,n):t.widget.attrs)||{},value:t.source[n],parameters:t.targetParameters,onchange:(e,i)=>{!e&&t.add&&i.shiftKey?a?t.source.splice(n,1):delete t.source[n]:t.source[n]=e,t.onchange(n)}}))):[]).concat(t.add&&!t.keys?[e(l,{icon:"plus",class:t.addButtonClass||"marg-1 transp leftbutton grows unitsizesmall",text:`add ${t.add}`,onClick:()=>{Q(`Enter new ${t.add} name`,"",`type ${t.add} name`,(n=>{n&&(n=F(n).toLowerCase()),n&&(a?t.source.push(""):t.source[n]||(t.source[n]="",e.redraw()))}))}})]:[]).concat(n))]:t.empty?e(r,t.empty):[];return t.cardie?e(f,{nofold:!1,size:1,cols:!1,title:t.caption,cardid:t.cardie,class:"relative grows"+(t.cardieClass?" "+t.cardieClass:""),expandedView:o}):o()})),st=t((({attrs:t})=>e(l,{text:t.states[Number.parseInt(t.checked,10)||0]||"---",icon:t.icon,hint:t.hint,class:"tgbutton "+(t.checked?t.inverted?"":"accent ":t.inverted?"accent ":"")+(t.class||""),onClick:()=>{let e=Number.parseInt(t.checked,10)||0;e++,e%=t.states.length,t.onchange(e)}}))),ct=t((({attrs:t,state:n})=>{const a=t.template.presets.concat(n.files||[]);return e(".templatepresets.flexrow.wrap",{class:t.class},a.length?a.map((n=>e(t.template.render,{item:n,title:"Apply "+t.template.name+" to "+t.type,onClick:()=>t.onClick(n),layer:t.layer}))):t.template.empty?e(k,t.template.empty):e(".emptybox","No presets available"))}),(({attrs:t,state:n})=>{t.template.files&&t.entity&&t.template.files(t.entity).then((t=>{n.files=t,e.redraw()})).catch((()=>{}))})),ut=(e,t={},n,a="metaField")=>(e[a]&&n?t[n[e[a]]]:t)||{},dt=(e,t,n)=>({...ut(t,t.items,n),...t.dynamicItems&&e.itemsDict&&ut(t,e.itemsDict[t.dynamicItems],n,"dynamicMetaField")||{}}),ht=t((({attrs:t,state:n,children:a})=>{let o=0;const{meta:s,crit:c={},when:u={},sizes:h={},metaKeys:p=Object.keys(t.meta),parameters:m,auxParameters:y,clone:b,onchange:w,itemClass:x,wrapper:M,onAction:A,empty:T,initializeTargets:I,name:E}=t,N=p.map((a=>{const r=s[a];m&&r.target&&void 0===m[r.target]&&"object"==typeof I&&(m[r.target]=structuredClone(I));const p=r.when||(u?u[a]:void 0),E="object"==typeof r&&!r.length,N=E&&(r.auxTarget&&!r.target||t.auxTargetIsDefault)?y:m,S=E&&(r.target||r.forTarget)?N[r.target||N.forTarget]:N;if(!m||p&&!((e,t,n,a)=>"function"==typeof e?e(t,n):"string"==typeof e?!!a[e]:e.key?e.value?e.not?a[e.key]!==e.value:a[e.key]==e.value:Array.isArray(e.values)?e.not?-1===e.values.indexOf(a[e.key]):-1!==e.values.indexOf(a[e.key]):e.not?!a[e.key]:!!a[e.key]:!!e.containsKey&&"object"==typeof a&&a.hasOwnProperty(e.containsKey))(p,m,y,S))return[];const j=E&&r.widget,L=!!E&&(r.update||c[a]),z=E&&r.key||a,D=E&&"group"===r.type,O=E&&"groupArray"===r.type,P="string"==typeof r||E&&"text"===r.type,K=E&&"json"===r.type,B="boolean"==typeof r||E&&"boolean"===r.type,F=E&&"vector"===r.type,R=E&&"number"===r.type,V=E&&!Number.isNaN(r.min),$=E&&"action"===r.type,H=E&&(r.choices||r.choose||r.chooseKey),Y=E&&"keytoggle"===r.type,q=E&&"iterakey"===r.type,W=E&&(r.options||r.optionsKey),U=E&&r.items,Q=E&&"color"===r.type,ee=E&&"plusminus"===r.type,te=E&&"separator"===r.type,ne=E&&("static"===r.type||"dragTarget"===r.type),ae=E&&"emoji"===r.type,ie=E&&"font"===r.type,le=E&&"notice"===r.type,re=E&&"asset"===r.type,se=te?"col-12":"col-"+(r.size||h[a]||4);if(!S)return[];const ce=E&&r.altMeta&&s[r.altMeta],de=r.idx,he=de>=0,pe=E&&r.get?r.get(S,y,m):he?S[z]?S[z][de]:0:S[z],me=ce&&r.altMeta,ge=ce&&ce.key,ve=E&&r.set?e=>r.set(S,e&&b&&"object"==typeof e?Z(e):e,y,m,de):(e,t,n)=>{const a=n||z,i=he?de:n||z;let o=he?S[a]:S;return de>=0&&!o&&(S[a]=o=r.defaultValue?Z(r.defaultValue):[0,0,0]),o[i]=e&&b&&"object"==typeof e?Z(e):e},ye=t.onbeforechange?(e,n,i,o)=>!!t.onbeforechange(i||a,e,o||r)&&(ve(e,void 0,i),!0):ve;return o++,e(".grows.flexrow."+se,{class:"mk_"+a+(E&&r.type?" ptype_"+r.type:"")+(P?"witharia":"")+(r.itemClass||x?" "+(r.itemClass||x):""),"aria-label":a},O?Array.isArray(pe)?pe.map(((n,i)=>r.small?e(ht,{meta:dt(t,r,n),crit:{},when:{},sizes:{},parameters:n,auxParameters:y,arrayInfo:{source:pe,item:n,index:i},clone:b,onchange:w,itemClass:x,wrapper:M,empty:T,itemsDict:t.itemsDict,layer:t.layer,onAction:t.onAction,optionsDict:t.optionsDict,play:t.play,auxTargetIsDefault:!1,AssetButton:t.AssetButton,CodeMirror:t.CodeMirror,initializeTargets:t.initializeTargets}):e(f,{class:"relative grows "+(r.class||"pad-h emby w-max")+(r.dynClass?" "+r.dynClass(m,y,i):""),title:r.titleField?n[r.titleField]||r.title:r.dynTitle?r.dynTitle(m,y,i):r.title+" "+(i+1)+(n.title?" - "+n.title:""),cardid:r.cardid+"-"+i,nofold:!1,size:r.margin||0,expandedView:()=>[e(ht,{meta:dt(t,r,n),crit:{},when:{},sizes:{},parameters:n,auxParameters:y,clone:b,onchange:w,itemClass:x,wrapper:M,empty:T,itemsDict:t.itemsDict,layer:t.layer,onAction:t.onAction,optionsDict:t.optionsDict,play:t.play,auxTargetIsDefault:!1,AssetButton:t.AssetButton,CodeMirror:t.CodeMirror,initializeTargets:t.initializeTargets})],titleExpanded:r.titleExpanded||r.hint,titleCollapsed:r.titleCollapsed||r.hint,...r.itemAction&&A&&{action:{...r.itemAction,onClick:e=>{const t=()=>A(a,e,n,pe,r.itemAction);r.itemAction.confirm?G(r.itemAction.confirm,t):t()}}},...r.itemCollapsedAction&&A&&{collapsedAction:{...r.itemCollapsedAction,onClick:e=>{const t=()=>A(a,e,n,pe,r.itemCollapsedAction);r.itemCollapsedAction.confirm?G(r.itemCollapsedAction.confirm,t):t()}}}}))).concat(r.addAction?[e(l,{...r.addAction,onClick:t=>{if(r.addAction.onClick)r.addAction.onClick(t,m,y);else if(r.addAction.template)pe.push(Z(r.addAction.template));else{(()=>A(a,t,null,pe,r.addAction))()}e.redraw()}})]:[]):[]:D?[e(f,{class:"relative grows "+(r.class||"emby w-max")+(r.dynClass?" "+r.dynClass(m,y):""),title:r.dynTitle?r.dynTitle(m,y):r.title,cardid:r.cardid,nofold:!1,size:r.margin||0,expandedView:()=>[e(ht,{meta:dt(t,r,S),crit:{},when:{},sizes:{},parameters:m,auxParameters:y,clone:b,onchange:w,itemClass:x,wrapper:M,empty:T,itemsDict:t.itemsDict,layer:t.layer,onAction:t.onAction,optionsDict:t.optionsDict,play:t.play,auxTargetIsDefault:t.auxTargetIsDefault,AssetButton:t.AssetButton,CodeMirror:t.CodeMirror,initializeTargets:t.initializeTargets}),...r.addAction?[e(l,{...r.addAction,onClick:t=>{r.addAction.onClick(t,m,y),e.redraw()}})]:[]],titleExpanded:r.titleExpanded||r.hint,titleCollapsed:r.titleCollapsed||r.hint,...r.titleAction&&A&&{action:{...r.titleAction,onClick:e=>{const t=()=>A(a,e,S,null,r.titleAction);r.titleAction.confirm?G(r.titleAction.confirm,t):t()}}},...r.titleCollapsedAction&&A&&{collapsedAction:{...r.titleCollapsedAction,onClick:e=>{const t=()=>A(a,e,S,null,r.titleCollapsedAction);r.titleCollapsedAction.confirm?G(r.titleCollapsedAction.confirm,t):t()}}}})]:te?[e(g,{class:r.class||"mini",text:"string"==typeof r.title?r.title:r.label||a})]:ne?[e(".textwrapper.flexcol.grows",{...r.label&&{"aria-label":r.label,class:"witharia"}},e(".textcontainer.flexrow",[...r.icon?[e(i,{icon:r.icon,class:r.iconClass})]:[],e(".innertext",{class:r.class,title:r.hint,..."dragTarget"===r.type&&{ondragover:e=>{Array.from(e.dataTransfer?.types||[]).includes("application/x-nebular-world-asset+json")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")},ondrop:e=>{const t=e.dataTransfer?.getData("application/x-nebular-world-asset+json");if(t)try{const n=JSON.parse(t),i=(r.accepts||[]).map((e=>e.replace(/^\./,"").toLowerCase()));if(1!==n.version||"asset"!==n.kind||"string"!=typeof n.path||"string"!=typeof n.type||i.length&&!i.includes(n.type.toLowerCase()))return;e.preventDefault(),e.stopPropagation(),ye(n.path),w(L,S,a,void 0,r)}catch{}}}},pe)]))]:j?[e(Ie(r.widget),"function"==typeof r.attrs?r.attrs(pe,n,((e,t)=>w(e||L,t?m:S,a,void 0,r)),null,t,S):r.attrs,r.children?r.children(pe,n,((e,t)=>{w(e||L,t?m:S,a,void 0,r)}),null,t,S):[])]:ee?[e(fe,{max:r.max,min:r.min,title:r.title,label:r.label,value:pe,onchange:e=>{ye(e),w(L,S,a,void 0,r)}})]:P||K&&!t.CodeMirror?[e(C,{containerClass:"grows",class:r.inputClass,value:pe,label:r.label,hint:E?r.hint:r,title:r.title,maxlength:E&&r.maxlength||256,final:!!t.final,nodelete:!!r.readonly,readonly:!!r.readonly,multi:K||r.multi,alwaysmulti:K||r.alwaysmulti,onchange:e=>{ye(e),w(L,S,a,void 0,r)}})]:K?[e(nt,[e(t.CodeMirror,{key:m.id,doc:pe,schema:r.schema,templates:r.templates,hint:r.dynamicHint?r.dynamicHint(S):r.hint,empty:r.empty,onSave:e=>{null!==e&&(ye(e||""),w(L,S,a,void 0,r),e||d.add(r.hint+" cleared"))}})])]:R?[e(C,{containerClass:"grows",class:r.inputClass,value:r.step>0&&r.step<1||r.float?void 0!==pe?(parseFloat(pe)||0).toFixed(3):"":pe,type:"text",label:r.label,hint:E?r.hint:r,title:r.title,subtype:"number",fixed:r.fixed,nodelete:!!r.nodelete,...r.draginc&&{staticField:!0,draginc:r.draginc},final:!!r.final,onchange:e=>{let t=r.step>0&&r.step<1||r.float,{min:n,max:i}=r;if(void 0===e)ye(void 0);else{let a=t?parseFloat(e):parseInt(e,10);isNaN(a)?a=void 0:(a<n&&(a=n),a>i&&(a=i)),ye(a)}w(L,S,a,void 0,r)}})]:F?[e(Qe,{...r,onchange:e=>{ye(e),w(L,S,a,void 0,r)}})]:le?[e(k,r)]:re?t.AssetButton?[e(t.AssetButton,{value:pe,confirm:r.confirm,class:"grows "+(r.containerClass||"scaff scaff-b1"),buttonClass:r.buttonClass||"unitheight scaff-left",readonly:r.readonly,closeClass:r.closeClass,textClass:r.textClass||"",iconClass:r.iconClass||"",field:r.field,types:r.types,subtype:r.subtype,file:r.file,pack:r.pack,shiftUpdate:r.shiftUpdate,shiftIcon:r.shiftIcon,removeIcon:r.removeIcon,emptyValue:r.emptyText||"off",emptyText:r.emptyText||"off",emptyIcon:r.emptyIcon||r.icon,icon:r.icon,title:r.title,titleCollapsed:r.titleCollapsed,titleClass:"pad-2 pad-v no-pad-bottom",parameters:m,auxParameters:y,onchange:(e,n)=>{n&&n.shiftKey&&t.onShiftPress?t.onShiftPress(a,S,e):(void 0===e&&(e=r.nullValue||void 0),ye(e),w(L,S,a,void 0,r))}})]:[e(l,{icon:r.icon,title:r.title,class:"unitheight",text:"No Asset Module"})]:ae?[e(Ee,{class:"grows "+(r.class||"scaff scaff-b1 unitheight font-200"),icon:{glyph:pe},icons:!1,onchange:e=>{ye(e),w(L,S,a,void 0,r)}})]:ie?[e(Ze,{class:"grows "+(r.class||"scaff-right unitheight"),fontFamily:pe,nodelete:r.nodelete,onchange:e=>{if(r.nodelete&&!e)return;ye(e);const t=r.target||r.forTarget?m[r.target||r.forTarget]:m;w(e?L:"delete",t,a,!e,r)}})]:Q?[e(".colorwrapper.flexcol.grows",{...r.label&&{"aria-label":r.label,class:"witharia"}},e(ue,{class:"grows "+(r.class||"unitheight")+(ge?" withalt":""),color:pe,caption:r.caption,noalpha:r.noalpha,remove:r.remove,onchange:(e,t)=>{let n=e;if(n)if(r.hsl){const e=t.hsl();n=[e.hue(),e.saturation(),e.lightness()]}else r.rgba&&(n=[t.r(),t.g(),t.b(),r.noalpha?1:t.a()]);ye(n),w(L,S,a,void 0,r)},...ge&&{style:{"--data-altval":((S[ge]??ce.min)-ce.min)/(ce.max-ce.min)*100+"%"}}},ce?[e(Ae,{auto0:ce.auto0,min:ce.min,max:ce.max,step:ce.step||.1,...ce.mul&&{multiplier:ce.mul},class:"col-11 grows innerlabel order-first",title:ce.title,value:S[ge]??ce.min,onchange:e=>{ye(e,void 0,ge,ce),w(c[me],S,me,void 0,r)}})]:void 0))]:B?[e(E&&r.toggle?r.states?st:at:X,{class:"grows "+(r.class||"unitheight"),text:E?r.title||r.label:a,icon:E?r.icon:void 0,noclass:r.noclass,subline:r.subline,checked:pe,title:r.hint,hint:r.hint,inverted:E&&r.inverted,states:r.states,iconClass:r.iconClass,onchange:e=>{ye(r.states?e:!!e),w(L,S,a,void 0,r)}})]:$?[e(l,{class:"grows "+(r.class||"accentbutton unitheightsmall"),text:""===r.label?null:r.parse?r.parse(S,y):r.label||r.text||a,icon:r.icon,title:r.title||r.hint,onClick:e=>{if(r.popup)J(r.popup,(n=>{const i=()=>{n.onClick?n.onClick(a,e,S,y,n,t):t.onAction&&t.onAction(a,e,N,t.arrayInfo,n)};n.confirm?G(n.confirm,i):i()}),{field:"label"});else{const n=()=>{r.onClick?r.onClick(a,e,S,y,r,t):t.onAction&&t.onAction(a,e,N,t.arrayInfo,r)};r.confirm?G(r.confirm,n):n()}}})]:Y?[e(r.keys?lt:ot,{class:"col-12 "+(r.toggle?"istoggler":""),icon:r.icon,buttonClass:r.buttonClass,selectorClass:r.selectorClass||"grows",selectorButtonClass:r.selectorButtonClass,keys:r.keys,hint:r.hint,nocustom:r.nocustom,source:pe,onchange:()=>w(L,S,a,void 0,r),...r.customWidget||{}})]:q?[e(rt,{class:"col-12"+(r.class?" "+r.class:""),buttonClass:r.widgetClass,cardie:r.cardie,cardieClass:r.cardieClass,addButtonClass:r.addButtonClass,caption:r.caption,separatorClass:r.separatorClass,noseparator:r.noseparator,source:pe,onchange:()=>w(L,S,a,void 0,r),widget:r.keyWidget,keys:r.keys,add:r.add,targetParameters:S,auxParameters:y,empty:r.empty})]:H?[e(v,{class:"col-12 "+(r.toggle?"istoggler":""),subclass:r.class,buttonClass:r.buttonClass,choices:r.choices,choose:r.choose,chooseKey:r.chooseKey,chooseDict:t.chooseDict,label:r.label,field:r.field,icon:r.icon,value:pe,title:r.title,onchange:e=>{let{value:t}=e;t||t>=0?(r.toggle&&t===pe&&(t=!t),ye(t),w(L,S,a,void 0,r)):(ye(void 0),w(L,S,a,void 0,r)),Fe()}})]:W?[e(oe,{class:r.containerClass||"scaff scaff-b1",buttonClass:r.class||"unitheightsmall scaff-left",closeClass:r.buttonClass||void 0,textClass:r.textClass||"",locked:r.locked,value:pe,field:r.field,fieldTitle:r.fieldTitle,emptyText:r.emptyText||"off",emptyIcon:r.emptyIcon||r.icon,confirm:r.confirm,icon:r.icon||t.icon,hint:r.hint,label:r.label,title:r.question,itemsKey:"function"==typeof r.optionsKey?()=>r.optionsKey(S):r.optionsKey,items:r.options||t.optionsDict,removeIcon:r.removeIcon,nodelete:r.nodelete,item:m,onchange:(e,t)=>{t?.shiftKey?r.shiftPress&&r.shiftPress(S,y):("string"==typeof e&&(e=e.trim()),e?(ye(r.values?r.values[e]:e,r.clone),w(L,S,a,!1,r)):(ye(r.nullValue||void 0),w(L,S,a,!0,r)),Fe())}})]:U?[e(_,{class:"grows scaff scaff-b1 "+(r.class||"unitheight"),value:pe,emptyText:r.emptyText||"off",icon:r.icon,title:r.title,items:dt(t,r.items,S),textClass:r.textClass||"",onchange:e=>{"string"==typeof e&&(e=e.trim()),e?(ye(e),w(L,S,a,void 0,r)):(ye(void 0),w(L,S,a,void 0,r)),Fe()}})]:V?[e(Ae,{auto0:r.auto0,relative:!r.auto0&&!r.absolute,factor:r.factor,min:r.min,max:r.max,step:r.step||.1,...r.mul?{multiplier:r.mul}:{},class:"col-11 grows innerlabel",title:r.label||r.title||(-1===a.indexOf("-")?a:a.substring(a.lastIndexOf("-")+1)),hint:r.hint,value:parseFloat(pe)??r??r.min,parser:r.parser,field:r.field,onchange:e=>{ye(e),w(L,S,a,void 0,r)}})]:[e(Ae,{min:r[0],max:r[1],step:r[2]||.1,...r[3]?{multiplier:r[3]}:{},class:"col-11 grows innerlabel",title:r[4]||(-1===a.indexOf("-")?a:a.substring(a.lastIndexOf("-")+1)),value:parseFloat(pe)||r[0],onchange:e=>{ye(e),w(L,S,a,void 0,r)}})])}));return o||a.length?M?M(N.concat(a)):N.concat(a):T&&!a.length?e(r,T):[]})),ft=t((({attrs:t,children:n})=>{const{busy:a,parameters:i,auxParameters:o,cardid:l,size:s,index:c,titleWidget:u,parametersTitle:d,parametersBody:h,rootUpdate:p,layer:m,tableChildren:g,cols:v,onLayerReset:y,onAction:b,nofold:w,bodyClass:x,titleAction:C,AssetButton:k,CodeMirror:M,optionsDict:A}=t;return e(f,{busy:a,nofold:w,size:s,cols:v,title:h.titleCollapsed||h.title,titleCollapsed:h.titleCollapsed||h.title,titleExpanded:h.titleExpanded||h.title,action:C,expandedClass:t.expandedClass,onShiftOpen:()=>{},titleWidget:u||ht,titleAttrs:{...d,onShiftPress:t.onShiftPress,confirm:t.confirmTitle,itemClass:"",parameters:i,auxParameters:o,clone:!0,layer:m,AssetButton:k,CodeMirror:M,optionsDict:A,initializeTargets:t.initializeTargets,onAction:b,onchange:(n,a,l,r,s)=>{Fe();const c=s.rootUpdate||p;if(s?.onchange)s.onchange(n,a,i);else if(n){if("none"===c)return;"both"===c&&o?a[et]=o[et]=n:"parent"===c&&o?(a[et]=n,o[et]=!0):"target"===c&&a!==i?(a[et]=n,i[et]=!0):2===c?i[et]=n:1===c?a&&(a[et]=n):"string"==typeof c&&"both"!==c&&"parent"!==c&&"target"!==c?i[c]?(i[c][et]=n,i[et]=!0):i[et]=tt:-1!==c&&a&&(a[et]=n)}else y&&y();t.onTitleChange&&t.onTitleChange(n,a,l,r),e.redraw()}},cardid:l,class:"withbottommargin relative"+(t.class?" "+t.class:""),bodyClass:x,expandedView:()=>[...h.meta?[e(ht,{...h,confirm:t.confirmBody,itemClass:"pad-1",parameters:i,auxParameters:o,clone:!0,layer:m,index:c,play:t.play,itemsDict:t.itemsDict,initializeTargets:t.initializeTargets,optionsDict:A,AssetButton:k,CodeMirror:M,onAction:b,onchange:(n,a,l,r,s,c)=>{const u=s.rootUpdate||p;if(Fe(),s?.onchange)s.onchange(n,a,i);else if(n){if("none"===u)return;"both"===u&&o?a[et]=o[et]=n:"parent"===u&&o?(a[et]=n,o[et]=!0):"target"===u&&a!==i?(a[et]=n,i[et]=!0):2===u?i[et]=n:1===u?a&&(a[et]=n):"string"==typeof u&&"both"!==u&&"parent"!==u&&"target"!==u?i[u]?(i[u][et]=n,i[et]=!0):i[et]=tt:-1!==u&&a&&(a[et]=n)}else y&&y();t.onChange&&t.onChange(n,l,a,o,r,s,c,t),e.redraw()}},g)]:h.emptyMeta?[e(r,h.emptyMeta)]:[],...n||[]],collapsedView:t.collapsedView})})),pt=t((({attrs:t,state:n,children:a})=>{const{layer:i,property:o,colorProperty:r}=t,s=Je[o],c=i[o],u=null!=c,d=u&&"object"==typeof c&&null!==c,h=d&&c,f=h&&h.exp,[,p]=f||[],m=h&&p&&Object.keys(p),g=d&&c?c.title:c,v=m&&m.length,y=t.size&&d;return e("li.coord.witharia.relative.templatedinput",{"aria-label":t["aria-label"],class:(n.chooser&&s?t.chooserClass:t.containerClass)||"col-12"},[...t.docs?[e("a.extlink.absolute.to-right.to-top.font-75.pad-2.pointer",{target:"tool",onclick:()=>{NIPX.sys.open(t.docs.url)}},t.docs.caption||"docs")]:[],t.chooser?[e(".flexrow.grows.fontgroup",[e(l,{class:"grows unitheightsmall rectbutton ohidden",text:g||"--- NONE ---",icon:t.icon,onClick:t=>{!n.chooser&&t.shiftKey&&s.images?Te.setTransState("image",void 0,{giphyQuery:"frame",onOverride:t=>{const n=t&&s.images(t);n&&(i[o]=Z(n),Fe(),e.redraw())}}):(n.chooser=!n.chooser,e.redraw())}}),...i[o]?[e(l,{class:"clearfont unitheightsmall bg-accent",text:"X",onClick:()=>{delete i[o],Fe(),e.redraw()}})]:s.images&&!g?[e(l,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Te.setTransState("image",void 0,{giphyQuery:"frame",onOverride:t=>{const n=t&&s.images(t);n&&(i[o]=Z(n),Fe(),e.redraw())}})})]:[]])]:[e(C,{class:"withicon-2"+(u?" has":"")+(t.class?" "+t.class:""),value:i[o]||"",hint:t.hint,title:t.title,maxlength:t.maxlength||2048,multi:t.multi,actions:[{icon:"plus",onClick:()=>{n.chooser=!n.chooser,e.redraw()}}],onchange:t=>{t=t.split("\n").join(" ").trim(),i[o]=t,Fe(),e.redraw()}})],...v||y?[e(".flexrow.wrap.paramgroup",[...v?[e(ht,{meta:p,metaKeys:m,parameters:h,onchange:()=>{delete c.calc,Fe(),e.redraw()},AssetButton:t.AssetButton,CodeMirror:t.CodeMirror})]:[],...y?[e(".flexbreak"),e(Ae,{class:"col-6 grows innerlabel",title:"size x",min:0,max:100,step:.1,relative:!0,value:parseFloat(c.w)||0,onchange:t=>{c.w=t,Fe(),e.redraw()}}),e(Ae,{class:"col-6 grows innerlabel",title:"size y",min:0,max:100,step:.1,relative:!0,value:parseFloat(c.h)||0,onchange:t=>{c.h=t,Fe(),e.redraw()}})]:[]])]:[],...n.chooser&&s?[e(ct,{entity:t.entity,template:s,type:i.type,layer:i,onClick:t=>{n.chooser=!1,i[o]="object"==typeof t.value?Z(t.value):t.value,t.color&&r&&(i[r]=t.color),Fe(),e.redraw()}})]:[],...u?a:[]])}));export{o as Button,v as ButtonChoiceWidget,y as ButtonMultipleChoiceWidget,l as ButtonNew,f as CardieWidget,he as ColorJoePack,ue as ColorJoeWidget,oe as ComboPrompt,_ as ComboWidget,H as ConfirmPromise,De as CoolContentTicker,ze as CoolGenericTicker,Ke as CoolerEmpty,r as Empty,Oe as EmptyButton,We as FileSelectButton,Le as GenericButtonTicker,i as Icon,Xe as ImageDataButton,Ue as ImageProcessButton,Ge as ImageSelectButton,C as InputWidget,W as JSONWidget,Te as MainState,_e as MainStateImplement,qe as MediaSelectButton,ot as MultiToggleWidget,k as NoticeWidget,d as Notification,Y as OverflowMenu,ie as OverflowUtils,ft as ParameterCardie,ht as ParameterTable,fe as PlusMinus,it as RangeToggleWidget,Ae as RangeWidget,c as Selector,g as Separator,Ee as SmileysButton,X as SwitchWidget,pt as TemplatedInputWidget,Se as ThematicWrapper,pe as TitleBarWidget,R as Tokenizer,S as clearModal,Z as clone,G as confirm,U as confirmPromise,p as defineWidget,$e as makeLocalPath,He as makeLocalUrl,je as optionsPrompt,$ as packClass,V as packClassString,N as popupMessage,Ye as processImage,Ne as startApp,Re as tainter};
|
|
3
|
+
https://bebraw.github.com/colorjoe - 2020-01-27 */var he=n((({attrs:e})=>{const{colors:n=[],max:a=8}=e,i=n.length,o=(e=[0,0,0,0])=>"rgba("+e.map(((e,t)=>t<3?Math.floor(255*e):e)).join(",")+")",l=(e=[0,0,0,0])=>"rgba("+((e,t,n)=>{let a,i,o;if(0===t)a=i=o=n;else{const l=(e,t,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e),r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;a=l(s,r,e+1/3),i=l(s,r,e),o=l(s,r,e-1/3)}return[Math.round(255*a),Math.round(255*i),Math.round(255*o)]})(e[0],e[1],e[2]).join(",")+","+e[3]+")";return t(".flexrow.wrap.gradient.grows",{class:e.class},[...n.map(((a,i)=>t(de,{class:"grows",color:e.hsl?l(n[i]):o(n[i]),title:"Click to edit, or Shift-click to remove this color from the collection",hsl:e.hsl,onchange:(a,o)=>{let l;if(e.hsl){const e=o.hsl();l=[e.hue(),e.saturation(),e.lightness(),o.a()]}else l=[o.r(),o.g(),o.b(),o.a()];n[i]=l,e.onchange&&e.onchange(n),t.redraw()},onshiftclick:()=>{n.splice(i,1),e.onchange&&e.onchange(n),t.redraw()}}))),...i<a?[t(r,{icon:"plus",class:"unitheightsmall accent bg-window-lo "+(i?"mini":"grows"),title:"Add a new color to the collection, or SHIFT-CLICK to delete all colors",onClick:a=>{a.shiftKey?n.splice(0,n.length):n.push(fe),e.onchange&&e.onchange(n),t.redraw()}})]:[]])}));const pe=n((({attrs:e})=>t(".flexrow.wrap.grows.plusminus",{...e.label&&{"aria-label":e.label},class:(e.label?"witharia":"")+" "+(e.class||""),title:e.title||""},[t(r,{icon:e.iconMinus??"minus",class:"unitsizesmall "+(e.buttonClass||"transp"),title:e.title?"decrease the "+e.title:"",onClick:()=>{const{step:n=1,min:a=0}=e;let i=e.value||0;Number.isNaN(i)&&(i=0),i-=n,void 0!==a&&i<a&&(i=a),e.onchange(i),t.redraw()}}),t(".currentvalue.al-center.grows.unitheightsmall",{title:e.title},e.parser?e.parser(e.value):String(e.value||0)),t(r,{icon:e.iconPlus??"plus",class:"unitsizesmall "+(e.buttonClass||"transp"),title:e.title?"increase the "+e.title:"",onClick:()=>{const{step:n=1,max:a=0}=e;let i=e.value||0;void 0!==a&&i===a||(i+=n,e.onchange(i),t.redraw())}})]))),me=n((({attrs:e,dom:n})=>t("nav.titlebar.noshrink.flexrow",{class:e.class?" "+e.class:"unitheight bg-window-hi pad-2 pad-h shadow-2 font-125",...e.onTitleClick&&{onclick:e.onTitleClick}},[...e.onClick?[t(r,{icon:"arrow-left",onClick:()=>e.onClick()})]:[],...e.logo?[t("img.title-logo",{src:e.logo})]:[],...e.editable&&e.onchange?[t(k,{containerClass:"grows"+(e.onClick?"":" pad-2 pad-h"),hint:e.title,onchange:e.onchange,oninput:()=>{},value:e.value})]:[t("span.grows.ellipsis",{class:e.onClick?"":"pad-2 pad-h"},e.title)],...e.auxaction?[t(r,{icon:e.auxaction.icon,class:e.auxaction.class,title:e.auxaction.title,onClick:e.auxaction.onClick})]:[],...e.auxactions?e.auxactions.map((e=>t(r,{class:e.class,title:e.title,icon:e.icon,text:e.caption,onClick:e.onClick}))):[],...e.action?[t(r,{icon:e.action.icon,class:e.action.class,title:e.action.title,onClick:e.action.onClick})]:[],...e.overflow?[t(r,{icon:e.overflow.icon||"ellipsis-v",class:e.overflow.class||"",onClick:()=>q(n,{title:e.title},e.overflow.items).then((({action:e})=>e.onClick()))})]:[]]))),ge=!!navigator.userAgent.match(/iPhone|iPad|iPod/i);let ve,ye=!1;function be(e,t,n){return Math.min(Math.max(e,t),n)}function we(e,t,n,a){if(n-t<=0)return t;if(a<=0)return be(e,t,n);const i=Math.ceil((n-t)/a);return be(t+Math.round(i*(e-t)/(n-t))*a,t,n)}function xe(){let e,n,a,i,o,l,r,s,c,u=0,d=!1,f=!1,h=4,p=1,m=0,g=10,v=0,y=1,b="horizontal";function w(e,t){let n,a;"vertical"===b?(n=l.bottom-l.top,a=l.bottom-t):(n=l.right-l.left,a=e-l.left),a=be(a,0,n);const i=we(a/n*(g-m)+m,m,g,y);return L(i),i}function x(e,a,i){return f?function(e,a){d=r=!0,l=n.getBoundingClientRect();const i=w(e,a);i!==v&&(v=i,c&&!1!==c(v)&&t.redraw())}(e,a):function(e,t,a,i){d=!0,r=!1,l=n.getBoundingClientRect(),i||a.target.requestPointerLock()}(0,0,i)}function C(e,t,n){return r?w(e,t):function(e,t,n){const a=n.shiftKey?h:n.metaKey||n.ctrlKey?4*h:p;let i,o;i="vertical"===b?n.movementY||0:n.movementX||0;let l=y>0?y:(g-m)/100;if(i<0)o=Math.max(v+l*a*i,m);else{if(!(i>0))return v;o=Math.min(v+l*a*i,g)}return o=we(o,m,g,y),L(o),o}(0,0,n)}function k(e){2!==u&&(u=1,0===e.button&&(window.addEventListener("mousemove",M),window.addEventListener("mouseup",A),x(e.clientX,e.clientY,e)))}function M(e){e.preventDefault(),N(e.clientX,e.clientY,e)}function A(e){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),S(e.clientX,e.clientY,e)}function T(t){if(1===u)return;e.addEventListener("touchmove",_),e.addEventListener("touchend",I);const n=t.changedTouches[0];x(n.clientX,n.clientY,t)}function _(e){e.preventDefault();const t=e.changedTouches[0];N(t.clientX,t.clientY,e)}function I(t){e.removeEventListener("touchmove",_),e.removeEventListener("touchend",I);const n=t.changedTouches[0];S(n.clientX,n.clientY,n)}function E(e){const n=e.keyCode;let a;if(33===n){e.preventDefault();let t=Math.max((g-m)/10,y);t<=0&&(t=1),a=we(v+t,m,g,y)}else if(34===n){e.preventDefault();let t=Math.max((g-m)/10,y);t<=0&&(t=1),a=we(v-t,m,g,y)}else if(35===n)e.preventDefault(),a=g;else if(36===n)e.preventDefault(),a=m;else if(37===n||40===n){e.preventDefault();let t=(y>0?y:(g-m)/10)*(e.shiftKey?.25:e.ctrlKey||e.metaKey?4:1);a=Math.max(v-t,m)}else if(38===n||39===n){e.preventDefault();let t=(y>0?y:(g-m)/10)*(e.shiftKey?.25:e.ctrlKey||e.metaKey?4:1);a=Math.min(v+t,g)}else 48===n&&(a=(g+m)/2);"number"==typeof a&&a!==v&&(v=a,L(v),s&&!1!==s(v)&&t.redraw())}function N(e,n,a){if(!d)return;const i=C(e,n,a);i!==v&&(v=i,c&&!1!==c(v)&&t.redraw())}function S(e,n,a){d&&(d=!1,v=C(e,n,a),s&&!1!==s(v)&&t.redraw(),r||document.exitPointerLock(),setTimeout((function(){d||(u=0)}),350))}function j(e){let t=(e-m)/(g-m);return"vertical"===b&&(t=1-t),String(100*t)+"%"}function L(e){const t=j(e),n=j(g-e+m);"vertical"===b?(o.style.top=t,a.style.height=t,i.style.height=n):(o.style.left=t,a.style.width=n,i.style.width=t)}function z(e){m=e.min,g=e.max,y="number"!=typeof e.step||Number.isNaN(e.step)?1:be(e.step,0,g-m),b="vertical"===e.orientation?"vertical":"horizontal",s=e.onchange,c=e.ondrag,"number"==typeof e.value&&(v=be(e.value,m,g)),f=!e.relative,h=e.factor&&e.factor[0]||4,p=e.factor&&e.factor[1]||1}return{oncreate:({attrs:t,dom:l})=>{ge&&!ye&&(window.addEventListener("touchmove",(function(){})),ye=!0),z(t),e=l,n=e.querySelector(".mithril-range-bar"),a=n.querySelector(".mithril-range-bar-0"),i=n.querySelector(".mithril-range-bar-1"),o=n.querySelector(".mithril-range-handle"),e.addEventListener("mousedown",k),e.addEventListener("touchstart",T),e.addEventListener("keydown",E)},onremove:function(){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",A),e.removeEventListener("mousedown",k),e.removeEventListener("touchstart",T),e.removeEventListener("touchmove",_),e.removeEventListener("touchend",I),e.removeEventListener("keydown",E)},view:function({attrs:e,children:n}){const a=e.nokey?" nokey":"";z(e),v=we(v,m,g,y);const i={class:"mithril-range "+a+(e.relative?" isrelative ":" ")+(0===v?"atzero":v<0?"belowzero":"overzero")+(null!=e.class?" "+e.class:""),tabIndex:"0",role:"slider","aria-valuemin":String(m),"aria-valuemax":String(g),"aria-valuenow":String(v),"aria-orientation":b};e.id&&(i.id=e.id),e.ariaLabelledby&&(i["aria-labelledby"]=e.ariaLabelledby),e.disabled&&(i.style={pointerEvents:"none"},i["aria-disabled"]="true");const o=j(v),l=j(g-v+m);let r,s,c;return"vertical"===b?(r={top:o},s={height:o},c={height:l}):(r={left:o},s={width:l},c={width:o}),t("div",i,t("div",{class:"mithril-range-bar"+a},t("div",{class:"mithril-range-bar-0"+a,style:s}),t("div",{class:"mithril-range-bar-1"+a,style:c}),t("div",{class:"mithril-range-handle"+a,style:r},n)),!!e.name&&t("input",{type:"hidden",name:e.name,value:String(v)}))}}}const Ce=e=>{const n=e.value>e.curMax?Math.ceil(e.value/e.curMax):1,a=e.curMin<0&&e.value<e.curMin?Math.abs(Math.ceil(e.value/e.curMin)):1,i=Math.min(Math.max(a,n),e.maxMultiplier);e.curMultiplier!==i&&(e.curMultiplier=i,t.redraw())},ke=e=>e.value>=e.curMax*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1?(e.curMultiplier++,!0):e.curMin<0?Me(e):void 0,Me=e=>{if(e.value<=e.curMin*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1)return e.curMultiplier++,!0},Ae={oninit:({attrs:e,state:t})=>{Object.assign(t,{value:e.value||0,initial:e.value||0,curMax:e.max,curMin:e.min,curMultiplier:1,maxMultiplier:e.multiplier||1,id:"I"+Date.now()}),t.maxMultiplier>1&&(t.value>e.max?t.curMultiplier=Math.ceil(t.value/e.max):e.min<0&&t.value<e.min&&(t.curMultiplier=Math.abs(Math.ceil(t.value/e.min))))},onupdate:({attrs:e,state:n})=>{const a=e.multiplier||1,i=e.value||0;n.curMax!==e.max||n.maxMultiplier!==a?(Object.assign(n,{curMax:e.max,curMin:e.min,maxMultiplier:a,value:e.value,initial:i}),ke(n)||(clearTimeout(n.timer),n.timer=setTimeout(Ce,1e3,n)),t.redraw()):n.initial!==i&&(Object.assign(n,{value:i,initial:i}),clearTimeout(ve),ve=setTimeout((()=>t.redraw()),50))},view:({attrs:e,state:n})=>t(".range.flexcol.control.relative"+(e.multiplier>1?".withmultiplier":""),{...e.class&&{class:e.class},title:e.hint||"Click, then use arrows to finetune value if needed"},[...e.title?[t("label",{class:"rangelabel",htmlFor:n.id},e.title)]:[],t(xe,{onchange:a=>{n.value=a;!ke(n)&&n.curMultiplier>1&&(clearTimeout(n.timer),n.timer=setTimeout(Ce,1e3,n)),e.onchange?e.onchange(a):t.redraw()},ondrag:t=>t!==n.value&&(n.value=t,e.ondrag&&e.ondrag(t),!0),value:n.value||0,min:(e.min||0)*n.curMultiplier,max:n.curMax*n.curMultiplier||100,step:e.step||1,relative:e.relative,factor:e.factor},[t(".currentval",e.parser?e.parser(n.value,e.step<1):n.value?e.step<1?n.value.toFixed(2):""+Math.floor(n.value):"")])])},Te={view:({attrs:e,state:n})=>t(Ae,{value:e.value||0,min:e.min||0,max:e.max||100,step:e.step||.1,class:(e.disabled?"disabled ":"")+(e.class||""),title:e.title,multiplier:e.multiplier,hint:e.hint,parser:e.parser,relative:e.relative,factor:e.factor,getLabel:e=>e?""+e:"default",ondrag:t=>(n.changed=!0,n.value=t,e.onchange&&e.onchange(t,!0),!0),onchange:t=>(e.auto0?t=0:e.autoValue&&(t=e.autoValue),n.changed=!0,n.value=t,e.onchange&&e.onchange(t,!1),!0)})},_e={setTransState:()=>{console.warn("MainState: Not Implemented setTransState")},WIDGETS:{}};function Ie(e){Object.assign(_e,e)}function Ee(e){return"string"==typeof e?_e.WIDGETS[e]:e}const Ne=n((({attrs:e})=>{const{icon:n,onchange:a,icons:i,state:o}=e;return t(r,{title:"Click to select icon or emoji for this marker",class:"chequered "+(e.class||"font-200"),icon:n&&n.icon,text:n&&n.glyph,onClick:()=>_e.setTransState("emoji",a,{icons:i})})}));function Se(e,t){m.route(document.getElementById(e),t.default||"/",t.routes)}const je=n((({attrs:e,children:n})=>t(".buttonchoice.withicon.flexrow.scaff.scaff-b1.fadein.ohidden.fa-"+(e.icon||"gear"),{class:e.containerClass||"col-11 grows marg-1",title:e.title},t((e.themeClass?e.themeClass:".flexrow.wrap")+".grows.col-11.ohidden.scaff-left.bg-inputs",{class:e.class},n)))),Le=(e,n,a,i,o,l)=>{const r=e[n];X("Choose an action for this preset",a&&l?["DELETE","RENAME","UPDATE","CANCEL"]:["DELETE","RENAME","CANCEL"]).then((o=>{0===o?(e.splice(n,1),i&&i(n),t.redraw()):1===o?setTimeout((()=>ee("Rename Preset",r.title||"","type a name for this preset",(e=>{e&&(e=e.trim())&&(r.title=e.substring(0,24),t.redraw())}))),10):a&&2===o&&a(!1,n)}))},ze=n((({attrs:e,children:n})=>{const{title:a,noUpdate:i,items:o=[],current:l,altIndex:s,onEdit:c,emptyText:u,onAdd:d,onSelect:f,onDelete:h,addText:p="Add New",unconfirm:m,buttonClass:g,themeIcon:v,themeTitle:y}=e,b=[...o.map(((e,n)=>t("button.grows.marg-1.ellipsis.ohidden.hasShift",{class:(g||"unitheightsmall scaff-b1")+(n===l?" accent":"")+(n===s?" alt-accent":""),title:a,onclick:a=>{a.metaKey&&c?c(e):d&&a.shiftKey?m?(o.splice(n,1),h&&h(n),t.redraw()):Le(o,n,d,h,0,!i):f&&f(e,n,a.metaKey,a.shiftKey)}},(e.title||e.name||e.text||String(1+n)).substring(0,32)))),...!o.length&&u?[t(".grows.marg-1.ellipsis.ohidden.al-center",u)]:[],...d?[t(r,{tabIndex:-1,icon:e.icon||"plus",title:e.addTitle||"Add a new item",class:"pad-2 pad-h al-center unitheightsmall transp addbut scaff-left bg-window-lo grows"+(o.length?" some":" empty"),onClick:e=>d(e.ctrlKey||e.metaKey),text:o?.length?"":p})]:[],...!v&&e.currentWidget&&l>=0&&o[l]&&e.currentWidget(o[l],l)||[],...!v&&e.altCurrentWidget&&s>=0&&o[s]&&e.altCurrentWidget(o[s],l)||[],...n];return v?[t(je,{title:y,containerClass:e.containerClass,themeClass:e.themeClass,icon:v},b),...e.currentWidget&&l>=0&&o[l]&&e.currentWidget(o[l],l)||[],...e.altCurrentWidget&&s>=0&&o[s]&&e.altCurrentWidget(o[s],s)||[]]:b})),De=n((({attrs:e,children:n})=>{const{nocontainer:a,emptyText:i,title:o,addTitle:l,items:s,currentIndex:c,altIndex:u,onEdit:d,onDelta:f,onSelect:h,onAdd:p,addText:m,icon:g,buttonClass:v}=e,y=s&&s.length<=(e.max||15)||!f?t(ze,{addTitle:l,emptyText:i,title:o,items:s,current:c,altIndex:u,onSelect:h,onAdd:p,onEdit:d,addText:m,icon:g,buttonClass:v},n):[t(r,{tabIndex:-1,icon:"caret-right",class:"unitheightsmall grows marg-1 no-marg-left",onClick:()=>f(-1)}),...s?[t(".scaff.unitheightsmall.value.al-center.bg-window-lo.grows.marg-1.no-marg-left ",1+c+" / "+s.length)]:[],t(r,{tabIndex:-1,icon:"caret-left",class:"unitheightsmall grows marg-1 marg-v",onClick:()=>f(1)}),...p?[t(r,{tabIndex:-1,icon:e.icon||"plus",class:"unitheightsmall marg-1 marg-v",onClick:()=>p()})]:[]];return a?y:s.length||!p?t(".flexrow.wrap.max.minusbar",{class:(e.dynclass?e.dynclass()+" ":"")+e.class},y):[]})),Oe=n((({attrs:e})=>{if(!e.layer.items)return[];const{global:n,layer:a,remoteFirst:i,isCue:o}=e,{storyWrapper:l}=n,{id:r,items:s}=a,c=l.getTickerIndex(r,i),u=i?l.getTickerIndex(r,!1):void 0;return t(De,{title:e.title,onAdd:e.onAdd,class:"marg-1 marg-h grows",items:s,currentIndex:c,altIndex:u,current:s[c]||void 0,onDelta:e=>l.tickLayer(a,e,i,o),onSelect:(e,t,n)=>l.setTickerIndex(a,t,n,i,o)})})),Pe=n((({attrs:e})=>t(s,{size:2,icon:e.icon,class:"pad-2"},[...e.texts.map((e=>t(".text",e))),...e.buttonText?[t(r,{class:"font-125 accentbutton unitheightsmall",icon:e.icon||"plus",text:e.buttonText,onClick:e.onClick})]:[],...e.buttonAlt?[t(r,{class:"font-125 accentbutton unitheightsmall",icon:e.iconAlt||"plus",text:e.buttonTextAlt,onClick:e.onClick})]:[]])));function Ke(e,t,n){return t?t[e]||n||e:n||e}const Be={oninit:({attrs:e})=>{e.oninit&&e.oninit()},view:({attrs:e})=>t(s,{class:e.class,icon:e.icon,size:e.size||4},[...e.header?[t("h3.pad-2.marg-0",Ke(e.header,e.headers))]:[],t(".pad-2",Ke(e.message,e.messages)),...e.action?[t(r,{text:e.action.caption,class:"accentbutton marg-4 marg-v pad-2 font-150",onClick:e.action.onclick})]:[],...e.actions?e.actions.map((e=>t(r,{text:e.caption,class:"accentbutton marg-4 marg-v pad-2 font-150",onClick:e.onclick}))):[]])};let Fe=!1;function Re(){Fe=!0}var Ve={taint:Re,taintRedraw:function(){const e=Fe;Fe=!0,e&&t.redraw()},isTainted:function(){return Fe},untaint:function(){Fe=!1,t.redraw()}};const $e=-1!==navigator.userAgent.indexOf("Windows NT")?"\\":"/",He=e=>e.join($e),Ye=(e,t)=>["file://",...e.split("\\"),...t].join("/");function qe(e){return new Promise(((t,n)=>{const a=new FileReader;a.onload=function(e){const a=e.target.result,i=new Image;i.onerror=function(t){e.target.value="",n(t)},i.onload=function(){t(i)},i.src=a},a.readAsDataURL(e)}))}const We=n((({attrs:e})=>t(r,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>_e.setTransState("image",void 0,{giphyQuery:"frame",onOverride:n=>{const a=n?e.parse?e.parse(n):n:void 0;a&&(e.onImage(a),t.redraw())}})}))),Ge=n((e=>{const{attrs:n}=e;return t("button.selectfile.relative",{...n.class&&{class:n.class}},[t(o,{icon:n.icon||"upload",iconClass:n.iconClass}),...n.text?[t("span.text",{class:n.textClass},n.text)]:[],t("input",{class:"absolute w-100 h-100 ohidden",type:"file",accept:n.accept||null,title:n.title,onchange:e=>{e.target.files&&e.target.files.length&&(n.onFile(e.target.files[0]),e.target.value="")}})])})),Ue=n((({attrs:e})=>t(Ge,{class:e.class,accept:e.accept||"image/*",icon:e.icon||"image",iconClass:e.iconClass,textClass:e.textClass,text:e.text,onFile:t=>e.onImageFiles([{type:"image",file:t}])}))),Xe=n((({attrs:e})=>t(Ue,{class:e.class,icon:e.icon,text:e.text,accept:e.accept,iconClass:e.iconClass,textClass:e.textClass,onImageFiles:t=>{t.length&&qe(t[0].file).then(e.onImage).catch((t=>{e.onError&&e.onError(t)}))}}))),Ze=n((({attrs:e})=>t(Ue,{class:e.class,icon:e.icon,text:e.text,accept:e.accept,iconClass:e.iconClass,textClass:e.textClass,onImageFiles:t=>{var n;t.length&&(n=t[0].file,new Promise(((e,t)=>{const a=new FileReader;a.onload=function(a){const i=a.target.result;i?e({name:n.name,url:i}):t(new Error("no data"))},a.readAsDataURL(n)}))).then(e.onImageUrl).catch((t=>{e.onError&&e.onError(t)}))}}))),Je=n((({attrs:e})=>{const{fontFamily:n,state:a,onchange:i}=e;return t(".flexrow.grows.fontgroup",{class:e.class},[...n&&!e.nodelete?[t(r,{class:"scaff-right unitsize",icon:"trash",onClick:()=>{i(void 0),_e.setTransState()}})]:[],t(r,{class:"grows transp font-125 ohidden",text:n||"default",icon:"font",onClick:()=>_e.setTransState("fontsel",(e=>{i(e),_e.setTransState()}))})])})),Qe={},et=g((({attrs:e})=>{const n=e.default||[0,0],a=e.value&&Array.isArray(e.value)?e.value:n,i=!!e.float,o=e.min,l=e.max;return t(".flexrow.vector-container.w-100",{class:e.class,title:e.title,...e.title&&{"aria-label":e.title,title:e.title}},a.map(((r,s)=>t(k,{containerClass:"grows",class:e.numbersClass||"",value:String(i?parseFloat(r)||0:parseInt(r,10)||0),...Array.isArray(e.labels)&&{label:e.labels[s]||""},type:"text",hint:"0",subtype:"number",fixed:e.fixed,...e.draginc&&{staticField:!0,draginc:e.draginc},final:!!e.final,onchange:t=>{let i=!!e.float?parseFloat(t):parseInt(t,10);isNaN(i)?i=n[s]||0:(void 0!==o&&i<o&&(i=o),void 0!==l&&i>l&&(i=l)),a[s]=i,e.onchange(a)}}))))})),tt="needsUpdate",nt="_rebuild_children",at=n((({children:e})=>[e])),it=n((({attrs:e})=>t(r,{text:e.text,icon:e.icon,title:e.hint,iconClass:e.iconClass,class:(e.checked?e.inverted?"":"accent ":e.inverted?"accent ":"")+(e.class||"")+(e.noclass||" tgbutton"),onClick:()=>e.onchange(!e.checked)}))),ot=n((({attrs:e})=>t(Te,{min:0,max:e.max||1,step:.1,...e.mul&&{multiplier:e.mul},class:"tgrange grows innerlabel",title:e.text,value:e.value??0,hint:e.hint,onchange:t=>e.onchange(t),parser:e=>e||"OFF"}))),lt=n((({attrs:e,children:n})=>t(".flexrow.wrap",{class:e.class},e.source?Object.keys(e.source).map((n=>t(Ee(e.widget)||it,{text:n,icon:e.icon,checked:!!e.source[n],hint:e.hint,value:e.source[n],class:e.buttonClass,max:e.max,mul:e.mul,onchange:t=>{e.source[n]=t>=0?t:!!t,e.onchange(n)}}))).concat(n):[]))),rt=n((({attrs:e,state:n,children:a})=>[...e.keys.length>1?[t(".flexrow.wrap",{class:e.class},e.source?e.keys.map((a=>t(it,{text:a,checked:n.current===a,class:e.selectorButtonClass||"transp",hint:e.hint,onchange:()=>{n.current=a,t.redraw()}}))):[])]:[],...n.current?[t(lt,{class:e.class,source:e.source[n.current],icon:e.icon,buttonClass:e.buttonClass,onchange:e.onchange,hint:e.hint,widget:e.nocustom!==n.current?Ee(e.widget):void 0,max:e.max,mul:e.mul},a)]:[]]),(({attrs:e,state:t})=>{t.current=e.keys[0]})),st=n((({attrs:e,children:n})=>{const a=e.source&&Array.isArray(e.source),i=a?e.source.map(((e,t)=>t)):e.keys||e.source&&Object.keys(e.source),o=()=>i&&i.length||e.add?[...e.cardie||e.noseparator?[]:[t(v,{class:e.separatorClass,text:e.caption})],t(".flexrow.wrap",{class:e.class},(e.source?i.map((n=>t(Ee(e.widget.name),{keyName:n,class:e.widgetClass,...("function"==typeof e.widget.attrs?e.widget.attrs(e,n):e.widget.attrs)||{},value:e.source[n],parameters:e.targetParameters,onchange:(t,i)=>{!t&&e.add&&i.shiftKey?a?e.source.splice(n,1):delete e.source[n]:e.source[n]=t,e.onchange(n)}}))):[]).concat(e.add&&!e.keys?[t(r,{icon:"plus",class:e.addButtonClass||"marg-1 transp leftbutton grows unitsizesmall",text:`add ${e.add}`,onClick:()=>{ee(`Enter new ${e.add} name`,"",`type ${e.add} name`,(n=>{n&&(n=R(n).toLowerCase()),n&&(a?e.source.push(""):e.source[n]||(e.source[n]="",t.redraw()))}))}})]:[]).concat(n))]:e.empty?t(s,e.empty):[];return e.cardie?t(p,{nofold:!1,size:1,cols:!1,title:e.caption,cardid:e.cardie,class:"relative grows"+(e.cardieClass?" "+e.cardieClass:""),expandedView:o}):o()})),ct=n((({attrs:e})=>t(r,{text:e.states[Number.parseInt(e.checked,10)||0]||"---",icon:e.icon,hint:e.hint,class:"tgbutton "+(e.checked?e.inverted?"":"accent ":e.inverted?"accent ":"")+(e.class||""),onClick:()=>{let t=Number.parseInt(e.checked,10)||0;t++,t%=e.states.length,e.onchange(t)}}))),ut=n((({attrs:e,state:n})=>{const a=e.template.presets.concat(n.files||[]);return t(".templatepresets.flexrow.wrap",{class:e.class},a.length?a.map((n=>t(e.template.render,{item:n,title:"Apply "+e.template.name+" to "+e.type,onClick:()=>e.onClick(n),layer:e.layer}))):e.template.empty?t(M,e.template.empty):t(".emptybox","No presets available"))}),(({attrs:e,state:n})=>{e.template.files&&e.entity&&e.template.files(e.entity).then((e=>{n.files=e,t.redraw()})).catch((()=>{}))})),dt=(e,t={},n,a="metaField")=>(e[a]&&n?t[n[e[a]]]:t)||{},ft=(e,t,n)=>({...dt(t,t.items,n),...t.dynamicItems&&e.itemsDict&&dt(t,e.itemsDict[t.dynamicItems],n,"dynamicMetaField")||{}}),ht=n((({attrs:n,state:a,children:i})=>{let l=0;const{meta:c,crit:u={},when:d={},sizes:h={},metaKeys:m=Object.keys(n.meta),parameters:g,auxParameters:b,clone:w,onchange:x,itemClass:C,wrapper:A,onAction:T,empty:_,initializeTargets:E,name:N}=n,S=m.map((i=>{const s=c[i];g&&s.target&&void 0===g[s.target]&&"object"==typeof E&&(g[s.target]=structuredClone(E));const m=s.when||(d?d[i]:void 0),N="object"==typeof s&&!s.length,S=N&&(s.auxTarget&&!s.target||n.auxTargetIsDefault)?b:g,j=N&&(s.target||s.forTarget)?S[s.target||S.forTarget]:S;if(!g||m&&!((e,t,n,a)=>"function"==typeof e?e(t,n):"string"==typeof e?!!a[e]:e.key?e.value?e.not?a[e.key]!==e.value:a[e.key]==e.value:Array.isArray(e.values)?e.not?-1===e.values.indexOf(a[e.key]):-1!==e.values.indexOf(a[e.key]):e.not?!a[e.key]:!!a[e.key]:!!e.containsKey&&"object"==typeof a&&a.hasOwnProperty(e.containsKey))(m,g,b,j))return[];const L=N&&s.widget,z=!!N&&(s.update||u[i]),D=N&&s.key||i,O=N&&"group"===s.type,P=N&&"groupArray"===s.type,K="string"==typeof s||N&&"text"===s.type,B=N&&"json"===s.type,F="boolean"==typeof s||N&&"boolean"===s.type,R=N&&"vector"===s.type,V=N&&"number"===s.type,$=N&&!Number.isNaN(s.min),H=N&&"action"===s.type,Y=N&&(s.choices||s.choose||s.chooseKey),q=N&&"keytoggle"===s.type,W=N&&"iterakey"===s.type,G=N&&(s.options||s.optionsKey),X=N&&s.items,ee=N&&"color"===s.type,te=N&&"plusminus"===s.type,ne=N&&"separator"===s.type,ae=N&&("static"===s.type||"dragTarget"===s.type),ie=N&&"emoji"===s.type,oe=N&&"font"===s.type,re=N&&"notice"===s.type,se=N&&"asset"===s.type,ce=ne?"col-12":"col-"+(s.size||h[i]||4);if(!j)return[];const ue=N&&s.altMeta&&c[s.altMeta],fe=s.idx,he=fe>=0,me=N&&s.get?s.get(j,b,g):he?j[D]?j[D][fe]:0:j[D],ge=ue&&s.altMeta,ve=ue&&ue.key,ye=N&&s.set?e=>s.set(j,e&&w&&"object"==typeof e?J(e):e,b,g,fe):(e,t,n)=>{const a=n||D,i=he?fe:n||D;let o=he?j[a]:j;return fe>=0&&!o&&(j[a]=o=s.defaultValue?J(s.defaultValue):[0,0,0]),o[i]=e&&w&&"object"==typeof e?J(e):e},be=n.onbeforechange?(e,t,a,o)=>!!n.onbeforechange(a||i,e,o||s)&&(ye(e,void 0,a),!0):ye;return l++,t(".grows.flexrow."+ce,{class:"mk_"+i+(N&&s.type?" ptype_"+s.type:"")+(K?"witharia":"")+(s.itemClass||C?" "+(s.itemClass||C):""),"aria-label":i},P?Array.isArray(me)?me.map(((e,a)=>s.small?t(ht,{meta:ft(n,s,e),crit:{},when:{},sizes:{},parameters:e,auxParameters:b,arrayInfo:{source:me,item:e,index:a},clone:w,onchange:x,itemClass:C,wrapper:A,empty:_,itemsDict:n.itemsDict,layer:n.layer,onAction:n.onAction,optionsDict:n.optionsDict,play:n.play,auxTargetIsDefault:!1,AssetButton:n.AssetButton,CodeMirror:n.CodeMirror,initializeTargets:n.initializeTargets}):t(p,{class:"relative grows "+(s.class||"pad-h emby w-max")+(s.dynClass?" "+s.dynClass(g,b,a):""),title:s.titleField?e[s.titleField]||s.title:s.dynTitle?s.dynTitle(g,b,a):s.title+" "+(a+1)+(e.title?" - "+e.title:""),cardid:s.cardid+"-"+a,nofold:!1,size:s.margin||0,expandedView:()=>[t(ht,{meta:ft(n,s,e),crit:{},when:{},sizes:{},parameters:e,auxParameters:b,clone:w,onchange:x,itemClass:C,wrapper:A,empty:_,itemsDict:n.itemsDict,layer:n.layer,onAction:n.onAction,optionsDict:n.optionsDict,play:n.play,auxTargetIsDefault:!1,AssetButton:n.AssetButton,CodeMirror:n.CodeMirror,initializeTargets:n.initializeTargets})],titleExpanded:s.titleExpanded||s.hint,titleCollapsed:s.titleCollapsed||s.hint,...s.itemAction&&T&&{action:{...s.itemAction,onClick:t=>{const n=()=>T(i,t,e,me,s.itemAction);s.itemAction.confirm?U(s.itemAction.confirm,n):n()}}},...s.itemCollapsedAction&&T&&{collapsedAction:{...s.itemCollapsedAction,onClick:t=>{const n=()=>T(i,t,e,me,s.itemCollapsedAction);s.itemCollapsedAction.confirm?U(s.itemCollapsedAction.confirm,n):n()}}}}))).concat(s.addAction?[t(r,{...s.addAction,onClick:e=>{if(s.addAction.onClick)s.addAction.onClick(e,g,b);else if(s.addAction.template)me.push(J(s.addAction.template));else{(()=>T(i,e,null,me,s.addAction))()}t.redraw()}})]:[]):[]:O?[t(p,{class:"relative grows "+(s.class||"emby w-max")+(s.dynClass?" "+s.dynClass(g,b):""),title:s.dynTitle?s.dynTitle(g,b):s.title,cardid:s.cardid,nofold:!1,size:s.margin||0,expandedView:()=>[t(ht,{meta:ft(n,s,j),crit:{},when:{},sizes:{},parameters:g,auxParameters:b,clone:w,onchange:x,itemClass:C,wrapper:A,empty:_,itemsDict:n.itemsDict,layer:n.layer,onAction:n.onAction,optionsDict:n.optionsDict,play:n.play,auxTargetIsDefault:n.auxTargetIsDefault,AssetButton:n.AssetButton,CodeMirror:n.CodeMirror,initializeTargets:n.initializeTargets}),...s.addAction?[t(r,{...s.addAction,onClick:e=>{s.addAction.onClick(e,g,b),t.redraw()}})]:[]],titleExpanded:s.titleExpanded||s.hint,titleCollapsed:s.titleCollapsed||s.hint,...s.titleAction&&T&&{action:{...s.titleAction,onClick:e=>{const t=()=>T(i,e,j,null,s.titleAction);s.titleAction.confirm?U(s.titleAction.confirm,t):t()}}},...s.titleCollapsedAction&&T&&{collapsedAction:{...s.titleCollapsedAction,onClick:e=>{const t=()=>T(i,e,j,null,s.titleCollapsedAction);s.titleCollapsedAction.confirm?U(s.titleCollapsedAction.confirm,t):t()}}}})]:ne?[t(v,{class:s.class||"mini",text:"string"==typeof s.title?s.title:s.label||i})]:ae?[t(".textwrapper.flexcol.grows",{...s.label&&{"aria-label":s.label,class:"witharia"}},t(".textcontainer.flexrow",[...s.icon?[t(o,{icon:s.icon,class:s.iconClass})]:[],t(".innertext",{class:s.class,title:s.hint,..."dragTarget"===s.type&&{ondragover:e=>{Array.from(e.dataTransfer?.types||[]).includes("application/x-nebular-world-asset+json")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy")},ondrop:e=>{const t=e.dataTransfer?.getData("application/x-nebular-world-asset+json");if(t)try{const n=JSON.parse(t),a=(s.accepts||[]).map((e=>e.replace(/^\./,"").toLowerCase()));if(1!==n.version||"asset"!==n.kind||"string"!=typeof n.path||"string"!=typeof n.type||a.length&&!a.includes(n.type.toLowerCase()))return;e.preventDefault(),e.stopPropagation(),be(n.path),x(z,j,i,void 0,s)}catch{}}}},me)]))]:L?[t(Ee(s.widget),"function"==typeof s.attrs?s.attrs(me,a,((e,t)=>x(e||z,t?g:j,i,void 0,s)),null,n,j):s.attrs,s.children?s.children(me,a,((e,t)=>{x(e||z,t?g:j,i,void 0,s)}),null,n,j):[])]:te?[t(pe,{max:s.max,min:s.min,title:s.title,label:s.label,value:me,onchange:e=>{be(e),x(z,j,i,void 0,s)}})]:K||B&&!n.CodeMirror?[t(k,{containerClass:"grows",class:s.inputClass,value:me,label:s.label,hint:N?s.hint:s,title:s.title,maxlength:N&&s.maxlength||256,final:!!n.final,nodelete:!!s.readonly,readonly:!!s.readonly,multi:B||s.multi,alwaysmulti:B||s.alwaysmulti,onchange:e=>{be(e),x(z,j,i,void 0,s)}})]:B?[t(at,[t(n.CodeMirror,{key:g.id,doc:me,schema:s.schema,templates:s.templates,hint:s.dynamicHint?s.dynamicHint(j):s.hint,empty:s.empty,onSave:e=>{null!==e&&(be(e||""),x(z,j,i,void 0,s),e||f.add(s.hint+" cleared"))}})])]:V?[t(k,{containerClass:"grows",class:s.inputClass,value:s.step>0&&s.step<1||s.float?void 0!==me?(parseFloat(me)||0).toFixed(3):"":me,type:"text",label:s.label,hint:N?s.hint:s,title:s.title,subtype:"number",fixed:s.fixed,nodelete:!!s.nodelete,...s.draginc&&{staticField:!0,draginc:s.draginc},final:!!s.final,onchange:e=>{let t=s.step>0&&s.step<1||s.float,{min:n,max:a}=s;if(void 0===e)be(void 0);else{let i=t?parseFloat(e):parseInt(e,10);isNaN(i)?i=void 0:(i<n&&(i=n),i>a&&(i=a)),be(i)}x(z,j,i,void 0,s)}})]:R?[t(et,{...s,onchange:e=>{be(e),x(z,j,i,void 0,s)}})]:re?[t(M,s)]:se?n.AssetButton?[t(n.AssetButton,{value:me,confirm:s.confirm,class:"grows "+(s.containerClass||"scaff scaff-b1"),buttonClass:s.buttonClass||"unitheight scaff-left",readonly:s.readonly,closeClass:s.closeClass,textClass:s.textClass||"",iconClass:s.iconClass||"",field:s.field,types:s.types,subtype:s.subtype,file:s.file,pack:s.pack,shiftUpdate:s.shiftUpdate,shiftIcon:s.shiftIcon,removeIcon:s.removeIcon,emptyValue:s.emptyText||"off",emptyText:s.emptyText||"off",emptyIcon:s.emptyIcon||s.icon,icon:s.icon,title:s.title,titleCollapsed:s.titleCollapsed,titleClass:"pad-2 pad-v no-pad-bottom",parameters:g,auxParameters:b,onchange:(e,t)=>{t&&t.shiftKey&&n.onShiftPress?n.onShiftPress(i,j,e):(void 0===e&&(e=s.nullValue||void 0),be(e),x(z,j,i,void 0,s))}})]:[t(r,{icon:s.icon,title:s.title,class:"unitheight",text:"No Asset Module"})]:ie?[t(Ne,{class:"grows "+(s.class||"scaff scaff-b1 unitheight font-200"),icon:{glyph:me},icons:!1,onchange:e=>{be(e),x(z,j,i,void 0,s)}})]:oe?[t(Je,{class:"grows "+(s.class||"scaff-right unitheight"),fontFamily:me,nodelete:s.nodelete,onchange:e=>{if(s.nodelete&&!e)return;be(e);const t=s.target||s.forTarget?g[s.target||s.forTarget]:g;x(e?z:"delete",t,i,!e,s)}})]:ee?[t(".colorwrapper.flexcol.grows",{...s.label&&{"aria-label":s.label,class:"witharia"}},t(de,{class:"grows "+(s.class||"unitheight")+(ve?" withalt":""),color:me,caption:s.caption,noalpha:s.noalpha,remove:s.remove,onchange:(e,t)=>{let n=e;if(n)if(s.hsl){const e=t.hsl();n=[e.hue(),e.saturation(),e.lightness()]}else s.rgba&&(n=[t.r(),t.g(),t.b(),s.noalpha?1:t.a()]);be(n),x(z,j,i,void 0,s)},...ve&&{style:{"--data-altval":((j[ve]??ue.min)-ue.min)/(ue.max-ue.min)*100+"%"}}},ue?[t(Te,{auto0:ue.auto0,min:ue.min,max:ue.max,step:ue.step||.1,...ue.mul&&{multiplier:ue.mul},class:"col-11 grows innerlabel order-first",title:ue.title,value:j[ve]??ue.min,onchange:e=>{be(e,void 0,ve,ue),x(u[ge],j,ge,void 0,s)}})]:void 0))]:F?[t(N&&s.toggle?s.states?ct:it:Z,{class:"grows "+(s.class||"unitheight"),text:N?s.title||s.label:i,icon:N?s.icon:void 0,noclass:s.noclass,subline:s.subline,checked:me,title:s.hint,hint:s.hint,inverted:N&&s.inverted,states:s.states,iconClass:s.iconClass,onchange:e=>{be(s.states?e:!!e),x(z,j,i,void 0,s)}})]:H?[t(r,{class:"grows "+(s.class||"accentbutton unitheightsmall"),text:""===s.label?null:s.parse?s.parse(j,b):s.label||s.text||i,icon:s.icon,title:s.title||s.hint,onClick:e=>{if(s.popup)Q(s.popup,(t=>{const a=()=>{t.onClick?t.onClick(i,e,j,b,t,n):n.onAction&&n.onAction(i,e,S,n.arrayInfo,t)};t.confirm?U(t.confirm,a):a()}),{field:"label"});else{const t=()=>{s.onClick?s.onClick(i,e,j,b,s,n):n.onAction&&n.onAction(i,e,S,n.arrayInfo,s)};s.confirm?U(s.confirm,t):t()}}})]:q?[t(s.keys?rt:lt,{class:"col-12 "+(s.toggle?"istoggler":""),icon:s.icon,buttonClass:s.buttonClass,selectorClass:s.selectorClass||"grows",selectorButtonClass:s.selectorButtonClass,keys:s.keys,hint:s.hint,nocustom:s.nocustom,source:me,onchange:()=>x(z,j,i,void 0,s),...s.customWidget||{}})]:W?[t(st,{class:"col-12"+(s.class?" "+s.class:""),buttonClass:s.widgetClass,cardie:s.cardie,cardieClass:s.cardieClass,addButtonClass:s.addButtonClass,caption:s.caption,separatorClass:s.separatorClass,noseparator:s.noseparator,source:me,onchange:()=>x(z,j,i,void 0,s),widget:s.keyWidget,keys:s.keys,add:s.add,targetParameters:j,auxParameters:b,empty:s.empty})]:Y?[t(y,{class:"col-12 "+(s.toggle?"istoggler":""),subclass:s.class,buttonClass:s.buttonClass,choices:s.choices,choose:s.choose,chooseKey:s.chooseKey,chooseDict:n.chooseDict,label:s.label,field:s.field,icon:s.icon,value:me,title:s.title,onchange:e=>{let{value:t}=e;t||t>=0?(s.toggle&&t===me&&(t=!t),be(t),x(z,j,i,void 0,s)):(be(void 0),x(z,j,i,void 0,s)),Re()}})]:G?[t(le,{class:s.containerClass||"scaff scaff-b1",buttonClass:s.class||"unitheightsmall scaff-left",closeClass:s.buttonClass||void 0,textClass:s.textClass||"",locked:s.locked,value:me,field:s.field,fieldTitle:s.fieldTitle,emptyText:s.emptyText||"off",emptyIcon:s.emptyIcon||s.icon,confirm:s.confirm,icon:s.icon||n.icon,hint:s.hint,label:s.label,title:s.question,itemsKey:"function"==typeof s.optionsKey?()=>s.optionsKey(j):s.optionsKey,items:s.options||n.optionsDict,removeIcon:s.removeIcon,nodelete:s.nodelete,item:g,onchange:(t,n)=>{n?.shiftKey?s.shiftPress?s.shiftPress(j,b):s.shiftAction&&T(i,e,j,me,s.shiftAction):("string"==typeof t&&(t=t.trim()),t?(be(s.values?s.values[t]:t,s.clone),x(z,j,i,!1,s)):(be(s.nullValue||void 0),x(z,j,i,!0,s)),Re())}})]:X?[t(I,{class:"grows scaff scaff-b1 "+(s.class||"unitheight"),value:me,emptyText:s.emptyText||"off",icon:s.icon,title:s.title,items:ft(n,s.items,j),textClass:s.textClass||"",onchange:e=>{"string"==typeof e&&(e=e.trim()),e?(be(e),x(z,j,i,void 0,s)):(be(void 0),x(z,j,i,void 0,s)),Re()}})]:$?[t(Te,{auto0:s.auto0,relative:!s.auto0&&!s.absolute,factor:s.factor,min:s.min,max:s.max,step:s.step||.1,...s.mul?{multiplier:s.mul}:{},class:"col-11 grows innerlabel",title:s.label||s.title||(-1===i.indexOf("-")?i:i.substring(i.lastIndexOf("-")+1)),hint:s.hint,value:parseFloat(me)??s??s.min,parser:s.parser,field:s.field,onchange:e=>{be(e),x(z,j,i,void 0,s)}})]:[t(Te,{min:s[0],max:s[1],step:s[2]||.1,...s[3]?{multiplier:s[3]}:{},class:"col-11 grows innerlabel",title:s[4]||(-1===i.indexOf("-")?i:i.substring(i.lastIndexOf("-")+1)),value:parseFloat(me)||s[0],onchange:e=>{be(e),x(z,j,i,void 0,s)}})])}));return l||i.length?A?A(S.concat(i)):S.concat(i):_&&!i.length?t(s,_):[]})),pt=n((({attrs:e,children:n})=>{const{busy:a,parameters:i,auxParameters:o,cardid:l,size:r,index:c,titleWidget:u,parametersTitle:d,parametersBody:f,rootUpdate:h,layer:m,tableChildren:g,cols:v,onLayerReset:y,onAction:b,nofold:w,bodyClass:x,titleAction:C,AssetButton:k,CodeMirror:M,optionsDict:A}=e;return t(p,{busy:a,nofold:w,size:r,cols:v,title:f.titleCollapsed||f.title,titleCollapsed:f.titleCollapsed||f.title,titleExpanded:f.titleExpanded||f.title,action:C,expandedClass:e.expandedClass,onShiftOpen:()=>{},titleWidget:u||ht,titleAttrs:{...d,onShiftPress:e.onShiftPress,confirm:e.confirmTitle,itemClass:"",parameters:i,auxParameters:o,clone:!0,layer:m,AssetButton:k,CodeMirror:M,optionsDict:A,initializeTargets:e.initializeTargets,onAction:b,onchange:(n,a,l,r,s)=>{Re();const c=s.rootUpdate||h;if(s?.onchange)s.onchange(n,a,i);else if(n){if("none"===c)return;"both"===c&&o?a[tt]=o[tt]=n:"parent"===c&&o?(a[tt]=n,o[tt]=!0):"target"===c&&a!==i?(a[tt]=n,i[tt]=!0):2===c?i[tt]=n:1===c?a&&(a[tt]=n):"string"==typeof c&&"both"!==c&&"parent"!==c&&"target"!==c?i[c]?(i[c][tt]=n,i[tt]=!0):i[tt]=nt:-1!==c&&a&&(a[tt]=n)}else y&&y();e.onTitleChange&&e.onTitleChange(n,a,l,r),t.redraw()}},cardid:l,class:"withbottommargin relative"+(e.class?" "+e.class:""),bodyClass:x,expandedView:()=>[...f.meta?[t(ht,{...f,confirm:e.confirmBody,itemClass:"pad-1",parameters:i,auxParameters:o,clone:!0,layer:m,index:c,play:e.play,itemsDict:e.itemsDict,initializeTargets:e.initializeTargets,optionsDict:A,AssetButton:k,CodeMirror:M,onAction:b,onchange:(n,a,l,r,s,c)=>{const u=s.rootUpdate||h;if(Re(),s?.onchange)s.onchange(n,a,i);else if(n){if("none"===u)return;"both"===u&&o?a[tt]=o[tt]=n:"parent"===u&&o?(a[tt]=n,o[tt]=!0):"target"===u&&a!==i?(a[tt]=n,i[tt]=!0):2===u?i[tt]=n:1===u?a&&(a[tt]=n):"string"==typeof u&&"both"!==u&&"parent"!==u&&"target"!==u?i[u]?(i[u][tt]=n,i[tt]=!0):i[tt]=nt:-1!==u&&a&&(a[tt]=n)}else y&&y();e.onChange&&e.onChange(n,l,a,o,r,s,c,e),t.redraw()}},g)]:f.emptyMeta?[t(s,f.emptyMeta)]:[],...n||[]],collapsedView:e.collapsedView})})),mt=n((({attrs:e,state:n,children:a})=>{const{layer:i,property:o,colorProperty:l}=e,s=Qe[o],c=i[o],u=null!=c,d=u&&"object"==typeof c&&null!==c,f=d&&c,h=f&&f.exp,[,p]=h||[],m=f&&p&&Object.keys(p),g=d&&c?c.title:c,v=m&&m.length,y=e.size&&d;return t("li.coord.witharia.relative.templatedinput",{"aria-label":e["aria-label"],class:(n.chooser&&s?e.chooserClass:e.containerClass)||"col-12"},[...e.docs?[t("a.extlink.absolute.to-right.to-top.font-75.pad-2.pointer",{target:"tool",onclick:()=>{NIPX.sys.open(e.docs.url)}},e.docs.caption||"docs")]:[],e.chooser?[t(".flexrow.grows.fontgroup",[t(r,{class:"grows unitheightsmall rectbutton ohidden",text:g||"--- NONE ---",icon:e.icon,onClick:e=>{!n.chooser&&e.shiftKey&&s.images?_e.setTransState("image",void 0,{giphyQuery:"frame",onOverride:e=>{const n=e&&s.images(e);n&&(i[o]=J(n),Re(),t.redraw())}}):(n.chooser=!n.chooser,t.redraw())}}),...i[o]?[t(r,{class:"clearfont unitheightsmall bg-accent",text:"X",onClick:()=>{delete i[o],Re(),t.redraw()}})]:s.images&&!g?[t(r,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>_e.setTransState("image",void 0,{giphyQuery:"frame",onOverride:e=>{const n=e&&s.images(e);n&&(i[o]=J(n),Re(),t.redraw())}})})]:[]])]:[t(k,{class:"withicon-2"+(u?" has":"")+(e.class?" "+e.class:""),value:i[o]||"",hint:e.hint,title:e.title,maxlength:e.maxlength||2048,multi:e.multi,actions:[{icon:"plus",onClick:()=>{n.chooser=!n.chooser,t.redraw()}}],onchange:e=>{e=e.split("\n").join(" ").trim(),i[o]=e,Re(),t.redraw()}})],...v||y?[t(".flexrow.wrap.paramgroup",[...v?[t(ht,{meta:p,metaKeys:m,parameters:f,onchange:()=>{delete c.calc,Re(),t.redraw()},AssetButton:e.AssetButton,CodeMirror:e.CodeMirror})]:[],...y?[t(".flexbreak"),t(Te,{class:"col-6 grows innerlabel",title:"size x",min:0,max:100,step:.1,relative:!0,value:parseFloat(c.w)||0,onchange:e=>{c.w=e,Re(),t.redraw()}}),t(Te,{class:"col-6 grows innerlabel",title:"size y",min:0,max:100,step:.1,relative:!0,value:parseFloat(c.h)||0,onchange:e=>{c.h=e,Re(),t.redraw()}})]:[]])]:[],...n.chooser&&s?[t(ut,{entity:e.entity,template:s,type:i.type,layer:i,onClick:e=>{n.chooser=!1,i[o]="object"==typeof e.value?J(e.value):e.value,e.color&&l&&(i[l]=e.color),Re(),t.redraw()}})]:[],...u?a:[]])}));export{l as Button,y as ButtonChoiceWidget,b as ButtonMultipleChoiceWidget,r as ButtonNew,p as CardieWidget,he as ColorJoePack,de as ColorJoeWidget,le as ComboPrompt,I as ComboWidget,Y as ConfirmPromise,Oe as CoolContentTicker,De as CoolGenericTicker,Be as CoolerEmpty,s as Empty,Pe as EmptyButton,Ge as FileSelectButton,ze as GenericButtonTicker,o as Icon,Ze as ImageDataButton,Xe as ImageProcessButton,Ue as ImageSelectButton,k as InputWidget,G as JSONWidget,_e as MainState,Ie as MainStateImplement,We as MediaSelectButton,lt as MultiToggleWidget,M as NoticeWidget,f as Notification,q as OverflowMenu,oe as OverflowUtils,pt as ParameterCardie,ht as ParameterTable,pe as PlusMinus,ot as RangeToggleWidget,Te as RangeWidget,u as Selector,v as Separator,Ne as SmileysButton,Z as SwitchWidget,mt as TemplatedInputWidget,je as ThematicWrapper,me as TitleBarWidget,V as Tokenizer,j as clearModal,J as clone,U as confirm,X as confirmPromise,g as defineWidget,He as makeLocalPath,Ye as makeLocalUrl,Le as optionsPrompt,H as packClass,$ as packClassString,S as popupMessage,qe as processImage,Se as startApp,Ve as tainter};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nebularstreams/libmui",
|
|
3
3
|
"description": "Lightweight, high-performance Mithril widget library for modern websites and JavaScript applications.",
|
|
4
|
-
"version": "4.3.
|
|
4
|
+
"version": "4.3.66",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|