UNPKG

@silexlabs/grapesjs-advanced-selector

Version:

A GrapesJS plugin for managing advanced CSS selectors with a visual interface

192 lines 86.8 kB
/*! @silexlabs/grapesjs-advanced-selector - 1.2.0 */ !function(e,t){'object'==typeof exports&&'object'==typeof module?module.exports=t():'function'==typeof define&&define.amd?define([],t):'object'==typeof exports?exports["@silexlabs/grapesjs-advanced-selector"]=t():e["@silexlabs/grapesjs-advanced-selector"]=t()}('undefined'!=typeof globalThis?globalThis:'undefined'!=typeof window?window:this,(()=>(()=>{"use strict";var e={d:(t,o)=>{for(var s in o)e.o(o,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:o[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})}},t={};e.r(t),e.d(t,{default:()=>to,name:()=>eo});const o=globalThis,s=o.ShadowRoot&&(void 0===o.ShadyCSS||o.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,r=Symbol(),i=new WeakMap;class l{constructor(e,t,o){if(this._$cssResult$=!0,o!==r)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(s&&void 0===e){const o=void 0!==t&&1===t.length;o&&(e=i.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&i.set(t,e))}return e}toString(){return this.cssText}}const n=e=>new l("string"==typeof e?e:e+"",void 0,r),a=(e,...t)=>{const o=1===e.length?e[0]:t.reduce(((t,o,s)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+e[s+1]),e[0]);return new l(o,e,r)},c=s?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const o of e.cssRules)t+=o.cssText;return n(t)})(e):e,{is:d,defineProperty:h,getOwnPropertyDescriptor:p,getOwnPropertyNames:u,getOwnPropertySymbols:v,getPrototypeOf:S}=Object,m=globalThis,g=m.trustedTypes,f=g?g.emptyScript:"",y=m.reactiveElementPolyfillSupport,b=(e,t)=>e,C={toAttribute(e,t){switch(t){case Boolean:e=e?f:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let o=e;switch(t){case Boolean:o=null!==e;break;case Number:o=null===e?null:Number(e);break;case Object:case Array:try{o=JSON.parse(e)}catch(e){o=null}}return o}},$=(e,t)=>!d(e,t),_={attribute:!0,type:String,converter:C,reflect:!1,useDefault:!1,hasChanged:$};Symbol.metadata??=Symbol("metadata"),m.litPropertyMetadata??=new WeakMap;class A extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=_){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const o=Symbol(),s=this.getPropertyDescriptor(e,o,t);void 0!==s&&h(this.prototype,e,s)}}static getPropertyDescriptor(e,t,o){const{get:s,set:r}=p(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:s,set(t){const i=s?.call(this);r?.call(this,t),this.requestUpdate(e,i,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??_}static _$Ei(){if(this.hasOwnProperty(b("elementProperties")))return;const e=S(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(b("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(b("properties"))){const e=this.properties,t=[...u(e),...v(e)];for(const o of t)this.createProperty(o,e[o])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,o]of t)this.elementProperties.set(e,o)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const o=this._$Eu(e,t);void 0!==o&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const e of o)t.unshift(c(e))}else void 0!==e&&t.push(c(e));return t}static _$Eu(e,t){const o=t.attribute;return!1===o?void 0:"string"==typeof o?o:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(s)e.adoptedStyleSheets=t.map((e=>e instanceof CSSStyleSheet?e:e.styleSheet));else for(const s of t){const t=document.createElement("style"),r=o.litNonce;void 0!==r&&t.setAttribute("nonce",r),t.textContent=s.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,t,o){this._$AK(e,o)}_$ET(e,t){const o=this.constructor.elementProperties.get(e),s=this.constructor._$Eu(e,o);if(void 0!==s&&!0===o.reflect){const r=(void 0!==o.converter?.toAttribute?o.converter:C).toAttribute(t,o.type);this._$Em=e,null==r?this.removeAttribute(s):this.setAttribute(s,r),this._$Em=null}}_$AK(e,t){const o=this.constructor,s=o._$Eh.get(e);if(void 0!==s&&this._$Em!==s){const e=o.getPropertyOptions(s),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:C;this._$Em=s,this[s]=r.fromAttribute(t,e.type)??this._$Ej?.get(s)??null,this._$Em=null}}requestUpdate(e,t,o){if(void 0!==e){const s=this.constructor,r=this[e];if(o??=s.getPropertyOptions(e),!((o.hasChanged??$)(r,t)||o.useDefault&&o.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(s._$Eu(e,o))))return;this.C(e,t,o)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:s,wrapped:r},i){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,i??t??this[e]),!0!==r||void 0!==i)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),!0===s&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,o]of e){const{wrapped:e}=o,s=this[t];!0!==e||this._$AL.has(t)||void 0===s||this.C(t,void 0,o,s)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach((e=>e.hostUpdate?.())),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach((e=>e.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach((e=>this._$ET(e,this[e]))),this._$EM()}updated(e){}firstUpdated(e){}}A.elementStyles=[],A.shadowRootOptions={mode:"open"},A[b("elementProperties")]=new Map,A[b("finalized")]=new Map,y?.({ReactiveElement:A}),(m.reactiveElementVersions??=[]).push("2.1.0");const E=globalThis,W=E.trustedTypes,U=W?W.createPolicy("lit-html",{createHTML:e=>e}):void 0,z="$lit$",w=`lit$${Math.random().toFixed(9).slice(2)}$`,R="?"+w,P=`<${R}>`,T=document,k=()=>T.createComment(""),L=e=>null===e||"object"!=typeof e&&"function"!=typeof e,I=Array.isArray,O=e=>I(e)||"function"==typeof e?.[Symbol.iterator],N="[ \t\n\f\r]",x=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,j=/-->/g,D=/>/g,M=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,F=/"/g,G=/^(?:script|style|textarea|title)$/i,V=e=>(t,...o)=>({_$litType$:e,strings:t,values:o}),B=V(1),q=(V(2),V(3),Symbol.for("lit-noChange")),Y=Symbol.for("lit-nothing"),Z=new WeakMap,K=T.createTreeWalker(T,129);function J(e,t){if(!I(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==U?U.createHTML(t):t}const Q=(e,t)=>{const o=e.length-1,s=[];let r,i=2===t?"<svg>":3===t?"<math>":"",l=x;for(let t=0;t<o;t++){const o=e[t];let n,a,c=-1,d=0;for(;d<o.length&&(l.lastIndex=d,a=l.exec(o),null!==a);)d=l.lastIndex,l===x?"!--"===a[1]?l=j:void 0!==a[1]?l=D:void 0!==a[2]?(G.test(a[2])&&(r=RegExp("</"+a[2],"g")),l=M):void 0!==a[3]&&(l=M):l===M?">"===a[0]?(l=r??x,c=-1):void 0===a[1]?c=-2:(c=l.lastIndex-a[2].length,n=a[1],l=void 0===a[3]?M:'"'===a[3]?F:H):l===F||l===H?l=M:l===j||l===D?l=x:(l=M,r=void 0);const h=l===M&&e[t+1].startsWith("/>")?" ":"";i+=l===x?o+P:c>=0?(s.push(n),o.slice(0,c)+z+o.slice(c)+w+h):o+w+(-2===c?t:h)}return[J(e,i+(e[o]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),s]};class X{constructor({strings:e,_$litType$:t},o){let s;this.parts=[];let r=0,i=0;const l=e.length-1,n=this.parts,[a,c]=Q(e,t);if(this.el=X.createElement(a,o),K.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(s=K.nextNode())&&n.length<l;){if(1===s.nodeType){if(s.hasAttributes())for(const e of s.getAttributeNames())if(e.endsWith(z)){const t=c[i++],o=s.getAttribute(e).split(w),l=/([.?@])?(.*)/.exec(t);n.push({type:1,index:r,name:l[2],strings:o,ctor:"."===l[1]?re:"?"===l[1]?ie:"@"===l[1]?le:se}),s.removeAttribute(e)}else e.startsWith(w)&&(n.push({type:6,index:r}),s.removeAttribute(e));if(G.test(s.tagName)){const e=s.textContent.split(w),t=e.length-1;if(t>0){s.textContent=W?W.emptyScript:"";for(let o=0;o<t;o++)s.append(e[o],k()),K.nextNode(),n.push({type:2,index:++r});s.append(e[t],k())}}}else if(8===s.nodeType)if(s.data===R)n.push({type:2,index:r});else{let e=-1;for(;-1!==(e=s.data.indexOf(w,e+1));)n.push({type:7,index:r}),e+=w.length-1}r++}}static createElement(e,t){const o=T.createElement("template");return o.innerHTML=e,o}}function ee(e,t,o=e,s){if(t===q)return t;let r=void 0!==s?o._$Co?.[s]:o._$Cl;const i=L(t)?void 0:t._$litDirective$;return r?.constructor!==i&&(r?._$AO?.(!1),void 0===i?r=void 0:(r=new i(e),r._$AT(e,o,s)),void 0!==s?(o._$Co??=[])[s]=r:o._$Cl=r),void 0!==r&&(t=ee(e,r._$AS(e,t.values),r,s)),t}class te{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:o}=this._$AD,s=(e?.creationScope??T).importNode(t,!0);K.currentNode=s;let r=K.nextNode(),i=0,l=0,n=o[0];for(;void 0!==n;){if(i===n.index){let t;2===n.type?t=new oe(r,r.nextSibling,this,e):1===n.type?t=new n.ctor(r,n.name,n.strings,this,e):6===n.type&&(t=new ne(r,this,e)),this._$AV.push(t),n=o[++l]}i!==n?.index&&(r=K.nextNode(),i++)}return K.currentNode=T,s}p(e){let t=0;for(const o of this._$AV)void 0!==o&&(void 0!==o.strings?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}}class oe{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,o,s){this.type=2,this._$AH=Y,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=ee(this,e,t),L(e)?e===Y||null==e||""===e?(this._$AH!==Y&&this._$AR(),this._$AH=Y):e!==this._$AH&&e!==q&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):O(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==Y&&L(this._$AH)?this._$AA.nextSibling.data=e:this.T(T.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:o}=e,s="number"==typeof o?this._$AC(e):(void 0===o.el&&(o.el=X.createElement(J(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===s)this._$AH.p(t);else{const e=new te(s,this),o=e.u(this.options);e.p(t),this.T(o),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new X(e)),t}k(e){I(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let o,s=0;for(const r of e)s===t.length?t.push(o=new oe(this.O(k()),this.O(k()),this,this.options)):o=t[s],o._$AI(r),s++;s<t.length&&(this._$AR(o&&o._$AB.nextSibling,s),t.length=s)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e&&e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class se{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,s,r){this.type=1,this._$AH=Y,this._$AN=void 0,this.element=e,this.name=t,this._$AM=s,this.options=r,o.length>2||""!==o[0]||""!==o[1]?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=Y}_$AI(e,t=this,o,s){const r=this.strings;let i=!1;if(void 0===r)e=ee(this,e,t,0),i=!L(e)||e!==this._$AH&&e!==q,i&&(this._$AH=e);else{const s=e;let l,n;for(e=r[0],l=0;l<r.length-1;l++)n=ee(this,s[o+l],t,l),n===q&&(n=this._$AH[l]),i||=!L(n)||n!==this._$AH[l],n===Y?e=Y:e!==Y&&(e+=(n??"")+r[l+1]),this._$AH[l]=n}i&&!s&&this.j(e)}j(e){e===Y?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class re extends se{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===Y?void 0:e}}class ie extends se{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==Y)}}class le extends se{constructor(e,t,o,s,r){super(e,t,o,s,r),this.type=5}_$AI(e,t=this){if((e=ee(this,e,t,0)??Y)===q)return;const o=this._$AH,s=e===Y&&o!==Y||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,r=e!==Y&&(o===Y||s);s&&this.element.removeEventListener(this.name,this,o),r&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class ne{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){ee(this,e)}}const ae={M:z,P:w,A:R,C:1,L:Q,R:te,D:O,V:ee,I:oe,H:se,N:ie,U:le,B:re,F:ne},ce=E.litHtmlPolyfillSupport;ce?.(X,oe),(E.litHtmlVersions??=[]).push("3.3.0");const de=(e,t,o)=>{const s=o?.renderBefore??t;let r=s._$litPart$;if(void 0===r){const e=o?.renderBefore??null;s._$litPart$=r=new oe(t.insertBefore(k(),e),e,void 0,o??{})}return r._$AI(e),r},he=globalThis;class pe extends A{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=de(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}}pe._$litElement$=!0,pe["finalized"]=!0,he.litElementHydrateSupport?.({LitElement:pe});const ue=he.litElementPolyfillSupport;ue?.({LitElement:pe});var ve;(he.litElementVersions??=[]).push("4.2.0"),function(e){e["HOVER"]="hover",e["ACTIVE"]="active",e["FOCUS"]="focus",e["FOCUS_WITHIN"]="focus-within",e["FOCUS_VISIBLE"]="focus-visible",e["VISITED"]="visited",e["LINK"]="link",e["ANY_LINK"]="any-link",e["FIRST_CHILD"]="first-child",e["LAST_CHILD"]="last-child",e["NTH_CHILD"]="nth-child",e["NTH_LAST_CHILD"]="nth-last-child",e["ONLY_CHILD"]="only-child",e["FIRST_OF_TYPE"]="first-of-type",e["LAST_OF_TYPE"]="last-of-type",e["NTH_OF_TYPE"]="nth-of-type",e["NTH_LAST_OF_TYPE"]="nth-last-of-type",e["ONLY_OF_TYPE"]="only-of-type",e["EMPTY"]="empty",e["ROOT"]="root",e["SCOPE"]="scope",e["TARGET"]="target",e["BEFORE"]="before",e["AFTER"]="after",e["FIRST_LINE"]="first-line",e["FIRST_LETTER"]="first-letter",e["ENABLED"]="enabled",e["DISABLED"]="disabled",e["CHECKED"]="checked",e["INDETERMINATE"]="indeterminate",e["DEFAULT"]="default",e["VALID"]="valid",e["INVALID"]="invalid",e["IN_RANGE"]="in-range",e["OUT_OF_RANGE"]="out-of-range",e["REQUIRED"]="required",e["OPTIONAL"]="optional",e["READ_ONLY"]="read-only",e["READ_WRITE"]="read-write",e["LANG"]="lang",e["DIR"]="dir"}(ve||(ve={}));const Se=[{type:ve.HOVER,hasParam:!1,sentencePre:'On mouse',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:hover'},{type:ve.ACTIVE,hasParam:!1,sentencePre:'When',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:active'},{type:ve.FOCUS,hasParam:!1,sentencePre:'When it has the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:focus'},{type:ve.FOCUS_WITHIN,hasParam:!1,sentencePre:'When the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within'},{type:ve.FOCUS_VISIBLE,hasParam:!1,sentencePre:'When the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible'},{type:ve.VISITED,hasParam:!1,sentencePre:'When',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:visited'},{type:ve.LINK,hasParam:!1,sentencePre:'When it is a',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:link'},{type:ve.ANY_LINK,hasParam:!1,sentencePre:'When it is a',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:any-link'},{type:ve.FIRST_CHILD,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:first-child'},{type:ve.LAST_CHILD,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:last-child'},{type:ve.NTH_CHILD,hasParam:!0,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child'},{type:ve.NTH_LAST_CHILD,hasParam:!0,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child'},{type:ve.ONLY_CHILD,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:only-child'},{type:ve.FIRST_OF_TYPE,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:first-of-type'},{type:ve.LAST_OF_TYPE,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:last-of-type'},{type:ve.NTH_OF_TYPE,hasParam:!0,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type'},{type:ve.NTH_LAST_OF_TYPE,hasParam:!0,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-of-type'},{type:ve.ONLY_OF_TYPE,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:only-of-type'},{type:ve.EMPTY,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:empty'},{type:ve.ROOT,hasParam:!1,sentencePre:'When it is the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:root'},{type:ve.SCOPE,hasParam:!1,sentencePre:'When it is within',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:scope'},{type:ve.TARGET,hasParam:!1,sentencePre:'When URL matches',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:target'},{type:ve.BEFORE,hasParam:!1,sentencePre:'Style the',sentencePost:'pseudo-element',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/::before'},{type:ve.AFTER,hasParam:!1,sentencePre:'Style the',sentencePost:'pseudo-element',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/::after'},{type:ve.FIRST_LINE,hasParam:!1,sentencePre:'Style the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line'},{type:ve.FIRST_LETTER,hasParam:!1,sentencePre:'Style the',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter'},{type:ve.ENABLED,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:enabled'},{type:ve.DISABLED,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled'},{type:ve.CHECKED,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:checked'},{type:ve.INDETERMINATE,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate'},{type:ve.REQUIRED,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:required'},{type:ve.OPTIONAL,hasParam:!1,sentencePre:'When it is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:optional'},{type:ve.LANG,hasParam:!0,sentencePre:'When it matches',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:lang'},{type:ve.DIR,hasParam:!0,sentencePre:'When the text direction is',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:dir'}];var me,ge;!function(e){e["TAG"]="tag",e["CUSTOM_TAG"]="custom-tag",e["CLASS"]="class",e["ID"]="id",e["ATTRIBUTE"]="attribute",e["UNIVERSAL"]="universal",e["UNKNOWN"]="unknown"}(me||(me={})),function(e){e["EQUALS"]="=",e["INCLUDES"]="~=",e["DASH_MATCH"]="|=",e["PREFIX_MATCH"]="^=",e["SUFFIX_MATCH"]="$=",e["SUBSTRING_MATCH"]="*="}(ge||(ge={}));const fe=['id','class','style','name','type','value','placeholder','href','src','alt','title','width','height','disabled','checked','selected','hidden','readonly','multiple','required','min','max','step','pattern','autocomplete','autofocus','spellcheck','contenteditable','dir','lang','tabindex','accesskey','role'],ye=['a','abbr','address','area','article','aside','audio','b','base','bdi','bdo','blockquote','body','br','button','canvas','caption','cite','code','col','colgroup','data','datalist','dd','del','details','dfn','dialog','div','dl','dt','em','embed','fieldset','figcaption','figure','footer','form','h1','h2','h3','h4','h5','h6','head','header','hgroup','hr','html','i','iframe','img','input','ins','kbd','label','legend','li','link','main','map','mark','meta','meter','nav','noscript','object','ol','optgroup','option','output','p','param','picture','pre','progress','q','rb','rp','rt','rtc','ruby','s','samp','script','section','select','slot','small','source','span','strong','style','sub','summary','sup','table','tbody','td','template','textarea','tfoot','th','thead','time','title','tr','track','u','ul','var','video','wbr'],be=[' '],Ce={[me.TAG]:'var(--gjs-color-blue, #3b97e3)',[me.CUSTOM_TAG]:'var(--gjs-color-blue, #3b97e3)',[me.CLASS]:'var(--gjs-color-green, #62c462)',[me.ID]:'var(--gjs-color-yellow, #ffca6f)',[me.ATTRIBUTE]:'var(--gjs-color-yellow, #ffca6f)',[me.UNIVERSAL]:'var(--gjs-color-red, #dd3636)',[me.UNKNOWN]:'var(--gjs-color-red, #dd3636)'},$e='•',_e='#',Ae='[ ]',Ee='*',We='⚛',Ue='⚛',ze='?';function we(e,t,o=!0){if(e.type!==t.type)return!1;if(!o&&e.active!==t.active)return!1;switch(e.type){case me.TAG:case me.CUSTOM_TAG:case me.CLASS:case me.ID:{const o=t;return e.value===o.value}case me.ATTRIBUTE:{const o=e,s=t;return o.operator===s.operator&&((!o.operator||o.attributeValue===s.attributeValue)&&o.value===s.value)}case me.UNIVERSAL:return!0;default:return!1}}function Re(e){var t;switch(e.type){case me.ATTRIBUTE:{const o=e;return`[${o.value||''}${o.operator?`${o.operator}"${null!==(t=o.attributeValue)&&void 0!==t?t:''}"`:''}]`}case me.CLASS:return`.${e.value||''}`;case me.ID:return`#${e.value||''}`;case me.TAG:case me.CUSTOM_TAG:return e.value||'';case me.UNIVERSAL:return'*';default:return''}}function Pe(e){if(e.type===me.ATTRIBUTE){return`[${e.value||''}]`}return Re(e)}function Te(e){if(''===e)return e;if('*'===e)return e;const t=be.map((e=>`\\${e}`)).join('|'),o=e.toLowerCase().replace(new RegExp(t,'g'),'-');if(o.match(/^[0-9-]/))return!1;if(o.startsWith('-'))return!1;if(o.match(/^\[[a-z-]*\]?$/)&&fe.includes(o.replace('[','').replace(']','')))return o.replace(']','')+']';const s=e.match(/^\[([\w-]+)\s*=\s*"([^"]*)"?\]?$/);if(s){const[,e,t]=s;if(fe.includes(e))return`[${e}="${t}"]`}return o.match(/^\[data-[_a-zA-Z]+[_a-zA-Z0-9]*\]?$/)?o.replace(']','')+']':o.match(/^[a-z-]*[a-z]$/)&&o.includes('-')&&window.customElements.get(o)||o.match(/^[a-z]*$/)&&ye.includes(o)||o.match(/^\.-?[_a-zA-Z]+[_a-zA-Z0-9-]*$/)||o.match(/^#-?[_a-zA-Z]+[_a-zA-Z0-9-]*$/)?o:!!o.match(/^-?[_a-zA-Z]+[_a-zA-Z0-9-]*[_a-zA-Z0-9]$/)&&'.'+o}function ke(e,t=!1){if(!t&&!e.active)return 0;switch(e.type){case me.TAG:return 1;case me.CLASS:case me.ATTRIBUTE:case me.CUSTOM_TAG:return 10;case me.ID:return 100;case me.UNIVERSAL:return 0;default:return console.warn(`Unknown selector type: ${e.type}`),0}}function Le(e){switch(e.type){case me.TAG:case me.CUSTOM_TAG:return 1;case me.ID:return 2;case me.CLASS:return 3;case me.ATTRIBUTE:return 4;case me.UNIVERSAL:return 5;default:return 6}}function Ie(e){if(e.selectors.length>1&&e.selectors.some((e=>'universal'===e.type)))throw new Error('The universal selector can only be used alone');return`${e.selectors.filter((e=>e.active)).sort(((e,t)=>Le(e)-Le(t))).map(Re).join('')}${e.pseudoClass?(t=e.pseudoClass,t.hasParam?`:${t.type}(${null!==(o=t.param)&&void 0!==o?o:''})`:`:${t.type}`):''}`;var t,o}function Oe(e){return e.selectors.filter((e=>e.active)).reduce(((e,t)=>e+ke(t)),0)+(e.pseudoClass?10:0)}function Ne(e){const t=e.match(/(#[-\w]+)|(\.[-\w]+)|(\*)|([a-zA-Z][-a-zA-Z0-9]*)|(\[([a-zA-Z][-a-zA-Z0-9]*)\s*([~|^$*]?=)?\s*"?([^"\]]*)"?\])|(:[-\w]+(\([^)]*\))?)/g);if(!t)throw new Error(`Invalid selector: ${e}`);const o=[];let s;return t.forEach((e=>{if(e.startsWith('#'))o.push({type:me.ID,value:e.slice(1),active:!0});else if(e.startsWith('.'))o.push({type:me.CLASS,value:e.slice(1),active:!0});else if(e.startsWith('[')){const t=e.match(/^\[([a-zA-Z][-a-zA-Z0-9]*)\s*([~|^$*]?=)?\s*"?([^"\]]*)"?\]$/);if(t){const e={type:me.ATTRIBUTE,value:t[1],attributeValue:t[3]||'',active:!0};t[2]&&(e.operator=t[2]),o.push(e)}}else if('*'===e)o.push({type:me.UNIVERSAL,active:!0});else if(e.match(/^[a-zA-Z][-a-zA-Z0-9]*$/))o.push({type:me.TAG,value:e,active:!0});else if(e.startsWith(':')){const t=e.match(/:([-\w]+)(\([^)]*\))?/);if(t){if(s={...Se.find((e=>e.type===t[1]))},!s)throw new Error(`Pseudo-class not found: ${t[1]}`);s.hasParam&&t[2]&&(s={...s,param:t[2].slice(1,-1)})}}})),s?{selectors:o,pseudoClass:s}:{selectors:o}}function xe(e,t){const o=[...e.selectors];return t.selectors.forEach((e=>{o.some((t=>t.type===e.type&&t.value===e.value))||o.push(e)})),{selectors:o,pseudoClass:e.pseudoClass||t.pseudoClass||null}}function je(e,t){return e.map((e=>{const o=t.find((t=>t.type===e.type&&t.value===e.value));return{...e,active:!!o&&o.active}}))}var De;!function(e){e["HAS"]="has",e["NOT"]="not",e["IS"]="is",e["WHERE"]="where",e["CHILD"]=">",e["DESCENDANT"]=" ",e["ADJACENT"]="+",e["GENERAL_SIBLING"]="~"}(De||(De={}));const Me=[{type:De.DESCENDANT,hasParam:!1,sentencePre:'When it is',displayName:'inside of',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_combinator',isCombinator:!0,stringRepresentation:' '},{type:De.CHILD,hasParam:!1,sentencePre:'When it is a',displayName:'direct child of',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/Child_combinator',isCombinator:!0,stringRepresentation:' > '},{type:De.ADJACENT,hasParam:!1,sentencePre:'When it is',displayName:'adjacent to',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_combinator',isCombinator:!0,stringRepresentation:' + '},{type:De.GENERAL_SIBLING,hasParam:!1,sentencePre:'When it is',displayName:'after',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_combinator',isCombinator:!0,stringRepresentation:' ~ '},{type:De.HAS,hasParam:!1,sentencePre:'When it',displayName:'contains',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:has',isCombinator:!1,stringRepresentation:':has'},{type:De.NOT,hasParam:!1,sentencePre:'When it',displayName:'does not match',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:not',isCombinator:!1,stringRepresentation:':not'},{type:De.IS,hasParam:!1,sentencePre:'When it',displayName:'matches',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:is',isCombinator:!1,stringRepresentation:':is'},{type:De.WHERE,hasParam:!1,sentencePre:'When it',displayName:'matches (no spec)',helpLink:'https://developer.mozilla.org/en-US/docs/Web/CSS/:where',isCombinator:!1,stringRepresentation:':where'}];function He(e,t){const o=t?Ie(t):'';if(!o)return'';switch(e.type){case De.HAS:case De.NOT:case De.IS:case De.WHERE:return`${e.stringRepresentation}(${o})`;case De.CHILD:case De.ADJACENT:case De.GENERAL_SIBLING:case De.DESCENDANT:return`${e.stringRepresentation}${o}`;default:throw new Error(`Unknown operator type: ${e.type}`)}}function Fe(e){const t=Me.find((t=>e===t.stringRepresentation));if(!t)throw new Error(`Operator not found: ${e}`);return{...t}}const Ge={mainSelector:{selectors:[]}};function Ve(e){var t;return(e.operator?He(e.operator,e.relatedSelector):'')?!0===(null===(t=e.operator)||void 0===t?void 0:t.isCombinator)?`${e.relatedSelector?Ie(e.relatedSelector):''}${He(e.operator,e.mainSelector)}`:`${Ie(e.mainSelector)}${He(e.operator,e.relatedSelector)}`:Ie(e.mainSelector)}function Be(e){let t=0;return e.mainSelector&&(t+=Oe(e.mainSelector)),e.relatedSelector&&(t+=Oe(e.relatedSelector)),t}function qe(e,t){const o=t?{atRule:t}:{},s=e.match(/:(\w+)\((.+)\)$/);if(s){const[,t,r]=s,i=e.replace(s[0],'');return{mainSelector:i?Ne(i):{selectors:[]},operator:Fe(`:${t}`),relatedSelector:Ne(r),...o}}const r=e.replace(/ ([>+~]) /,'$1').split(/([>+~ ])/),i=r.shift(),l=r.shift(),n=l&&' '!==l?` ${l} `:l;if(n&&i){const e=r.join('');return{mainSelector:e?Ne(e):{selectors:[]},operator:Fe(n),relatedSelector:Ne(i),...o}}return{mainSelector:i?Ne(i):{selectors:[]},...o}}function Ye(e,t){return{mainSelector:xe(e.mainSelector,t.mainSelector),relatedSelector:e.relatedSelector&&t.relatedSelector?xe(e.relatedSelector,t.relatedSelector):e.relatedSelector||t.relatedSelector,operator:e.operator||t.operator,atRule:e.atRule||t.atRule}}function Ze(e){if(0===e.length)return!1;if(1===e.length)return e[0];const[t,...o]=e;for(const e of o){if(t.atRule!==e.atRule)return!1;if(t.mainSelector!==e.mainSelector)return!1;if(t.operator!==e.operator)return!1;if(t.relatedSelector!==e.relatedSelector)return!1}return{mainSelector:t.mainSelector,operator:t.operator,relatedSelector:t.relatedSelector,atRule:t.atRule}}const Ke=new Set;function Je(e,t){var o;const s=null===(o=null==e?void 0:e.I18n)||void 0===o?void 0:o.t(t);return s||(Ke.add(t),console.log('Untranslated key, call editor.runCommand("i18n:info") to see all untranslated keys')),s||t}function Qe(e,t){var o;const s=null===(o=e.DeviceManager.getSelected())||void 0===o?void 0:o.get('width'),r={atRuleType:s?'media':'',atRuleParams:s?`(max-width: ${s})`:''},i=e.CssComposer.getRule(t,r),l=e.CssComposer.setRule(t,null==i?void 0:i.getStyle(),{addStyles:!!(null==i?void 0:i.getStyle()),...r});e.StyleManager.select(l)}function Xe(e,t,o){if(t.type===o.type)if(we(t,o))console.warn('No change',t,o);else switch(t.type){case me.ID:throw new Error('Cannot rename ID selector');case me.CLASS:!function(e,t,o){if(!t||!o||t===o)return void console.warn('Invalid class names or same names provided.');const s=e.SelectorManager,r=s.get(t);if(!r)return void console.warn(`Class "${t}" not found.`);const i=e.Pages.getAll().flatMap((e=>e.getMainComponent().find(`.${t}`)));r.set('name',o),i.forEach((e=>{const o=tt(e);et(e,{...o,mainSelector:{...o.mainSelector,selectors:o.mainSelector.selectors.filter((e=>e.type!==me.CLASS||e.value!==t))}})}))}(e,t.value,o.value);break;case me.TAG:throw new Error('Cannot rename ID selector');default:console.error('Cannot rename selector: Unknown Type',{oldSelector:t,newSelector:o})}else console.warn('Cannot rename to a different types',t,o)}function et(e,t){e.set('selector',{...t});const o=[];t.mainSelector.selectors.forEach((t=>{switch(t.type){case'id':e.setId(t.value);break;case'class':o.push(t.value);break;default:console.warn('Unhandled selector type',t)}})),e.setClass(o)}function tt(e){var t;const o=null!==(t=e.get('selector'))&&void 0!==t?t:Ge,s=e.getClasses(),r=s.filter((e=>!o.mainSelector.selectors.some((t=>'class'===t.type&&t.value===e)))),i=o.mainSelector.selectors.filter((e=>'class'===e.type&&!s.includes(e.value)));if(i.length>0&&e.addClass(i.map((e=>e.value))),r.length>0){const t={...o,mainSelector:{...o.mainSelector,selectors:[...o.mainSelector.selectors,...r.map((e=>({type:me.CLASS,value:e,active:!1})))]}};return et(e,t),t}return{...o}}function ot(e,t,o){var s;if(!o.operator)return[];const r=[];switch(null===(s=o.operator)||void 0===s?void 0:s.type){case De.HAS:t.forEach((e=>{r.push(...st(lt(e),o.relatedSelector||{selectors:[]}))}));break;case De.NOT:r.push(...ye.map((e=>({type:me.TAG,value:e,active:!0})))),t.forEach((t=>{const s=t.getClasses();e.CssComposer.getAll().forEach((e=>{e.getSelectors().forEach((e=>{if(!e.get('private'))if(1!==e.get('type')||s.includes(e.get('name'))){if(2===e.get('type')){const t={type:me.ID,value:e.get('name'),active:!0};it(t,o.relatedSelector,r)&&r.push(t)}}else{const t={type:me.CLASS,value:e.get('name'),active:!0};it(t,o.relatedSelector,r)&&r.push(t)}}))}))}));break;case De.IS:case De.WHERE:r.push(...st(t,o.relatedSelector||{selectors:[]}));break;case De.CHILD:t.forEach((e=>{const t=e.parent();t&&r.push(...st([t],o.relatedSelector||{selectors:[]}))}));break;case De.DESCENDANT:t.forEach((e=>{r.push(...st(function(e){const t=[];let o=e.parent();for(;o;)t.push(o),o=o.parent();return t}(e),o.relatedSelector||{selectors:[]}))}));break;case De.ADJACENT:const s=t.map((e=>nt(e)[0])).filter((e=>!!e));r.push(...st(s,o.relatedSelector||{selectors:[]}));break;case De.GENERAL_SIBLING:const i=t.flatMap(nt).filter((e=>!!e));r.push(...st(i,o.relatedSelector||{selectors:[]}));break;default:throw console.error('Unhandled operator',o.operator),new Error(`Unhandled operator: ${o.operator}`)}return r}function st(e,t){const o=[];return e.forEach((e=>{rt(e,o,t)})),e.flatMap((e=>e.getClasses())).forEach((e=>{o.some((t=>t.type===me.CLASS&&t.value===e))||t.selectors.some((t=>t.active&&t.type===me.CLASS&&t.value===e))||o.push({type:me.CLASS,value:e,active:!0})})),o}function rt(e,t,o){const s=e.tagName,r={type:me.TAG,value:s,active:!0};it(r,o,t)&&t.push(r)}function it(e,t,o){return!t.selectors.some((t=>we(t,e)))&&!o.some((t=>we(t,e)))}function lt(e){return e.components().reduce(((e,t)=>[...e,t,...lt(t)]),[])}function nt(e){var t,o;return null!==(o=null===(t=e.parent())||void 0===t?void 0:t.components().filter((t=>t!==e)))&&void 0!==o?o:[]}const at={attribute:!0,type:String,converter:C,reflect:!1,hasChanged:$},ct=(e=at,t,o)=>{const{kind:s,metadata:r}=o;let i=globalThis.litPropertyMetadata.get(r);if(void 0===i&&globalThis.litPropertyMetadata.set(r,i=new Map),"setter"===s&&((e=Object.create(e)).wrapped=!0),i.set(o.name,e),"accessor"===s){const{name:s}=o;return{set(o){const r=t.get.call(this);t.set.call(this,o),this.requestUpdate(s,r,e)},init(t){return void 0!==t&&this.C(s,void 0,e,t),t}}}if("setter"===s){const{name:s}=o;return function(o){const r=this[s];t.call(this,o),this.requestUpdate(s,r,e)}}throw Error("Unsupported decorator location: "+s)};function dt(e){return(t,o)=>"object"==typeof o?ct(e,t,o):((e,t,o)=>{const s=t.hasOwnProperty(o);return t.constructor.createProperty(o,e),s?Object.getOwnPropertyDescriptor(t,o):void 0})(e,t,o)}var ht=void 0&&(void 0).__decorate||function(e,t,o,s){var r,i=arguments.length,l=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,s);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(l=(i<3?r(l):i>3?r(t,o,l):r(t,o))||l);return i>3&&l&&Object.defineProperty(t,o,l),l};class pt extends pe{constructor(){super(...arguments),this.t=e=>e}connectedCallback(){super.connectedCallback();document.querySelectorAll('style, link[rel="stylesheet"]').forEach((e=>{var t;null===(t=this.shadowRoot)||void 0===t||t.appendChild(e.cloneNode(!0))}))}}ht([dt()],pt.prototype,"t",void 0);const ut=5;class vt extends HTMLInputElement{constructor(){super(),this.addEventListener('input',(()=>this.adjustWidth())),this.adjustWidth(),requestAnimationFrame((()=>this.adjustWidth()))}adjustWidth(){var e;this.style.width=`${Math.max(null===(e=this.value)||void 0===e?void 0:e.length,ut)}ch`}}function St(e){return a` ${n(e)} { border: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; font-family: inherit; cursor: pointer; /* chrome */ background: var(--gjs-main-color, #444); /* in chrome, make the dropdown text align to the left, with padding */ text-align-last: center; padding: 0 0.5rem; text-align: left; padding: 0 0.5rem; } `}function mt(e){return a` ${n(e)} { border: none; border-bottom: 1px dashed; background: none; text-align: center; font-family: inherit; } `}customElements.get('resize-input')||customElements.define('resize-input',vt,{extends:'input'});const gt=a` :focus-visible { outline: 2px solid var(--gjs-secondary-color, #ddd); } `,{I:ft}=ae,yt=1,bt=2,Ct=e=>(...t)=>({_$litDirective$:e,values:t});class $t{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,o){this._$Ct=e,this._$AM=t,this._$Ci=o}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}const _t=(e,t)=>{const o=e._$AN;if(void 0===o)return!1;for(const e of o)e._$AO?.(t,!1),_t(e,t);return!0},At=e=>{let t,o;do{if(void 0===(t=e._$AM))break;o=t._$AN,o.delete(e),e=t}while(0===o?.size)},Et=e=>{for(let t;t=e._$AM;e=t){let o=t._$AN;if(void 0===o)t._$AN=o=new Set;else if(o.has(e))break;o.add(e),zt(t)}};function Wt(e){void 0!==this._$AN?(At(this),this._$AM=e,Et(this)):this._$AM=e}function Ut(e,t=!1,o=0){const s=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(t)if(Array.isArray(s))for(let e=o;e<s.length;e++)_t(s[e],!1),At(s[e]);else null!=s&&(_t(s,!1),At(s));else _t(this,e)}const zt=e=>{e.type==bt&&(e._$AP??=Ut,e._$AQ??=Wt)};class wt extends $t{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,o){super._$AT(e,t,o),Et(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(_t(this,e),At(this))}setValue(e){if((e=>void 0===e.strings)(this._$Ct))this._$Ct._$AI(e,this);else{const t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}}const Rt=()=>new Pt;class Pt{}const Tt=new WeakMap,kt=Ct(class extends wt{render(e){return Y}update(e,[t]){const o=t!==this.G;return o&&void 0!==this.G&&this.rt(void 0),(o||this.lt!==this.ct)&&(this.G=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),Y}rt(e){if(this.isConnected||(e=void 0),"function"==typeof this.G){const t=this.ht??globalThis;let o=Tt.get(t);void 0===o&&(o=new WeakMap,Tt.set(t,o)),void 0!==o.get(this.G)&&this.G.call(this.ht,void 0),o.set(this.G,e),void 0!==e&&this.G.call(this.ht,e)}else this.G.value=e}get lt(){return"function"==typeof this.G?Tt.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var Lt=void 0&&(void 0).__decorate||function(e,t,o,s){var r,i=arguments.length,l=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,s);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(l=(i<3?r(l):i>3?r(t,o,l):r(t,o))||l);return i>3&&l&&Object.defineProperty(t,o,l),l};class It extends pt{constructor(){super(...arguments),this.options=[],this.placeholder='Select an option',this.paramRef=Rt()}render(){var e;return this.value?B` <section> <main> ${this.t(this.value.sentencePre)} <span class="unbreakable"> ${this.renderList()} ${null!==(e=this.value.sentencePost)&&void 0!==e?e:''} ${this.renderParam()} </span> </main> <aside> ${this.renderButtons()} </aside> </section> `:B` ${this.renderList()} `}select(e){this.value=e,this.dispatchEvent(new CustomEvent('change',{bubbles:!0,composed:!0,detail:e})),requestAnimationFrame((()=>{var e;return null===(e=this.paramRef.value)||void 0===e?void 0:e.focus()}))}renderList(){return B` <select class="asm-inline-select__select" @change=${e=>{const t=this.options[e.target.selectedIndex-1];this.select(t)}} > <option .selected=${!this.value} >${this.placeholder}</option> ${this.options.map((e=>{var t;return B` <option .selected=${(null===(t=this.value)||void 0===t?void 0:t.type)===e.type} >${e.displayName?this.t(e.displayName):e.type}</option> `}))} </select> `}renderButtons(){var e;return B` ${(null===(e=this.value)||void 0===e?void 0:e.helpLink)?B` <a .title=${this.t('Help')} class="asm-inline-select__btn" href=${this.t(this.value.helpLink)} target="_blank" >?</a>`:B``}<a href="#" .title=${this.t('Remove')} class="asm-inline-select__btn" @click=${e=>{this.select(),e.preventDefault()}} >\u2715</a> `}renderParam(){var e,t;return(null===(e=this.value)||void 0===e?void 0:e.hasParam)?B` ( <input is="resize-input" id="resize-input" ${kt(this.paramRef)} type="text" autocomplete="off" .value=${null!==(t=this.value.param)&&void 0!==t?t:''} placeholder="" @input=${e=>{this.select({...this.value,param:e.target.value})}} /> ) `:B``}}It.styles=a` :host { ${gt} & { display: block; text-align: left; padding: 0 0.5rem; margin: 0.5rem 0; } button:hover, a:hover { transform: translateY(1px); color: var(--gjs-primary-color, #333); } input, select, button, inline-select { font-family: inherit; font-size: inherit; color: var(--gjs-secondary-color, #333); margin: 0; padding: 0; } section { display: flex; justify-content: space-between; } ${St('select')} select { border-bottom: 1px dashed; } aside { flex: 0 0 auto; } ${mt('input')} input { text-align: center; } .asm-inline-select__btn { font-size: 0.8rem; text-decoration: none; border-radius: 50%; color: var(--gjs-secondary-color, #333); /* make the link a circle */ display: inline-block; width: .5rem; height: .5rem; text-align: center; line-height: .7rem; font-size: .7rem; padding: 4px; &:hover { background-color: var(--gjs-secondary-color, #fff); } } .unbreakable { white-space: nowrap; } } `;Lt([dt({type:Object,reflect:!1})],It.prototype,"value",void 0),Lt([dt({type:Array,reflect:!1})],It.prototype,"options",void 0),Lt([dt({type:String,reflect:!1})],It.prototype,"placeholder",void 0),customElements.get('inline-select')||customElements.define('inline-select',It);const Ot="important",Nt=" !"+Ot,xt=Ct(class extends $t{constructor(e){if(super(e),e.type!==yt||"style"!==e.name||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,o)=>{const s=e[o];return null==s?t:t+`${o=o.includes("-")?o:o.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`}),"")}update(e,[t]){const{style:o}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(t)),this.render(t);for(const e of this.ft)null==t[e]&&(this.ft.delete(e),e.includes("-")?o.removeProperty(e):o[e]=null);for(const e in t){const s=t[e];if(null!=s){this.ft.add(e);const t="string"==typeof s&&s.endsWith(Nt);e.includes("-")||t?o.setProperty(e,t?s.slice(0,-11):s,t?Ot:""):o[e]=s}}return q}});var jt=void 0&&(void 0).__decorate||function(e,t,o,s){var r,i=arguments.length,l=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,s);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(l=(i<3?r(l):i>3?r(t,o,l):r(t,o))||l);return i>3&&l&&Object.defineProperty(t,o,l),l};class Dt extends pt{constructor(){super(...arguments),this.suggestions=[],this._editing=!1,this.readonly=!1,this.selectorInputRef=Rt(),this.attributeOptionsAttrValueRef=Rt(),this.mainRef=Rt()}get value(){return this._value}set value(e){try{this._value='string'==typeof e?JSON.parse(e):e}catch(t){console.error('Error parsing value for selector',{sel:e,error:t})}this.requestUpdate()}get editing(){return this._editing}set editing(e){this._editing=e}focus(){var e;null===(e=this.selectorInputRef.value)||void 0===e||e.focus()}render(){return this.value?B` <section tabindex="0" @keydown=${e=>{'Enter'!==e.key&&' '!==e.key||(this.value={...this.value,active:!this.value.active},this.dispatchEvent(new CustomEvent('change',{detail:this.value})))}} @dblclick=${()=>this.edit()} @click=${()=>{this.value={...this.value,active:!this.value.active},this.dispatchEvent(new CustomEvent('change',{detail:this.value}))}} > <header> ${this.editing?'':function(e){switch(e.type){case me.ATTRIBUTE:return Ae;case me.CLASS:return $e;case me.ID:return _e;case me.TAG:return Ue;case me.UNIVERSAL:return Ee;case me.CUSTOM_TAG:return We;default:return ze}}(this.value)} </header> ${this.renderMain()} <footer> <button .title=${this.t('Delete')} class="gjs-btn-prim asm-simple-selector__delete-button" @keydown=${e=>{'Enter'!==e.key&&' '!==e.key||e.stopPropagation()}} @click=${e=>{this.dispatchEvent(new CustomEvent('delete',{detail:this.value})),e.stopPropagation()}} > &times; </button> <input type="checkbox" autocomplete="off" class="asm-simple-selector__active" .checked=${this.value.active} /> </footer> </section> `:B`<div>Initializing</div>`}edit(){this.hasAttribute('readonly')?console.warn('Cannot edit a readonly selector'):(this.editing=!0,requestAnimationFrame((()=>this.focus())))}select(e){var t;const o={...e};delete o.createText,delete o.createValue,!e||e.keepEditing?requestAnimationFrame((()=>this.focus())):(this.editing=!1,null===(t=this.attributeOptionsAttrValueRef.value)||void 0===t||t.blur()),this.dispatchEvent(new CustomEvent('change',{detail:o}))}cancelEdit(){var e,t;null===(e=this.attributeOptionsAttrValueRef.value)||void 0===e||e.blur(),this.editing&&(this.editing=!1,(null===(t=this.value)||void 0===t?void 0:t.type)===me.UNKNOWN?this.dispatchEvent(new CustomEvent('delete',{detail:this.value})):this.dispatchEvent(new CustomEvent('cancel',{detail:this.value})))}updated(e){var t,o;if(super.updated(e),this.value){const e=(null===(t=this.selectorInputRef.value)||void 0===t?void 0:t.value)||'';null===(o=this.selectorInputRef.value)||void 0===o||o.setCustomValidity(!1===Te(e)?'Invalid selector':'')}}renderMain(){var e,t,o;const s=(null===(e=this.selectorInputRef.value)||void 0===e?void 0:e.value)||'',r=Te(s),i=function(e){const t=[];if(e){const o=!0;if('*'===e)t.push({createText:'Select everything: *',type:me.UNIVERSAL,active:o});else if(e.startsWith('.'))t.push({createText:`Select class ${e}`,type:me.CLASS,value:e.slice(1),active:o});else if(e.startsWith('[')){const[s,r]=e.substring(1,e.length-1).split('=');r?t.push({createText:`Select custom attribute ${s} with value ${r}`,type:me.ATTRIBUTE,value:s,operator:'=',attributeValue:r.replace(/"/g,''),active:o}):t.push({createText:`Select custom attribute ${e}`,type:me.ATTRIBUTE,value:s,active:o})}else e.match(/^[a-z-]*-[a-z]*$/)&&t.push({createText:`Select custom tag ${e}`,type:me.CUSTOM_TAG,value:e,active:o})}return t}(r).concat(function(e,t){return'*'===e?[]:(t.forEach((e=>{if(!e.type)throw new Error('Invalid suggestion')})),t.filter((t=>Pe(t).toLowerCase().includes(e.toLowerCase()))))}(s,this.suggestions));return B` ${this.renderLayout(B` ${this.editing?this.renderSelectorInput({suggestions:i,valid:!1!==r}):''} ${this.editing&&(null===(t=this.value)||void 0===t?void 0:t.type)===me.ATTRIBUTE?this.renderOptionsEditor():B``} ${this.editing?'':this.renderSelector(B` ${(null===(o=this.value)||void 0===o?void 0:o.type)===me.ATTRIBUTE?this.renderOptionsEditor():B``} `)} ${this.editing?this.renderSuggestionList(i,s):''} `,{valid:!1!==r,suggestions:i})} `}renderLayout(e,{valid:t,suggestions:o}){return B` <main style=${xt({color:Ce[this.value.type]})} tabindex="0" ${kt(this.mainRef)} @keydown=${e=>{this.editing||e.target!==this.mainRef.value||'Enter'!==e.key||(this.edit(),e.stopPropagation())}} @focusout=${e=>{if(!this.editing)return;const s=e.relatedTarget;this.renderRoot.querySelector('main').contains(s)||(t?this.select(o[0]):requestAnimationFrame((()=>this.focus())),e.stopPropagation())}} > ${e} </main> `}renderSelector(e){return B` <span class="asm-simple-selector__name" > ${this.value?B` ${function(e){switch(e.type){case me.CLASS:case me.ID:case me.TAG:case me.ATTRIBUTE:case me.CUSTOM_TAG:return e.value;case me.UNIVERSAL:return'*';d