|
|
/*! * vanilla-picker v2.12.2 * https://vanilla-picker.js.org
* * Copyright 2017-2023 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
* Released under the ISC license. */var H=function(a,t){if(!(a instanceof t))throw new TypeError("Cannot call a class as a function")},O=function(){function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,r){return e&&a(t.prototype,e),r&&a(t,r),t}}(),w=function(){function a(t,e){var r=[],n=!0,o=!1,l=void 0;try{for(var p=t[Symbol.iterator](),i;!(n=(i=p.next()).done)&&(r.push(i.value),!(e&&r.length===e));n=!0);}catch(s){o=!0,l=s}finally{try{!n&&p.return&&p.return()}finally{if(o)throw l}}return r}return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return a(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();String.prototype.startsWith=String.prototype.startsWith||function(a){return this.indexOf(a)===0};String.prototype.padStart=String.prototype.padStart||function(a,t){for(var e=this;e.length<a;)e=t+e;return e};var P={cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"};function R(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,e=t>0?a.toFixed(t).replace(/0+$/,"").replace(/\.$/,""):a.toString();return e||"0"}var z=function(){function a(t,e,r,n){H(this,a);var o=this;function l(i){if(i.startsWith("hsl")){var s=i.match(/([\-\d\.e]+)/g).map(Number),c=w(s,4),u=c[0],h=c[1],g=c[2],f=c[3];f===void 0&&(f=1),u/=360,h/=100,g/=100,o.hsla=[u,h,g,f]}else if(i.startsWith("rgb")){var b=i.match(/([\-\d\.e]+)/g).map(Number),d=w(b,4),v=d[0],x=d[1],k=d[2],m=d[3];m===void 0&&(m=1),o.rgba=[v,x,k,m]}else i.startsWith("#")?o.rgba=a.hexToRgb(i):o.rgba=a.nameToRgb(i)||a.hexToRgb(i)}if(t!==void 0)if(Array.isArray(t))this.rgba=t;else if(r===void 0){var p=t&&""+t;p&&l(p.toLowerCase())}else this.rgba=[t,e,r,n===void 0?1:n]}return O(a,[{key:"printRGB",value:function(t){var e=t?this.rgba:this.rgba.slice(0,3),r=e.map(function(n,o){return R(n,o===3?3:0)});return t?"rgba("+r+")":"rgb("+r+")"}},{key:"printHSL",value:function(t){var e=[360,100,100,1],r=["","%","%",""],n=t?this.hsla:this.hsla.slice(0,3),o=n.map(function(l,p){return R(l*e[p],p===3?3:1)+r[p]});return t?"hsla("+o+")":"hsl("+o+")"}},{key:"printHex",value:function(t){var e=this.hex;return t?e:e.substring(0,7)}},{key:"rgba",get:function(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=a.hslToRgb(this._hsla)},set:function(t){t.length===3&&(t[3]=1),this linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em`,F=360,$="keydown",y="mousedown",C="focusin";function _(a,t){return(t||document).querySelector(a)}function A(a){a.preventDefault(),a.stopPropagation()}function D(a,t,e,r,n){a.add(t,$,function(o){e.indexOf(o.key)>=0&&(n&&A(o),r(o))})}var W=function(){function a(t){H(this,a),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new I,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(t)}return O(a,[{key:"setOptions",value:function(t){var e=this;if(!t)return;var r=this.settings;function n(i,s,c){for(var u in i)c&&c.indexOf(u)>=0||(s[u]=i[u])}if(t instanceof HTMLElement)r.parent=t;else{r.parent&&t.parent&&r.parent!==t.parent&&(this._events.remove(r.parent),this._popupInited=!1),n(t,r),t.onChange&&(this.onChange=t.onChange),t.onDone&&(this.onDone=t.onDone),t.onOpen&&(this.onOpen=t.onOpen),t.onClose&&(this.onClose=t.onClose);var o=t.color||t.colour;o&&this._setColor(o)}var l=r.parent;if(l&&r.popup&&!this._popupInited){var p=function(i){return e.openHandler(i)};this._events.add(l,"click",p),D(this._events,l,[" ","Spacebar","Enter"],p),this._popupInited=!0}else t.parent&&!r.popup&&this.show()}},{key:"openHandler",value:function(t){if(this.show()){t&&t.preventDefault(),this.settings.parent.style.pointerEvents="none";var e=t&&t.type===$?this._domEdit:this.domElement;setTimeout(function(){return e.focus()},100),this.onOpen&&this.onOpen(this.colour)}}},{key:"closeHandler",value:function(t){var e=t&&t.type,r=!1;if(!t)r=!0;else if(e===y||e===C){var n=(this.__containedEvent||0)+100;t.timeStamp>n&&(r=!0)}else A(t),r=!0;r&&this.hide()&&(this.settings.parent.style.pointerEvents="",e!==y&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function(t,e){this.closeHandler(),this.setOptions(t),e&&this.openHandler()}},{key:"setColor",value:function(t,e){this._setColor(t,{silent:e})}},{key:"_setColor",value:function(t,e){if(typeof t=="string"&&(t=t.trim()),!!t){e=e||{};var r=void 0;try{r=new z(t)}catch(o){if(e.failSilently)return;throw o}if(!this.settings.alpha){var n=r.hsla;n[3]=1,r.hsla=n}this.colour=this.color=r,this._setHSLA(null,null,null,null,e)}}},{key:"setColour",value:function(t,e){this.setColor(t,e)}},{key:"show",value:function(){var t=this.settings.parent;if(!t)return!1;if(this.domElement){var e=this._toggleDOM(!0);return this._setPosition(),e}var r=this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>',n=q(r);return this.domElement=n,this._domH=_(".picker_hue",n),this._domSL=_(".picker_sl",n),this._domA=_(".picker_alpha",n),this._domEdit=_(".picker_editor input",n),this._domSample=_(".picker_sample",n),this._domOkay=_(".picker_done button",n),this._domCancel=_(".picker_cancel button",n),n.classList.add("layout_"+this.settings.layout),this.settings.alpha||n.classList.add("no_alpha"),this.settings.editor||n.classList.add("no_editor"),this.settings.cancelButton||n.classList.add("no_cancel"),this._ifPopup(function(){return n.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"destroy",value:function(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function(){var t=this,e=this,r=this.domElement,n=this._events;function o(i,s,c){n.add(i,s,c)}o(r,"clic
|