@nebularstreams/libmui 4.3.12 → 4.3.14
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,a,n,o){return{...e&&{view:e},...t&&{oninit:t},...a&&{oncreate:a},...o&&{onupdate:o},...n&&{onremove:n}}}function a(e,t,a){const n=("function"==typeof e?e(t):e)||{};return a&&(n.initialParams=a),n}const n=({currentIndex:e},t)=>e===t,o={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}})},i={view:({attrs:t,state:a,children:n})=>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||"")+(a.busy?" busy":""),...a.error&&{"data-error":a.error.message},...t.onclick&&{onclick:n=>{clearTimeout(a.debounce),a.debounce=setTimeout((()=>{const o=t.onclick(n,t);o&&o.then&&o.catch&&(a.busy=!0,e.redraw(),o.then((()=>{a.busy=!1,e.redraw()})).catch((t=>{a.busy=!1,a.error=t,e.redraw()})))}),25)}}},[...t.icon&&!t.right?[e(o,t)]:[],...t.text?[e("span.pad-1.pad-h",{class:t.textClass||null},t.text)]:[],...t.icon&&t.right?[e(o,t)]:[],...n])},l={view:({attrs:t,state:a,children:n})=>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||"")+(a.busy?" busy":""),...a.error&&{"data-error":a.error.message},...t.onClick&&{onclick:n=>{clearTimeout(a.debounce),a.debounce=setTimeout((()=>{const o=t.onClick(n,t);o&&o.then&&o.catch&&(a.busy=!0,e.redraw(),o.then((()=>{a.busy=!1,e.redraw()})).catch((t=>{a.busy=!1,a.error=t,e.redraw()})))}),25)}}},[...t.icon&&!t.right?[e(o,{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(o,{iconClass:t.iconClass,icon:t.icon})]:[],...n])},r={view:({attrs:t,children:a})=>e(".flexcol.flexcenter.al-center.grows.emptywidget",{...t.class&&{class:t.class},...t.key&&{key:t.key},role:"presentation"},[e(o,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,a,n)=>1===n.length?t:e("p.msg"+a,t))))]:[],...a?[e(".flexcol.additional",a)]:[]])},s=(t,a,n,o)=>{const i=a.currentIndex,l=a.currentParams;-1===n?Object.assign(a,{current:null,currentIndex:-1,currentParams:[]}):Object.assign(a,{current:t.items[n]||null,currentIndex:a.current?n:-1,currentParams:o||[]}),t.onSelected&&t.onSelected(a.current,a.currentParams,a.currentIndex!==i,l),e.redraw()},c={oninit:({attrs:e,state:t})=>{(t=e.state||t).setItem=(a,...n)=>s(e,e.state||t,a,n);const a=!isNaN(t.currentIndex)?t.currentIndex:e.selected,n=e.items&&e.items.length?void 0!==a&&e.items[a]?a:e.noinitial?-1:0:-1,o=-1!==n?e.items[n]:null;Object.assign(t,{currentIndex:n,current:o})},onupdate:({attrs:e,state:t})=>{(e.state||t).setItem=(a,...n)=>s(e,e.state||t,a,n)},view:({attrs:t,state:o})=>{o=t.state||o;const{current:s}=o;return e((t.element||"widget")+".selector"+(t.horizontal?".flexrow":".flexcol")+(t.className?"."+t.className:""),{...t.key&&{key:t.key},class:(o.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,a)=>e(i,{class:(t.class?t.class+" ":"")+(n(o,a)?"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()-o.clickts<200||(o.clickts=Date.now(),o.bodyHidden=!1,o.setItem(a))}}))))],...s?[...t.toggle&&!o.bodyHidden?[e(l,{class:"selectornotch "+(o.bodyHidden?"bodyhidden":"bodyshown"),icon:o.bodyHidden?"caret-up":"caret-down",title:o.bodyHidden?"expand panel":"contract panel",onClick:()=>{o.bodyHidden=!o.bodyHidden,e.redraw()}})]:[],...t.toggle&&o.bodyHidden?[]:[...s?.bodyTitle?[e(".bodytitle",s.bodyTitle)]:[],e(".grows.flexcol.ohidden.selectorbody",{class:t.bodyClass,role:"presentation"},[e(s.widget,a(s.attrs,t,o.currentParams),s.children)])],...t.closeButton?[e(i,{class:"closebutton absolute toright",icon:"times",onclick:()=>{o.setItem(-1)},"aria-label":"close item"})]:[]]:e(r,t)])}},u={info:"info",error:"exclamation-triangle",success:"check"};const d=new function(t=5e3,a){let n,o=[];function l(){const r=a||document.getElementById("notification-container");if(o.length){const a=o.splice(0,1)[0];!function(t,a){e.render(t,e(i,{class:"notification "+a.type,text:a.text,icon:u[a.type]||"info",size:1,role:"status",onclick:l}))}(r,a),clearTimeout(n),n=setTimeout(l,a.timer||t)}else e.render(r,""),n=null}return{add:(e,t)=>{o.push({text:e,type:t}),n||l()},clear:()=>{o=[],l()}}},h={};const f=t((({attrs:t,state:a,children:n})=>{const{nofold:o,cardid:i,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:_="fa-chevron-down"}=t,I=!o&&(i?!h[i]:!!a.collapsed),T=I?y?y(t,a):[]:v?v(t,a):n||[],E=b?e(b,w||{}):s?e("span.ellipsis.ohidden.unfold",s):void 0,A=g?"fa-sync":`${_} ${I?"iscollapsed":"isexpanded"}`;return T.length||!t.skipEmpty?e(m||"ul",{class:"cardie ohidden "+(p?"flexcol ":"flexrow wrap ")+(t.class?" "+t.class:"")+(o?" expanded":" "+(I?"collapsed "+(d||""):"expanded "+(f||"")))+(r?" marg-"+r:"")+(b?" withwidget":"")+(g?" busycard":"")},[...E?[e(".title.grows.fabf.flexrow.pointer.unfold",o?{class:x||"pad-2"}:{class:`${x||"pad-2"} ${A||""}`,title:I?M||"Click to expand the options":k||M||"Click to collapse the options",onclick:n=>{n.target.classList.contains("unfold")&&(n.shiftKey&&t.onShiftOpen?t.onShiftOpen():t.cardid?function(e,t=0){if(e){const[a,n]=e.split("-");t&&a&&n&&Object.keys(h).forEach((e=>{e.startsWith(a+"-")&&(h[e]=0)})),h[e]=t}}(i,I):a.collapsed=!a.collapsed,e.redraw())}},!c||!o&&I?u&&I?[e(l,u),E]:E:[e(l,c),E])]:[],...T.length?[e(".flexbreak"),e(".cardiebody.fadein-filter.grows",{class:(p?"flexcol ":"flexrow wrap")+" "+(C||"")},...T)]:[],...t.alwaysView?[t.alwaysView({attrs:t,state:a})]:[]]):[]}),(({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,a,n,o){return{...e&&{view:e},...t&&{oninit:t},...a&&{oncreate:a},...o&&{onupdate:o},...n&&{onremove:n}}}const g=p((({attrs:t,children:a})=>e(".separator",{class:t.class||"mini",...t.onClick&&{onclick:t.onClick}},[e("span.grows",t.text),...a||[]]))),v=t((({attrs:t})=>{const{value:a,field:n,toggle:o,element:i,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((i||"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((i=>{const r=d[i],s=t.raw&&n?r:r.value,c=(n?s[n]:s)===a;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:a=>{t.onchange(o&&c?void 0:r,i,a),e.redraw()}},t.render?t.render(r):r.caption||i)})):[e(".emptychoice.grows.al-center.align-self-center.unitheightsmall",t.emptyMessage)]))]:[]})),y=t((({attrs:t})=>{const{value:a,field:n,element:o,emptyMessage:i,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(a)?a:[],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||i?e((o||"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((a=>{const o=u[a],i=t.raw&&n?o:o.value,r=n?i[n]:i,s=d.includes(r);return e(l,{icon:o.icon||void 0,class:"grows scaff-b0 "+(t.buttonClass?`${t.buttonClass} `:"rectbutton unitheightsmall ")+(o.class?`${o.class} `:"")+(s?"accent":""),title:s?o.titleOn||o.title:o.titleOff||o.title,"aria-pressed":String(s),onClick:n=>{const i=s?d.filter((e=>e!==r)):[...d,r];t.onchange?.(i,o,a,n),e.redraw()}},t.render?t.render(o):o.caption||a)})):[e(".emptychoice.grows.al-center.align-self-center.unitheightsmall",i)])):[]})),b=(e,t,a=!1)=>{if(a||"number"===e.type){const a=e.float?Number.parseFloat(t):Number.parseInt(t,10);return Number.isNaN(a)?void 0:a}return t},w=(e,t,a)=>{const n=t.hasOwnProperty("value")?t.value:e.value;return b(e,n,a)},x={view:t=>{const{attrs:a,state:n}=t;return n.attrs=a,e(".input-static.w-100.ellipsis",{class:(a.onDrag?"withdrag ":"")+(a.staticClass||"grows"),...a.staticTitle&&{title:a.staticTitle},...a.onDrag||{onclick:a.onClick},oncreate:({dom:e,state:n})=>{if(a.onDrag&&!a.readonly){const a=n.hammer=new Hammer.Manager(e,{touchAction:"pan-y"}),o=new Hammer.Pan({direction:Hammer.DIRECTION_VERTICAL}),i=new Hammer.Tap;a.add([o,i]),a.on("tap",(()=>t.state.attrs.onClick())),a.on("panup",(e=>t.state.attrs.onDrag(-1,e.srcEvent))),a.on("pandown",(e=>t.state.attrs.onDrag(1,e.srcEvent))),a.on("panend pancancel",(e=>t.state.attrs.onDrag(0,e.srcEvent)))}a.focus&&e.focus()},onremove:({state:e})=>{e.hammer&&e.hammer.destroy()}},a.value)}},C={view:({attrs:t,state:a})=>{const n=t=>{a.value&&a.showInput&&delete a.showInput,delete a.value,t&&e.redraw()},o=[...!t.multi||t.alwaysmulti||t.type&&"text"!==t.type?[]:[e(l,{icon:a.multi?"angle-double-up":"angle-double-down",class:"pad-2 transp inputaction",onClick:()=>{a.multi=!a.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&&a.showInput?!a.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},class:(t.class||"")+(t.validator?a.isValid?" bg-ok":" bg-error":""),...t.title&&{title:t.title},value:w(t,a),placeholder:t.hint||"",...t.readonly?{readonly:"readonly"}:{oninput:e=>{a.value=b(t,e.target.value),e.fromoninput=!0,t.validator&&(a.isValid=t.validator(a.value)),t.onchange&&(t.oninput||t.onchange)(a.value,e)},onchange:e=>{t.onchange&&(t.validator&&(a.isValid=t.validator(a.value)),e.enterPressed=a.enterPressed,delete a.enterPressed,t.onchange(b(t,e.target.value),e),t.staticField?n(!0):delete a.value)},onblur:()=>{a.showInput&&n(!0)},onkeyup:e=>{a.showInput&&("Escape"===e.key?n(!0):"Enter"===e.key&&(a.value!==t.value&&a.value||(t.onchange(t.value,e),n(!0))))},onbeforeinput:e=>{"number"===t.subtype&&e.data&&!/^[0-9.\-]$/.test(e.data)&&e.preventDefault()},inputmode:"number"===t.subtype?"decimal":void 0,onkeypress:e=>{a.showInput||"Enter"!==e.key||t.onenter&&t.onenter(e.target.value,e)}}}):e("textarea.w-100",{class:t.class,value:w(t,a),...t.title&&{title:t.title},placeholder:t.hint||"",oninput:e=>{a.value=b(t,e.target.value),t.validator&&(a.isValid=t.validator(a.value)),t.onchange&&(t.oninput||t.onchange)(a.value,e,!0)},onchange:e=>{if(t.onchange){t.validator&&(a.isValid=t.validator(a.value));const o=b(t,e.target.value);n(!1),t.onchange(o,e,!0)}},onblur:()=>{a.showInput&&n(!0)},onkeyup:e=>{"Escape"===e.key&&a.showInput&&n(!1)}}):e(x,{readonly:t.readonly,staticClass:(a.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,a),focus:t.focus,...t.draginc&&!t.readonly&&{onDrag:(n,o)=>{if(n){a.dragging=!0;let e=w(t,a,!0);if(Number.isNaN(e)||void 0===e)return;e+=n*t.draginc,void 0!==t.max&&e>t.max&&(e=t.max),void 0!==t.min&&e<t.min&&(e=t.min),a.value="number"===t.type?e:String(e),t.onchange(a.value,o)}else delete a.dragging,delete a.value,e.redraw()}},...t.readonly||{onClick:()=>{a.showInput=!0,a.value=t.value,e.redraw()}}}),...o.length?[e(".span.actions",o)]:[]]))},oninit:({attrs:e,state:t})=>{if(e.staticField&&e.draginc){const a=w(e,t,!0);t.showInput=Number.isNaN(a)||null==a}}},k=t((({attrs:t,children:a})=>a.length?e(".notice.cardie.flexcol.pad-3",{class:t.class||"marg-2 font-75",...t.key&&{key:t.key}},e(".flexrow",[...t.icon?[e(o,{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))]:[]]),...a):e(".notice.cardie.flexrow.pad-3",{class:t.class||"marg-2 font-75",onclick:t.onClick,...t.key&&{key:t.key}},[...t.icon?[e(o,{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:a},n)=>e("option",{...t.state.index===n+(t.offset||0)&&{selected:!0}},a)))};let _;function I(e,t){if(e.groups){t.groups={},t.allItems=[],e.parsed=!0;Object.keys(e.groups).forEach((a=>{t.groups[a]={label:a,len:e.groups[a].length,items:e.groups[a]}}));const a=Object.values(t.groups);a.forEach(((n,o)=>{e.value&&(t.index=0),n.offset=o?a[o-1].offset+a[o-1].len:0,t.allItems=t.allItems.concat(n.items),e.value&&n.items.forEach(((a,o)=>{const i=a.value;(e.parser?e.parser(i):i)===e.value&&(t.index=o+n.offset)}))}))}else if(e.items){t.index=0;for(let a=0,n=e.items.length;a<n;a++){const n=e.items[a].value;if((e.parser?e.parser(n):n)===e.value){t.index=a;break}}t.allItems=e.items}else t.allItems=[]}const T={view:({attrs:t,state:a})=>{const{groups:n}=a;return e("select",{"aria-label":t.caption,class:t.class,oninput:n=>{I(t,a);const o=a.index=n.target.selectedIndex,i=o>=0?a.allItems[o]:null;t.onchange&&i&&t.onchange(i.value,i,o),e.redraw()}},n?Object.values(n).map((t=>e("optgroup",{label:t.label},e(M,{items:t.items,offset:t.offset,state:a})))):e(M,{items:null!=t.items?t.items:[],state:a}))},oninit:({attrs:e,state:t})=>{Object.assign(t,{index:e.index||0,initial:e.value}),I(e,t)},oncreate:()=>{},onupdate:({attrs:t,state:a})=>{const n=void 0!==t.value&&a.initial!==t.value;(!a.groups&&!a.allItems||n)&&(I(t,a),n&&(a.initial=t.value,clearTimeout(_),_=setTimeout((()=>e.redraw()),50)))}};let E;function A(e){"function"==typeof E&&(E(),E=void 0),N.redraw&&(N.redraw(!0),delete N.redraw),e.style.display="none"}function N(t,a=!1,n=".modal-content"){const o=document.getElementById("modal-container");if(o.classList.toggle("iscustom",".modal-content"!==n),a&&(E=a,o.onclick=e=>{"modal-container"===e.target.id&&A(o)}),!t)return N.redraw&&(N.redraw(!0),delete N.redraw),void(null===t?o.style.display="none":A(o));o.style.display="flex",N.redraw=a=>{e.render(o,e(n,{role:"alertdialog","aria-labelledby":"modaltitle","aria-modal":!0},a||!t?[]:["function"==typeof t?t():t]))},N.redraw()}function S(){const e=document.getElementById("modal-container");return"none"!==e.style.display&&(A(e),!0)}const L=/\$([A-Za-z0-9_\/\:\=]+)\$/g,D=(e,t,a)=>z(e,t,{encode:a}),j=(e,t,a,n)=>z(e,t,{encode:a,unescape:n,dothrow:!0}),O={daterel:e=>new Date(e).toISOString()};function z(e,t,a){if(!e)return"";if("string"!=typeof e)return e;let n;return a=a||{},t=t||{},e.replace(L,((e,o)=>{let i=null,l=!1;o.indexOf("=")>0&&(n=o.split("="),o=n[0],l=3===n.length,i=l?a.dothrow?n[2]:null:n[1]);const r=o.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)||i;if(null==f&&a.dothrow)throw new Error("Parameter "+d+(u.length?"/"+u.join("/"):"")+" is required");return null==f&&(f=a.hasOwnProperty("defvalue")?a.defvalue:"$"+s+(l?"=="+n[2]:"")+"$"),c&&O[c]&&(f=O[c](f)),a.unescape&&(f=unescape(f)),a.encode?escape(f):f}))}const P=function(e,t){if(!t)return e;try{const a=t.split("/");let n=e;for(const e in a)if(n=n[a[e]],!n){n=null;break}return n}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,a)=>z(e,t,{encode:a,defvalue:""}),tokenizeStrict:j,tokenizeObject:function e(t,a,n,o){const i=n?j:D,l=o?{}:t;if("string"==typeof t)return i(t,a);if("object"==typeof t){if(t.length){const o=[];for(const i of t)o.push(e(i,a,n,!0));return o}for(const o of Object.keys(t)){const r=t[o];l[o]="object"==typeof r?e(r,a,n,!0):"string"==typeof r?i(t[o],a):r}}return l},tokenizeKeep:D,tokenizeWithDefault:(e,t,a)=>z(e,t,null==a?null:{defvalue:a}),tokenizeUrl:function(e,t,a){a=a||{};const{message:n,getTitle:o,defaultTitle:i}=a,l=i||"Url",r="string"==typeof e?i:"object"==typeof e&&e.id&&e.id||l;if(o)return r;const s="string"==typeof e?e:"object"==typeof e&&e.url?e.url:null;try{return j(s,t||{},"...")}catch(e){return console.log("[TOKENIZER]",e.message),n||"(not enough parameters)"}},getPointedData:P,sanitizeFilename:F,generateFilename:(e,t=void 0)=>{const a=parseInt(md5(e).substring(24),16).toString(32);return(t?F(t)+"-":"")+a}};function $(t,a,n,o=!1){let i;return"function"==typeof o&&(i=o,o=!1),new Promise((l=>{const r=n.map(((e,t)=>({caption:e,onclick:()=>l({idx:t,name:e})})));!function(t,a,n=["CANCEL","OK"],o={}){N(e({view:()=>[...t?[e("h3",t)]:[],...a?[e("h4",a)]:[],e(".container",n.map((t=>e("button",{onclick:()=>{document.getElementById("modal-container").style.display="none",t.onclick&&t.onclick(t.caption)}},t.caption||"OK"))))]},{}),o.onCancel||!o.noCancel)}(t,a,r,{onCancel:i,noCancel:o})}))}function H(t,a,n,o){return new Promise((l=>{function r(e){N(null);try{l(e)}catch(e){}}const s=((e,t)=>{const a=[];if(t)for(const e of Object.keys(t))t[e]&&a.push("."+e);return(e||"")+a.join("")})(".popup.flexcol",{".favlist":(o=o||{}).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 n=e.target.getAttribute("data-action");n?r({domItem:t,item:a,action:n}):N(null)}},[...a.title?[e("h3",{id:"modaltitle"},a.title)]:[],...n.map((n=>"text"===n.type?e("input.action",{value:n.value||"",type:"text",placeholder:n.hint||"",oncreate:({dom:e})=>e.focus(),onkeyup:e=>{27===e.keyCode&&r({domItem:t,item:a,action:n})},onchange:e=>{e.target.blur(),r({domItem:t,item:a,action:n,value:e.target.value})}}):e(i,{...n,onclick:()=>r({domItem:t,item:a,action:n})},n.caption)))])}),!0)}))}function V(e,t,a=void 0,n="YES",o="NO"){Y(e,[o,n],a).then((e=>{e?t(e):a&&a()})).catch((()=>{a&&a()}))}function Y(e,t=["NO","YES"],a="cancelled"){return new Promise(((n,o)=>{$(null,e,t,(()=>o(new Error(a)))).then((({idx:e})=>{e>=0?n(e):o(new Error(a))}))}))}const q=p((({attrs:t,state:a})=>e((t.unit||"")+".flexrow"+(t.subline?" withsubline":""),{class:t.class,text:t.text,title:t.title||null,onclick:()=>{a.checked=!a.checked,t.onchange&&t.onchange(a.checked),e.redraw()}},t.right?[...t.text?[e("span.grows.caption",t.subline?{"data-subline":t.subline}:{},t.text)]:[],e(o,{iconClass:"pad-2 pad-h",icon:a.checked?"toggle-on":"toggle-off"})]:[e(o,{iconClass:"pad-2 pad-h",icon:a.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:a})=>{t.checked!==a.original&&(a.checked=a.original=t.checked,e.redraw())})),W=window.structuredClone?window.structuredClone:e=>JSON.parse(JSON.stringify(e));function G(t,a,n={}){const{title:o,field:i,icon:l,textNew:r,textHint:s,resolve:c}=n,u=Array.isArray(t)?t.map((e=>({icon:l,caption:i?e[i]:e,onClick:t=>a(e,t)}))):Object.keys(t).map((e=>({icon:t[e].icon||l,caption:t[e].caption||e,onClick:n=>a(c&&void 0!==t[e].value?t[e].value:t[e],n)})));Array.isArray(t)&&!t.length?d.add("No items available"):H(document.body,{title:o},[...r&&!i?[{icon:"plus",caption:r,onClick:()=>U(r,"",s,(t=>{t&&t&&t.trim()&&(a(t),e.redraw())}))}]:[],...u]).then((({action:e})=>e.onClick())).finally((()=>{}))}function U(e,t,a,n,o={}){setTimeout((()=>H(document.body,{title:e},[{type:"text",hint:a,value:t}]).then((({value:e})=>(o.refreshKey=String(Date.now()),n(e))))),100)}const X=[["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]],Z=p((({attrs:t})=>e("h2.marg-2.no-marg-bottom",t.title))),J=p((({attrs:t})=>{const{type:a="changes",meta:n,onInput:o,title:i,options:r}=t,s=n.title?.trim().length&&n.description?.trim().length,c=r&&r.embedded;return e(".flexcol.grows.ohidden.fadein",[...t.title?[e(Z,{title:i})]:[],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":a+" name"},e(C,{class:"pad-2 pad-xh "+(s?"valid":"invalid"),value:n.title,maxlength:64,onchange:t=>{n.title=t,e.redraw()}})),...c?[]:[e(".col-12.witharia.pad-1.pad-v",{"aria-label":"description"},e(C,{class:"pad-2 pad-xh "+(n.description?"valid":"invalid"),value:n.description,maxlength:240,multi:!0,alwaysmulti:!0,onchange:t=>{n.description=t,e.redraw()}})),e(".col-8.witharia.pad-1.pad-v",{"aria-label":"tags"},e(C,{class:"pad-2 pad-xh",value:n.tags,maxlength:128,onchange:e=>{n.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:n.ytref||"",hint:"YouTube ID",maxlength:16,onchange:e=>{(e=e.trim())?-1===e.indexOf(" ")&&(n.ytref=e.trim()):delete n.ytref}}))],e(".col-4.witharia.pad-1.pad-v",{"aria-label":"content attribution"},e(C,{class:"pad-2 pad-xh",value:n.author,hint:"author name",maxlength:128,onchange:e=>{n.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:n.link,maxlength:128,onchange:e=>{n.link=e}})),e(".col-4.witharia.pad-1.pad-v",{"aria-label":"source domain"},e(C,{class:"pad-2 pad-xh",value:n.source,hint:"example.com",maxlength:128,onchange:e=>{n.source=e}})),e(".col-12.al-right.marg-2.marg-v",e(l,{class:"noshrink accentbutton unitheightsmall col-4",text:"save "+a,onClick:()=>{n.title?.trim().length&&(c||n.description?.trim().length)?(N(null),o(n)):d.add("Information is incomplete or invalid")}}))])])})),Q=p((({attrs:t})=>{const{parameters:a,preset:n,presetComponents:o,types:i,globalData:r,fetcher:s}=t,c=[],u=[],h=i?X:X.filter((e=>{const[,t,o,i,l]=e,s=t?n[t]:n,d=l?r:a,h=t?d[t]:d;let f=!1;if(o.length){for(const e of o)s&&void 0!==s[e]&&(f=c[i]=!0),void 0!==h[e]&&(f=u[i]=!0);return f}return f=!0,u[i]=!!h,c[i]=!!s,f}));return e("ul.flexrow.wrap.userdialog",h.length?h.map((h=>{const[f,p,m,g,v,y]=h,b=i?void 0:p?n[p]:n,w=v?r:a,x=i?void 0:p?w[p]:w,C=i||c[g],k=u[g];return[...o?[e(q,{title:`Include ${h[0]} in snapshots`,class:"grows unitheightsmall"+(o[g]?" accent":""),checked:!!o[g],onchange:a=>{o[g]=!o[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&&!n[p]&&(n[p]={});const e=p?n[p]:n;for(const t of m)if(void 0!==x[t]){const a=y&&s?s(e[t],g):x[t];e[t]=W(a)}}else if(0===m.length&&p&&void 0!==x){const e=y&&s?s(x,g):x;n[p]=W(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 n[p];t.redraw&&t.redraw()})()})],e(".flexbreak")]})):e("h3","Preset is Empty"))}));var ee=Object.freeze({__proto__:null,choose:function(e,t={icon:"circle",onSelect:()=>{}}){const{icon:a,title:n,field:o,onSelect:i,parser:l=e=>e}=t,r=e.map(((e,t)=>({icon:o&&e.icon||a,caption:l(o?e[o]:e,e),onClick:a=>i(e,a,t)})));Array.isArray(e)&&!e.length?d.add("No items available"):H(document.body,{title:n},r).then((({action:e})=>e.onClick()))},promptEntity:(t,a,n,o={})=>new Promise(((i,l)=>{N(e(J,{meta:t,type:n,title:a,options:o,onInput:e=>i(e)}),(()=>{l(new Error("cancelled"))}))})),promptName:U,promptOptions:G,promptPreset:(t,a,n={})=>new Promise(((o,i)=>{N((()=>e(Q,{...n,preset:t,parameters:a,redraw:()=>N.redraw()})),(()=>{i(new Error("cancelled"))}))}))});const te=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:a,itemsKey:n,itemsText:o,field:i,onchange:l,textNew:r,textHint:s,resolve:c,icon:u}=e,d="function"==typeof a?a():a;G(n?"function"==typeof n?n():d[n]||[]:d,l,{title:t,field:i,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:a=>{const{field:n}=t;if(!t.confirm||a.shiftKey||a.metaKey||a.ctrlKey||a.altKey)t.onchange(n?void 0:"",a);else{const e="function"==typeof t.confirm?t.confirm():t.confirm;e?V(e,(()=>{t.onchange(n?void 0:"",a)})):t.onchange(n?void 0:"",a)}e.redraw()},icon:t.removeIcon||"times",title:t.removeHint||"remove this item"})]:[]])]))),ae=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 a;e.exports=(a=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 a=o(t.class||"",t.parent),i=o("pointer",a);return o("shape shape1",i),o("shape shape2",i),o("bg bg1",a),o("bg bg2",a),e(a,n(t.cbs,i)),{background:a,pointer:i}}function a(t){var a=o(t.class,t.parent),i=o("pointer",a);return o("shape",i),o("bg",a),e(a,n(t.cbs,i)),{background:a,pointer:i}}return e.xyslider=t,e.slider=a,e;function n(e,t){var a={};for(var n in e)a[n]=o(e[n]);function o(e){return function(a){a.pointer=t,e(a)}}return a}function o(e,t){return i("div",e,t)}function i(e,t,a){var n=document.createElement(e);return t&&(n.className=t),a.appendChild(n),n}function l(e,t,a,n,o){var i=(t=c(t)).begin,l=t.change,u=t.end;r(e,a,(function(t){var a=f(h,l,e);function c(){s(document,n,a),s(document,o,c),h(u,e,t)}r(document,n,a),r(document,o,c),h(i,e,t)}))}function r(e,t,a){var n=!1;try{var o=Object.defineProperty({},"passive",{get:function(){n=!0}});window.addEventListener("testPassive",null,o),window.removeEventListener("testPassive",null,o)}catch(e){}e.addEventListener(t,a,!!n&&{passive:!1})}function s(e,t,a){e.removeEventListener(t,a,!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},a=e.cursor},change:function(e){u(e.elem,"left",t.x+e.cursor.x-a.x+"px"),u(e.elem,"top",t.y+e.cursor.y-a.y+"px")},end:d};var t,a}function u(e,t,a){e.style[t]=a}function d(){}function h(e,t,a){a.preventDefault();var n=p(t),o=t.clientWidth*(window.SCALE||1),i=t.clientHeight*(window.SCALE||1),l={x:m(t,a),y:g(t,a)},r=(l.x-n.x)/o,s=(l.y-n.y)/i;e({x:isNaN(r)?0:r,y:isNaN(s)?0:s,cursor:l,elem:t,e:a})}function f(e){var t=Array.prototype.slice,a=t.apply(arguments,[1]);return function(){return e.apply(null,a.concat(t.apply(arguments)))}}function p(e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top}}function m(e,t){var a=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(a.clientX)}function g(e,t){var a=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(a.clientY)}}(),a)})),a=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 n=t.toLowerCase();e.namedColors[n]&&(t="#"+e.namedColors[n]),"transparent"===n&&(t="rgba(0,0,0,0)");var l=t.match(i);if(l){var r=l[1].toUpperCase(),s=a(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(a(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\\("+o.source+","+o.source+","+o.source+","+o.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=[],a=function(e){return void 0===e},n=/\s*(\.\d+|\d+(?:\.\d+)?)(%)?\s*/,o=/\s*(\.\d+|100|\d?\d(?:\.\d+)?)%\s*/,i=new RegExp("^(rgb|hsl|hsv)a?\\("+n.source+","+n.source+","+n.source+"(?:,"+/\s*(\.\d+|\d+(?:\.\d+)?)\s*/.source+")?\\)$","i");e.namedColors={},e.installColorSpace=function(n,o,i){function l(t,a){var n={};for(var o in n[a.toLowerCase()]=function(){return this.rgb()[a.toLowerCase()]()},e[a].propertyNames.forEach((function(e){var t="black"===e?"k":e.charAt(0);n[e]=n[t]=function(t,n){return this[a.toLowerCase()]()[e](t,n)}})),n)n.hasOwnProperty(o)&&void 0===e[t].prototype[o]&&(e[t].prototype[o]=n[o])}e[n]=function(e){var t=Array.isArray(e)?e:arguments;o.forEach((function(e,a){var i=t[a];if("alpha"===e)this._alpha=isNaN(i)||i>1?1:i<0?0:i;else{if(isNaN(i))throw new Error("["+n+"]: Invalid color: ("+o.join(",")+")");"hue"===e?this._hue=i<0?i-Math.floor(i):i%1:this["_"+e]=i<0?0:i>1?1:i}}),this)},e[n].propertyNames=o;var r=e[n].prototype;for(var s in["valueOf","hex","hexa","css","cssa"].forEach((function(e){r[e]=r[e]||("RGB"===n?r.hex:function(){return this.rgb()[e]()})})),r.isColor=!0,r.equals=function(e,t){a(t)&&(t=1e-10),e=e[n.toLowerCase()]();for(var i=0;i<o.length;i+=1)if(Math.abs(this["_"+o[i]]-e["_"+o[i]])>t)return!1;return!0},r.toJSON=function(){return[n].concat(o.map((function(e){return this["_"+e]}),this))},i)if(i.hasOwnProperty(s)){var c=s.match(/^from(.*)$/);c?e[c[1].toUpperCase()].prototype[n.toLowerCase()]=i[s]:r[s]=i[s]}return r[n.toLowerCase()]=function(){return this},r.toString=function(){return"["+n+" "+o.map((function(e){return this["_"+e]}),this).join(", ")+"]"},o.forEach((function(e){var t="black"===e?"k":e.charAt(0);r[e]=r[t]=function(t,a){return void 0===t?this["_"+e]:a?new this.constructor(o.map((function(a){return this["_"+a]+(e===a?t:0)}),this)):new this.constructor(o.map((function(a){return e===a?t:this["_"+a]}),this))}})),t.forEach((function(e){l(n,e),l(e,n)})),t.push(n),e},e.pluginList=[],e.use=function(t){return-1===e.pluginList.indexOf(t)&&(this.pluginList.push(t),t(e)),e},e.installMethod=function(a,n){return t.forEach((function(t){e[t].prototype[a]=n})),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},a=t(this._red),n=t(this._green),o=t(this._blue);return new e.XYZ(.4124564*a+.3575761*n+.1804375*o,.2126729*a+.7151522*n+.072175*o,.0193339*a+.119192*n+.9503041*o,this._alpha)},rgb:function(){var t=this._x,a=this._y,n=this._z,o=function(e){return e>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e};return new e.RGB(o(3.2404542*t+-1.5371385*a+-.4985314*n),o(-.969266*t+1.8760108*a+.041556*n),o(.0556434*t+-.2040259*a+1.0572252*n),this._alpha)},lab:function(){var t=function(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29},a=t(this._x/95.047),n=t(this._y/100),o=t(this._z/108.883);return new e.LAB(116*n-16,500*(a-n),200*(n-o),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},a=(this._l+16)/116,n=this._a/500+a,o=a-this._b/200;return new e.XYZ(95.047*t(n),100*t(a),108.883*t(o),this._alpha)}})},c=function(e){e.installColorSpace("HSV",["hue","saturation","value","alpha"],{rgb:function(){var t,a,n,o=this._hue,i=this._saturation,l=this._value,r=Math.min(5,Math.floor(6*o)),s=6*o-r,c=l*(1-i),u=l*(1-s*i),d=l*(1-(1-s)*i);switch(r){case 0:t=l,a=d,n=c;break;case 1:t=u,a=l,n=c;break;case 2:t=c,a=l,n=d;break;case 3:t=c,a=u,n=l;break;case 4:t=d,a=c,n=l;break;case 5:t=l,a=c,n=u}return new e.RGB(t,a,n,this._alpha)},hsl:function(){var t,a=(2-this._saturation)*this._value,n=this._saturation*this._value,o=a<=1?a:2-a;return t=o<1e-9?0:n/o,new e.HSL(this._hue,t,a/2,this._alpha)},fromRgb:function(){var t,a=this._red,n=this._green,o=this._blue,i=Math.max(a,n,o),l=i-Math.min(a,n,o),r=0===i?0:l/i,s=i;if(0===l)t=0;else switch(i){case a:t=(n-o)/l/6+(n<o?1:0);break;case n:t=(o-a)/l/6+1/3;break;case o:t=(a-n)/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,a=2*this._lightness,n=this._saturation*(a<=1?a:2-a);return t=a+n<1e-9?0:2*n/(a+n),new e.HSV(this._hue,t,(a+n)/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,a=this._green,n=this._blue,o=1-t,i=1-a,l=1-n,r=1;return t||a||n?(o=(o-(r=Math.min(o,Math.min(i,l))))/(1-r),i=(i-r)/(1-r),l=(l-r)/(1-r)):r=1,new e.CMYK(o,i,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(),a=.3*t._red+.59*t._green+.11*t._blue;return new e.RGB(a,a,a,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,a){t=e(t).rgb();var n=2*(a=1-(isNaN(a)?.5:a))-1,o=this._alpha-t._alpha,i=((n*o==-1?n:(n+o)/(1+n*o))+1)/2,l=1-i,r=this.rgb();return new e.RGB(r._red*i+t._red*l,r._green*i+t._green*l,r._blue*i+t._blue*l,r._alpha*a+t._alpha*(1-a))}))},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(),a=e(e).rgb(),n=new e.RGB(0,0,0,t._alpha),o=["_red","_green","_blue"];return o.forEach((function(e){t[e]<1e-10?n[e]=t[e]:t[e]>a[e]?n[e]=(t[e]-a[e])/(1-a[e]):t[e]>a[e]?n[e]=(a[e]-t[e])/a[e]:n[e]=0})),n._red>n._green?n._red>n._blue?t._alpha=n._red:t._alpha=n._blue:n._green>n._blue?t._alpha=n._green:t._alpha=n._blue,t._alpha<1e-10||(o.forEach((function(e){t[e]=(t[e]-a[e])/t._alpha+a[e]})),t._alpha*=n._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)}()})),n=i(o,"div");function o(e,t,a){var n=document.createElement(e);return n.className=t,a.appendChild(n),n}function i(e){var t=Array.prototype.slice,a=t.apply(arguments,[1]);return function(){return e.apply(null,a.concat(t.apply(arguments)))}}function l(e,t,a){return Math.min(Math.max(e,t),a)}var r={clamp:l,e:o,div:n,partial:i,labelInput:function(e,t,a,i){var l="colorPickerInput"+Math.floor(1001*Math.random()),r=n(e,a),s=function(e,t,a){var n=o("label","",t);n.innerHTML=e,a&&n.setAttribute("for",a);return n}(t,r,l),c=function(e,t,a,n){var i=o("input","",t);i.type=e,a&&(i.maxLength=a);n&&i.setAttribute("id",n);a&&(i.maxLength=a);return i}("text",r,i,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),a=r.div("currentColor",t);return{change:function(e){r.BG(a,e.cssa())}}},fields:function(e,t,a){var n=a.space,o=a.limit||255,i=a.fix>=0?a.fix:0,l=(""+o).length+i;l=i?l+1:l;var s=n.split(""),c="A"==n[n.length-1];if(n=c?n.slice(0,-1):n,["RGB","HSL","HSV","CMYK"].indexOf(n)<0)return console.warn("Invalid field names",n);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=[n];d.forEach((function(t){e.push(t.e.input.value/o)})),c||e.push(t.getAlpha()),t.set(e)}return{change:function(e){d.forEach((function(t){t.e.input.value=(e[t.name]()*o).toFixed(i)}))}}},hex:function(e,t,a){var n=r.labelInput("hex",a.label||"",e,7);return n.input.value="#",n.input.onkeyup=function(e){var a=e.keyCode||e.which,n=e.target.value;n=function(e,t,a){for(var n=e,o=e.length;o<t;o++)n+=a;return n}(n="#"==n[0]?n:"#"+n,7,"0"),13==a&&t.set(n)},n.input.onblur=function(e){t.set(e.target.value),t.done()},{change:function(e){n.input.value="#"==n.input.value[0]?"#":"",n.input.value+=e.hex().slice(1)}}},alpha:function(e,a){var n=t.slider({parent:e,class:"oned alpha chequered",cbs:{begin:o,change:o,end:function(){a.done()}}});function o(e){var t=r.clamp(e.y,0,1);r.Y(e.pointer,t),a.setAlpha(1-t)}return{change:function(e){r.Y(n.pointer,1-e.alpha())}}},close:function(e,t,a){var n=r.e("a",a.class||"close",e);n.href="#",n.innerHTML=a.label||"Close",n.onclick=function(e){e.preventDefault(),t.hide()}}},c=function(e){return a=m,(n=[e.init,e.xy,e.z]).map(a).filter(g).length!=n.length?console.warn("colorjoe: missing cb"):function(a,n,o){return function(e){if(!e.e)return console.warn("colorjoe: missing element");var a=function(e){return"string"==typeof e}(e.e)?document.getElementById(e.e):e.e;a.className="colorPicker";var n=e.cbs,o=t.xyslider({parent:a,class:"twod",cbs:{begin:i,change:i,end:g}});function i(e){d=n.xy(d,{x:r.clamp(e.x,0,1),y:r.clamp(e.y,0,1)},o,l),m()}var l=t.slider({parent:a,class:"oned",cbs:{begin:s,change:s,end:g}});function s(e){d=n.z(d,r.clamp(e.y,0,1),o,l),m()}var u=h(e.color),d=n.init(u,o,l),p={change:[],done:[]};function m(e){e=f(e)?e:[];for(var t,a=p.change,n=0,o=a.length;n<o;n++)t=a[n],-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:a,done:function(){return g(),this},update:function(e){return m(e),this},hide:function(){return a.style.display="none",this},show:function(){return a.style.display="",this},get:function(){return d},set:function(e){var t=this.get();return d=n.init(h(e),o,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,a){return"change"==e||"done"==e?p[e].push({name:a,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,a){if(!a)return;var n,o,i,l=r.div("extras",e);a.forEach((function(e,a){f(e)?(o=e[0],i=e.length>1?e[1]:{}):(o=e,i={});var r=o in c.extras?c.extras[o]:null;if(r)for(var s in n=r(l,function(e,t){var a=function(e){var t={};for(var a in e)t[a]=e[a];return t}(e);return a.update=function(){e.update([t])},a}(t,o+a),i),n)t.on(s,n[s],o)}))}(a,v,e.extras),m(),v}({e:a,color:n,cbs:e,extras:o})};var a,n};for(var u in c.rgb=c({init:function(e,t,n){var o=a(e).hsv();return this.xy(o,{x:o.saturation(),y:1-o.value()},t,n),this.z(o,o.hue(),t,n),o},xy:function(e,t,a){return r.X(a.pointer,t.x),r.Y(a.pointer,t.y),e.saturation(t.x).value(1-t.y)},z:function(e,t,a,n){return r.Y(n.pointer,t),d(a.background,t),e.hue(t)}}),c.hsl=c({init:function(e,t,n){var o=a(e).hsl();return this.xy(o,{x:o.hue(),y:1-o.saturation()},t,n),this.z(o,1-o.lightness(),t,n),o},xy:function(e,t,a,n){return r.X(a.pointer,t.x),r.Y(a.pointer,t.y),d(n.background,t.x),e.hue(t.x).saturation(1-t.y)},z:function(e,t,a,n){return r.Y(n.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 a.HSV(t,1,1).cssa())}function h(e){if(!p(e))return a("#000");if(e.isColor)return e;var t=a(e);return t||(p(e)&&console.warn("Passed invalid color to colorjoe, using black instead"),a("#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=a,v}(),ne=p((()=>e(".colorjoe-frame.absolute")),null,(({attrs:e,dom:t})=>{window.SCALE=1,e.state.joe=(e.hsl?ae.hsl:ae.rgb)(t,e.color,e.noalpha?[]:["alpha"]),e.state.joe.on("change",(t=>{e.onColor(e.noalpha?t.css():t.cssa(),t)})).update()})),oe=[],ie=p((({attrs:t,state:a,children:n})=>e(".colorjoe-popper.flexcol",{class:t.noalpha?"no-alpha":""},[e(ne,{...t,state:a}),...n,e(".flexrow.extended.w-100.scaff-top.pad-2.wrap",[[0,1,2,3,4,5,6,7,8].map((n=>e("button.scaff.scaff-b1.marg-1.unitheightsmall.grows",{class:oe[n]?"":"chequered",style:{...oe[n]&&{backgroundColor:oe[n]}},onclick:o=>{o.shiftKey?oe[n]=a.joe.get().css():oe[n]&&a.joe.set(oe[n]),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(a.joe.get())})]:[]])]))),le=p((t=>{const{attrs:a,state:n}=t;return[e(".colorjoe-cell.chequered",{class:(a.class||"")+(n.shown?" open":""),title:a.title,...a.style&&{style:a.style}},[e(".inset",{style:{backgroundColor:n.color},...a.caption&&{"data-caption":a.caption,class:"titled"},onclick:n=>{a.onshiftclick&&(n.shiftKey||n.ctrlKey)?a.onshiftclick():(t=>{N((()=>e(ie,{noalpha:t.attrs.noalpha,color:t.state.color,hsl:t.attrs.hsl,onColor:(a,n)=>{t.state.color=a,t.attrs.onchange&&t.attrs.onchange(a,n),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:a})=>{a.original!==t.color&&(a.original=t.color,a.color=a.original||"rgba(0,0,0,0)",e.redraw())})),re=[255,255,255,1];
|
|
1
|
+
import e from"mithril";function t(e,t,a,n,i){return{...e&&{view:e},...t&&{oninit:t},...a&&{oncreate:a},...i&&{onupdate:i},...n&&{onremove:n}}}function a(e,t,a){const n=("function"==typeof e?e(t):e)||{};return a&&(n.initialParams=a),n}const n=({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:a,children:n})=>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||"")+(a.busy?" busy":""),...a.error&&{"data-error":a.error.message},...t.onclick&&{onclick:n=>{clearTimeout(a.debounce),a.debounce=setTimeout((()=>{const i=t.onclick(n,t);i&&i.then&&i.catch&&(a.busy=!0,e.redraw(),i.then((()=>{a.busy=!1,e.redraw()})).catch((t=>{a.busy=!1,a.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)]:[],...n])},r={view:({attrs:t,state:a,children:n})=>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||"")+(a.busy?" busy":""),...a.error&&{"data-error":a.error.message},...t.onClick&&{onclick:n=>{clearTimeout(a.debounce),a.debounce=setTimeout((()=>{const i=t.onClick(n,t);i&&i.then&&i.catch&&(a.busy=!0,e.redraw(),i.then((()=>{a.busy=!1,e.redraw()})).catch((t=>{a.busy=!1,a.error=t,e.redraw()})))}),25)}}},[...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})]:[],...n])},l={view:({attrs:t,children:a})=>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,a,n)=>1===n.length?t:e("p.msg"+a,t))))]:[],...a?[e(".flexcol.additional",a)]:[]])},s=(t,a,n,i)=>{const o=a.currentIndex,r=a.currentParams;-1===n?Object.assign(a,{current:null,currentIndex:-1,currentParams:[]}):Object.assign(a,{current:t.items[n]||null,currentIndex:a.current?n:-1,currentParams:i||[]}),t.onSelected&&t.onSelected(a.current,a.currentParams,a.currentIndex!==o,r),e.redraw()},c={oninit:({attrs:e,state:t})=>{(t=e.state||t).setItem=(a,...n)=>s(e,e.state||t,a,n);const a=!isNaN(t.currentIndex)?t.currentIndex:e.selected,n=e.items&&e.items.length?void 0!==a&&e.items[a]?a:e.noinitial?-1:0:-1,i=-1!==n?e.items[n]:null;Object.assign(t,{currentIndex:n,current:i})},onupdate:({attrs:e,state:t})=>{(e.state||t).setItem=(a,...n)=>s(e,e.state||t,a,n)},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,a)=>e(o,{class:(t.class?t.class+" ":"")+(n(i,a)?"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(a))}}))))],...s?[...t.toggle&&!i.bodyHidden?[e(r,{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,a(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(l,t)])}},u={info:"info",error:"exclamation-triangle",success:"check"};const d=new function(t=5e3,a){let n,i=[];function r(){const l=a||document.getElementById("notification-container");if(i.length){const a=i.splice(0,1)[0];!function(t,a){e.render(t,e(o,{class:"notification "+a.type,text:a.text,icon:u[a.type]||"info",size:1,role:"status",onclick:r}))}(l,a),clearTimeout(n),n=setTimeout(r,a.timer||t)}else e.render(l,""),n=null}return{add:(e,t)=>{i.push({text:e,type:t}),n||r()},clear:()=>{i=[],r()}}},h={};const f=t((({attrs:t,state:a,children:n})=>{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:T="fa-chevron-down"}=t,_=!i&&(o?!h[o]:!!a.collapsed),I=_?y?y(t,a):[]:v?v(t,a):n||[],E=b?e(b,w||{}):s?e("span.ellipsis.ohidden.unfold",s):void 0,A=g?"fa-sync":`${T} ${_?"iscollapsed":"isexpanded"}`;return I.length||!t.skipEmpty?e(m||"ul",{class:"cardie ohidden "+(p?"flexcol ":"flexrow wrap ")+(t.class?" "+t.class:"")+(i?" expanded":" "+(_?"collapsed "+(d||""):"expanded "+(f||"")))+(l?" marg-"+l:"")+(b?" withwidget":"")+(g?" busycard":"")},[...E?[e(".title.grows.fabf.flexrow.pointer.unfold",i?{class:x||"pad-2"}:{class:`${x||"pad-2"} ${A||""}`,title:_?M||"Click to expand the options":k||M||"Click to collapse the options",onclick:n=>{n.target.classList.contains("unfold")&&(n.shiftKey&&t.onShiftOpen?t.onShiftOpen():t.cardid?function(e,t=0){if(e){const[a,n]=e.split("-");t&&a&&n&&Object.keys(h).forEach((e=>{e.startsWith(a+"-")&&(h[e]=0)})),h[e]=t}}(o,_):a.collapsed=!a.collapsed,e.redraw())}},!c||!i&&_?u&&_?[e(r,u),E]:E:[e(r,c),E])]:[],...I.length?[e(".flexbreak"),e(".cardiebody.fadein-filter.grows",{class:(p?"flexcol ":"flexrow wrap")+" "+(C||"")},...I)]:[],...t.alwaysView?[t.alwaysView({attrs:t,state:a})]:[]]):[]}),(({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,a,n,i){return{...e&&{view:e},...t&&{oninit:t},...a&&{oncreate:a},...i&&{onupdate:i},...n&&{onremove:n}}}const g=p((({attrs:t,children:a})=>e(".separator",{class:t.class||"mini",...t.onClick&&{onclick:t.onClick}},[e("span.grows",t.text),...a||[]]))),v=t((({attrs:t})=>{const{value:a,field:n,toggle:i,element:o,emptyMessage:l,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||l?[...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 l=d[o],s=t.raw&&n?l:l.value,c=(n?s[n]:s)===a;return e(r,{icon:l.icon||void 0,class:"grows scaff-b0 "+(t.buttonClass?t.buttonClass+" ":"rectbutton unitheightsmall ")+(l.class?l.class+" ":"")+(c?"accent":""),title:l.current?l.titleOn||l.title:l.titleOff||l.title,onClick:a=>{t.onchange(i&&c?void 0:l,o,a),e.redraw()}},t.render?t.render(l):l.caption||o)})):[e(".emptychoice.grows.al-center.align-self-center.unitheightsmall",t.emptyMessage)]))]:[]})),y=t((({attrs:t})=>{const{value:a,field:n,element:i,emptyMessage:o,chooseKey:l,chooseDict:s}=t,c=!t.choose&&l&&s?s[l]:t.choose,u=c?c.map((e=>({value:e,caption:e}))):t.choices||{},d=Array.isArray(a)?a:[],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((a=>{const i=u[a],o=t.raw&&n?i:i.value,l=n?o[n]:o,s=d.includes(l);return e(r,{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:n=>{const o=s?d.filter((e=>e!==l)):[...d,l];t.onchange?.(o,i,a,n),e.redraw()}},t.render?t.render(i):i.caption||a)})):[e(".emptychoice.grows.al-center.align-self-center.unitheightsmall",o)])):[]})),b=(e,t,a=!1)=>{if(a||"number"===e.type){const a=e.float?Number.parseFloat(t):Number.parseInt(t,10);return Number.isNaN(a)?void 0:a}return t},w=(e,t,a)=>{const n=t.hasOwnProperty("value")?t.value:e.value;return b(e,n,a)},x={view:t=>{const{attrs:a,state:n}=t;return n.attrs=a,e(".input-static.w-100.ellipsis",{class:(a.onDrag?"withdrag ":"")+(a.staticClass||"grows"),...a.staticTitle&&{title:a.staticTitle},...a.onDrag||{onclick:a.onClick},oncreate:({dom:e,state:n})=>{if(a.onDrag&&!a.readonly){const a=n.hammer=new Hammer.Manager(e,{touchAction:"pan-y"}),i=new Hammer.Pan({direction:Hammer.DIRECTION_VERTICAL}),o=new Hammer.Tap;a.add([i,o]),a.on("tap",(()=>t.state.attrs.onClick())),a.on("panup",(e=>t.state.attrs.onDrag(-1,e.srcEvent))),a.on("pandown",(e=>t.state.attrs.onDrag(1,e.srcEvent))),a.on("panend pancancel",(e=>t.state.attrs.onDrag(0,e.srcEvent)))}a.focus&&e.focus()},onremove:({state:e})=>{e.hammer&&e.hammer.destroy()}},a.value)}},C={view:({attrs:t,state:a})=>{const n=t=>{a.value&&a.showInput&&delete a.showInput,delete a.value,t&&e.redraw()},i=[...!t.multi||t.alwaysmulti||t.type&&"text"!==t.type?[]:[e(r,{icon:a.multi?"angle-double-up":"angle-double-down",class:"pad-2 transp inputaction",onClick:()=>{a.multi=!a.multi,e.redraw()}})],...t.actions?t.actions.map((t=>e(r,{...t,class:"inputaction transp pad-2"}))):[],...t.action?[e(r,{...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&&a.showInput?!a.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},class:(t.class||"")+(t.validator?a.isValid?" bg-ok":" bg-error":""),...t.title&&{title:t.title},value:w(t,a),placeholder:t.hint||"",...t.readonly?{readonly:"readonly"}:{oninput:e=>{a.value=b(t,e.target.value),e.fromoninput=!0,t.validator&&(a.isValid=t.validator(a.value)),t.onchange&&(t.oninput||t.onchange)(a.value,e)},onchange:e=>{t.onchange&&(t.validator&&(a.isValid=t.validator(a.value)),e.enterPressed=a.enterPressed,delete a.enterPressed,t.onchange(b(t,e.target.value),e),t.staticField?n(!0):delete a.value)},onblur:()=>{a.showInput&&n(!0)},onkeyup:e=>{a.showInput&&("Escape"===e.key?n(!0):"Enter"===e.key&&(a.value!==t.value&&a.value||(t.onchange(t.value,e),n(!0))))},onbeforeinput:e=>{"number"===t.subtype&&e.data&&!/^[0-9.\-]$/.test(e.data)&&e.preventDefault()},inputmode:"number"===t.subtype?"decimal":void 0,onkeypress:e=>{a.showInput||"Enter"!==e.key||t.onenter&&t.onenter(e.target.value,e)}}}):e("textarea.w-100",{class:t.class,value:w(t,a),...t.title&&{title:t.title},placeholder:t.hint||"",oninput:e=>{a.value=b(t,e.target.value),t.validator&&(a.isValid=t.validator(a.value)),t.onchange&&(t.oninput||t.onchange)(a.value,e,!0)},onchange:e=>{if(t.onchange){t.validator&&(a.isValid=t.validator(a.value));const i=b(t,e.target.value);n(!1),t.onchange(i,e,!0)}},onblur:()=>{a.showInput&&n(!0)},onkeyup:e=>{"Escape"===e.key&&a.showInput&&n(!1)}}):e(x,{readonly:t.readonly,staticClass:(a.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,a),focus:t.focus,...t.draginc&&!t.readonly&&{onDrag:(n,i)=>{if(n){a.dragging=!0;let e=w(t,a,!0);if(Number.isNaN(e)||void 0===e)return;e+=n*t.draginc,void 0!==t.max&&e>t.max&&(e=t.max),void 0!==t.min&&e<t.min&&(e=t.min),a.value="number"===t.type?e:String(e),t.onchange(a.value,i)}else delete a.dragging,delete a.value,e.redraw()}},...t.readonly||{onClick:()=>{a.showInput=!0,a.value=t.value,e.redraw()}}}),...i.length?[e(".span.actions",i)]:[]]))},oninit:({attrs:e,state:t})=>{if(e.staticField&&e.draginc){const a=w(e,t,!0);t.showInput=Number.isNaN(a)||null==a}}},k=t((({attrs:t,children:a})=>a.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))]:[]]),...a):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:a},n)=>e("option",{...t.state.index===n+(t.offset||0)&&{selected:!0}},a)))};let T;function _(e,t){if(e.groups){t.groups={},t.allItems=[],e.parsed=!0;Object.keys(e.groups).forEach((a=>{t.groups[a]={label:a,len:e.groups[a].length,items:e.groups[a]}}));const a=Object.values(t.groups);a.forEach(((n,i)=>{e.value&&(t.index=0),n.offset=i?a[i-1].offset+a[i-1].len:0,t.allItems=t.allItems.concat(n.items),e.value&&n.items.forEach(((a,i)=>{const o=a.value;(e.parser?e.parser(o):o)===e.value&&(t.index=i+n.offset)}))}))}else if(e.items){t.index=0;for(let a=0,n=e.items.length;a<n;a++){const n=e.items[a].value;if((e.parser?e.parser(n):n)===e.value){t.index=a;break}}t.allItems=e.items}else t.allItems=[]}const I={view:({attrs:t,state:a})=>{const{groups:n}=a;return e("select",{"aria-label":t.caption,class:t.class,oninput:n=>{_(t,a);const i=a.index=n.target.selectedIndex,o=i>=0?a.allItems[i]:null;t.onchange&&o&&t.onchange(o.value,o,i),e.redraw()}},n?Object.values(n).map((t=>e("optgroup",{label:t.label},e(M,{items:t.items,offset:t.offset,state:a})))):e(M,{items:null!=t.items?t.items:[],state:a}))},oninit:({attrs:e,state:t})=>{Object.assign(t,{index:e.index||0,initial:e.value}),_(e,t)},oncreate:()=>{},onupdate:({attrs:t,state:a})=>{const n=void 0!==t.value&&a.initial!==t.value;(!a.groups&&!a.allItems||n)&&(_(t,a),n&&(a.initial=t.value,clearTimeout(T),T=setTimeout((()=>e.redraw()),50)))}};let E;function A(e){"function"==typeof E&&(E(),E=void 0),N.redraw&&(N.redraw(!0),delete N.redraw),e.style.display="none"}function N(t,a=!1,n=".modal-content"){const i=document.getElementById("modal-container");if(i.classList.toggle("iscustom",".modal-content"!==n),a&&(E=a,i.onclick=e=>{"modal-container"===e.target.id&&A(i)}),!t)return N.redraw&&(N.redraw(!0),delete N.redraw),void(null===t?i.style.display="none":A(i));i.style.display="flex",N.redraw=a=>{e.render(i,e(n,{role:"alertdialog","aria-labelledby":"modaltitle","aria-modal":!0},a||!t?[]:["function"==typeof t?t():t]))},N.redraw()}function S(){const e=document.getElementById("modal-container");return"none"!==e.style.display&&(A(e),!0)}const L=/\$([A-Za-z0-9_\/\:\=]+)\$/g,z=(e,t,a)=>O(e,t,{encode:a}),D=(e,t,a,n)=>O(e,t,{encode:a,unescape:n,dothrow:!0}),j={daterel:e=>new Date(e).toISOString()};function O(e,t,a){if(!e)return"";if("string"!=typeof e)return e;let n;return a=a||{},t=t||{},e.replace(L,((e,i)=>{let o=null,r=!1;i.indexOf("=")>0&&(n=i.split("="),i=n[0],r=3===n.length,o=r?a.dothrow?n[2]:null:n[1]);const l=i.split(":"),s=l[0],c=l[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&&a.dothrow)throw new Error("Parameter "+d+(u.length?"/"+u.join("/"):"")+" is required");return null==f&&(f=a.hasOwnProperty("defvalue")?a.defvalue:"$"+s+(r?"=="+n[2]:"")+"$"),c&&j[c]&&(f=j[c](f)),a.unescape&&(f=unescape(f)),a.encode?escape(f):f}))}const P=function(e,t){if(!t)return e;try{const a=t.split("/");let n=e;for(const e in a)if(n=n[a[e]],!n){n=null;break}return n}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,a)=>O(e,t,{encode:a,defvalue:""}),tokenizeStrict:D,tokenizeObject:function e(t,a,n,i){const o=n?D:z,r=i?{}:t;if("string"==typeof t)return o(t,a);if("object"==typeof t){if(t.length){const i=[];for(const o of t)i.push(e(o,a,n,!0));return i}for(const i of Object.keys(t)){const l=t[i];r[i]="object"==typeof l?e(l,a,n,!0):"string"==typeof l?o(t[i],a):l}}return r},tokenizeKeep:z,tokenizeWithDefault:(e,t,a)=>O(e,t,null==a?null:{defvalue:a}),tokenizeUrl:function(e,t,a){a=a||{};const{message:n,getTitle:i,defaultTitle:o}=a,r=o||"Url",l="string"==typeof e?o:"object"==typeof e&&e.id&&e.id||r;if(i)return l;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),n||"(not enough parameters)"}},getPointedData:P,sanitizeFilename:F,generateFilename:(e,t=void 0)=>{const a=parseInt(md5(e).substring(24),16).toString(32);return(t?F(t)+"-":"")+a}};function $(t,a,n,i=!1){let o;return"function"==typeof i&&(o=i,i=!1),new Promise((r=>{const l=n.map(((e,t)=>({caption:e,onclick:()=>r({idx:t,name:e})})));!function(t,a,n=["CANCEL","OK"],i={}){N(e({view:()=>[...t?[e("h3",t)]:[],...a?[e("h4",a)]:[],e(".container",n.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,a,l,{onCancel:o,noCancel:i})}))}function H(t,a,n,i){return new Promise((r=>{function l(e){N(null);try{r(e)}catch(e){}}const s=((e,t)=>{const a=[];if(t)for(const e of Object.keys(t))t[e]&&a.push("."+e);return(e||"")+a.join("")})(".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 n=e.target.getAttribute("data-action");n?l({domItem:t,item:a,action:n}):N(null)}},[...a.title?[e("h3",{id:"modaltitle"},a.title)]:[],...n.map((n=>"text"===n.type?e("input.action",{value:n.value||"",type:"text",placeholder:n.hint||"",oncreate:({dom:e})=>e.focus(),onkeyup:e=>{27===e.keyCode&&l({domItem:t,item:a,action:n})},onchange:e=>{e.target.blur(),l({domItem:t,item:a,action:n,value:e.target.value})}}):e(o,{...n,onclick:()=>l({domItem:t,item:a,action:n})},n.caption)))])}),!0)}))}function V(e,t,a=void 0,n="YES",i="NO"){Y(e,[i,n],a).then((e=>{e?t(e):a&&a()})).catch((()=>{a&&a()}))}function Y(e,t=["NO","YES"],a="cancelled"){return new Promise(((n,i)=>{$(null,e,t,(()=>i(new Error(a)))).then((({idx:e})=>{e>=0?n(e):i(new Error(a))}))}))}const q=p((({attrs:t,state:a})=>e((t.unit||"")+".flexrow"+(t.subline?" withsubline":""),{class:t.class,text:t.text,title:t.title||null,onclick:()=>{a.checked=!a.checked,t.onchange&&t.onchange(a.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:a.checked?"toggle-on":"toggle-off"})]:[e(i,{iconClass:"pad-2 pad-h",icon:a.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:a})=>{t.checked!==a.original&&(a.checked=a.original=t.checked,e.redraw())})),W=window.structuredClone?window.structuredClone:e=>JSON.parse(JSON.stringify(e));function G(t,a,n={}){const{title:i,field:o,icon:r,textNew:l,textHint:s,resolve:c}=n,u=Array.isArray(t)?t.map((e=>({icon:r,caption:o?e[o]:e,onClick:t=>a(e,t)}))):Object.keys(t).map((e=>({icon:t[e].icon||r,caption:t[e].caption||e,onClick:n=>a(c&&void 0!==t[e].value?t[e].value:t[e],n)})));Array.isArray(t)&&!t.length?d.add("No items available"):H(document.body,{title:i},[...l&&!o?[{icon:"plus",caption:l,onClick:()=>U(l,"",s,(t=>{t&&t&&t.trim()&&(a(t),e.redraw())}))}]:[],...u]).then((({action:e})=>e.onClick())).finally((()=>{}))}function U(e,t,a,n,i={}){setTimeout((()=>H(document.body,{title:e},[{type:"text",hint:a,value:t}]).then((({value:e})=>(i.refreshKey=String(Date.now()),n(e))))),100)}const X=[["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]],Z=p((({attrs:t})=>e("h2.marg-2.no-marg-bottom",t.title))),J=p((({attrs:t})=>{const{type:a="changes",meta:n,onInput:i,title:o,options:l}=t,s=n.title?.trim().length&&n.description?.trim().length,c=l&&l.embedded;return e(".flexcol.grows.ohidden.fadein",[...t.title?[e(Z,{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":a+" name"},e(C,{class:"pad-2 pad-xh "+(s?"valid":"invalid"),value:n.title,maxlength:64,onchange:t=>{n.title=t,e.redraw()}})),...c?[]:[e(".col-12.witharia.pad-1.pad-v",{"aria-label":"description"},e(C,{class:"pad-2 pad-xh "+(n.description?"valid":"invalid"),value:n.description,maxlength:240,multi:!0,alwaysmulti:!0,onchange:t=>{n.description=t,e.redraw()}})),e(".col-8.witharia.pad-1.pad-v",{"aria-label":"tags"},e(C,{class:"pad-2 pad-xh",value:n.tags,maxlength:128,onchange:e=>{n.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:n.ytref||"",hint:"YouTube ID",maxlength:16,onchange:e=>{(e=e.trim())?-1===e.indexOf(" ")&&(n.ytref=e.trim()):delete n.ytref}}))],e(".col-4.witharia.pad-1.pad-v",{"aria-label":"content attribution"},e(C,{class:"pad-2 pad-xh",value:n.author,hint:"author name",maxlength:128,onchange:e=>{n.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:n.link,maxlength:128,onchange:e=>{n.link=e}})),e(".col-4.witharia.pad-1.pad-v",{"aria-label":"source domain"},e(C,{class:"pad-2 pad-xh",value:n.source,hint:"example.com",maxlength:128,onchange:e=>{n.source=e}})),e(".col-12.al-right.marg-2.marg-v",e(r,{class:"noshrink accentbutton unitheightsmall col-4",text:"save "+a,onClick:()=>{n.title?.trim().length&&(c||n.description?.trim().length)?(N(null),i(n)):d.add("Information is incomplete or invalid")}}))])])})),Q=p((({attrs:t})=>{const{parameters:a,preset:n,presetComponents:i,types:o,globalData:l,fetcher:s}=t,c=[],u=[],h=o?X:X.filter((e=>{const[,t,i,o,r]=e,s=t?n[t]:n,d=r?l:a,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?n[p]:n,w=v?l:a,x=o?void 0:p?w[p]:w,C=o||c[g],k=u[g];return[...i?[e(q,{title:`Include ${h[0]} in snapshots`,class:"grows unitheightsmall"+(i[g]?" accent":""),checked:!!i[g],onchange:a=>{i[g]=!i[g],e.redraw(),t.redraw&&t.redraw()}}),e(".grows",{class:C?"avail":"unavail"},f)]:[],...t.types?[]:[e(r,{class:"col-3"+(k?"avail":"unavail"),icon:"sync",title:`Copy ${f} from current state`,onClick:()=>{if(m.length){p&&!n[p]&&(n[p]={});const e=p?n[p]:n;for(const t of m)if(void 0!==x[t]){const a=y&&s?s(e[t],g):x[t];e[t]=W(a)}}else if(0===m.length&&p&&void 0!==x){const e=y&&s?s(x,g):x;n[p]=W(e)}t.redraw&&t.redraw(),d.add(`updated ${f} from current scene`)}}),e(r,{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 n[p];t.redraw&&t.redraw()})()})],e(".flexbreak")]})):e("h3","Preset is Empty"))}));var ee=Object.freeze({__proto__:null,choose:function(e,t={icon:"circle",onSelect:()=>{}}){const{icon:a,title:n,field:i,onSelect:o,parser:r=e=>e}=t,l=e.map(((e,t)=>({icon:i&&e.icon||a,caption:r(i?e[i]:e,e),onClick:a=>o(e,a,t)})));Array.isArray(e)&&!e.length?d.add("No items available"):H(document.body,{title:n},l).then((({action:e})=>e.onClick()))},promptEntity:(t,a,n,i={})=>new Promise(((o,r)=>{N(e(J,{meta:t,type:n,title:a,options:i,onInput:e=>o(e)}),(()=>{r(new Error("cancelled"))}))})),promptName:U,promptOptions:G,promptPreset:(t,a,n={})=>new Promise(((i,o)=>{N((()=>e(Q,{...n,preset:t,parameters:a,redraw:()=>N.redraw()})),(()=>{o(new Error("cancelled"))}))}))});const te=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(r,{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:a,itemsKey:n,itemsText:i,field:o,onchange:r,textNew:l,textHint:s,resolve:c,icon:u}=e,d="function"==typeof a?a():a;G(n?"function"==typeof n?n():d[n]||[]:d,r,{title:t,field:o,icon:u,textNew:l,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(r,{class:"clrcombo pad-2 pad-h transp "+(t.closeClass||"scaff-left"),onClick:a=>{const{field:n}=t;if(!t.confirm||a.shiftKey||a.metaKey||a.ctrlKey||a.altKey)t.onchange(n?void 0:"",a);else{const e="function"==typeof t.confirm?t.confirm():t.confirm;e?V(e,(()=>{t.onchange(n?void 0:"",a)})):t.onchange(n?void 0:"",a)}e.redraw()},icon:t.removeIcon||"times",title:t.removeHint||"remove this item"})]:[]])]))),ae=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 a;e.exports=(a=function(){function e(e,t){e?(r(e,t,"touchstart","touchmove","touchend"),r(e,t,"mousedown","mousemove","mouseup")):console.warn("drag is missing elem!")}function t(t){var a=i(t.class||"",t.parent),o=i("pointer",a);return i("shape shape1",o),i("shape shape2",o),i("bg bg1",a),i("bg bg2",a),e(a,n(t.cbs,o)),{background:a,pointer:o}}function a(t){var a=i(t.class,t.parent),o=i("pointer",a);return i("shape",o),i("bg",a),e(a,n(t.cbs,o)),{background:a,pointer:o}}return e.xyslider=t,e.slider=a,e;function n(e,t){var a={};for(var n in e)a[n]=i(e[n]);function i(e){return function(a){a.pointer=t,e(a)}}return a}function i(e,t){return o("div",e,t)}function o(e,t,a){var n=document.createElement(e);return t&&(n.className=t),a.appendChild(n),n}function r(e,t,a,n,i){var o=(t=c(t)).begin,r=t.change,u=t.end;l(e,a,(function(t){var a=f(h,r,e);function c(){s(document,n,a),s(document,i,c),h(u,e,t)}l(document,n,a),l(document,i,c),h(o,e,t)}))}function l(e,t,a){var n=!1;try{var i=Object.defineProperty({},"passive",{get:function(){n=!0}});window.addEventListener("testPassive",null,i),window.removeEventListener("testPassive",null,i)}catch(e){}e.addEventListener(t,a,!!n&&{passive:!1})}function s(e,t,a){e.removeEventListener(t,a,!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},a=e.cursor},change:function(e){u(e.elem,"left",t.x+e.cursor.x-a.x+"px"),u(e.elem,"top",t.y+e.cursor.y-a.y+"px")},end:d};var t,a}function u(e,t,a){e.style[t]=a}function d(){}function h(e,t,a){a.preventDefault();var n=p(t),i=t.clientWidth*(window.SCALE||1),o=t.clientHeight*(window.SCALE||1),r={x:m(t,a),y:g(t,a)},l=(r.x-n.x)/i,s=(r.y-n.y)/o;e({x:isNaN(l)?0:l,y:isNaN(s)?0:s,cursor:r,elem:t,e:a})}function f(e){var t=Array.prototype.slice,a=t.apply(arguments,[1]);return function(){return e.apply(null,a.concat(t.apply(arguments)))}}function p(e){var t=e.getBoundingClientRect();return{x:t.left,y:t.top}}function m(e,t){var a=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(a.clientX)}function g(e,t){var a=t.touches?t.touches[t.touches.length-1]:t;return Math.floor(a.clientY)}}(),a)})),a=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 n=t.toLowerCase();e.namedColors[n]&&(t="#"+e.namedColors[n]),"transparent"===n&&(t="rgba(0,0,0,0)");var r=t.match(o);if(r){var l=r[1].toUpperCase(),s=a(r[8])?r[8]:parseFloat(r[8]),c="H"===l[0],u=r[3]?100:c?360:255,d=r[5]||c?100:255,h=r[7]||c?100:255;if(a(e[l]))throw new Error("color."+l+" is not installed.");return new e[l](parseFloat(r[2])/u,parseFloat(r[4])/d,parseFloat(r[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=[],a=function(e){return void 0===e},n=/\s*(\.\d+|\d+(?:\.\d+)?)(%)?\s*/,i=/\s*(\.\d+|100|\d?\d(?:\.\d+)?)%\s*/,o=new RegExp("^(rgb|hsl|hsv)a?\\("+n.source+","+n.source+","+n.source+"(?:,"+/\s*(\.\d+|\d+(?:\.\d+)?)\s*/.source+")?\\)$","i");e.namedColors={},e.installColorSpace=function(n,i,o){function r(t,a){var n={};for(var i in n[a.toLowerCase()]=function(){return this.rgb()[a.toLowerCase()]()},e[a].propertyNames.forEach((function(e){var t="black"===e?"k":e.charAt(0);n[e]=n[t]=function(t,n){return this[a.toLowerCase()]()[e](t,n)}})),n)n.hasOwnProperty(i)&&void 0===e[t].prototype[i]&&(e[t].prototype[i]=n[i])}e[n]=function(e){var t=Array.isArray(e)?e:arguments;i.forEach((function(e,a){var o=t[a];if("alpha"===e)this._alpha=isNaN(o)||o>1?1:o<0?0:o;else{if(isNaN(o))throw new Error("["+n+"]: 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[n].propertyNames=i;var l=e[n].prototype;for(var s in["valueOf","hex","hexa","css","cssa"].forEach((function(e){l[e]=l[e]||("RGB"===n?l.hex:function(){return this.rgb()[e]()})})),l.isColor=!0,l.equals=function(e,t){a(t)&&(t=1e-10),e=e[n.toLowerCase()]();for(var o=0;o<i.length;o+=1)if(Math.abs(this["_"+i[o]]-e["_"+i[o]])>t)return!1;return!0},l.toJSON=function(){return[n].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[n.toLowerCase()]=o[s]:l[s]=o[s]}return l[n.toLowerCase()]=function(){return this},l.toString=function(){return"["+n+" "+i.map((function(e){return this["_"+e]}),this).join(", ")+"]"},i.forEach((function(e){var t="black"===e?"k":e.charAt(0);l[e]=l[t]=function(t,a){return void 0===t?this["_"+e]:a?new this.constructor(i.map((function(a){return this["_"+a]+(e===a?t:0)}),this)):new this.constructor(i.map((function(a){return e===a?t:this["_"+a]}),this))}})),t.forEach((function(e){r(n,e),r(e,n)})),t.push(n),e},e.pluginList=[],e.use=function(t){return-1===e.pluginList.indexOf(t)&&(this.pluginList.push(t),t(e)),e},e.installMethod=function(a,n){return t.forEach((function(t){e[t].prototype[a]=n})),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 r=e,l=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},a=t(this._red),n=t(this._green),i=t(this._blue);return new e.XYZ(.4124564*a+.3575761*n+.1804375*i,.2126729*a+.7151522*n+.072175*i,.0193339*a+.119192*n+.9503041*i,this._alpha)},rgb:function(){var t=this._x,a=this._y,n=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*a+-.4985314*n),i(-.969266*t+1.8760108*a+.041556*n),i(.0556434*t+-.2040259*a+1.0572252*n),this._alpha)},lab:function(){var t=function(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29},a=t(this._x/95.047),n=t(this._y/100),i=t(this._z/108.883);return new e.LAB(116*n-16,500*(a-n),200*(n-i),this._alpha)}})},s=function(e){e.use(l),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},a=(this._l+16)/116,n=this._a/500+a,i=a-this._b/200;return new e.XYZ(95.047*t(n),100*t(a),108.883*t(i),this._alpha)}})},c=function(e){e.installColorSpace("HSV",["hue","saturation","value","alpha"],{rgb:function(){var t,a,n,i=this._hue,o=this._saturation,r=this._value,l=Math.min(5,Math.floor(6*i)),s=6*i-l,c=r*(1-o),u=r*(1-s*o),d=r*(1-(1-s)*o);switch(l){case 0:t=r,a=d,n=c;break;case 1:t=u,a=r,n=c;break;case 2:t=c,a=r,n=d;break;case 3:t=c,a=u,n=r;break;case 4:t=d,a=c,n=r;break;case 5:t=r,a=c,n=u}return new e.RGB(t,a,n,this._alpha)},hsl:function(){var t,a=(2-this._saturation)*this._value,n=this._saturation*this._value,i=a<=1?a:2-a;return t=i<1e-9?0:n/i,new e.HSL(this._hue,t,a/2,this._alpha)},fromRgb:function(){var t,a=this._red,n=this._green,i=this._blue,o=Math.max(a,n,i),r=o-Math.min(a,n,i),l=0===o?0:r/o,s=o;if(0===r)t=0;else switch(o){case a:t=(n-i)/r/6+(n<i?1:0);break;case n:t=(i-a)/r/6+1/3;break;case i:t=(a-n)/r/6+2/3}return new e.HSV(t,l,s,this._alpha)}})},u=function(e){e.use(c),e.installColorSpace("HSL",["hue","saturation","lightness","alpha"],{hsv:function(){var t,a=2*this._lightness,n=this._saturation*(a<=1?a:2-a);return t=a+n<1e-9?0:2*n/(a+n),new e.HSV(this._hue,t,(a+n)/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,a=this._green,n=this._blue,i=1-t,o=1-a,r=1-n,l=1;return t||a||n?(i=(i-(l=Math.min(i,Math.min(o,r))))/(1-l),o=(o-l)/(1-l),r=(r-l)/(1-l)):l=1,new e.CMYK(i,o,r,l,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(),a=.3*t._red+.59*t._green+.11*t._blue;return new e.RGB(a,a,a,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,a){t=e(t).rgb();var n=2*(a=1-(isNaN(a)?.5:a))-1,i=this._alpha-t._alpha,o=((n*i==-1?n:(n+i)/(1+n*i))+1)/2,r=1-o,l=this.rgb();return new e.RGB(l._red*o+t._red*r,l._green*o+t._green*r,l._blue*o+t._blue*r,l._alpha*a+t._alpha*(1-a))}))},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(),a=e(e).rgb(),n=new e.RGB(0,0,0,t._alpha),i=["_red","_green","_blue"];return i.forEach((function(e){t[e]<1e-10?n[e]=t[e]:t[e]>a[e]?n[e]=(t[e]-a[e])/(1-a[e]):t[e]>a[e]?n[e]=(a[e]-t[e])/a[e]:n[e]=0})),n._red>n._green?n._red>n._blue?t._alpha=n._red:t._alpha=n._blue:n._green>n._blue?t._alpha=n._green:t._alpha=n._blue,t._alpha<1e-10||(i.forEach((function(e){t[e]=(t[e]-a[e])/t._alpha+a[e]})),t._alpha*=n._alpha),t}))};return r.use(l).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)}()})),n=o(i,"div");function i(e,t,a){var n=document.createElement(e);return n.className=t,a.appendChild(n),n}function o(e){var t=Array.prototype.slice,a=t.apply(arguments,[1]);return function(){return e.apply(null,a.concat(t.apply(arguments)))}}function r(e,t,a){return Math.min(Math.max(e,t),a)}var l={clamp:r,e:i,div:n,partial:o,labelInput:function(e,t,a,o){var r="colorPickerInput"+Math.floor(1001*Math.random()),l=n(e,a),s=function(e,t,a){var n=i("label","",t);n.innerHTML=e,a&&n.setAttribute("for",a);return n}(t,l,r),c=function(e,t,a,n){var o=i("input","",t);o.type=e,a&&(o.maxLength=a);n&&o.setAttribute("id",n);a&&(o.maxLength=a);return o}("text",l,o,r);return{label:s,input:c}},X:function(e,t){e.style.left=r(100*t,0,100)+"%"},Y:function(e,t){e.style.top=r(100*t,0,100)+"%"},BG:function(e,t){e.style.background=t}};var s={currentColor:function(e){var t=l.div("currentColorContainer",e),a=l.div("currentColor",t);return{change:function(e){l.BG(a,e.cssa())}}},fields:function(e,t,a){var n=a.space,i=a.limit||255,o=a.fix>=0?a.fix:0,r=(""+i).length+o;r=o?r+1:r;var s=n.split(""),c="A"==n[n.length-1];if(n=c?n.slice(0,-1):n,["RGB","HSL","HSV","CMYK"].indexOf(n)<0)return console.warn("Invalid field names",n);var u=l.div("colorFields",e),d=s.map((function(e){e=e.toLowerCase();var t=l.labelInput("color "+e,e,u,r);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=[n];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,a){var n=l.labelInput("hex",a.label||"",e,7);return n.input.value="#",n.input.onkeyup=function(e){var a=e.keyCode||e.which,n=e.target.value;n=function(e,t,a){for(var n=e,i=e.length;i<t;i++)n+=a;return n}(n="#"==n[0]?n:"#"+n,7,"0"),13==a&&t.set(n)},n.input.onblur=function(e){t.set(e.target.value),t.done()},{change:function(e){n.input.value="#"==n.input.value[0]?"#":"",n.input.value+=e.hex().slice(1)}}},alpha:function(e,a){var n=t.slider({parent:e,class:"oned alpha chequered",cbs:{begin:i,change:i,end:function(){a.done()}}});function i(e){var t=l.clamp(e.y,0,1);l.Y(e.pointer,t),a.setAlpha(1-t)}return{change:function(e){l.Y(n.pointer,1-e.alpha())}}},close:function(e,t,a){var n=l.e("a",a.class||"close",e);n.href="#",n.innerHTML=a.label||"Close",n.onclick=function(e){e.preventDefault(),t.hide()}}},c=function(e){return a=m,(n=[e.init,e.xy,e.z]).map(a).filter(g).length!=n.length?console.warn("colorjoe: missing cb"):function(a,n,i){return function(e){if(!e.e)return console.warn("colorjoe: missing element");var a=function(e){return"string"==typeof e}(e.e)?document.getElementById(e.e):e.e;a.className="colorPicker";var n=e.cbs,i=t.xyslider({parent:a,class:"twod",cbs:{begin:o,change:o,end:g}});function o(e){d=n.xy(d,{x:l.clamp(e.x,0,1),y:l.clamp(e.y,0,1)},i,r),m()}var r=t.slider({parent:a,class:"oned",cbs:{begin:s,change:s,end:g}});function s(e){d=n.z(d,l.clamp(e.y,0,1),i,r),m()}var u=h(e.color),d=n.init(u,i,r),p={change:[],done:[]};function m(e){e=f(e)?e:[];for(var t,a=p.change,n=0,i=a.length;n<i;n++)t=a[n],-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:a,done:function(){return g(),this},update:function(e){return m(e),this},hide:function(){return a.style.display="none",this},show:function(){return a.style.display="",this},get:function(){return d},set:function(e){var t=this.get();return d=n.init(h(e),i,r),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,a){return"change"==e||"done"==e?p[e].push({name:a,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,a){if(!a)return;var n,i,o,r=l.div("extras",e);a.forEach((function(e,a){f(e)?(i=e[0],o=e.length>1?e[1]:{}):(i=e,o={});var l=i in c.extras?c.extras[i]:null;if(l)for(var s in n=l(r,function(e,t){var a=function(e){var t={};for(var a in e)t[a]=e[a];return t}(e);return a.update=function(){e.update([t])},a}(t,i+a),o),n)t.on(s,n[s],i)}))}(a,v,e.extras),m(),v}({e:a,color:n,cbs:e,extras:i})};var a,n};for(var u in c.rgb=c({init:function(e,t,n){var i=a(e).hsv();return this.xy(i,{x:i.saturation(),y:1-i.value()},t,n),this.z(i,i.hue(),t,n),i},xy:function(e,t,a){return l.X(a.pointer,t.x),l.Y(a.pointer,t.y),e.saturation(t.x).value(1-t.y)},z:function(e,t,a,n){return l.Y(n.pointer,t),d(a.background,t),e.hue(t)}}),c.hsl=c({init:function(e,t,n){var i=a(e).hsl();return this.xy(i,{x:i.hue(),y:1-i.saturation()},t,n),this.z(i,1-i.lightness(),t,n),i},xy:function(e,t,a,n){return l.X(a.pointer,t.x),l.Y(a.pointer,t.y),d(n.background,t.x),e.hue(t.x).saturation(1-t.y)},z:function(e,t,a,n){return l.Y(n.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){l.BG(e,new a.HSV(t,1,1).cssa())}function h(e){if(!p(e))return a("#000");if(e.isColor)return e;var t=a(e);return t||(p(e)&&console.warn("Passed invalid color to colorjoe, using black instead"),a("#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=a,v}(),ne=p((()=>e(".colorjoe-frame.absolute")),null,(({attrs:e,dom:t})=>{window.SCALE=1,e.state.joe=(e.hsl?ae.hsl:ae.rgb)(t,e.color,e.noalpha?[]:["alpha"]),e.state.joe.on("change",(t=>{e.onColor(e.noalpha?t.css():t.cssa(),t)})).update()})),ie=[],oe=p((({attrs:t,state:a,children:n})=>e(".colorjoe-popper.flexcol",{class:t.noalpha?"no-alpha":""},[e(ne,{...t,state:a}),...n,e(".flexrow.extended.w-100.scaff-top.pad-2.wrap",[[0,1,2,3,4,5,6,7,8].map((n=>e("button.scaff.scaff-b1.marg-1.unitheightsmall.grows",{class:ie[n]?"":"chequered",style:{...ie[n]&&{backgroundColor:ie[n]}},onclick:i=>{i.shiftKey?ie[n]=a.joe.get().css():ie[n]&&a.joe.set(ie[n]),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(a.joe.get())})]:[]])]))),re=p((t=>{const{attrs:a,state:n}=t;return[e(".colorjoe-cell.chequered",{class:(a.class||"")+(n.shown?" open":""),title:a.title,...a.style&&{style:a.style}},[e(".inset",{style:{backgroundColor:n.color},...a.caption&&{"data-caption":a.caption,class:"titled"},onclick:n=>{a.onshiftclick&&(n.shiftKey||n.ctrlKey)?a.onshiftclick():(t=>{N((()=>e(oe,{noalpha:t.attrs.noalpha,color:t.state.color,hsl:t.attrs.hsl,onColor:(a,n)=>{t.state.color=a,t.attrs.onchange&&t.attrs.onchange(a,n),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:a})=>{a.original!==t.color&&(a.original=t.color,a.color=a.original||"rgba(0,0,0,0)",e.redraw())})),le=[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 se=t((({attrs:t})=>{const{colors:a=[],max:n=8}=t,o=a.length,i=(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,a)=>{let n,o,i;if(0===t)n=o=i=a;else{const l=(e,t,a)=>(a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e),r=a<.5?a*(1+t):a+t-a*t,s=2*a-r;n=l(s,r,e+1/3),o=l(s,r,e),i=l(s,r,e-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*i)]})(e[0],e[1],e[2]).join(",")+","+e[3]+")";return e(".flexrow.wrap.gradient.grows",{class:t.class},[...a.map(((n,o)=>e(le,{class:"grows",color:t.hsl?r(a[o]):i(a[o]),title:"Click to edit, or Shift-click to remove this color from the collection",hsl:t.hsl,onchange:(n,i)=>{let l;if(t.hsl){const e=i.hsl();l=[e.hue(),e.saturation(),e.lightness(),i.a()]}else l=[i.r(),i.g(),i.b(),i.a()];a[o]=l,t.onchange&&t.onchange(a),e.redraw()},onshiftclick:()=>{a.splice(o,1),t.onchange&&t.onchange(a),e.redraw()}}))),...o<n?[e(l,{icon:"plus",class:"unitheightsmall accent bg-window-lo "+(o?"mini":"grows"),title:"Add a new color to the collection, or SHIFT-CLICK to delete all colors",onClick:n=>{n.shiftKey?a.splice(0,a.length):a.push(re),t.onchange&&t.onchange(a),e.redraw()}})]:[]])}));const ce=t((({attrs:t})=>e(".flexrow.wrap.grows",{...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:a=1,min:n=0}=t;let o=t.value||0;Number.isNaN(o)&&(o=0),o-=a,void 0!==n&&o<n&&(o=n),t.onchange(o),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:a=1,max:n=0}=t;let o=t.value||0;void 0!==n&&o===n||(o+=a,t.onchange(o),e.redraw())}})]))),ue=t((({attrs:t,dom:a})=>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:()=>H(a,{title:t.title},t.overflow.items).then((({action:e})=>e.onClick()))})]:[]]))),de=!!navigator.userAgent.match(/iPhone|iPad|iPod/i);let he,fe=!1;function pe(e,t,a){return Math.min(Math.max(e,t),a)}function me(e,t,a,n){if(a-t<=0)return t;if(n<=0)return pe(e,t,a);const o=Math.ceil((a-t)/n);return pe(t+Math.round(o*(e-t)/(a-t))*n,t,a)}function ge(){let t,a,n,o,i,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 a,n;"vertical"===b?(a=l.bottom-l.top,n=l.bottom-t):(a=l.right-l.left,n=e-l.left),n=pe(n,0,a);const o=me(n/a*(g-m)+m,m,g,y);return D(o),o}function x(t,n,o){return h?function(t,n){d=r=!0,l=a.getBoundingClientRect();const o=w(t,n);o!==v&&(v=o,c&&!1!==c(v)&&e.redraw())}(t,n):(i=o,d=!0,r=!1,l=a.getBoundingClientRect(),void(s||i.target.requestPointerLock()));var i,s}function C(e,t,a){return r?w(e,t):function(e,t,a){const n=a.shiftKey?f:a.metaKey||a.ctrlKey?4*f:p;let o,i;o="vertical"===b?a.movementY||0:a.movementX||0;let l=y>0?y:(g-m)/100;if(o<0)i=Math.max(v+l*n*o,m);else{if(!(o>0))return v;i=Math.min(v+l*n*o,g)}return i=me(i,m,g,y),D(i),i}(0,0,a)}function k(e){2!==u&&(u=1,0===e.button&&(window.addEventListener("mousemove",M),window.addEventListener("mouseup",_),x(e.clientX,e.clientY,e)))}function M(e){e.preventDefault(),N(e.clientX,e.clientY,e)}function _(e){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",_),S(e.clientX,e.clientY,e)}function I(e){if(1===u)return;t.addEventListener("touchmove",T),t.addEventListener("touchend",E);const a=e.changedTouches[0];x(a.clientX,a.clientY,e)}function T(e){e.preventDefault();const t=e.changedTouches[0];N(t.clientX,t.clientY,e)}function E(e){t.removeEventListener("touchmove",T),t.removeEventListener("touchend",E);const a=e.changedTouches[0];S(a.clientX,a.clientY,a)}function A(t){const a=t.keyCode;let n;if(33===a){t.preventDefault();let e=Math.max((g-m)/10,y);e<=0&&(e=1),n=me(v+e,m,g,y)}else if(34===a){t.preventDefault();let e=Math.max((g-m)/10,y);e<=0&&(e=1),n=me(v-e,m,g,y)}else if(35===a)t.preventDefault(),n=g;else if(36===a)t.preventDefault(),n=m;else if(37===a||40===a){t.preventDefault();let e=(y>0?y:(g-m)/10)*(t.shiftKey?.25:t.ctrlKey||t.metaKey?4:1);n=Math.max(v-e,m)}else if(38===a||39===a){t.preventDefault();let e=(y>0?y:(g-m)/10)*(t.shiftKey?.25:t.ctrlKey||t.metaKey?4:1);n=Math.min(v+e,g)}else 48===a&&(n=(g+m)/2);"number"==typeof n&&n!==v&&(v=n,D(v),s&&!1!==s(v)&&e.redraw())}function N(t,a,n){if(!d)return;const o=C(t,a,n);o!==v&&(v=o,c&&!1!==c(v)&&e.redraw())}function S(t,a,n){d&&(d=!1,v=C(t,a,n),s&&!1!==s(v)&&e.redraw(),r||document.exitPointerLock(),setTimeout((function(){d||(u=0)}),350))}function L(e){let t=(e-m)/(g-m);return"vertical"===b&&(t=1-t),String(100*t)+"%"}function D(e){const t=L(e),a=L(g-e+m);"vertical"===b?(i.style.top=t,n.style.height=t,o.style.height=a):(i.style.left=t,n.style.width=a,o.style.width=t)}function j(e){m=e.min,g=e.max,y="number"!=typeof e.step||Number.isNaN(e.step)?1:pe(e.step,0,g-m),b="vertical"===e.orientation?"vertical":"horizontal",s=e.onchange,c=e.ondrag,"number"==typeof e.value&&(v=pe(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})=>{de&&!fe&&(window.addEventListener("touchmove",(function(){})),fe=!0),j(e),t=l,a=t.querySelector(".mithril-range-bar"),n=a.querySelector(".mithril-range-bar-0"),o=a.querySelector(".mithril-range-bar-1"),i=a.querySelector(".mithril-range-handle"),t.addEventListener("mousedown",k),t.addEventListener("touchstart",I),t.addEventListener("keydown",A)},onremove:function(){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",_),t.removeEventListener("mousedown",k),t.removeEventListener("touchstart",I),t.removeEventListener("touchmove",T),t.removeEventListener("touchend",E),t.removeEventListener("keydown",A)},view:function({attrs:t,children:a}){const n=t.nokey?" nokey":"";j(t),v=me(v,m,g,y);const o={class:"mithril-range "+n+(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&&(o.id=t.id),t.ariaLabelledby&&(o["aria-labelledby"]=t.ariaLabelledby),t.disabled&&(o.style={pointerEvents:"none"},o["aria-disabled"]="true");const i=L(v),l=L(g-v+m);let r,s,c;return"vertical"===b?(r={top:i},s={height:i},c={height:l}):(r={left:i},s={width:l},c={width:i}),e("div",o,e("div",{class:"mithril-range-bar"+n},e("div",{class:"mithril-range-bar-0"+n,style:s}),e("div",{class:"mithril-range-bar-1"+n,style:c}),e("div",{class:"mithril-range-handle"+n,style:r},a)),!!t.name&&e("input",{type:"hidden",name:t.name,value:String(v)}))}}}const ve=t=>{const a=t.value>t.curMax?Math.ceil(t.value/t.curMax):1,n=t.curMin<0&&t.value<t.curMin?Math.abs(Math.ceil(t.value/t.curMin)):1,o=Math.min(Math.max(n,a),t.maxMultiplier);t.curMultiplier!==o&&(t.curMultiplier=o,e.redraw())},ye=e=>e.value>=e.curMax*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1?(e.curMultiplier++,!0):e.curMin<0?be(e):void 0,be=e=>{if(e.value<=e.curMin*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1)return e.curMultiplier++,!0},we={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:a})=>{const n=t.multiplier||1,o=t.value||0;a.curMax!==t.max||a.maxMultiplier!==n?(Object.assign(a,{curMax:t.max,curMin:t.min,maxMultiplier:n,value:t.value,initial:o}),ye(a)||(clearTimeout(a.timer),a.timer=setTimeout(ve,1e3,a)),e.redraw()):a.initial!==o&&(Object.assign(a,{value:o,initial:o}),clearTimeout(he),he=setTimeout((()=>e.redraw()),50))},view:({attrs:t,state:a})=>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:a.id},t.title)]:[],e(ge,{onchange:n=>{a.value=n;!ye(a)&&a.curMultiplier>1&&(clearTimeout(a.timer),a.timer=setTimeout(ve,1e3,a)),t.onchange?t.onchange(n):e.redraw()},ondrag:e=>e!==a.value&&(a.value=e,t.ondrag&&t.ondrag(e),!0),value:a.value||0,min:(t.min||0)*a.curMultiplier,max:a.curMax*a.curMultiplier||100,step:t.step||1,relative:t.relative,factor:t.factor},[e(".currentval",t.parser?t.parser(a.value,t.step<1):a.value?t.step<1?a.value.toFixed(2):""+Math.floor(a.value):"")])])},xe={view:({attrs:t,state:a})=>e(we,{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=>(a.changed=!0,a.value=e,t.onchange&&t.onchange(e,!0),!0),onchange:e=>(t.auto0?e=0:t.autoValue&&(e=t.autoValue),a.changed=!0,a.value=e,t.onchange&&t.onchange(e,!1),!0)})},Ce={setTransState:()=>{console.warn("MainState: Not Implemented setTransState")},WIDGETS:{}};function ke(e){Object.assign(Ce,e)}function Me(e){return"string"==typeof e?Ce.WIDGETS[e]:e}const _e=t((({attrs:t})=>{const{icon:a,onchange:n,icons:o,state:i}=t;return e(l,{title:"Click to select icon or emoji for this marker",class:"chequered "+(t.class||"font-200"),icon:a&&a.icon,text:a&&a.glyph,onClick:()=>Ce.setTransState("emoji",n,{icons:o})})}));function Ie(e,t){m.route(document.getElementById(e),t.default||"/",t.routes)}const Te=t((({attrs:t,children:a})=>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},a)))),Ee=(t,a,n,o,i,l)=>{const r=t[a];Y("Choose an action for this preset",n&&l?["DELETE","RENAME","UPDATE","CANCEL"]:["DELETE","RENAME","CANCEL"]).then((i=>{0===i?(t.splice(a,1),o&&o(a),e.redraw()):1===i?setTimeout((()=>U("Rename Preset",r.title||"","type a name for this preset",(t=>{t&&(t=t.trim())&&(r.title=t.substring(0,24),e.redraw())}))),10):n&&2===i&&n(!1,a)}))},Ae=t((({attrs:t,children:a})=>{const{title:n,noUpdate:o,items:i=[],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=[...i.map(((t,a)=>e("button.grows.marg-1.ellipsis.ohidden.hasShift",{class:(g||"unitheightsmall scaff-b1")+(a===r?" accent":"")+(a===s?" alt-accent":""),title:n,onclick:n=>{n.metaKey&&c?c(t):d&&n.shiftKey?m?(i.splice(a,1),f&&f(a),e.redraw()):Ee(i,a,d,f,0,!o):h&&h(t,a,n.metaKey,n.shiftKey)}},(t.title||t.name||t.text||String(1+a)).substring(0,32)))),...!i.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"+(i.length?" some":" empty"),onClick:e=>d(e.ctrlKey||e.metaKey),text:i?.length?"":p})]:[],...!v&&t.currentWidget&&r>=0&&i[r]&&t.currentWidget(i[r],r)||[],...!v&&t.altCurrentWidget&&s>=0&&i[s]&&t.altCurrentWidget(i[s],r)||[],...a];return v?[e(Te,{title:y,containerClass:t.containerClass,themeClass:t.themeClass,icon:v},b),...t.currentWidget&&r>=0&&i[r]&&t.currentWidget(i[r],r)||[],...t.altCurrentWidget&&s>=0&&i[s]&&t.altCurrentWidget(i[s],s)||[]]:b})),Ne=t((({attrs:t,children:a})=>{const{nocontainer:n,emptyText:o,title:i,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(Ae,{addTitle:r,emptyText:o,title:i,items:s,current:c,altIndex:u,onSelect:f,onAdd:p,onEdit:d,addText:m,icon:g,buttonClass:v},a):[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 n?y:s.length||!p?e(".flexrow.wrap.max.minusbar",{class:(t.dynclass?t.dynclass()+" ":"")+t.class},y):[]})),Se=t((({attrs:t})=>{if(!t.layer.items)return[];const{global:a,layer:n,remoteFirst:o,isCue:i}=t,{storyWrapper:l}=a,{id:r,items:s}=n,c=l.getTickerIndex(r,o),u=o?l.getTickerIndex(r,!1):void 0;return e(Ne,{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(n,e,o,i),onSelect:(e,t,a)=>l.setTickerIndex(n,t,a,o,i)})})),Le=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 De(e,t,a){return t?t[e]||a||e:a||e}const je={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",De(t.header,t.headers))]:[],e(".pad-2",De(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 Oe=!1;function ze(){Oe=!0}var Pe={taint:ze,taintRedraw:function(){const t=Oe;Oe=!0,t&&e.redraw()},isTainted:function(){return Oe},untaint:function(){Oe=!1,e.redraw()}};const Ke=-1!==navigator.userAgent.indexOf("Windows NT")?"\\":"/",Be=e=>e.join(Ke),Fe=(e,t)=>["file://",...e.split("\\"),...t].join("/");function Re(e){return new Promise(((t,a)=>{const n=new FileReader;n.onload=function(e){const n=e.target.result,o=new Image;o.onerror=function(t){e.target.value="",a(t)},o.onload=function(){t(o)},o.src=n},n.readAsDataURL(e)}))}const $e=t((({attrs:t})=>e(l,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Ce.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(a,n)=>{const o=n?t.parse?t.parse(n):n:void 0;o&&(t.onImage(o),e.redraw())}})}))),He=t((t=>{const{attrs:a}=t;return e("button.selectfile.relative",{...a.class&&{class:a.class}},[e(o,{icon:a.icon||"upload",iconClass:a.iconClass}),...a.text?[e("span.text",{class:a.textClass},a.text)]:[],e("input",{class:"absolute w-100 h-100 ohidden",type:"file",accept:a.accept||null,title:a.title,onchange:e=>{e.target.files&&e.target.files.length&&(a.onFile(e.target.files[0]),e.target.value="")}})])})),Ve=t((({attrs:t})=>e(He,{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}])}))),Ye=t((({attrs:t})=>e(Ve,{class:t.class,icon:t.icon,text:t.text,accept:t.accept,iconClass:t.iconClass,textClass:t.textClass,onImageFiles:e=>{e.length&&Re(e[0].file).then(t.onImage).catch((e=>{t.onError&&t.onError(e)}))}}))),qe=t((({attrs:t})=>e(Ve,{class:t.class,icon:t.icon,text:t.text,accept:t.accept,iconClass:t.iconClass,textClass:t.textClass,onImageFiles:e=>{var a;e.length&&(a=e[0].file,new Promise(((e,t)=>{const n=new FileReader;n.onload=function(n){const o=n.target.result;o?e({name:a.name,url:o}):t(new Error("no data"))},n.readAsDataURL(a)}))).then(t.onImageUrl).catch((e=>{t.onError&&t.onError(e)}))}}))),We=t((({attrs:t})=>{const{fontFamily:a,state:n,onchange:o}=t;return e(".flexrow.grows.fontgroup",{class:t.class},[...a&&!t.nodelete?[e(l,{class:"scaff-right unitsize",icon:"trash",onClick:()=>{o(void 0),Ce.setTransState()}})]:[],e(l,{class:"grows transp font-125 ohidden",text:a||"default",icon:"font",onClick:()=>Ce.setTransState("fontsel",(e=>{o(e),Ce.setTransState()}))})])})),Ge={},Ue="needsUpdate",Xe="_rebuild_children",Ze=t((({children:e})=>[e])),Je=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)}))),Qe=t((({attrs:t})=>e(xe,{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"}))),et=t((({attrs:t,children:a})=>e(".flexrow.wrap",{class:t.class},t.source?Object.keys(t.source).map((a=>e(Me(t.widget)||Je,{text:a,icon:t.icon,checked:!!t.source[a],hint:t.hint,value:t.source[a],class:t.buttonClass,max:t.max,mul:t.mul,onchange:e=>{t.source[a]=e>=0?e:!!e,t.onchange(a)}}))).concat(a):[]))),tt=t((({attrs:t,state:a,children:n})=>[...t.keys.length>1?[e(".flexrow.wrap",{class:t.class},t.source?t.keys.map((n=>e(Je,{text:n,checked:a.current===n,class:t.selectorButtonClass||"transp",hint:t.hint,onchange:()=>{a.current=n,e.redraw()}}))):[])]:[],...a.current?[e(et,{class:t.class,source:t.source[a.current],icon:t.icon,buttonClass:t.buttonClass,onchange:t.onchange,hint:t.hint,widget:t.nocustom!==a.current?Me(t.widget):void 0,max:t.max,mul:t.mul},n)]:[]]),(({attrs:e,state:t})=>{t.current=e.keys[0]})),at=t((({attrs:t,children:a})=>{const n=t.source&&Array.isArray(t.source),o=n?t.source.map(((e,t)=>t)):t.keys||t.source&&Object.keys(t.source),i=()=>o&&o.length||t.add?[...t.cardie||t.noseparator?[]:[e(g,{class:t.separatorClass,text:t.caption})],e(".flexrow.wrap",{class:t.class},(t.source?o.map((a=>e(Me(t.widget.name),{keyName:a,class:t.widgetClass,...("function"==typeof t.widget.attrs?t.widget.attrs(t,a):t.widget.attrs)||{},value:t.source[a],parameters:t.targetParameters,onchange:(e,o)=>{!e&&t.add&&o.shiftKey?n?t.source.splice(a,1):delete t.source[a]:t.source[a]=e,t.onchange(a)}}))):[]).concat(t.add&&!t.keys?[e(l,{icon:"plus",class:t.addButtonClass||"marg-1 transp leftbutton grows unitsizesmall",text:`add ${t.add}`,onClick:()=>{U(`Enter new ${t.add} name`,"",`type ${t.add} name`,(a=>{a&&(a=F(a).toLowerCase()),a&&(n?t.source.push(""):t.source[a]||(t.source[a]="",e.redraw()))}))}})]:[]).concat(a))]: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:i}):i()})),nt=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)}}))),ot=t((({attrs:t,state:a})=>{const n=t.template.presets.concat(a.files||[]);return e(".templatepresets.flexrow.wrap",{class:t.class},n.length?n.map((a=>e(t.template.render,{item:a,title:"Apply "+t.template.name+" to "+t.type,onClick:()=>t.onClick(a),layer:t.layer}))):t.template.empty?e(k,t.template.empty):e(".emptybox","No presets available"))}),(({attrs:t,state:a})=>{t.template.files&&t.entity&&t.template.files(t.entity).then((t=>{a.files=t,e.redraw()})).catch((()=>{}))})),it=t((({attrs:t,state:a,children:n})=>{let i=0;const{meta:s,crit:c={},when:u={},sizes:h={},metaKeys:p=Object.keys(t.meta),global:m,parameters:y,auxParameters:b,clone:w,onchange:x,itemClass:M,wrapper:_,empty:I,name:E}=t,A=p.map((n=>{const r=s[n],p=r.when||(u?u[n]:void 0),E="object"==typeof r&&!r.length,A=E&&(r.auxTarget&&!r.target||t.auxTargetIsDefault)?b:y,N=E&&(r.target||r.forTarget)?A[r.target||A.forTarget]:A;if(!y||p&&!((e,t,a,n)=>"function"==typeof e?e(t,a):"string"==typeof e?!!n[e]:e.key?e.value?e.not?n[e.key]!==e.value:n[e.key]==e.value:e.not?!n[e.key]:!!n[e.key]:!!e.containsKey&&"object"==typeof n&&n.hasOwnProperty(e.containsKey))(p,y,b,N))return[];const S=E&&r.widget,L=!!E&&(r.update||c[n]),D=E&&r.key||n,j=E&&"group"===r.type,O=E&&"groupArray"===r.type,z="string"==typeof r||E&&"text"===r.type,P=E&&"json"===r.type,K="boolean"==typeof r||E&&"boolean"===r.type,B=E&&"number"===r.type,F=E&&!Number.isNaN(r.min),R=E&&"action"===r.type,$=E&&(r.choices||r.choose||r.chooseKey),H=E&&"keytoggle"===r.type,Y=E&&"iterakey"===r.type,G=E&&(r.options||r.optionsKey),U=E&&r.items,X=E&&"color"===r.type,Z=E&&"plusminus"===r.type,J=E&&"separator"===r.type,Q=E&&("static"===r.type||"dragTarget"===r.type),ee=E&&"emoji"===r.type,ae=E&&"font"===r.type,ne=E&&"notice"===r.type,oe=E&&"asset"===r.type,ie=J?"col-12":"col-"+(r.size||h[n]||4);if(!N)return[];const re=E&&r.altMeta&&s[r.altMeta],se=r.idx,ue=se>=0,de=E&&r.get?r.get(N,b,y):ue?N[D]?N[D][se]:0:N[D],he=re&&r.altMeta,fe=re&&re.key,pe=E&&r.set?e=>r.set(N,e&&w&&"object"==typeof e?W(e):e,b,y,se):(e,t,a)=>{const n=a||D,o=ue?se:a||D;let i=ue?N[n]:N;return se>=0&&!i&&(N[n]=i=[0,0,0]),i[o]=e&&w&&"object"==typeof e?W(e):e},me=t.onbeforechange?(e,a,o,i)=>!!t.onbeforechange(o||n,e,i||r)&&(pe(e,void 0,o),!0):pe;return i++,e(".grows.flexrow."+ie,{class:"mk_"+n+(E&&r.type?" ptype_"+r.type:"")+(z?"witharia":"")+(r.itemClass||M?" "+(r.itemClass||M):""),"aria-label":n},O?Array.isArray(de)?de.map(((a,n)=>r.small?e(it,{meta:r.items,crit:{},when:{},sizes:{},parameters:a,auxParameters:b,arrayInfo:{source:de,item:N,index:n},global:m,clone:w,onchange:x,itemClass:M,wrapper:_,empty:I,itemsDict:t.itemsDict,layer:t.layer,onAction:t.onAction,optionsDict:t.optionsDict,play:t.play,auxTargetIsDefault:!1,AssetButton:t.AssetButton,CodeMirror:t.CodeMirror}):e(f,{class:"relative grows "+(r.class||"pad-h emby w-max")+(r.dynClass?" "+r.dynClass(y,b,n):""),title:r.titleField?a[r.titleField]||r.title:r.dynTitle?r.dynTitle(y,b,n):r.title+" "+(n+1)+(a.title?" - "+a.title:""),cardid:r.cardid+"-"+n,nofold:!1,size:r.margin||0,expandedView:()=>[e(it,{meta:r.items,crit:{},when:{},sizes:{},parameters:a,auxParameters:b,global:m,clone:w,onchange:x,itemClass:M,wrapper:_,empty:I,itemsDict:t.itemsDict,layer:t.layer,onAction:t.onAction,optionsDict:t.optionsDict,play:t.play,auxTargetIsDefault:!1,AssetButton:t.AssetButton,CodeMirror:t.CodeMirror})],titleExpended:r.titleExpanded||r.hint,titleCollapsed:r.titleCollapsed||r.hint}))).concat(r.addAction?[e(l,{...r.addAction,onClick:t=>{r.addAction.onClick?r.addAction.onClick(t,y,b):r.addAction.template&&de.push(W(r.addAction.template)),e.redraw()}})]:[]):[]:j?[e(f,{class:"relative grows "+(r.class||"emby w-max")+(r.dynClass?" "+r.dynClass(y,b):""),title:r.dynTitle?r.dynTitle(y,b):r.title,cardid:r.cardid,nofold:!1,size:r.margin||0,expandedView:()=>[e(it,{meta:r.items,crit:{},when:{},sizes:{},parameters:y,auxParameters:b,global:m,clone:w,onchange:x,itemClass:M,wrapper:_,empty:I,itemsDict:t.itemsDict,layer:t.layer,onAction:t.onAction,optionsDict:t.optionsDict,play:t.play,auxTargetIsDefault:t.auxTargetIsDefault,AssetButton:t.AssetButton,CodeMirror:t.CodeMirror}),...r.addAction?[e(l,{...r.addAction,onClick:t=>{r.addAction.onClick(t,y,b),e.redraw()}})]:[]],titleExpended:r.titleExpanded||r.hint,titleCollapsed:r.titleCollapsed||r.hint})]:J?[e(g,{class:r.class||"mini",text:"string"==typeof r.title?r.title:r.label||n})]:Q?[e(".textwrapper.flexcol.grows",{...r.label&&{"aria-label":r.label,class:"witharia"}},e(".textcontainer.flexrow",[...r.icon?[e(o,{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 a=JSON.parse(t),o=(r.accepts||[]).map((e=>e.replace(/^\./,"").toLowerCase()));if(1!==a.version||"asset"!==a.kind||"string"!=typeof a.path||"string"!=typeof a.type||o.length&&!o.includes(a.type.toLowerCase()))return;e.preventDefault(),e.stopPropagation(),me(a.path),x(L,N,n,void 0,r)}catch{}}}},de)]))]:S?[e(Me(r.widget),"function"==typeof r.attrs?r.attrs(de,a,((e,t)=>x(e||L,t?y:N,n,void 0,r)),m,t,N):r.attrs,r.children?r.children(de,a,((e,t)=>{x(e||L,t?y:N,n,void 0,r)}),m,t,N):[])]:Z?[e(ce,{max:r.max,min:r.min,title:r.title,label:r.label,value:de,onchange:e=>{me(e),x(L,N,n,void 0,r)}})]:z||P&&!t.CodeMirror?[e(C,{containerClass:"grows",class:r.inputClass,value:de,label:r.label,hint:E?r.hint:r,title:r.title,maxlength:E&&r.maxlength||256,...r.final&&{oninput:()=>{}},multi:P||r.multi,alwaysmulti:P||r.alwaysmulti,onchange:e=>{me(e),x(L,N,n,void 0,r)}})]:P?[e(Ze,[e(t.CodeMirror,{key:y.id,doc:de,schema:r.schema,templates:r.templates,hint:r.dynamicHint?r.dynamicHint(N):r.hint,empty:r.empty,onSave:e=>{null!==e&&(me(e||""),x(L,N,n,void 0,r),e||d.add(r.hint+" cleared"))}})])]:B?[e(C,{containerClass:"grows",class:r.inputClass,value:r.step>0&&r.step<1||r.float?void 0!==de?(parseFloat(de)||0).toFixed(3):"":de,type:"text",label:r.label,hint:E?r.hint:r,title:r.title,subtype:"number",...r.draginc&&{staticField:!0,draginc:r.draginc},...r.final&&{oninput:()=>{}},onchange:e=>{let t=r.step>0&&r.step<1||r.float,{min:a,max:o}=r;if(void 0===e)me(void 0);else{let n=t?parseFloat(e):parseInt(e,10);isNaN(n)?n=void 0:(n<a&&(n=a),n>o&&(n=o)),me(n)}x(L,N,n,void 0,r)}})]:ne?[e(k,r)]:oe?t.AssetButton?[e(t.AssetButton,{global:m,value:de,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:y,auxParameters:b,onchange:(e,a)=>{a&&a.shiftKey&&t.onShiftPress?t.onShiftPress(n,N,e):(void 0===e&&(e=r.nullValue||void 0),me(e),x(L,N,n,void 0,r))}})]:[e(l,{icon:r.icon,title:r.title,class:"unitheight",text:"No Asset Module"})]:ee?[e(_e,{class:"grows "+(r.class||"scaff scaff-b1 unitheight font-200"),icon:{glyph:de},icons:!1,onchange:e=>{me(e),x(L,N,n,void 0,r)}})]:ae?[e(We,{class:"grows "+(r.class||"scaff-right unitheight"),fontFamily:de,nodelete:r.nodelete,onchange:e=>{if(r.nodelete&&!e)return;me(e);const t=r.target||r.forTarget?y[r.target||r.forTarget]:y;x(e?L:"delete",t,n,!e,r)}})]:X?[e(".colorwrapper.flexcol.grows",{...r.label&&{"aria-label":r.label,class:"witharia"}},e(le,{class:"grows "+(r.class||"unitheight")+(fe?" withalt":""),color:de,caption:r.caption,noalpha:r.noalpha,remove:r.remove,onchange:(e,t)=>{let a=e;if(a)if(r.hsl){const e=t.hsl();a=[e.hue(),e.saturation(),e.lightness()]}else r.rgba&&(a=[t.r(),t.g(),t.b(),r.noalpha?1:t.a()]);me(a),x(L,N,n,void 0,r)},...fe&&{style:{"--data-altval":((N[fe]??re.min)-re.min)/(re.max-re.min)*100+"%"}}},re?[e(xe,{auto0:re.auto0,min:re.min,max:re.max,step:re.step||.1,...re.mul&&{multiplier:re.mul},class:"col-11 grows innerlabel order-first",title:re.title,value:N[fe]??re.min,onchange:e=>{me(e,void 0,fe,re),x(c[he],N,he,void 0,r)}})]:void 0))]:K?[e(E&&r.toggle?r.states?nt:Je:q,{class:"grows "+(r.class||"unitheight"),text:E?r.title||r.label:n,icon:E?r.icon:void 0,noclass:r.noclass,subline:r.subline,checked:de,title:r.hint,hint:r.hint,inverted:E&&r.inverted,states:r.states,iconClass:r.iconClass,onchange:e=>{me(r.states?e:!!e),x(L,N,n,void 0,r)}})]:R?[e(l,{class:"grows "+(r.class||"accentbutton unitheight"),text:""===r.label?null:r.parse?r.parse(N,b):r.label||r.text||n,icon:r.icon,title:r.title||r.hint,onClick:e=>{const a=()=>{r.onClick?r.onClick(n,e,N,b,m,t):t.onAction&&t.onAction(n,e,A,t.arrayInfo)};r.confirm?V(r.confirm,a):a()}})]:H?[e(r.keys?tt:et,{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:de,onchange:()=>x(L,N,n,void 0,r),...r.customWidget||{}})]:Y?[e(at,{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:de,onchange:()=>x(L,N,n,void 0,r),widget:r.keyWidget,keys:r.keys,add:r.add,targetParameters:N,auxParameters:b,empty:r.empty})]:$?[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:de,title:r.title,onchange:e=>{let{value:t}=e;t||t>=0?(r.toggle&&t===de&&(t=!t),me(t),x(L,N,n,void 0,r)):(me(void 0),x(L,N,n,void 0,r)),ze()}})]:G?[e(te,{class:r.containerClass||"scaff scaff-b1",buttonClass:r.class||"unitheightsmall scaff-left",closeClass:r.buttonClass||void 0,textClass:r.textClass||"",locked:r.locked,value:de,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(N):r.optionsKey,items:r.options||t.optionsDict,removeIcon:r.removeIcon,nodelete:r.nodelete,onchange:(e,t)=>{t?.shiftKey?r.shiftPress&&r.shiftPress(N,b):("string"==typeof e&&(e=e.trim()),e?(me(r.values?r.values[e]:e,r.clone),x(L,N,n,!1,r)):(me(r.nullValue||void 0),x(L,N,n,!0,r)),ze())}})]:U?[e(T,{class:"grows scaff scaff-b1 "+(r.class||"unitheight"),value:de,emptyText:r.emptyText||"off",icon:r.icon,title:r.title,items:r.items,textClass:r.textClass||"",onchange:e=>{"string"==typeof e&&(e=e.trim()),e?(me(e),x(L,N,n,void 0,r)):(me(void 0),x(L,N,n,void 0,r)),ze()}})]:F?[e(xe,{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===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),hint:r.hint,value:parseFloat(de)??r??r.min,parser:r.parser,onchange:e=>{me(e),x(L,N,n,void 0,r)}})]:[e(xe,{min:r[0],max:r[1],step:r[2]||.1,...r[3]?{multiplier:r[3]}:{},class:"col-11 grows innerlabel",title:r[4]||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),value:parseFloat(de)||r[0],onchange:e=>{me(e),x(L,N,n,void 0,r)}})])}));return i||n.length?_?_(A.concat(n)):A.concat(n):I&&!n.length?e(r,I):[]})),lt=t((({attrs:t,children:a})=>{const{busy:n,parameters:o,auxParameters:i,cardid:l,size:s,index:c,titleWidget:u,parametersTitle:d,parametersBody:h,rootUpdate:p,global:m,layer:g,tableChildren:v,cols:y,onLayerReset:b,onAction:w,nofold:x,bodyClass:C,titleAction:k,AssetButton:M,CodeMirror:_,optionsDict:I}=t;return e(f,{busy:n,nofold:x,size:s,cols:y,title:h.titleCollapsed||h.title,titleCollapsed:h.titleCollapsed||h.title,titleExpanded:h.titleExpanded||h.title,action:k,expandedClass:t.expandedClass,onShiftOpen:()=>{},titleWidget:u||it,titleAttrs:{...d,onShiftPress:t.onShiftPress,confirm:t.confirmTitle,itemClass:"",parameters:o,auxParameters:i,clone:!0,global:m,layer:g,AssetButton:M,CodeMirror:_,optionsDict:I,onAction:w,onchange:(a,n,l,r,s)=>{ze();const c=s.rootUpdate||p;if(s?.onchange)s.onchange(a,n,o);else if(a){if("none"===c)return;"both"===c&&i?n[Ue]=i[Ue]=a:"parent"===c&&i?(n[Ue]=a,i[Ue]=!0):"target"===c&&n!==o?(n[Ue]=a,o[Ue]=!0):2===c?o[Ue]=a:1===c?n&&(n[Ue]=a):"string"==typeof c&&"both"!==c&&"parent"!==c&&"target"!==c?o[c]?(o[c][Ue]=a,o[Ue]=!0):o[Ue]=Xe:-1!==c&&n&&(n[Ue]=a)}else b&&b();t.onTitleChange&&t.onTitleChange(a,n,l,r),e.redraw()}},cardid:l,class:"withbottommargin relative"+(t.class?" "+t.class:""),bodyClass:C,expandedView:()=>[...h.meta?[e(it,{...h,confirm:t.confirmBody,itemClass:"pad-1",parameters:o,auxParameters:i,clone:!0,global:m,layer:g,index:c,play:t.play,itemsDict:t.itemsDict,optionsDict:I,AssetButton:M,CodeMirror:_,onAction:w,onchange:(a,n,l,r,s,c)=>{const u=s.rootUpdate||p;if(ze(),s?.onchange)s.onchange(a,n,o);else if(a){if("none"===u)return;"both"===u&&i?n[Ue]=i[Ue]=a:"parent"===u&&i?(n[Ue]=a,i[Ue]=!0):"target"===u&&n!==o?(n[Ue]=a,o[Ue]=!0):2===u?o[Ue]=a:1===u?n&&(n[Ue]=a):"string"==typeof u&&"both"!==u&&"parent"!==u&&"target"!==u?o[u]?(o[u][Ue]=a,o[Ue]=!0):o[Ue]=Xe:-1!==u&&n&&(n[Ue]=a)}else b&&b();t.onChange&&t.onChange(a,l,n,i,r,s,c,t),e.redraw()}},v)]:h.emptyMeta?[e(r,h.emptyMeta)]:[],...a||[]],collapsedView:t.collapsedView})})),rt=t((({attrs:t,state:a,children:n})=>{const{layer:o,property:i,colorProperty:r}=t,s=Ge[i],c=o[i],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:(a.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=>{!a.chooser&&t.shiftKey&&s.images?Ce.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(t,a)=>{const n=a&&s.images(a);n&&(o[i]=W(n),ze(),e.redraw())}}):(a.chooser=!a.chooser,e.redraw())}}),...o[i]?[e(l,{class:"clearfont unitheightsmall bg-accent",text:"X",onClick:()=>{delete o[i],ze(),e.redraw()}})]:s.images&&!g?[e(l,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Ce.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(t,a)=>{const n=a&&s.images(a);n&&(o[i]=W(n),ze(),e.redraw())}})})]:[]])]:[e(C,{class:"withicon-2"+(u?" has":"")+(t.class?" "+t.class:""),value:o[i]||"",hint:t.hint,title:t.title,maxlength:t.maxlength||2048,multi:t.multi,actions:[{icon:"plus",onClick:()=>{a.chooser=!a.chooser,e.redraw()}}],onchange:t=>{t=t.split("\n").join(" ").trim(),o[i]=t,ze(),e.redraw()}})],...v||y?[e(".flexrow.wrap.paramgroup",[...v?[e(it,{meta:p,metaKeys:m,parameters:h,onchange:()=>{delete c.calc,ze(),e.redraw()},AssetButton:t.AssetButton,CodeMirror:t.CodeMirror})]:[],...y?[e(".flexbreak"),e(xe,{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,ze(),e.redraw()}}),e(xe,{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,ze(),e.redraw()}})]:[]])]:[],...a.chooser&&s?[e(ot,{entity:t.entity,template:s,type:o.type,layer:o,onClick:t=>{a.chooser=!1,o[i]="object"==typeof t.value?W(t.value):t.value,t.color&&r&&(o[r]=t.color),ze(),e.redraw()}})]:[],...u?n:[]])}));export{i as Button,v as ButtonChoiceWidget,y as ButtonMultipleChoiceWidget,l as ButtonNew,f as CardieWidget,se as ColorJoePack,le as ColorJoeWidget,te as ComboPrompt,T as ComboWidget,$ as ConfirmPromise,Se as CoolContentTicker,Ne as CoolGenericTicker,je as CoolerEmpty,r as Empty,Le as EmptyButton,He as FileSelectButton,Ae as GenericButtonTicker,o as Icon,qe as ImageDataButton,Ye as ImageProcessButton,Ve as ImageSelectButton,C as InputWidget,Ce as MainState,ke as MainStateImplement,$e as MediaSelectButton,et as MultiToggleWidget,k as NoticeWidget,d as Notification,H as OverflowMenu,ee as OverflowUtils,lt as ParameterCardie,it as ParameterTable,ce as PlusMinus,Qe as RangeToggleWidget,xe as RangeWidget,c as Selector,g as Separator,_e as SmileysButton,q as SwitchWidget,rt as TemplatedInputWidget,Te as ThematicWrapper,ue as TitleBarWidget,R as Tokenizer,S as clearModal,W as clone,V as confirm,Y as confirmPromise,p as defineWidget,Be as makeLocalPath,Fe as makeLocalUrl,Ee as optionsPrompt,N as popupMessage,Re as processImage,Ie as startApp,Pe as tainter};
|
|
3
|
+
https://bebraw.github.com/colorjoe - 2020-01-27 */var se=t((({attrs:t})=>{const{colors:a=[],max:n=8}=t,i=a.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,a)=>{let n,i,o;if(0===t)n=i=o=a;else{const r=(e,t,a)=>(a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e),l=a<.5?a*(1+t):a+t-a*t,s=2*a-l;n=r(s,l,e+1/3),i=r(s,l,e),o=r(s,l,e-1/3)}return[Math.round(255*n),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},[...a.map(((n,i)=>e(re,{class:"grows",color:t.hsl?l(a[i]):o(a[i]),title:"Click to edit, or Shift-click to remove this color from the collection",hsl:t.hsl,onchange:(n,o)=>{let r;if(t.hsl){const e=o.hsl();r=[e.hue(),e.saturation(),e.lightness(),o.a()]}else r=[o.r(),o.g(),o.b(),o.a()];a[i]=r,t.onchange&&t.onchange(a),e.redraw()},onshiftclick:()=>{a.splice(i,1),t.onchange&&t.onchange(a),e.redraw()}}))),...i<n?[e(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:n=>{n.shiftKey?a.splice(0,a.length):a.push(le),t.onchange&&t.onchange(a),e.redraw()}})]:[]])}));const ce=t((({attrs:t})=>e(".flexrow.wrap.grows",{...t.label&&{"aria-label":t.label},class:(t.label?"witharia":"")+" "+(t.class||""),title:t.title||""},[e(r,{icon:t.iconMinus??"minus",class:"unitsizesmall "+(t.buttonClass||"transp"),title:t.title?"decrease the "+t.title:"",onClick:()=>{const{step:a=1,min:n=0}=t;let i=t.value||0;Number.isNaN(i)&&(i=0),i-=a,void 0!==n&&i<n&&(i=n),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(r,{icon:t.iconPlus??"plus",class:"unitsizesmall "+(t.buttonClass||"transp"),title:t.title?"increase the "+t.title:"",onClick:()=>{const{step:a=1,max:n=0}=t;let i=t.value||0;void 0!==n&&i===n||(i+=a,t.onchange(i),e.redraw())}})]))),ue=t((({attrs:t,dom:a})=>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(r,{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(r,{icon:t.auxaction.icon,class:t.auxaction.class,title:t.auxaction.title,onClick:t.auxaction.onClick})]:[],...t.auxactions?t.auxactions.map((t=>e(r,{class:t.class,title:t.title,icon:t.icon,text:t.caption,onClick:t.onClick}))):[],...t.action?[e(r,{icon:t.action.icon,class:t.action.class,title:t.action.title,onClick:t.action.onClick})]:[],...t.overflow?[e(r,{icon:t.overflow.icon||"ellipsis-v",class:t.overflow.class||"",onClick:()=>H(a,{title:t.title},t.overflow.items).then((({action:e})=>e.onClick()))})]:[]]))),de=!!navigator.userAgent.match(/iPhone|iPad|iPod/i);let he,fe=!1;function pe(e,t,a){return Math.min(Math.max(e,t),a)}function me(e,t,a,n){if(a-t<=0)return t;if(n<=0)return pe(e,t,a);const i=Math.ceil((a-t)/n);return pe(t+Math.round(i*(e-t)/(a-t))*n,t,a)}function ge(){let t,a,n,i,o,r,l,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 a,n;"vertical"===b?(a=r.bottom-r.top,n=r.bottom-t):(a=r.right-r.left,n=e-r.left),n=pe(n,0,a);const i=me(n/a*(g-m)+m,m,g,y);return z(i),i}function x(t,n,i){return h?function(t,n){d=l=!0,r=a.getBoundingClientRect();const i=w(t,n);i!==v&&(v=i,c&&!1!==c(v)&&e.redraw())}(t,n):(o=i,d=!0,l=!1,r=a.getBoundingClientRect(),void(s||o.target.requestPointerLock()));var o,s}function C(e,t,a){return l?w(e,t):function(e,t,a){const n=a.shiftKey?f:a.metaKey||a.ctrlKey?4*f:p;let i,o;i="vertical"===b?a.movementY||0:a.movementX||0;let r=y>0?y:(g-m)/100;if(i<0)o=Math.max(v+r*n*i,m);else{if(!(i>0))return v;o=Math.min(v+r*n*i,g)}return o=me(o,m,g,y),z(o),o}(0,0,a)}function k(e){2!==u&&(u=1,0===e.button&&(window.addEventListener("mousemove",M),window.addEventListener("mouseup",T),x(e.clientX,e.clientY,e)))}function M(e){e.preventDefault(),N(e.clientX,e.clientY,e)}function T(e){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",T),S(e.clientX,e.clientY,e)}function _(e){if(1===u)return;t.addEventListener("touchmove",I),t.addEventListener("touchend",E);const a=e.changedTouches[0];x(a.clientX,a.clientY,e)}function I(e){e.preventDefault();const t=e.changedTouches[0];N(t.clientX,t.clientY,e)}function E(e){t.removeEventListener("touchmove",I),t.removeEventListener("touchend",E);const a=e.changedTouches[0];S(a.clientX,a.clientY,a)}function A(t){const a=t.keyCode;let n;if(33===a){t.preventDefault();let e=Math.max((g-m)/10,y);e<=0&&(e=1),n=me(v+e,m,g,y)}else if(34===a){t.preventDefault();let e=Math.max((g-m)/10,y);e<=0&&(e=1),n=me(v-e,m,g,y)}else if(35===a)t.preventDefault(),n=g;else if(36===a)t.preventDefault(),n=m;else if(37===a||40===a){t.preventDefault();let e=(y>0?y:(g-m)/10)*(t.shiftKey?.25:t.ctrlKey||t.metaKey?4:1);n=Math.max(v-e,m)}else if(38===a||39===a){t.preventDefault();let e=(y>0?y:(g-m)/10)*(t.shiftKey?.25:t.ctrlKey||t.metaKey?4:1);n=Math.min(v+e,g)}else 48===a&&(n=(g+m)/2);"number"==typeof n&&n!==v&&(v=n,z(v),s&&!1!==s(v)&&e.redraw())}function N(t,a,n){if(!d)return;const i=C(t,a,n);i!==v&&(v=i,c&&!1!==c(v)&&e.redraw())}function S(t,a,n){d&&(d=!1,v=C(t,a,n),s&&!1!==s(v)&&e.redraw(),l||document.exitPointerLock(),setTimeout((function(){d||(u=0)}),350))}function L(e){let t=(e-m)/(g-m);return"vertical"===b&&(t=1-t),String(100*t)+"%"}function z(e){const t=L(e),a=L(g-e+m);"vertical"===b?(o.style.top=t,n.style.height=t,i.style.height=a):(o.style.left=t,n.style.width=a,i.style.width=t)}function D(e){m=e.min,g=e.max,y="number"!=typeof e.step||Number.isNaN(e.step)?1:pe(e.step,0,g-m),b="vertical"===e.orientation?"vertical":"horizontal",s=e.onchange,c=e.ondrag,"number"==typeof e.value&&(v=pe(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:r})=>{de&&!fe&&(window.addEventListener("touchmove",(function(){})),fe=!0),D(e),t=r,a=t.querySelector(".mithril-range-bar"),n=a.querySelector(".mithril-range-bar-0"),i=a.querySelector(".mithril-range-bar-1"),o=a.querySelector(".mithril-range-handle"),t.addEventListener("mousedown",k),t.addEventListener("touchstart",_),t.addEventListener("keydown",A)},onremove:function(){window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",T),t.removeEventListener("mousedown",k),t.removeEventListener("touchstart",_),t.removeEventListener("touchmove",I),t.removeEventListener("touchend",E),t.removeEventListener("keydown",A)},view:function({attrs:t,children:a}){const n=t.nokey?" nokey":"";D(t),v=me(v,m,g,y);const i={class:"mithril-range "+n+(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=L(v),r=L(g-v+m);let l,s,c;return"vertical"===b?(l={top:o},s={height:o},c={height:r}):(l={left:o},s={width:r},c={width:o}),e("div",i,e("div",{class:"mithril-range-bar"+n},e("div",{class:"mithril-range-bar-0"+n,style:s}),e("div",{class:"mithril-range-bar-1"+n,style:c}),e("div",{class:"mithril-range-handle"+n,style:l},a)),!!t.name&&e("input",{type:"hidden",name:t.name,value:String(v)}))}}}const ve=t=>{const a=t.value>t.curMax?Math.ceil(t.value/t.curMax):1,n=t.curMin<0&&t.value<t.curMin?Math.abs(Math.ceil(t.value/t.curMin)):1,i=Math.min(Math.max(n,a),t.maxMultiplier);t.curMultiplier!==i&&(t.curMultiplier=i,e.redraw())},ye=e=>e.value>=e.curMax*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1?(e.curMultiplier++,!0):e.curMin<0?be(e):void 0,be=e=>{if(e.value<=e.curMin*e.curMultiplier*.9&&e.maxMultiplier>1&&e.curMultiplier<=e.maxMultiplier-1)return e.curMultiplier++,!0},we={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:a})=>{const n=t.multiplier||1,i=t.value||0;a.curMax!==t.max||a.maxMultiplier!==n?(Object.assign(a,{curMax:t.max,curMin:t.min,maxMultiplier:n,value:t.value,initial:i}),ye(a)||(clearTimeout(a.timer),a.timer=setTimeout(ve,1e3,a)),e.redraw()):a.initial!==i&&(Object.assign(a,{value:i,initial:i}),clearTimeout(he),he=setTimeout((()=>e.redraw()),50))},view:({attrs:t,state:a})=>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:a.id},t.title)]:[],e(ge,{onchange:n=>{a.value=n;!ye(a)&&a.curMultiplier>1&&(clearTimeout(a.timer),a.timer=setTimeout(ve,1e3,a)),t.onchange?t.onchange(n):e.redraw()},ondrag:e=>e!==a.value&&(a.value=e,t.ondrag&&t.ondrag(e),!0),value:a.value||0,min:(t.min||0)*a.curMultiplier,max:a.curMax*a.curMultiplier||100,step:t.step||1,relative:t.relative,factor:t.factor},[e(".currentval",t.parser?t.parser(a.value,t.step<1):a.value?t.step<1?a.value.toFixed(2):""+Math.floor(a.value):"")])])},xe={view:({attrs:t,state:a})=>e(we,{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=>(a.changed=!0,a.value=e,t.onchange&&t.onchange(e,!0),!0),onchange:e=>(t.auto0?e=0:t.autoValue&&(e=t.autoValue),a.changed=!0,a.value=e,t.onchange&&t.onchange(e,!1),!0)})},Ce={setTransState:()=>{console.warn("MainState: Not Implemented setTransState")},WIDGETS:{}};function ke(e){Object.assign(Ce,e)}function Me(e){return"string"==typeof e?Ce.WIDGETS[e]:e}const Te=t((({attrs:t})=>{const{icon:a,onchange:n,icons:i,state:o}=t;return e(r,{title:"Click to select icon or emoji for this marker",class:"chequered "+(t.class||"font-200"),icon:a&&a.icon,text:a&&a.glyph,onClick:()=>Ce.setTransState("emoji",n,{icons:i})})}));function _e(e,t){m.route(document.getElementById(e),t.default||"/",t.routes)}const Ie=t((({attrs:t,children:a})=>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},a)))),Ee=(t,a,n,i,o,r)=>{const l=t[a];Y("Choose an action for this preset",n&&r?["DELETE","RENAME","UPDATE","CANCEL"]:["DELETE","RENAME","CANCEL"]).then((o=>{0===o?(t.splice(a,1),i&&i(a),e.redraw()):1===o?setTimeout((()=>U("Rename Preset",l.title||"","type a name for this preset",(t=>{t&&(t=t.trim())&&(l.title=t.substring(0,24),e.redraw())}))),10):n&&2===o&&n(!1,a)}))},Ae=t((({attrs:t,children:a})=>{const{title:n,noUpdate:i,items:o=[],current:l,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,a)=>e("button.grows.marg-1.ellipsis.ohidden.hasShift",{class:(g||"unitheightsmall scaff-b1")+(a===l?" accent":"")+(a===s?" alt-accent":""),title:n,onclick:n=>{n.metaKey&&c?c(t):d&&n.shiftKey?m?(o.splice(a,1),f&&f(a),e.redraw()):Ee(o,a,d,f,0,!i):h&&h(t,a,n.metaKey,n.shiftKey)}},(t.title||t.name||t.text||String(1+a)).substring(0,32)))),...!o.length&&u?[e(".grows.marg-1.ellipsis.ohidden.al-center",u)]:[],...d?[e(r,{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&&l>=0&&o[l]&&t.currentWidget(o[l],l)||[],...!v&&t.altCurrentWidget&&s>=0&&o[s]&&t.altCurrentWidget(o[s],l)||[],...a];return v?[e(Ie,{title:y,containerClass:t.containerClass,themeClass:t.themeClass,icon:v},b),...t.currentWidget&&l>=0&&o[l]&&t.currentWidget(o[l],l)||[],...t.altCurrentWidget&&s>=0&&o[s]&&t.altCurrentWidget(o[s],s)||[]]:b})),Ne=t((({attrs:t,children:a})=>{const{nocontainer:n,emptyText:i,title:o,addTitle:l,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(Ae,{addTitle:l,emptyText:i,title:o,items:s,current:c,altIndex:u,onSelect:f,onAdd:p,onEdit:d,addText:m,icon:g,buttonClass:v},a):[e(r,{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(r,{tabIndex:-1,icon:"caret-left",class:"unitheightsmall grows marg-1 marg-v",onClick:()=>h(1)}),...p?[e(r,{tabIndex:-1,icon:t.icon||"plus",class:"unitheightsmall marg-1 marg-v",onClick:()=>p()})]:[]];return n?y:s.length||!p?e(".flexrow.wrap.max.minusbar",{class:(t.dynclass?t.dynclass()+" ":"")+t.class},y):[]})),Se=t((({attrs:t})=>{if(!t.layer.items)return[];const{global:a,layer:n,remoteFirst:i,isCue:o}=t,{storyWrapper:r}=a,{id:l,items:s}=n,c=r.getTickerIndex(l,i),u=i?r.getTickerIndex(l,!1):void 0;return e(Ne,{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=>r.tickLayer(n,e,i,o),onSelect:(e,t,a)=>r.setTickerIndex(n,t,a,i,o)})})),Le=t((({attrs:t})=>e(l,{size:2,icon:t.icon,class:"pad-2"},[...t.texts.map((t=>e(".text",t))),...t.buttonText?[e(r,{class:"font-125 accentbutton unitheightsmall",icon:t.icon||"plus",text:t.buttonText,onClick:t.onClick})]:[],...t.buttonAlt?[e(r,{class:"font-125 accentbutton unitheightsmall",icon:t.iconAlt||"plus",text:t.buttonTextAlt,onClick:t.onClick})]:[]])));function ze(e,t,a){return t?t[e]||a||e:a||e}const De={oninit:({attrs:e})=>{e.oninit&&e.oninit()},view:({attrs:t})=>e(l,{class:t.class,icon:t.icon,size:t.size||4},[...t.header?[e("h3.pad-2.marg-0",ze(t.header,t.headers))]:[],e(".pad-2",ze(t.message,t.messages)),...t.action?[e(r,{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(r,{text:t.caption,class:"accentbutton marg-4 marg-v pad-2 font-150",onClick:t.onclick}))):[]])};let je=!1;function Oe(){je=!0}var Pe={taint:Oe,taintRedraw:function(){const t=je;je=!0,t&&e.redraw()},isTainted:function(){return je},untaint:function(){je=!1,e.redraw()}};const Ke=-1!==navigator.userAgent.indexOf("Windows NT")?"\\":"/",Be=e=>e.join(Ke),Fe=(e,t)=>["file://",...e.split("\\"),...t].join("/");function Re(e){return new Promise(((t,a)=>{const n=new FileReader;n.onload=function(e){const n=e.target.result,i=new Image;i.onerror=function(t){e.target.value="",a(t)},i.onload=function(){t(i)},i.src=n},n.readAsDataURL(e)}))}const $e=t((({attrs:t})=>e(r,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Ce.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(a,n)=>{const i=n?t.parse?t.parse(n):n:void 0;i&&(t.onImage(i),e.redraw())}})}))),He=t((t=>{const{attrs:a}=t;return e("button.selectfile.relative",{...a.class&&{class:a.class}},[e(i,{icon:a.icon||"upload",iconClass:a.iconClass}),...a.text?[e("span.text",{class:a.textClass},a.text)]:[],e("input",{class:"absolute w-100 h-100 ohidden",type:"file",accept:a.accept||null,title:a.title,onchange:e=>{e.target.files&&e.target.files.length&&(a.onFile(e.target.files[0]),e.target.value="")}})])})),Ve=t((({attrs:t})=>e(He,{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}])}))),Ye=t((({attrs:t})=>e(Ve,{class:t.class,icon:t.icon,text:t.text,accept:t.accept,iconClass:t.iconClass,textClass:t.textClass,onImageFiles:e=>{e.length&&Re(e[0].file).then(t.onImage).catch((e=>{t.onError&&t.onError(e)}))}}))),qe=t((({attrs:t})=>e(Ve,{class:t.class,icon:t.icon,text:t.text,accept:t.accept,iconClass:t.iconClass,textClass:t.textClass,onImageFiles:e=>{var a;e.length&&(a=e[0].file,new Promise(((e,t)=>{const n=new FileReader;n.onload=function(n){const i=n.target.result;i?e({name:a.name,url:i}):t(new Error("no data"))},n.readAsDataURL(a)}))).then(t.onImageUrl).catch((e=>{t.onError&&t.onError(e)}))}}))),We=t((({attrs:t})=>{const{fontFamily:a,state:n,onchange:i}=t;return e(".flexrow.grows.fontgroup",{class:t.class},[...a&&!t.nodelete?[e(r,{class:"scaff-right unitsize",icon:"trash",onClick:()=>{i(void 0),Ce.setTransState()}})]:[],e(r,{class:"grows transp font-125 ohidden",text:a||"default",icon:"font",onClick:()=>Ce.setTransState("fontsel",(e=>{i(e),Ce.setTransState()}))})])})),Ge={},Ue="needsUpdate",Xe="_rebuild_children",Ze=t((({children:e})=>[e])),Je=t((({attrs:t})=>e(r,{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)}))),Qe=t((({attrs:t})=>e(xe,{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"}))),et=t((({attrs:t,children:a})=>e(".flexrow.wrap",{class:t.class},t.source?Object.keys(t.source).map((a=>e(Me(t.widget)||Je,{text:a,icon:t.icon,checked:!!t.source[a],hint:t.hint,value:t.source[a],class:t.buttonClass,max:t.max,mul:t.mul,onchange:e=>{t.source[a]=e>=0?e:!!e,t.onchange(a)}}))).concat(a):[]))),tt=t((({attrs:t,state:a,children:n})=>[...t.keys.length>1?[e(".flexrow.wrap",{class:t.class},t.source?t.keys.map((n=>e(Je,{text:n,checked:a.current===n,class:t.selectorButtonClass||"transp",hint:t.hint,onchange:()=>{a.current=n,e.redraw()}}))):[])]:[],...a.current?[e(et,{class:t.class,source:t.source[a.current],icon:t.icon,buttonClass:t.buttonClass,onchange:t.onchange,hint:t.hint,widget:t.nocustom!==a.current?Me(t.widget):void 0,max:t.max,mul:t.mul},n)]:[]]),(({attrs:e,state:t})=>{t.current=e.keys[0]})),at=t((({attrs:t,children:a})=>{const n=t.source&&Array.isArray(t.source),i=n?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((a=>e(Me(t.widget.name),{keyName:a,class:t.widgetClass,...("function"==typeof t.widget.attrs?t.widget.attrs(t,a):t.widget.attrs)||{},value:t.source[a],parameters:t.targetParameters,onchange:(e,i)=>{!e&&t.add&&i.shiftKey?n?t.source.splice(a,1):delete t.source[a]:t.source[a]=e,t.onchange(a)}}))):[]).concat(t.add&&!t.keys?[e(r,{icon:"plus",class:t.addButtonClass||"marg-1 transp leftbutton grows unitsizesmall",text:`add ${t.add}`,onClick:()=>{U(`Enter new ${t.add} name`,"",`type ${t.add} name`,(a=>{a&&(a=F(a).toLowerCase()),a&&(n?t.source.push(""):t.source[a]||(t.source[a]="",e.redraw()))}))}})]:[]).concat(a))]:t.empty?e(l,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()})),nt=t((({attrs:t})=>e(r,{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)}}))),it=t((({attrs:t,state:a})=>{const n=t.template.presets.concat(a.files||[]);return e(".templatepresets.flexrow.wrap",{class:t.class},n.length?n.map((a=>e(t.template.render,{item:a,title:"Apply "+t.template.name+" to "+t.type,onClick:()=>t.onClick(a),layer:t.layer}))):t.template.empty?e(k,t.template.empty):e(".emptybox","No presets available"))}),(({attrs:t,state:a})=>{t.template.files&&t.entity&&t.template.files(t.entity).then((t=>{a.files=t,e.redraw()})).catch((()=>{}))})),ot=t((({attrs:t,state:a,children:n})=>{let o=0;const{meta:s,crit:c={},when:u={},sizes:h={},metaKeys:p=Object.keys(t.meta),global:m,parameters:y,auxParameters:b,clone:w,onchange:x,itemClass:M,wrapper:T,empty:_,initializeTargets:E,name:A}=t,N=p.map((n=>{const l=s[n];y&&l.target&&void 0===y[l.target]&&"object"==typeof E&&(y[l.target]=structuredClone(E));const p=l.when||(u?u[n]:void 0),A="object"==typeof l&&!l.length,N=A&&(l.auxTarget&&!l.target||t.auxTargetIsDefault)?b:y,S=A&&(l.target||l.forTarget)?N[l.target||N.forTarget]:N;if(!y||p&&!((e,t,a,n)=>"function"==typeof e?e(t,a):"string"==typeof e?!!n[e]:e.key?e.value?e.not?n[e.key]!==e.value:n[e.key]==e.value:e.not?!n[e.key]:!!n[e.key]:!!e.containsKey&&"object"==typeof n&&n.hasOwnProperty(e.containsKey))(p,y,b,S))return[];const L=A&&l.widget,z=!!A&&(l.update||c[n]),D=A&&l.key||n,j=A&&"group"===l.type,O=A&&"groupArray"===l.type,P="string"==typeof l||A&&"text"===l.type,K=A&&"json"===l.type,B="boolean"==typeof l||A&&"boolean"===l.type,F=A&&"number"===l.type,R=A&&!Number.isNaN(l.min),$=A&&"action"===l.type,H=A&&(l.choices||l.choose||l.chooseKey),Y=A&&"keytoggle"===l.type,G=A&&"iterakey"===l.type,U=A&&(l.options||l.optionsKey),X=A&&l.items,Z=A&&"color"===l.type,J=A&&"plusminus"===l.type,Q=A&&"separator"===l.type,ee=A&&("static"===l.type||"dragTarget"===l.type),ae=A&&"emoji"===l.type,ne=A&&"font"===l.type,ie=A&&"notice"===l.type,oe=A&&"asset"===l.type,le=Q?"col-12":"col-"+(l.size||h[n]||4);if(!S)return[];const se=A&&l.altMeta&&s[l.altMeta],ue=l.idx,de=ue>=0,he=A&&l.get?l.get(S,b,y):de?S[D]?S[D][ue]:0:S[D],fe=se&&l.altMeta,pe=se&&se.key,me=A&&l.set?e=>l.set(S,e&&w&&"object"==typeof e?W(e):e,b,y,ue):(e,t,a)=>{const n=a||D,i=de?ue:a||D;let o=de?S[n]:S;return ue>=0&&!o&&(S[n]=o=[0,0,0]),o[i]=e&&w&&"object"==typeof e?W(e):e},ge=t.onbeforechange?(e,a,i,o)=>!!t.onbeforechange(i||n,e,o||l)&&(me(e,void 0,i),!0):me;return o++,e(".grows.flexrow."+le,{class:"mk_"+n+(A&&l.type?" ptype_"+l.type:"")+(P?"witharia":"")+(l.itemClass||M?" "+(l.itemClass||M):""),"aria-label":n},O?Array.isArray(he)?he.map(((a,n)=>l.small?e(ot,{meta:l.items,crit:{},when:{},sizes:{},parameters:a,auxParameters:b,arrayInfo:{source:he,item:S,index:n},global:m,clone:w,onchange:x,itemClass:M,wrapper:T,empty:_,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 "+(l.class||"pad-h emby w-max")+(l.dynClass?" "+l.dynClass(y,b,n):""),title:l.titleField?a[l.titleField]||l.title:l.dynTitle?l.dynTitle(y,b,n):l.title+" "+(n+1)+(a.title?" - "+a.title:""),cardid:l.cardid+"-"+n,nofold:!1,size:l.margin||0,expandedView:()=>[e(ot,{meta:l.items,crit:{},when:{},sizes:{},parameters:a,auxParameters:b,global:m,clone:w,onchange:x,itemClass:M,wrapper:T,empty:_,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})],titleExpended:l.titleExpanded||l.hint,titleCollapsed:l.titleCollapsed||l.hint}))).concat(l.addAction?[e(r,{...l.addAction,onClick:t=>{l.addAction.onClick?l.addAction.onClick(t,y,b):l.addAction.template&&he.push(W(l.addAction.template)),e.redraw()}})]:[]):[]:j?[e(f,{class:"relative grows "+(l.class||"emby w-max")+(l.dynClass?" "+l.dynClass(y,b):""),title:l.dynTitle?l.dynTitle(y,b):l.title,cardid:l.cardid,nofold:!1,size:l.margin||0,expandedView:()=>[e(ot,{meta:l.items,crit:{},when:{},sizes:{},parameters:y,auxParameters:b,global:m,clone:w,onchange:x,itemClass:M,wrapper:T,empty:_,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}),...l.addAction?[e(r,{...l.addAction,onClick:t=>{l.addAction.onClick(t,y,b),e.redraw()}})]:[]],titleExpended:l.titleExpanded||l.hint,titleCollapsed:l.titleCollapsed||l.hint})]:Q?[e(g,{class:l.class||"mini",text:"string"==typeof l.title?l.title:l.label||n})]:ee?[e(".textwrapper.flexcol.grows",{...l.label&&{"aria-label":l.label,class:"witharia"}},e(".textcontainer.flexrow",[...l.icon?[e(i,{icon:l.icon,class:l.iconClass})]:[],e(".innertext",{class:l.class,title:l.hint,..."dragTarget"===l.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 a=JSON.parse(t),i=(l.accepts||[]).map((e=>e.replace(/^\./,"").toLowerCase()));if(1!==a.version||"asset"!==a.kind||"string"!=typeof a.path||"string"!=typeof a.type||i.length&&!i.includes(a.type.toLowerCase()))return;e.preventDefault(),e.stopPropagation(),ge(a.path),x(z,S,n,void 0,l)}catch{}}}},he)]))]:L?[e(Me(l.widget),"function"==typeof l.attrs?l.attrs(he,a,((e,t)=>x(e||z,t?y:S,n,void 0,l)),m,t,S):l.attrs,l.children?l.children(he,a,((e,t)=>{x(e||z,t?y:S,n,void 0,l)}),m,t,S):[])]:J?[e(ce,{max:l.max,min:l.min,title:l.title,label:l.label,value:he,onchange:e=>{ge(e),x(z,S,n,void 0,l)}})]:P||K&&!t.CodeMirror?[e(C,{containerClass:"grows",class:l.inputClass,value:he,label:l.label,hint:A?l.hint:l,title:l.title,maxlength:A&&l.maxlength||256,...l.final&&{oninput:()=>{}},multi:K||l.multi,alwaysmulti:K||l.alwaysmulti,onchange:e=>{ge(e),x(z,S,n,void 0,l)}})]:K?[e(Ze,[e(t.CodeMirror,{key:y.id,doc:he,schema:l.schema,templates:l.templates,hint:l.dynamicHint?l.dynamicHint(S):l.hint,empty:l.empty,onSave:e=>{null!==e&&(ge(e||""),x(z,S,n,void 0,l),e||d.add(l.hint+" cleared"))}})])]:F?[e(C,{containerClass:"grows",class:l.inputClass,value:l.step>0&&l.step<1||l.float?void 0!==he?(parseFloat(he)||0).toFixed(3):"":he,type:"text",label:l.label,hint:A?l.hint:l,title:l.title,subtype:"number",...l.draginc&&{staticField:!0,draginc:l.draginc},...l.final&&{oninput:()=>{}},onchange:e=>{let t=l.step>0&&l.step<1||l.float,{min:a,max:i}=l;if(void 0===e)ge(void 0);else{let n=t?parseFloat(e):parseInt(e,10);isNaN(n)?n=void 0:(n<a&&(n=a),n>i&&(n=i)),ge(n)}x(z,S,n,void 0,l)}})]:ie?[e(k,l)]:oe?t.AssetButton?[e(t.AssetButton,{global:m,value:he,confirm:l.confirm,class:"grows "+(l.containerClass||"scaff scaff-b1"),buttonClass:l.buttonClass||"unitheight scaff-left",readonly:l.readOnly,closeClass:l.closeClass,textClass:l.textClass||"",iconClass:l.iconClass||"",field:l.field,types:l.types,subtype:l.subtype,file:l.file,pack:l.pack,shiftUpdate:l.shiftUpdate,shiftIcon:l.shiftIcon,removeIcon:l.removeIcon,emptyValue:l.emptyText||"off",emptyText:l.emptyText||"off",emptyIcon:l.emptyIcon||l.icon,icon:l.icon,title:l.title,titleCollapsed:l.titleCollapsed,titleClass:"pad-2 pad-v no-pad-bottom",parameters:y,auxParameters:b,onchange:(e,a)=>{a&&a.shiftKey&&t.onShiftPress?t.onShiftPress(n,S,e):(void 0===e&&(e=l.nullValue||void 0),ge(e),x(z,S,n,void 0,l))}})]:[e(r,{icon:l.icon,title:l.title,class:"unitheight",text:"No Asset Module"})]:ae?[e(Te,{class:"grows "+(l.class||"scaff scaff-b1 unitheight font-200"),icon:{glyph:he},icons:!1,onchange:e=>{ge(e),x(z,S,n,void 0,l)}})]:ne?[e(We,{class:"grows "+(l.class||"scaff-right unitheight"),fontFamily:he,nodelete:l.nodelete,onchange:e=>{if(l.nodelete&&!e)return;ge(e);const t=l.target||l.forTarget?y[l.target||l.forTarget]:y;x(e?z:"delete",t,n,!e,l)}})]:Z?[e(".colorwrapper.flexcol.grows",{...l.label&&{"aria-label":l.label,class:"witharia"}},e(re,{class:"grows "+(l.class||"unitheight")+(pe?" withalt":""),color:he,caption:l.caption,noalpha:l.noalpha,remove:l.remove,onchange:(e,t)=>{let a=e;if(a)if(l.hsl){const e=t.hsl();a=[e.hue(),e.saturation(),e.lightness()]}else l.rgba&&(a=[t.r(),t.g(),t.b(),l.noalpha?1:t.a()]);ge(a),x(z,S,n,void 0,l)},...pe&&{style:{"--data-altval":((S[pe]??se.min)-se.min)/(se.max-se.min)*100+"%"}}},se?[e(xe,{auto0:se.auto0,min:se.min,max:se.max,step:se.step||.1,...se.mul&&{multiplier:se.mul},class:"col-11 grows innerlabel order-first",title:se.title,value:S[pe]??se.min,onchange:e=>{ge(e,void 0,pe,se),x(c[fe],S,fe,void 0,l)}})]:void 0))]:B?[e(A&&l.toggle?l.states?nt:Je:q,{class:"grows "+(l.class||"unitheight"),text:A?l.title||l.label:n,icon:A?l.icon:void 0,noclass:l.noclass,subline:l.subline,checked:he,title:l.hint,hint:l.hint,inverted:A&&l.inverted,states:l.states,iconClass:l.iconClass,onchange:e=>{ge(l.states?e:!!e),x(z,S,n,void 0,l)}})]:$?[e(r,{class:"grows "+(l.class||"accentbutton unitheight"),text:""===l.label?null:l.parse?l.parse(S,b):l.label||l.text||n,icon:l.icon,title:l.title||l.hint,onClick:e=>{const a=()=>{l.onClick?l.onClick(n,e,S,b,m,t):t.onAction&&t.onAction(n,e,N,t.arrayInfo)};l.confirm?V(l.confirm,a):a()}})]:Y?[e(l.keys?tt:et,{class:"col-12 "+(l.toggle?"istoggler":""),icon:l.icon,buttonClass:l.buttonClass,selectorClass:l.selectorClass||"grows",selectorButtonClass:l.selectorButtonClass,keys:l.keys,hint:l.hint,nocustom:l.nocustom,source:he,onchange:()=>x(z,S,n,void 0,l),...l.customWidget||{}})]:G?[e(at,{class:"col-12"+(l.class?" "+l.class:""),buttonClass:l.widgetClass,cardie:l.cardie,cardieClass:l.cardieClass,addButtonClass:l.addButtonClass,caption:l.caption,separatorClass:l.separatorClass,noseparator:l.noseparator,source:he,onchange:()=>x(z,S,n,void 0,l),widget:l.keyWidget,keys:l.keys,add:l.add,targetParameters:S,auxParameters:b,empty:l.empty})]:H?[e(v,{class:"col-12 "+(l.toggle?"istoggler":""),subclass:l.class,buttonClass:l.buttonClass,choices:l.choices,choose:l.choose,chooseKey:l.chooseKey,chooseDict:t.chooseDict,label:l.label,field:l.field,icon:l.icon,value:he,title:l.title,onchange:e=>{let{value:t}=e;t||t>=0?(l.toggle&&t===he&&(t=!t),ge(t),x(z,S,n,void 0,l)):(ge(void 0),x(z,S,n,void 0,l)),Oe()}})]:U?[e(te,{class:l.containerClass||"scaff scaff-b1",buttonClass:l.class||"unitheightsmall scaff-left",closeClass:l.buttonClass||void 0,textClass:l.textClass||"",locked:l.locked,value:he,field:l.field,fieldTitle:l.fieldTitle,emptyText:l.emptyText||"off",emptyIcon:l.emptyIcon||l.icon,confirm:l.confirm,icon:l.icon||t.icon,hint:l.hint,label:l.label,title:l.question,itemsKey:"function"==typeof l.optionsKey?()=>l.optionsKey(S):l.optionsKey,items:l.options||t.optionsDict,removeIcon:l.removeIcon,nodelete:l.nodelete,onchange:(e,t)=>{t?.shiftKey?l.shiftPress&&l.shiftPress(S,b):("string"==typeof e&&(e=e.trim()),e?(ge(l.values?l.values[e]:e,l.clone),x(z,S,n,!1,l)):(ge(l.nullValue||void 0),x(z,S,n,!0,l)),Oe())}})]:X?[e(I,{class:"grows scaff scaff-b1 "+(l.class||"unitheight"),value:he,emptyText:l.emptyText||"off",icon:l.icon,title:l.title,items:l.items,textClass:l.textClass||"",onchange:e=>{"string"==typeof e&&(e=e.trim()),e?(ge(e),x(z,S,n,void 0,l)):(ge(void 0),x(z,S,n,void 0,l)),Oe()}})]:R?[e(xe,{auto0:l.auto0,relative:!l.auto0&&!l.absolute,factor:l.factor,min:l.min,max:l.max,step:l.step||.1,...l.mul?{multiplier:l.mul}:{},class:"col-11 grows innerlabel",title:l.label||l.title||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),hint:l.hint,value:parseFloat(he)??l??l.min,parser:l.parser,onchange:e=>{ge(e),x(z,S,n,void 0,l)}})]:[e(xe,{min:l[0],max:l[1],step:l[2]||.1,...l[3]?{multiplier:l[3]}:{},class:"col-11 grows innerlabel",title:l[4]||(-1===n.indexOf("-")?n:n.substring(n.lastIndexOf("-")+1)),value:parseFloat(he)||l[0],onchange:e=>{ge(e),x(z,S,n,void 0,l)}})])}));return o||n.length?T?T(N.concat(n)):N.concat(n):_&&!n.length?e(l,_):[]})),rt=t((({attrs:t,children:a})=>{const{busy:n,parameters:i,auxParameters:o,cardid:r,size:s,index:c,titleWidget:u,parametersTitle:d,parametersBody:h,rootUpdate:p,global:m,layer:g,tableChildren:v,cols:y,onLayerReset:b,onAction:w,nofold:x,bodyClass:C,titleAction:k,AssetButton:M,CodeMirror:T,optionsDict:_}=t;return e(f,{busy:n,nofold:x,size:s,cols:y,title:h.titleCollapsed||h.title,titleCollapsed:h.titleCollapsed||h.title,titleExpanded:h.titleExpanded||h.title,action:k,expandedClass:t.expandedClass,onShiftOpen:()=>{},titleWidget:u||ot,titleAttrs:{...d,onShiftPress:t.onShiftPress,confirm:t.confirmTitle,itemClass:"",parameters:i,auxParameters:o,clone:!0,global:m,layer:g,AssetButton:M,CodeMirror:T,optionsDict:_,initializeTargets:t.initializeTargets,onAction:w,onchange:(a,n,r,l,s)=>{Oe();const c=s.rootUpdate||p;if(s?.onchange)s.onchange(a,n,i);else if(a){if("none"===c)return;"both"===c&&o?n[Ue]=o[Ue]=a:"parent"===c&&o?(n[Ue]=a,o[Ue]=!0):"target"===c&&n!==i?(n[Ue]=a,i[Ue]=!0):2===c?i[Ue]=a:1===c?n&&(n[Ue]=a):"string"==typeof c&&"both"!==c&&"parent"!==c&&"target"!==c?i[c]?(i[c][Ue]=a,i[Ue]=!0):i[Ue]=Xe:-1!==c&&n&&(n[Ue]=a)}else b&&b();t.onTitleChange&&t.onTitleChange(a,n,r,l),e.redraw()}},cardid:r,class:"withbottommargin relative"+(t.class?" "+t.class:""),bodyClass:C,expandedView:()=>[...h.meta?[e(ot,{...h,confirm:t.confirmBody,itemClass:"pad-1",parameters:i,auxParameters:o,clone:!0,global:m,layer:g,index:c,play:t.play,itemsDict:t.itemsDict,initializeTargets:t.initializeTargets,optionsDict:_,AssetButton:M,CodeMirror:T,onAction:w,onchange:(a,n,r,l,s,c)=>{const u=s.rootUpdate||p;if(Oe(),s?.onchange)s.onchange(a,n,i);else if(a){if("none"===u)return;"both"===u&&o?n[Ue]=o[Ue]=a:"parent"===u&&o?(n[Ue]=a,o[Ue]=!0):"target"===u&&n!==i?(n[Ue]=a,i[Ue]=!0):2===u?i[Ue]=a:1===u?n&&(n[Ue]=a):"string"==typeof u&&"both"!==u&&"parent"!==u&&"target"!==u?i[u]?(i[u][Ue]=a,i[Ue]=!0):i[Ue]=Xe:-1!==u&&n&&(n[Ue]=a)}else b&&b();t.onChange&&t.onChange(a,r,n,o,l,s,c,t),e.redraw()}},v)]:h.emptyMeta?[e(l,h.emptyMeta)]:[],...a||[]],collapsedView:t.collapsedView})})),lt=t((({attrs:t,state:a,children:n})=>{const{layer:i,property:o,colorProperty:l}=t,s=Ge[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:(a.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(r,{class:"grows unitheightsmall rectbutton ohidden",text:g||"--- NONE ---",icon:t.icon,onClick:t=>{!a.chooser&&t.shiftKey&&s.images?Ce.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(t,a)=>{const n=a&&s.images(a);n&&(i[o]=W(n),Oe(),e.redraw())}}):(a.chooser=!a.chooser,e.redraw())}}),...i[o]?[e(r,{class:"clearfont unitheightsmall bg-accent",text:"X",onClick:()=>{delete i[o],Oe(),e.redraw()}})]:s.images&&!g?[e(r,{class:"unitsizesmall rectbutton ohidden",icon:"images",onClick:()=>Ce.setTransState("image",void 0,{giphyQuery:"frame",onOverride:(t,a)=>{const n=a&&s.images(a);n&&(i[o]=W(n),Oe(),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:()=>{a.chooser=!a.chooser,e.redraw()}}],onchange:t=>{t=t.split("\n").join(" ").trim(),i[o]=t,Oe(),e.redraw()}})],...v||y?[e(".flexrow.wrap.paramgroup",[...v?[e(ot,{meta:p,metaKeys:m,parameters:h,onchange:()=>{delete c.calc,Oe(),e.redraw()},AssetButton:t.AssetButton,CodeMirror:t.CodeMirror})]:[],...y?[e(".flexbreak"),e(xe,{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,Oe(),e.redraw()}}),e(xe,{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,Oe(),e.redraw()}})]:[]])]:[],...a.chooser&&s?[e(it,{entity:t.entity,template:s,type:i.type,layer:i,onClick:t=>{a.chooser=!1,i[o]="object"==typeof t.value?W(t.value):t.value,t.color&&l&&(i[l]=t.color),Oe(),e.redraw()}})]:[],...u?n:[]])}));export{o as Button,v as ButtonChoiceWidget,y as ButtonMultipleChoiceWidget,r as ButtonNew,f as CardieWidget,se as ColorJoePack,re as ColorJoeWidget,te as ComboPrompt,I as ComboWidget,$ as ConfirmPromise,Se as CoolContentTicker,Ne as CoolGenericTicker,De as CoolerEmpty,l as Empty,Le as EmptyButton,He as FileSelectButton,Ae as GenericButtonTicker,i as Icon,qe as ImageDataButton,Ye as ImageProcessButton,Ve as ImageSelectButton,C as InputWidget,Ce as MainState,ke as MainStateImplement,$e as MediaSelectButton,et as MultiToggleWidget,k as NoticeWidget,d as Notification,H as OverflowMenu,ee as OverflowUtils,rt as ParameterCardie,ot as ParameterTable,ce as PlusMinus,Qe as RangeToggleWidget,xe as RangeWidget,c as Selector,g as Separator,Te as SmileysButton,q as SwitchWidget,lt as TemplatedInputWidget,Ie as ThematicWrapper,ue as TitleBarWidget,R as Tokenizer,S as clearModal,W as clone,V as confirm,Y as confirmPromise,p as defineWidget,Be as makeLocalPath,Fe as makeLocalUrl,Ee as optionsPrompt,N as popupMessage,Re as processImage,_e as startApp,Pe 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.14",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|