builder-settings-types 0.0.248 → 0.0.249
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let H=(c=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(c|=0));for(;c--;)t+=F[e[c]&63];return t};function R(c){let t=0,e=c.parentElement;for(;e;)e.classList.contains("setting-group")&&e!==c&&t++,e=e.parentElement;return t}function x(c,t){const e=Math.min(Math.max(t,0),5);c.setAttribute("data-nesting-level",e.toString()),e>0?c.style.setProperty("--visual-indent",`${e*2}px`):(c.style.removeProperty("--visual-indent"),c.style.marginLeft="")}function V(c,t=0){c.querySelectorAll(":scope > .setting-group-content > .setting-group").forEach(i=>{const s=i,n=t+1;x(s,n),V(s,n)})}const G={maxLevel:5,spacingMultiplier:1,visualIndentMultiplier:2,enableAutoDetection:!0};class z{constructor(t={}){this.observedElements=new Set,this.config={...G,...t},this.config.enableAutoDetection&&this.setupAutoDetection()}setupAutoDetection(){this.observer=new MutationObserver(t=>{let e=!1;t.forEach(i=>{i.type==="childList"&&i.addedNodes.forEach(s=>{s instanceof HTMLElement&&(s.classList.contains("setting-group")?[s]:Array.from(s.querySelectorAll(".setting-group"))).length>0&&(e=!0)})}),e&&this.updateAllNesting()}),this.observer.observe(document.body,{childList:!0,subtree:!0})}trackElement(t){this.observedElements.add(t),this.updateElementNesting(t)}untrackElement(t){this.observedElements.delete(t)}updateElementNesting(t){const e=R(t);this.applyNestingWithConfig(t,e)}updateAllNesting(){this.observedElements.forEach(t=>{t.isConnected?this.updateElementNesting(t):this.observedElements.delete(t)})}applyNestingWithConfig(t,e){const i=Math.min(Math.max(e,0),this.config.maxLevel);if(t.setAttribute("data-nesting-level",i.toString()),i>0){const s=i*this.config.visualIndentMultiplier;t.style.setProperty("--visual-indent",`${s}px`)}else t.style.removeProperty("--visual-indent"),t.style.marginLeft=""}recalculateNesting(t=document.body){t.querySelectorAll(".setting-group").forEach(i=>{const s=i;this.updateElementNesting(s),this.trackElement(s)})}getNestingStats(){const t={};return this.observedElements.forEach(e=>{const i=parseInt(e.getAttribute("data-nesting-level")||"0",10);t[i]=(t[i]||0)+1}),t}destroy(){this.observer&&(this.observer.disconnect(),this.observer=void 0),this.observedElements.clear()}}const O=new z;function y(c){if(c===null||typeof c!="object")return c;if(c instanceof Date)return new Date(c.getTime());if(c instanceof Array)return c.map(t=>y(t));if(typeof c=="object"){const t={};for(const e in c)Object.prototype.hasOwnProperty.call(c,e)&&(t[e]=y(c[e]));return t}return c}function W(c){switch(c){case"number":return 0;case"text":return"";case"select":return null;case"color":return"#000000";case"date":return new Date().toISOString().split("T")[0];case"button":return"";default:return""}}class u{constructor(t={}){this.props=t,this.dataPropsPath="",this.id=t.id||H(),this.value=this.props.default,this.desktop=this.props.default,this.title=t.title||"",this.includeGetJson=t.includeGetJson!==void 0?t.includeGetJson:!0}static SetUploadUrl(t){globalThis.DefaultUploadUrl=t,u.DefaultUploadUrl=t}static SetDefaultLanguage(t){globalThis.DefaultLanguage=t,u.DefaultLanguage=t}destroy(){throw new Error("Method not implemented.")}setOnChange(t){return this.onChange=t,this}setOnBlur(t){return this.onBlur=t,this}setDataPropsPath(t){this.dataPropsPath=t}getDataPropsPath(){return this.dataPropsPath}setValue(t){this.value=t,this.inputEl&&(this.inputEl.value=String(t)),this.onChange&&this.onChange(t),this.props.detectChange&&this.props.detectChange(t)}clone(){const t=this.constructor,e=y(this.props),i=new t(e);return i.value=y(this.value),i}createInput(t){t={...this.props.inputProps,...t};const e=document.createElement("div");if(e.className=t.wrapperClassName||"",t.title||t.icon){const o=document.createElement("div");if(o.className="icon-container",t.icon){const l=this.createIcon(t.icon,t.iconClassName);o.appendChild(l)}if(t.title){const l=this.createLabel(t.title,t.labelClassName);o.appendChild(l)}e.appendChild(o)}const i=document.createElement("div");i.className=t.wrapperClassName||"";const s=document.createElement("input");this.inputEl=s,s.value=String(t.value||W(t.inputType)),s.type=t.inputType,s.placeholder=t.placeholder||"",s.className=t.inputClassName||"",this.dataPropsPath&&s.setAttribute("data-test-id",this.dataPropsPath);const n=o=>{const l=o.target;let r=l.value;switch(t.inputType){case"number":r=Number(l.value);break;case"color":r=l.value;break;case"date":r=l.value;break;case"select":r=l.value;break;case"text":r=l.value;break;case"button":r=l.value;break;default:r=l.value}this.value=r,this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value)},a=o=>{o.target,this.onBlur&&this.onBlur(this.value)};return s.addEventListener("input",n),s.addEventListener("change",n),s.addEventListener("blur",a),t.inputCustomizer&&t.inputCustomizer(s),i.appendChild(s),e.appendChild(i),e}createLabel(t,e){const i=document.createElement("span");return i.textContent=t,i.className="input-label "+(e||""),i}createIcon(t,e){const i=document.createElement("span");return i.className="input-icon "+(e||""),i.innerHTML=t,i}}function w(c){return c instanceof u}function g(c){return c instanceof v}function _(c){return w(c)||g(c)}function b(c,t){for(const e in c)if(Object.prototype.hasOwnProperty.call(c,e)){const i=c[e];t(e,i)}}const k=class k{constructor(t){this.elementRef=null,this.isHidden=!1,this.custom=!1,this.initialValues={},this.changeTimeout=null,this.isHandlingChange=!1,this.changeHandlers=new Set,this.blurTimeout=null,this.lastChangeTime=0,this.handleBlur=()=>{},this.pendingBlurHandler=null,this.originalDefaultValues={},this.nestingLevel=0,this.dataPropsPath="",this.id=t.id||H(),this.title=t.title,this.settings=t.settings,this.isCollapsed=t.collapsed??!1,this.isMain=t.main??!1,this.custom=t.custom??!1,this.nestingLevel=0,this.includeGetJson=t.includeGetJson??!0,this.addItemCfg=t.addItem,this.deleteItemCfg=t.deleteItem,this.dataProps=t.dataProps,this.dataPropsPath=t.dataProps||"",Object.assign(this,t.settings),this.initialValues=this.getValues(),this.originalDefaultValues=this.getDefaultValues(),this.propagateNestingLevel(),this.propagateDataPropsPath()}propagateNestingLevel(){const t=this.nestingLevel+1;b(this.settings,(e,i)=>{g(i)&&(i.nestingLevel=t,i.propagateNestingLevel())})}getNestingLevel(){return this.nestingLevel}setNestingLevel(t){this.nestingLevel=t,this.propagateNestingLevel(),this.elementRef&&this.updateNestingStyles()}getDataPropsPath(){return this.dataPropsPath}setDataPropsPath(t){this.dataPropsPath=t,this.propagateDataPropsPath()}propagateDataPropsPath(){b(this.settings,(t,e)=>{const i=String(t),s=this.dataPropsPath?`${this.dataPropsPath}_${i}`:i;(g(e)||w(e)&&typeof e.setDataPropsPath=="function")&&e.setDataPropsPath(s)})}updateNestingStyles(){this.elementRef&&(x(this.elementRef,this.nestingLevel),V(this.elementRef,this.nestingLevel))}forceChildUIRefresh(){Object.entries(this.settings).forEach(([t,e])=>{try{if(g(e)){const i=e.getValues();e.setValue(i)}else if(typeof e.setValue=="function"){const i=e.value;i!==void 0&&e.setValue(i)}}catch(i){console.warn(`Error refreshing UI for setting ${t}:`,i)}})}removeSetting(t){var s;const e=this.settings[t];if(!e)return;if(delete this.settings[t],this.elementRef){const n=this.elementRef.querySelector(".setting-group-content");if(n){const a=Array.from(n.querySelectorAll(".setting-group, .setting"));for(const o of a){const l=o.id;if(l&&"id"in e&&typeof e.id=="string"&&l.includes(e.id)){o.remove();break}}}}typeof e.cleanup=="function"&&e.cleanup(),this.updateNestingStyles();const i=this.getValues();this.initialValues=i,(s=this.onChange)==null||s.call(this,i)}updateVisibility(){this.elementRef}clone(){const t={};b(this.settings,(s,n)=>{const a=String(s);typeof n.clone=="function"?t[a]=n.clone():(console.warn(`Setting with key '${a}' does not have a clone method. Copying reference.`),t[a]=n)});const e={title:this.title,settings:t,collapsed:this.isCollapsed,main:this.isMain,custom:this.custom,includeGetJson:this.includeGetJson,addItem:this.addItemCfg,deleteItem:this.deleteItemCfg,dataProps:this.dataProps},i=T(e);return i.initialValues=this.getValues(),i}resetDefault(){const t=this.originalDefaultValues;this.setValue(t),this.onChange&&this.onChange(this.getValues())}setMobileValues(t){!t||typeof t!="object"||(Object.entries(t).forEach(([e,i])=>{const s=this.settings[e];s&&(g(s)||w(s))&&typeof s.setMobileValue=="function"&&s.setMobileValue(i)}),this.setValue(t),this.onChange&&this.onChange(this.getValues()))}getMobileValues(t){if(t===void 0){const e={};for(const i in this.settings)if(Object.prototype.hasOwnProperty.call(this.settings,i)){const s=this.settings[i];if(g(s))e[i]=s.getMobileValues();else{const n=s;e[i]=n.mobileValue!==void 0?n.mobileValue:n.value}}return e}else{const e=this.settings[t];if(!e)return;if(g(e))return e.getMobileValues();const i=e;return i.mobileValue!==void 0?i.mobileValue:i.value}}setOnChange(t){this.onChange=t;const e=()=>{this.isHandlingChange||(this.isHandlingChange=!0,this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=setTimeout(()=>{const i=this.getValues(),s=this.calculateChanges(this.initialValues,i);Object.keys(s).length>0&&(this.lastChangeTime=Date.now(),this.initialValues=i,t(i),this.updateVisibility()),this.isHandlingChange=!1},50))};return this.changeHandlers.clear(),b(this.settings,(i,s)=>{var n;if(g(s))s.setOnChange(()=>{const a=this.getValues();this.initialValues=a,t(a)}),this.changeHandlers.add(()=>t(this.getValues()));else if(w(s)){const a=()=>e();this.changeHandlers.add(a),s.setOnChange(a)}else{const a=()=>e();this.changeHandlers.add(a),(n=s.setOnChange)==null||n.call(s,a)}}),this}cleanup(){this.changeTimeout&&(clearTimeout(this.changeTimeout),this.changeTimeout=null),this.blurTimeout&&(clearTimeout(this.blurTimeout),this.blurTimeout=null),this.elementRef&&this.elementRef.removeEventListener("focusout",this.handleBlur),this.changeHandlers.clear()}setValue(t){if(!t||typeof t!="object")return;Object.entries(t).forEach(([i,s])=>{let n=this.settings[i];if(!n&&this.addItemCfg&&i.startsWith(this.addItemCfg.keyPrefix)){const a=i.slice(this.addItemCfg.keyPrefix.length),o=Number(a);if(Number.isFinite(o)){const l=this.addItemCfg.createItem(o);this.addSetting(i,l),n=l}}n&&(g(n)||w(n))&&typeof n.setValue=="function"&&n.setValue(s)}),setTimeout(()=>{this.forceChildUIRefresh()},0);const e=this.getValues();this.initialValues=e,this.onChange&&this.onChange(e)}wireChild(t){var i;const e=()=>{var n;const s=this.getValues();this.initialValues=s,(n=this.onChange)==null||n.call(this,s),this.updateVisibility()};g(t)?t.setOnChange(()=>e()):w(t)?t.setOnChange(()=>e()):(i=t.setOnChange)==null||i.call(t,()=>e())}addSetting(t,e){var s,n;if(this.settings[t]=e,this.wireChild(e),this.elementRef){const a=this.elementRef.querySelector(".setting-group-content");if(a){g(e)&&typeof e.setNestingLevel=="function"&&e.setNestingLevel(this.nestingLevel+1);const o=e.draw(),l=this.deleteItemCfg??this.addItemCfg;if(l){const d=l.keyPrefix??((s=this.addItemCfg)==null?void 0:s.keyPrefix);d&&t.startsWith(d)&&this.addDeleteButtonToElement(o,t)}const r=a.querySelector(".sg-add-button-bottom");r?a.insertBefore(o,r):a.appendChild(o),O.trackElement(o),x(o,this.nestingLevel+1),V(o,this.nestingLevel+1);const h=o.style.display;o.style.display="none",o.offsetHeight,o.style.display=h,this.updateNestingStyles()}}const i=this.getValues();this.initialValues=i,(n=this.onChange)==null||n.call(this,i)}addDeleteButtonToElement(t,e,i){let s=null;try{s=t.querySelector(":scope > .setting-group-title")}catch{s=null}if(!s){const r=Array.from(t.querySelectorAll(".setting-group-title"));for(const h of r)if(h.closest(".setting-group")===t){s=h;break}s||(s=r[0]??null)}if(!s)return;const n=s.querySelector(".actions-section");if(!n)return;const a=document.createElement("button");a.type="button",a.className="sg-delete-button",i?i.deleteItemCfg:this.deleteItemCfg??this.addItemCfg,a.title="Delete",a.style.cssText=`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let H=(c=21)=>{let t="",e=crypto.getRandomValues(new Uint8Array(c|=0));for(;c--;)t+=F[e[c]&63];return t};function R(c){let t=0,e=c.parentElement;for(;e;)e.classList.contains("setting-group")&&e!==c&&t++,e=e.parentElement;return t}function x(c,t){const e=Math.min(Math.max(t,0),5);c.setAttribute("data-nesting-level",e.toString()),e>0?c.style.setProperty("--visual-indent",`${e*2}px`):(c.style.removeProperty("--visual-indent"),c.style.marginLeft="")}function V(c,t=0){c.querySelectorAll(":scope > .setting-group-content > .setting-group").forEach(i=>{const s=i,n=t+1;x(s,n),V(s,n)})}const z={maxLevel:5,spacingMultiplier:1,visualIndentMultiplier:2,enableAutoDetection:!0};class G{constructor(t={}){this.observedElements=new Set,this.config={...z,...t},this.config.enableAutoDetection&&this.setupAutoDetection()}setupAutoDetection(){this.observer=new MutationObserver(t=>{let e=!1;t.forEach(i=>{i.type==="childList"&&i.addedNodes.forEach(s=>{s instanceof HTMLElement&&(s.classList.contains("setting-group")?[s]:Array.from(s.querySelectorAll(".setting-group"))).length>0&&(e=!0)})}),e&&this.updateAllNesting()}),this.observer.observe(document.body,{childList:!0,subtree:!0})}trackElement(t){this.observedElements.add(t),this.updateElementNesting(t)}untrackElement(t){this.observedElements.delete(t)}updateElementNesting(t){const e=R(t);this.applyNestingWithConfig(t,e)}updateAllNesting(){this.observedElements.forEach(t=>{t.isConnected?this.updateElementNesting(t):this.observedElements.delete(t)})}applyNestingWithConfig(t,e){const i=Math.min(Math.max(e,0),this.config.maxLevel);if(t.setAttribute("data-nesting-level",i.toString()),i>0){const s=i*this.config.visualIndentMultiplier;t.style.setProperty("--visual-indent",`${s}px`)}else t.style.removeProperty("--visual-indent"),t.style.marginLeft=""}recalculateNesting(t=document.body){t.querySelectorAll(".setting-group").forEach(i=>{const s=i;this.updateElementNesting(s),this.trackElement(s)})}getNestingStats(){const t={};return this.observedElements.forEach(e=>{const i=parseInt(e.getAttribute("data-nesting-level")||"0",10);t[i]=(t[i]||0)+1}),t}destroy(){this.observer&&(this.observer.disconnect(),this.observer=void 0),this.observedElements.clear()}}const O=new G;function y(c){if(c===null||typeof c!="object")return c;if(c instanceof Date)return new Date(c.getTime());if(c instanceof Array)return c.map(t=>y(t));if(typeof c=="object"){const t={};for(const e in c)Object.prototype.hasOwnProperty.call(c,e)&&(t[e]=y(c[e]));return t}return c}function W(c){switch(c){case"number":return 0;case"text":return"";case"select":return null;case"color":return"#000000";case"date":return new Date().toISOString().split("T")[0];case"button":return"";default:return""}}class u{constructor(t={}){this.props=t,this.dataPropsPath="",this.id=t.id||H(),this.value=this.props.default,this.desktop=this.props.default,this.title=t.title||"",this.includeGetJson=t.includeGetJson!==void 0?t.includeGetJson:!0}static SetUploadUrl(t){globalThis.DefaultUploadUrl=t,u.DefaultUploadUrl=t}static SetDefaultLanguage(t){globalThis.DefaultLanguage=t,u.DefaultLanguage=t}destroy(){throw new Error("Method not implemented.")}setOnChange(t){return this.onChange=t,this}setOnBlur(t){return this.onBlur=t,this}setDataPropsPath(t){this.dataPropsPath=t}getDataPropsPath(){return this.dataPropsPath}setValue(t){this.value=t,this.inputEl&&(this.inputEl.value=String(t)),this.onChange&&this.onChange(t),this.props.detectChange&&this.props.detectChange(t)}clone(){const t=this.constructor,e=y(this.props),i=new t(e);return i.value=y(this.value),i}createInput(t){t={...this.props.inputProps,...t};const e=document.createElement("div");if(e.className=t.wrapperClassName||"",t.title||t.icon){const o=document.createElement("div");if(o.className="icon-container",t.icon){const l=this.createIcon(t.icon,t.iconClassName);o.appendChild(l)}if(t.title){const l=this.createLabel(t.title,t.labelClassName);o.appendChild(l)}e.appendChild(o)}const i=document.createElement("div");i.className=t.wrapperClassName||"";const s=document.createElement("input");this.inputEl=s,s.value=String(t.value||W(t.inputType)),s.type=t.inputType,s.placeholder=t.placeholder||"",s.className=t.inputClassName||"",this.dataPropsPath&&s.setAttribute("data-test-id",this.dataPropsPath);const n=o=>{const l=o.target;let r=l.value;switch(t.inputType){case"number":r=Number(l.value);break;case"color":r=l.value;break;case"date":r=l.value;break;case"select":r=l.value;break;case"text":r=l.value;break;case"button":r=l.value;break;default:r=l.value}this.value=r,this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value)},a=o=>{o.target,this.onBlur&&this.onBlur(this.value)};return s.addEventListener("input",n),s.addEventListener("change",n),s.addEventListener("blur",a),t.inputCustomizer&&t.inputCustomizer(s),i.appendChild(s),e.appendChild(i),e}createLabel(t,e){const i=document.createElement("span");return i.textContent=t,i.className="input-label "+(e||""),i}createIcon(t,e){const i=document.createElement("span");return i.className="input-icon "+(e||""),i.innerHTML=t,i}}function w(c){return c instanceof u}function g(c){return c instanceof v}function _(c){return w(c)||g(c)}function b(c,t){for(const e in c)if(Object.prototype.hasOwnProperty.call(c,e)){const i=c[e];t(e,i)}}const k=class k{constructor(t){this.elementRef=null,this.isHidden=!1,this.custom=!1,this.initialValues={},this.changeTimeout=null,this.isHandlingChange=!1,this.changeHandlers=new Set,this.blurTimeout=null,this.lastChangeTime=0,this.handleBlur=()=>{},this.pendingBlurHandler=null,this.originalDefaultValues={},this.nestingLevel=0,this.dataPropsPath="",this.id=t.id||H(),this.title=t.title,this.settings=t.settings,this.isCollapsed=t.collapsed??!1,this.isMain=t.main??!1,this.custom=t.custom??!1,this.nestingLevel=0,this.includeGetJson=t.includeGetJson??!0,this.addItemCfg=t.addItem,this.deleteItemCfg=t.deleteItem,this.dataProps=t.dataProps,this.dataPropsPath=t.dataProps||"",Object.assign(this,t.settings),this.initialValues=this.getValues(),this.originalDefaultValues=this.getDefaultValues(),this.propagateNestingLevel(),this.propagateDataPropsPath()}propagateNestingLevel(){const t=this.nestingLevel+1;b(this.settings,(e,i)=>{g(i)&&(i.nestingLevel=t,i.propagateNestingLevel())})}getNestingLevel(){return this.nestingLevel}setNestingLevel(t){this.nestingLevel=t,this.propagateNestingLevel(),this.elementRef&&this.updateNestingStyles()}getDataPropsPath(){return this.dataPropsPath}setDataPropsPath(t){this.dataPropsPath=t,this.propagateDataPropsPath()}propagateDataPropsPath(){b(this.settings,(t,e)=>{const i=String(t),s=this.dataPropsPath?`${this.dataPropsPath}_${i}`:i;(g(e)||w(e)&&typeof e.setDataPropsPath=="function")&&e.setDataPropsPath(s)})}updateNestingStyles(){this.elementRef&&(x(this.elementRef,this.nestingLevel),V(this.elementRef,this.nestingLevel))}forceChildUIRefresh(){Object.entries(this.settings).forEach(([t,e])=>{try{if(g(e)){const i=e.getValues();e.setValue(i)}else if(typeof e.setValue=="function"){const i=e.value;i!==void 0&&e.setValue(i)}}catch(i){console.warn(`Error refreshing UI for setting ${t}:`,i)}})}removeSetting(t){var s;const e=this.settings[t];if(!e)return;if(delete this.settings[t],this.elementRef){const n=this.elementRef.querySelector(".setting-group-content");if(n){const a=Array.from(n.querySelectorAll(".setting-group, .setting"));for(const o of a){const l=o.id;if(l&&"id"in e&&typeof e.id=="string"&&l.includes(e.id)){o.remove();break}}}}typeof e.cleanup=="function"&&e.cleanup(),this.updateNestingStyles();const i=this.getValues();this.initialValues=i,(s=this.onChange)==null||s.call(this,i)}updateVisibility(){this.elementRef}clone(){const t={};b(this.settings,(s,n)=>{const a=String(s);typeof n.clone=="function"?t[a]=n.clone():(console.warn(`Setting with key '${a}' does not have a clone method. Copying reference.`),t[a]=n)});const e={title:this.title,settings:t,collapsed:this.isCollapsed,main:this.isMain,custom:this.custom,includeGetJson:this.includeGetJson,addItem:this.addItemCfg,deleteItem:this.deleteItemCfg,dataProps:this.dataProps},i=T(e);return i.initialValues=this.getValues(),i}resetDefault(){const t=this.originalDefaultValues;this.setValue(t),this.onChange&&this.onChange(this.getValues())}setMobileValues(t){!t||typeof t!="object"||(Object.entries(t).forEach(([e,i])=>{const s=this.settings[e];s&&(g(s)||w(s))&&typeof s.setMobileValue=="function"&&s.setMobileValue(i)}),this.setValue(t),this.onChange&&this.onChange(this.getValues()))}getMobileValues(t){if(t===void 0){const e={};for(const i in this.settings)if(Object.prototype.hasOwnProperty.call(this.settings,i)){const s=this.settings[i];if(g(s))e[i]=s.getMobileValues();else{const n=s;e[i]=n.mobileValue!==void 0?n.mobileValue:n.value}}return e}else{const e=this.settings[t];if(!e)return;if(g(e))return e.getMobileValues();const i=e;return i.mobileValue!==void 0?i.mobileValue:i.value}}setOnChange(t){this.onChange=t;const e=()=>{this.isHandlingChange||(this.isHandlingChange=!0,this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=setTimeout(()=>{const i=this.getValues(),s=this.calculateChanges(this.initialValues,i);Object.keys(s).length>0&&(this.lastChangeTime=Date.now(),this.initialValues=i,t(i),this.updateVisibility()),this.isHandlingChange=!1},50))};return this.changeHandlers.clear(),b(this.settings,(i,s)=>{var n;if(g(s))s.setOnChange(()=>{const a=this.getValues();this.initialValues=a,t(a)}),this.changeHandlers.add(()=>t(this.getValues()));else if(w(s)){const a=()=>e();this.changeHandlers.add(a),s.setOnChange(a)}else{const a=()=>e();this.changeHandlers.add(a),(n=s.setOnChange)==null||n.call(s,a)}}),this}cleanup(){this.changeTimeout&&(clearTimeout(this.changeTimeout),this.changeTimeout=null),this.blurTimeout&&(clearTimeout(this.blurTimeout),this.blurTimeout=null),this.elementRef&&this.elementRef.removeEventListener("focusout",this.handleBlur),this.changeHandlers.clear()}setValue(t){if(!t||typeof t!="object")return;Object.entries(t).forEach(([i,s])=>{let n=this.settings[i];if(!n&&this.addItemCfg&&i.startsWith(this.addItemCfg.keyPrefix)){const a=i.slice(this.addItemCfg.keyPrefix.length),o=Number(a);if(Number.isFinite(o)){const l=this.addItemCfg.createItem(o);this.addSetting(i,l),n=l}}n&&(g(n)||w(n))&&typeof n.setValue=="function"&&n.setValue(s)}),setTimeout(()=>{this.forceChildUIRefresh()},0);const e=this.getValues();this.initialValues=e,this.onChange&&this.onChange(e)}wireChild(t){var i;const e=()=>{var n;const s=this.getValues();this.initialValues=s,(n=this.onChange)==null||n.call(this,s),this.updateVisibility()};g(t)?t.setOnChange(()=>e()):w(t)?t.setOnChange(()=>e()):(i=t.setOnChange)==null||i.call(t,()=>e())}addSetting(t,e){var s,n;if(this.settings[t]=e,this.wireChild(e),this.elementRef){const a=this.elementRef.querySelector(".setting-group-content");if(a){g(e)&&typeof e.setNestingLevel=="function"&&e.setNestingLevel(this.nestingLevel+1);const o=e.draw(),l=this.deleteItemCfg??this.addItemCfg;if(l){const d=l.keyPrefix??((s=this.addItemCfg)==null?void 0:s.keyPrefix);d&&t.startsWith(d)&&this.addDeleteButtonToElement(o,t)}const r=a.querySelector(".sg-add-button-bottom");r?a.insertBefore(o,r):a.appendChild(o),O.trackElement(o),x(o,this.nestingLevel+1),V(o,this.nestingLevel+1);const h=o.style.display;o.style.display="none",o.offsetHeight,o.style.display=h,this.updateNestingStyles()}}const i=this.getValues();this.initialValues=i,(n=this.onChange)==null||n.call(this,i)}addDeleteButtonToElement(t,e,i){let s=null;try{s=t.querySelector(":scope > .setting-group-title")}catch{s=null}if(!s){const r=Array.from(t.querySelectorAll(".setting-group-title"));for(const h of r)if(h.closest(".setting-group")===t){s=h;break}s||(s=r[0]??null)}if(!s)return;const n=s.querySelector(".actions-section");if(!n)return;const a=document.createElement("button");a.type="button",a.className="sg-delete-button",i?i.deleteItemCfg:this.deleteItemCfg??this.addItemCfg,a.title="Delete",a.style.cssText=`
|
|
2
2
|
background: none;
|
|
3
3
|
border: none;
|
|
4
4
|
cursor: pointer;
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
xmlns="http://www.w3.org/2000/svg">
|
|
80
80
|
<path d="M8 3.333v9.334M3.333 8h9.334" stroke="currentColor"
|
|
81
81
|
stroke-width="1.5" stroke-linecap="round"/>
|
|
82
|
-
</svg>`;h.innerHTML=`${d}<span style="margin-left:4px;">${this.addItemCfg.buttonLabel??"Add"}</span>`,h.addEventListener("click",p=>{p.stopPropagation(),p.preventDefault();const M=this.getNextIndexFromPrefix(this.addItemCfg.keyPrefix)
|
|
82
|
+
</svg>`;h.innerHTML=`${d}<span style="margin-left:4px;">${this.addItemCfg.buttonLabel??"Add"}</span>`,h.addEventListener("click",p=>{p.stopPropagation(),p.preventDefault();const M=this.getNextIndexFromPrefix(this.addItemCfg.keyPrefix),$=this.addItemCfg.createItem(M),D=`${this.addItemCfg.keyPrefix}${M}`;this.addSetting(D,$)}),o.appendChild(h)}return e.appendChild(i),e.appendChild(n),t.appendChild(e),t.appendChild(o),this.elementRef=t,O.trackElement(t),setTimeout(()=>{this.updateNestingStyles()},0),this.pendingBlurHandler&&(this.pendingBlurHandler=null),t}collapse(){if(!this.elementRef||this.isCollapsed)return;const t=this.elementRef.querySelector(".setting-group-content"),e=this.elementRef.querySelector(".setting-group-arrow"),i=this.elementRef.querySelector(".setting-group-title");t&&e&&i&&(this.isCollapsed=!0,t.classList.add("collapsed"),e.classList.add("rotated"),i.setAttribute("aria-expanded","false"))}expand(){if(!this.elementRef||!this.isCollapsed)return;const t=this.elementRef.querySelector(".setting-group-content"),e=this.elementRef.querySelector(".setting-group-arrow"),i=this.elementRef.querySelector(".setting-group-title");t&&e&&i&&(this.isCollapsed=!1,t.classList.remove("collapsed"),e.classList.remove("rotated"),i.setAttribute("aria-expanded","true"))}getJson(){return JSON.stringify(this.getValuesForJson(),null,2)}setJson(t){try{const e=JSON.parse(t);let i=e;const s=Object.keys(this.settings),n=Object.keys(e);if(!s.some(o=>n.includes(o))&&n.length===1){const o=n[0];i=e[o]}this.setValue(i)}catch(e){throw console.error("Invalid JSON provided to setJson:",e),new Error("Invalid JSON format")}}};k.hiddenElements=new Set;let v=k;function j(c){return new I(c)}class I extends v{constructor(t){super(t);const e=Object.keys(this.settings)[0];this.activeTabId=e||""}getActiveTabId(){return this.activeTabId}switchToTab(t){this.settings[t]&&(this.activeTabId=t,this.updateTabUI())}updateTabUI(){if(!this.tabsContainer||!this.contentContainers)return;this.tabsContainer.querySelectorAll(".tab-button").forEach(e=>{e.getAttribute("data-tab-id")===this.activeTabId?e.classList.add("active"):e.classList.remove("active")}),Object.entries(this.contentContainers).forEach(([e,i])=>{e===this.activeTabId?i.classList.add("active"):i.classList.remove("active")})}draw(){const t=super.draw();t.classList.add("tabs-settings-container");const e=t.querySelector(".setting-group-content");if(!e)return t;e.innerHTML="";const i=document.createElement("div");i.className="tabs-title";const s=document.createElement("h3");s.textContent=this.title,i.appendChild(s);const n=document.createElement("div");n.className="tabs-header",this.tabsContainer=n;const a=document.createElement("div");if(a.className="tab-content",this.contentContainers={},Object.keys(this.settings).forEach((o,l)=>{const r=document.createElement("button");r.className="tab-button",r.type="button",r.setAttribute("data-tab-id",o),r.textContent=o,r.addEventListener("click",()=>this.switchToTab(o)),n.appendChild(r);const h=document.createElement("div");h.className="tab-panel",this.contentContainers[o]=h;const d=this.settings[o];d&&(g(d)&&typeof d.setNestingLevel=="function"&&d.setNestingLevel(this.getNestingLevel()+1),h.appendChild(d.draw())),a.appendChild(h),l===0&&!this.activeTabId&&(this.activeTabId=o)}),e.appendChild(i),e.appendChild(n),e.appendChild(a),!this.activeTabId){const o=Object.keys(this.settings)[0];this.activeTabId=o||""}return this.updateTabUI(),t}}function T(c){return new v(c)}function U(c){return c}class P extends u{constructor(t={}){super(t),this.inputType="text",t.onChange&&this.setOnChange(t.onChange)}draw(){const t=e=>{this.props.maxLength!==void 0&&(e.maxLength=this.props.maxLength),this.props.className&&e.classList.add(this.props.className)};return this.createInput({value:this.value,inputType:this.inputType,title:this.props.title,placeholder:this.props.placeholder,icon:this.props.icon,inputClassName:"string-setting-input "+(this.props.inputClassName||""),wrapperClassName:"string-setting-wrapper "+(this.props.wrapperClassName||""),inputCustomizer:t})}}const J="<svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19' fill='none'><path d='M8.99999 15.8542C9.79613 16.5667 10.8475 17 12 17C14.4853 17 16.5 14.9853 16.5 12.5C16.5 10.4248 15.0953 8.67769 13.1849 8.15763M4.81513 8.15762C2.9047 8.67768 1.5 10.4248 1.5 12.5C1.5 14.9853 3.51472 17 6 17C8.48528 17 10.5 14.9853 10.5 12.5C10.5 11.9146 10.3882 11.3554 10.1849 10.8424M13.5 6.5C13.5 8.98528 11.4853 11 9 11C6.51472 11 4.5 8.98528 4.5 6.5C4.5 4.01472 6.51472 2 9 2C11.4853 2 13.5 4.01472 13.5 6.5Z' stroke='#667085' stroke-linecap='round' stroke-linejoin='round'/></svg>";class m extends P{constructor(t){super({...t,icon:t.icon||J,title:t.title||"Color",default:t.default?m.normalizeColorValue(t.default):"#000000"}),this.inputType="color",this.element=null,this.colorInputEl=null,this.textInputEl=null,this.detectChange=t.detectChange}static normalizeColorValue(t){return t.startsWith("#")?m.normalizeHexValue(t):t.includes(",")?m.rgbToHexStatic(t):m.normalizeHexValue(t)}static normalizeHexValue(t){return t=t.replace("#",""),t.length===3&&(t=t.split("").map(e=>e+e).join("")),t.length!==6?(console.warn(`Invalid hex value "${t}", using default "#000000"`),"#000000"):/^[0-9A-Fa-f]{6}$/.test(t)?`#${t.toLowerCase()}`:(console.warn(`Invalid hex value "${t}", using default "#000000"`),"#000000")}static rgbToHexStatic(t){const e=t.split(",").map(h=>parseInt(h.trim()));if(e.length!==3||e.some(isNaN))return console.warn(`Invalid RGB value "${t}", using default "#000000"`),"#000000";const[i,s,n]=e,a=Math.max(0,Math.min(255,i)),o=Math.max(0,Math.min(255,s)),l=Math.max(0,Math.min(255,n)),r=h=>{const d=h.toString(16);return d.length===1?"0"+d:d};return`#${r(a)}${r(o)}${r(l)}`}setValue(t){if(t===void 0){this.value="#000000",this.colorInputEl&&(this.colorInputEl.value="#000000"),this.textInputEl&&(this.textInputEl.value="#000000"),this.onChange&&this.onChange("#000000"),this.props.detectChange&&this.props.detectChange("#000000");return}if(typeof t=="string"){const e=m.normalizeColorValue(t);this.value=e,this.colorInputEl&&(this.colorInputEl.value=e),this.textInputEl&&(this.textInputEl.value=e),this.onChange&&this.onChange(e),this.props.detectChange&&this.props.detectChange(e)}else this.value="#000000",this.colorInputEl&&(this.colorInputEl.value="#000000"),this.textInputEl&&(this.textInputEl.value="#000000"),this.onChange&&this.onChange("#000000"),this.props.detectChange&&this.props.detectChange("#000000")}hexToRgb(t){t=t.replace("#","");const e=parseInt(t.substring(0,2),16),i=parseInt(t.substring(2,4),16),s=parseInt(t.substring(4,6),16);return`${e}, ${i}, ${s}`}draw(){const t=document.createElement("div");if(t.className="color-setting-wrapper "+(this.props.wrapperClassName||""),this.props.title||this.props.icon){const l=document.createElement("div");if(l.className="icon-container",this.props.icon){const r=document.createElement("span");r.className="input-icon",r.innerHTML=this.props.icon,l.appendChild(r)}if(this.props.title){const r=document.createElement("span");r.className="input-label",r.textContent=this.props.title,l.appendChild(r)}t.appendChild(l)}const e=document.createElement("div");e.className="color-input-wrapper";const i=l=>{const r=l.value.trim();if(!r)return e.classList.remove("error"),!0;const d=/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(r);return d?e.classList.remove("error"):e.classList.add("error"),d},s=document.createElement("input");s.type="color",s.className="color-picker",s.value=this.value||"#000000",s.setAttribute("aria-label","Choose color"),s.setAttribute("title","Click to open color picker"),this.getDataPropsPath()&&s.setAttribute("data-test-id",this.getDataPropsPath()),this.colorInputEl=s;const n=document.createElement("div");n.className="color-preview";const a=this.value||"#000000";n.style.backgroundColor=a;const o=document.createElement("input");return o.type="text",o.className="color-text-input",o.value=this.value||"",o.placeholder="#000000",o.setAttribute("pattern","#[0-9A-Fa-f]{6}"),o.setAttribute("title","Enter a hex color value (e.g., #ff0000)"),o.setAttribute("aria-label","Hex color value"),o.setAttribute("maxlength","7"),this.getDataPropsPath()&&o.setAttribute("data-test-id",`${this.getDataPropsPath()}_text`),this.textInputEl=o,this.textInputEl.addEventListener("input",l=>{var h,d;let r=l.target.value.trim();if(this.textInputEl&&i(this.textInputEl)){const p=m.normalizeColorValue(r);this.value=p,(h=this.onChange)==null||h.call(this,p),(d=this.detectChange)==null||d.call(this,p),this.colorInputEl&&(this.colorInputEl.value=p),n.style.backgroundColor=p}}),this.colorInputEl.addEventListener("input",l=>{var d,p;const r=l.target.value,h=m.normalizeColorValue(r);this.value=h,(d=this.onChange)==null||d.call(this,h),(p=this.detectChange)==null||p.call(this,h),this.textInputEl&&(this.textInputEl.value=h),n.style.backgroundColor=h,e.classList.remove("error")}),this.colorInputEl.addEventListener("change",l=>{var d,p;const r=l.target.value,h=m.normalizeColorValue(r);this.value=h,(d=this.onChange)==null||d.call(this,h),(p=this.detectChange)==null||p.call(this,h),this.textInputEl&&(this.textInputEl.value=h),n.style.backgroundColor=h}),e.appendChild(s),e.appendChild(n),e.appendChild(o),t.appendChild(e),this.element=t,t}getElement(){return this.element}getNormalizedValue(){return this.value?m.normalizeColorValue(this.value):"#000000"}isValidHex(){return this.value?/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(this.value):!1}toRgb(){return this.isValidHex()?this.hexToRgb(this.value):"0, 0, 0"}}const q=`
|
|
83
83
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
84
84
|
<path d="M8.99999 15.8542C9.79613 16.5667 10.8475 17 12 17C14.4853 17 16.5 14.9853 16.5 12.5C16.5 10.4248 15.0953 8.67769 13.1849 8.15763M4.81513 8.15762C2.9047 8.67768 1.5 10.4248 1.5 12.5C1.5 14.9853 3.51472 17 6 17C8.48528 17 10.5 14.9853 10.5 12.5C10.5 11.9146 10.3882 11.3554 10.1849 10.8424M13.5 6.5C13.5 8.98528 11.4853 11 9 11C6.51472 11 4.5 8.98528 4.5 6.5C4.5 4.01472 6.51472 2 9 2C11.4853 2 13.5 4.01472 13.5 6.5Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
85
85
|
<path d="M9 17C13.4183 17 17 13.4183 17 9C17 4.58172 13.4183 1 9 1C4.58172 1 1 4.58172 1 9C1 13.4183 4.58172 17 9 17Z" stroke="#667085" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.5"/>
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<path d="M13.5 15C14.1989 15 14.5484 15 14.824 14.8858C15.1916 14.7336 15.4836 14.4416 15.6358 14.074C15.75 13.7984 15.75 13.4489 15.75 12.75C15.75 12.0511 15.75 11.7016 15.6358 11.426C15.4836 11.0584 15.1916 10.7664 14.824 10.6142C14.5484 10.5 14.1989 10.5 13.5 10.5H4.5C3.80109 10.5 3.45163 10.5 3.17598 10.6142C2.80843 10.7664 2.51642 11.0584 2.36418 11.426C2.25 11.7016 2.25 12.0511 2.25 12.75C2.25 13.4489 2.25 13.7984 2.36418 14.074C2.51642 14.4416 2.80843 14.7336 3.17597 14.8858C3.45163 15 3.80109 15 4.5 15L13.5 15Z"
|
|
114
114
|
stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
|
115
115
|
</svg>
|
|
116
|
-
`}].forEach(n=>{const a=document.createElement("button");a.className="align-option-button",a.innerHTML=n.icon,this.getDataPropsPath()&&a.setAttribute("data-test-id",`${this.getDataPropsPath()}_${n.name}`),this.value===n.name&&a.classList.add("selected"),a.addEventListener("click",()=>{var o;i.querySelectorAll(".align-option-button").forEach(l=>l.classList.remove("selected")),a.classList.add("selected"),this.value=n.name,(o=this.onChange)==null||o.call(this,this.value)}),i.appendChild(a)}),t.appendChild(i),t}}class
|
|
116
|
+
`}].forEach(n=>{const a=document.createElement("button");a.className="align-option-button",a.innerHTML=n.icon,this.getDataPropsPath()&&a.setAttribute("data-test-id",`${this.getDataPropsPath()}_${n.name}`),this.value===n.name&&a.classList.add("selected"),a.addEventListener("click",()=>{var o;i.querySelectorAll(".align-option-button").forEach(l=>l.classList.remove("selected")),a.classList.add("selected"),this.value=n.name,(o=this.onChange)==null||o.call(this,this.value)}),i.appendChild(a)}),t.appendChild(i),t}}class Y extends u{constructor(t){super(t),this.inputType="button",this.bgWithAlpha="rgba(145, 158, 171, 0.08)"}draw(){const t=document.createElement("button");t.className="button-setting "+(this.props.className||""),t.textContent=this.props.label,t.style.borderColor=this.props.borderColor||"rgba(145, 158, 171, 0.32)",this.getDataPropsPath()&&t.setAttribute("data-test-id",this.getDataPropsPath());const e=this.props.backgroundColor||"rgba(0,0,0,0)",i=this.props.textColor||"black";t.style.backgroundColor=e,t.style.color=i;let s=e;const n=e.match(/^rgba\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)$/i);if(n){let o=+n[1],l=+n[2],r=+n[3],h=+n[4];h>=1?(o=Math.round(o*.9),l=Math.round(l*.9),r=Math.round(r*.9)):h=Math.min(1,h+.12),s=`rgba(${o},${l},${r},${h})`}t.addEventListener("mouseenter",()=>{console.log("hoverBg",s),t.style.setProperty("background-color",s,"important")}),t.addEventListener("mouseleave",()=>{t.style.setProperty("background-color",e,"important")}),t.addEventListener("click",()=>{var o,l;return(l=(o=this.props).onClick)==null?void 0:l.call(o)});const a=document.createElement("div");return a.className="button-setting-wrapper "+(this.props.wrapperClassName||""),a.appendChild(t),a}}class Q extends u{constructor(t={}){super(t),this.inputType={width:"number",height:"number"},this.aspectRatio=1,this.isUpdating=!1;const e=t.width||0,i=t.height||0;this.value||(this.value={width:e,height:i}),this.minWidth=t.minWidth??0,this.maxWidth=t.maxWidth,this.minHeight=t.minHeight??0,this.maxHeight=t.maxHeight,this.locked=t.locked??!1,this.value.height>0&&(this.aspectRatio=this.value.width/this.value.height),this.widthSetting=new f({title:"Width",default:this.value.width,suffix:"px",minValue:this.minWidth,maxValue:this.maxWidth,icon:tt}),this.heightSetting=new f({title:"Height",default:this.value.height,suffix:"px",minValue:this.minHeight,maxValue:this.maxHeight,icon:et}),this.widthSetting.setOnChange(this.handleWidthChange.bind(this)),this.heightSetting.setOnChange(this.handleHeightChange.bind(this))}handleWidthChange(t){if(!this.isUpdating&&!(isNaN(t)||t<0)){t=Math.max(this.minWidth,t),this.maxWidth&&t>this.maxWidth&&(t=this.maxWidth),this.isUpdating=!0;try{let e=t,i=this.value.height;this.locked&&this.aspectRatio>0&&(i=Math.round(e/this.aspectRatio),this.maxHeight&&i>this.maxHeight&&(i=this.maxHeight,e=Math.round(i*this.aspectRatio),this.maxWidth&&e>this.maxWidth&&(e=this.maxWidth,i>0&&(this.aspectRatio=e/i)))),this.value={width:e,height:i},this.widthSetting.setValue(e),this.locked&&this.heightSetting.setValue(i),this.onChange&&this.onChange(this.value)}finally{this.isUpdating=!1}}}handleHeightChange(t){if(!this.isUpdating&&!(isNaN(t)||t<0)){t=Math.max(this.minHeight,t),this.maxHeight&&t>this.maxHeight&&(t=this.maxHeight),this.isUpdating=!0;try{let e=t,i=this.value.width;this.locked&&this.aspectRatio>0&&(i=Math.round(e*this.aspectRatio),this.maxWidth&&i>this.maxWidth&&(i=this.maxWidth,e=Math.round(i/this.aspectRatio),this.maxHeight&&e>this.maxHeight&&(e=this.maxHeight,e>0&&(this.aspectRatio=i/e)))),this.value={width:i,height:e},this.locked&&this.widthSetting.setValue(i),this.heightSetting.setValue(e),this.onChange&&this.onChange(this.value)}finally{this.isUpdating=!1}}}toggleLock(t){if(this.locked=!this.locked,this.locked&&this.value){const{width:i,height:s}=this.value;s>0&&(this.aspectRatio=i/s)}t.innerHTML=this.getLockSVG(this.locked),t.setAttribute("aria-pressed",String(this.locked)),t.title=this.locked?"Unlock aspect ratio":"Lock aspect ratio";const e=t.closest(".dimension-setting-container");e&&(this.locked?e.classList.add("aspect-locked"):e.classList.remove("aspect-locked")),t.style.transform="scale(0.9)",setTimeout(()=>{t.style.transform="scale(1)"},100)}getLockSVG(t){return t?`
|
|
117
117
|
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10" fill="none">
|
|
118
118
|
<path d="M2.91663 4.58333V3.33333C2.91663 2.18274 3.84937 1.25 4.99996 1.25C6.00786 1.25 6.84859 1.96573 7.04162 2.91667M3.66663 8.75H6.33329C7.03336 8.75 7.38339 8.75 7.65078 8.61376C7.88598 8.49392 8.07721 8.30269 8.19705 8.06749C8.33329 7.8001 8.33329 7.45007 8.33329 6.75V6.58333C8.33329 5.88327 8.33329 5.53323 8.19705 5.26584C8.07721 5.03064 7.88598 4.83942 7.65078 4.71958C7.38339 4.58333 7.03336 4.58333 6.33329 4.58333H3.66663C2.96656 4.58333 2.61653 4.58333 2.34914 4.71958C2.11394 4.83942 1.92271 5.03064 1.80287 5.26584C1.66663 5.53323 1.66663 5.88327 1.66663 6.58333V6.75C1.66663 7.45007 1.66663 7.8001 1.80287 8.06749C1.92271 8.30269 2.11394 8.49392 2.34914 8.61376C2.61653 8.75 2.96656 8.75 3.66663 8.75Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
|
119
119
|
</svg>`:`
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
</svg>`;class mt extends f{constructor(t={}){super({...t,minValue:t.minValue??0,maxValue:t.maxValue??1e3,icon:t.icon||gt,title:t.title||"Margin Bottom",default:t.default??20,wrapperClassName:"margin-bottom-wrapper "+(t.wrapperClassName||"")}),this.inputType="number"}}const ft=`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
187
187
|
<path d="M15.75 7.25H2.25m9.9 9h-6.3c-1.26 0-1.89 0-2.371-.245a2.25 2.25 0 0 1-.984-.983c-.245-.482-.245-1.112-.245-2.372v-6.3c0-1.26 0-1.89.245-2.371a2.25 2.25 0 0 1 .984-.984c.48-.245 1.11-.245 2.371-.245h6.3c1.26 0 1.89 0 2.371.245.424.216.768.56.984.984.245.48.245 1.11.245 2.371v6.3c0 1.26 0 1.89-.245 2.371-.216.424-.56.768-.984.984-.48.245-1.11.245-2.371.245"
|
|
188
188
|
stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
189
|
-
</svg>`;class vt extends f{constructor(t={}){super({...t,minValue:t.minValue??0,maxValue:t.maxValue??1e3,icon:t.icon||ft,title:t.title||"Margin Top",default:t.default??20,wrapperClassName:"margin-top-wrapper "+(t.wrapperClassName||"")}),this.inputType="number"}}class Ct extends u{constructor(t){super(t),this.inputType={},this.container=null,this.defaultLanguage="",this.uploadSettings=new Map,t.default?this.value={...t.default}:this.value||(this.value={}),this.defaultLanguage=t.languages.includes(u.DefaultLanguage)?u.DefaultLanguage:t.languages[0];const e=t.defaultValue||`Enter text in ${this.capitalizeFirstLetter(this.defaultLanguage)}`;t.languages.forEach(i=>{var s,n;i in(this.value||{})||(this.value||(this.value={}),i===this.defaultLanguage&&e?this.value[i]=((s=t.default)==null?void 0:s[i])||e:this.value[i]=((n=t.default)==null?void 0:n[i])||"")})}capitalizeFirstLetter(t){return String(t).charAt(0).toUpperCase()+String(t).slice(1)}createTextareaRow(t,e){const i=document.createElement("div");i.classList.add("simple-multi-language-row");const s=document.createElement("label");if(s.classList.add("simple-language-label"),s.textContent=t.toUpperCase(),s.setAttribute("for",`textarea-${t}`),i.appendChild(s),this.props.multiImg){const n=new N({defaultUrl:e||"",title:"",id:`${this.id}_upload_${t}`});n.setOnChange(o=>{this.updateLanguageValue(t,o),t===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(o)}),this.uploadSettings.set(t,n);const a=n.draw();a.classList.add("simple-language-upload"),i.appendChild(a)}else{const n=document.createElement("textarea");n.id=`textarea-${t}`,n.classList.add("simple-language-textarea"),n.value=e||"";let a=this.props.placeholder||"Enter text in {language}...";a.includes("{language}")&&(a=a.replace("{language}",t.toUpperCase())),n.placeholder=
|
|
189
|
+
</svg>`;class vt extends f{constructor(t={}){super({...t,minValue:t.minValue??0,maxValue:t.maxValue??1e3,icon:t.icon||ft,title:t.title||"Margin Top",default:t.default??20,wrapperClassName:"margin-top-wrapper "+(t.wrapperClassName||"")}),this.inputType="number"}}class Ct extends u{constructor(t){super(t),this.inputType={},this.container=null,this.defaultLanguage="",this.uploadSettings=new Map,t.default?this.value={...t.default}:this.value||(this.value={}),this.defaultLanguage=t.languages.includes(u.DefaultLanguage)?u.DefaultLanguage:t.languages[0];const e=t.defaultValue||`Enter text in ${this.capitalizeFirstLetter(this.defaultLanguage)}`;t.languages.forEach(i=>{var s,n;i in(this.value||{})||(this.value||(this.value={}),i===this.defaultLanguage&&e?this.value[i]=((s=t.default)==null?void 0:s[i])||e:this.value[i]=((n=t.default)==null?void 0:n[i])||"")})}capitalizeFirstLetter(t){return String(t).charAt(0).toUpperCase()+String(t).slice(1)}truncatePlaceholder(t,e){if(!t)return"";const i=String(t);return i.length<=e?i:i.slice(0,Math.max(0,e-1)).trimEnd()+"…"}autosizeTextarea(t,e=3){t.style.height="auto";const i=window.getComputedStyle(t),s=parseFloat(i.lineHeight)||20,n=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom),a=parseFloat(i.borderTopWidth)+parseFloat(i.borderBottomWidth),o=s*e+n+a,l=Math.min(t.scrollHeight||44,o);t.style.height=`${l}px`,t.scrollHeight>o?t.style.overflowY="auto":t.style.overflowY="hidden"}createTextareaRow(t,e){const i=document.createElement("div");i.classList.add("simple-multi-language-row");const s=document.createElement("label");if(s.classList.add("simple-language-label"),s.textContent=t.toUpperCase(),s.setAttribute("for",`textarea-${t}`),i.appendChild(s),this.props.multiImg){const n=new N({defaultUrl:e||"",title:"",id:`${this.id}_upload_${t}`});n.setOnChange(o=>{this.updateLanguageValue(t,o),t===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(o)}),this.uploadSettings.set(t,n);const a=n.draw();a.classList.add("simple-language-upload"),i.appendChild(a)}else{const n=document.createElement("textarea");n.id=`textarea-${t}`,n.classList.add("simple-language-textarea"),n.value=e||"",n.rows=1,n.style.overflowY="hidden";let a=this.props.placeholder||"Enter text in {language}...";a.includes("{language}")&&(a=a.replace("{language}",t.toUpperCase())),n.placeholder=this.truncatePlaceholder(a,65),this.getDataPropsPath()&&n.setAttribute("data-test-id",`${this.getDataPropsPath()}_${t}`),n.addEventListener("input",l=>{const r=l.target;this.updateLanguageValue(t,r.value),t===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(r.value),this.autosizeTextarea(r,3)}),i.appendChild(n),(l=>(typeof queueMicrotask=="function"?queueMicrotask:r=>setTimeout(r,0))(l))(()=>this.autosizeTextarea(n,3))}return i}updateLanguageValue(t,e){this.value||(this.value={});const i={...this.value,[t]:e};this.setValue(i)}updateOtherLanguagePlaceholders(t){this.container&&this.props.languages.forEach(e=>{var s,n;if(e===this.defaultLanguage)return;const i=(s=this.container)==null?void 0:s.querySelector(`#textarea-${e}`);i&&(!i.value||i.value.trim()==="")&&(i.placeholder=this.truncatePlaceholder(t||((n=this.props.placeholder)==null?void 0:n.replace("{language}",e.toUpperCase()))||`Enter text in ${e.toUpperCase()}...`,65))})}draw(){const t=document.createElement("div");if(t.classList.add("simple-multi-language-wrapper"),this.props.title){const i=document.createElement("div");i.classList.add("simple-multi-language-title"),i.textContent=this.props.title,t.appendChild(i)}const e=document.createElement("div");return e.classList.add("simple-multi-language-content"),this.props.languages.forEach(i=>{var a;const s=((a=this.value)==null?void 0:a[i])||"",n=this.createTextareaRow(i,s);e.appendChild(n)}),t.appendChild(e),this.container=t,t}setValue(t){super.setValue(t),this.container&&this.props.languages.forEach(e=>{var i;if(this.props.multiImg){const s=this.uploadSettings.get(e);s&&s.setValue((t==null?void 0:t[e])||"")}else{const s=(i=this.container)==null?void 0:i.querySelector(`#textarea-${e}`);s&&(s.value=(t==null?void 0:t[e])||"")}})}}class wt extends u{constructor(t={}){super(t),this.inputType="select";const e=[{name:"None",value:"none"},{name:"Fade",value:"fade 1.5s ease-in-out infinite"},{name:"Slide",value:"slide 1.5s ease-in-out infinite"},{name:"Zoom",value:"zoom 1.5s ease-in-out infinite"},{name:"Bounce",value:"bounce 1.5s ease-in-out infinite"},{name:"Pulse",value:"pulse 1.5s ease-in-out infinite"}];this.selectSetting=new L({title:this.title||"Animation",options:e,default:this.props.default||"none"}),this.selectSetting.onChange=i=>{var s;this.value=i,(s=this.onChange)==null||s.call(this,i)}}draw(){return this.selectSetting.draw()}destroy(){this.selectSetting.destroy(),super.destroy()}}const bt=`
|
|
190
190
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
191
191
|
<path d="M5.625 9.5H5.6325M12.375 9.5H12.3825M9 9.5H9.0075M9 12.875H9.0075M9 6.125H9.0075M2.25 6.35L2.25 12.65C2.25 13.9101 2.25 14.5402 2.49524 15.0215C2.71095 15.4448 3.05516 15.789 3.47852 16.0048C3.95982 16.25 4.58988 16.25 5.85 16.25H12.15C13.4101 16.25 14.0402 16.25 14.5215 16.0048C14.9448 15.789 15.289 15.4448 15.5048 15.0215C15.75 14.5402 15.75 13.9101 15.75 12.65V6.35C15.75 5.08988 15.75 4.45982 15.5048 3.97852C15.289 3.55516 14.9448 3.21095 14.5215 2.99524C14.0402 2.75 13.4101 2.75 12.15 2.75L5.85 2.75C4.58988 2.75 3.95982 2.75 3.47852 2.99524C3.05516 3.21095 2.71095 3.55516 2.49524 3.97852C2.25 4.45982 2.25 5.08988 2.25 6.35Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
192
192
|
</svg>
|
|
@@ -236,4 +236,4 @@
|
|
|
236
236
|
opacity: ${e/100};
|
|
237
237
|
`:`
|
|
238
238
|
background-color: ${i};
|
|
239
|
-
`}}exports.AlignSetting=B;exports.AnimationSetting=wt;exports.BackgroundSettingSet=Ht;exports.BorderSettingSet=xt;exports.ButtonSetting=
|
|
239
|
+
`}}exports.AlignSetting=B;exports.AnimationSetting=wt;exports.BackgroundSettingSet=Ht;exports.BorderSettingSet=xt;exports.ButtonSetting=Y;exports.ColorSetting=m;exports.ColorWithOpacitySetting=C;exports.DimensionSetting=Q;exports.GapSetting=pt;exports.HeaderTypographySettingSet=Mt;exports.HeightSetting=at;exports.HtmlSetting=Z;exports.MarginBottomSetting=mt;exports.MarginSettingGroup=St;exports.MarginTopSetting=vt;exports.MultiLanguageSetting=Ct;exports.NumberSetting=f;exports.OpacitySetting=A;exports.SelectApiSettings=ct;exports.SelectSetting=L;exports.Setting=u;exports.SettingGroup=v;exports.StringSetting=P;exports.TabSettingGroup=I;exports.TabsSettingGroup=I;exports.Toggle=dt;exports.UploadSetting=N;exports.WidthSetting=lt;exports.asSettingGroupWithSettings=U;exports.createSettingGroup=T;exports.createTabSettingGroup=j;exports.isSetting=w;exports.isSettingChild=_;exports.isSettingGroup=g;exports.iterateSettings=b;
|
|
@@ -981,7 +981,7 @@ class m extends z {
|
|
|
981
981
|
return this.isValidHex() ? this.hexToRgb(this.value) : "0, 0, 0";
|
|
982
982
|
}
|
|
983
983
|
}
|
|
984
|
-
const
|
|
984
|
+
const W = `
|
|
985
985
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
986
986
|
<path d="M8.99999 15.8542C9.79613 16.5667 10.8475 17 12 17C14.4853 17 16.5 14.9853 16.5 12.5C16.5 10.4248 15.0953 8.67769 13.1849 8.15763M4.81513 8.15762C2.9047 8.67768 1.5 10.4248 1.5 12.5C1.5 14.9853 3.51472 17 6 17C8.48528 17 10.5 14.9853 10.5 12.5C10.5 11.9146 10.3882 11.3554 10.1849 10.8424M13.5 6.5C13.5 8.98528 11.4853 11 9 11C6.51472 11 4.5 8.98528 4.5 6.5C4.5 4.01472 6.51472 2 9 2C11.4853 2 13.5 4.01472 13.5 6.5Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
987
987
|
<path d="M9 17C13.4183 17 17 13.4183 17 9C17 4.58172 13.4183 1 9 1C4.58172 1 1 4.58172 1 9C1 13.4183 4.58172 17 9 17Z" stroke="#667085" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.5"/>
|
|
@@ -991,7 +991,7 @@ class C extends p {
|
|
|
991
991
|
constructor(t = {}) {
|
|
992
992
|
super({
|
|
993
993
|
...t,
|
|
994
|
-
icon: t.icon ||
|
|
994
|
+
icon: t.icon || W,
|
|
995
995
|
title: t.title || "Color & Opacity",
|
|
996
996
|
default: t.default || "#000000FF"
|
|
997
997
|
}), this.inputType = "color", this.element = null, this.colorInputEl = null, this.textInputEl = null, this.opacityInputEl = null, this.colorPreviewEl = null, this.detectChange = t.detectChange, this.value && (this.value = C.normalizeHexWithOpacity(this.value));
|
|
@@ -1200,7 +1200,7 @@ class f extends p {
|
|
|
1200
1200
|
);
|
|
1201
1201
|
}
|
|
1202
1202
|
}
|
|
1203
|
-
const
|
|
1203
|
+
const _ = `
|
|
1204
1204
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1205
1205
|
<path d="M9 17C13.4183 17 17 13.4183 17 9C17 4.58172 13.4183 1 9 1C4.58172 1 1 4.58172 1 9C1 13.4183 4.58172 17 9 17Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1206
1206
|
<path d="M9 1V17C4.58172 17 1 13.4183 1 9C1 4.58172 4.58172 1 9 1Z" fill="#667085" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
@@ -1214,7 +1214,7 @@ class j extends f {
|
|
|
1214
1214
|
maxValue: 100,
|
|
1215
1215
|
step: 1,
|
|
1216
1216
|
default: t.default ?? 100,
|
|
1217
|
-
icon:
|
|
1217
|
+
icon: _,
|
|
1218
1218
|
...t
|
|
1219
1219
|
};
|
|
1220
1220
|
super(e), this.inputType = "number", this.mobileValue = t.mobile;
|
|
@@ -1560,7 +1560,7 @@ const q = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBo
|
|
|
1560
1560
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 12 12" fill="none">
|
|
1561
1561
|
<path d="M8 3V2.6C8 2.03995 8 1.75992 7.89101 1.54601C7.79513 1.35785 7.64215 1.20487 7.45399 1.10899C7.24008 1 6.96005 1 6.4 1H5.6C5.03995 1 4.75992 1 4.54601 1.10899C4.35785 1.20487 4.20487 1.35785 4.10899 1.54601C4 1.75992 4 2.03995 4 2.6V3M5 5.75V8.25M7 5.75V8.25M1.5 3H10.5M9.5 3V8.6C9.5 9.44008 9.5 9.86012 9.33651 10.181C9.1927 10.4632 8.96323 10.6927 8.68099 10.8365C8.36012 11 7.94008 11 7.1 11H4.9C4.05992 11 3.63988 11 3.31901 10.8365C3.03677 10.6927 2.8073 10.4632 2.66349 10.181C2.5 9.86012 2.5 9.44008 2.5 8.6V3" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1562
1562
|
</svg>
|
|
1563
|
-
`,
|
|
1563
|
+
`, Y = `
|
|
1564
1564
|
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29" fill="none">
|
|
1565
1565
|
<!-- Top dot -->
|
|
1566
1566
|
<circle cx="14.5" cy="3" r="1.5" fill="#02CC59" opacity="1"/>
|
|
@@ -1674,7 +1674,7 @@ class O extends p {
|
|
|
1674
1674
|
const s = this.value && this.value !== "";
|
|
1675
1675
|
s || i.classList.add("no-image");
|
|
1676
1676
|
const n = document.createElement("div");
|
|
1677
|
-
if (n.className = "preview-placeholder", n.innerHTML = K, this.previewWrapper = document.createElement("div"), this.previewWrapper.className = "preview-wrapper", this.loadingSpinner = document.createElement("div"), this.loadingSpinner.className = "loading-spinner", this.loadingSpinner.innerHTML =
|
|
1677
|
+
if (n.className = "preview-placeholder", n.innerHTML = K, this.previewWrapper = document.createElement("div"), this.previewWrapper.className = "preview-wrapper", this.loadingSpinner = document.createElement("div"), this.loadingSpinner.className = "loading-spinner", this.loadingSpinner.innerHTML = Y, this.loadingSpinner.style.display = "none", this.previewWrapper.appendChild(this.loadingSpinner), this.previewEl = document.createElement("img"), this.previewEl.className = "upload-preview", this.props.delete) {
|
|
1678
1678
|
const o = document.createElement("button");
|
|
1679
1679
|
o.className = "delete-button", o.type = "button", o.title = "Delete image", o.innerHTML = X, this.previewWrapper.appendChild(o), o.onclick = (l) => {
|
|
1680
1680
|
var r;
|
|
@@ -1704,7 +1704,7 @@ class Et extends f {
|
|
|
1704
1704
|
title: t.title || "Height",
|
|
1705
1705
|
suffix: t.suffix || "px",
|
|
1706
1706
|
minValue: t.minValue ?? 0,
|
|
1707
|
-
icon: t.icon ||
|
|
1707
|
+
icon: t.icon || Q,
|
|
1708
1708
|
default: t.default ?? 100
|
|
1709
1709
|
}), this.inputType = "number", this.mobileValue = t.mobile;
|
|
1710
1710
|
}
|
|
@@ -1715,7 +1715,7 @@ class Et extends f {
|
|
|
1715
1715
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1716
1716
|
}
|
|
1717
1717
|
}
|
|
1718
|
-
const
|
|
1718
|
+
const Q = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1719
1719
|
<path d="M9 14L9 5M9 14L6.75 12.5M9 14L11.25 12.5M9 5L6.75 6.5M9 5L11.25 6.5M15.75 2.75H2.25M15.75 16.25H2.25" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1720
1720
|
</svg>`;
|
|
1721
1721
|
class bt extends f {
|
|
@@ -2037,6 +2037,16 @@ class Vt extends p {
|
|
|
2037
2037
|
capitalizeFirstLetter(t) {
|
|
2038
2038
|
return String(t).charAt(0).toUpperCase() + String(t).slice(1);
|
|
2039
2039
|
}
|
|
2040
|
+
truncatePlaceholder(t, e) {
|
|
2041
|
+
if (!t) return "";
|
|
2042
|
+
const i = String(t);
|
|
2043
|
+
return i.length <= e ? i : i.slice(0, Math.max(0, e - 1)).trimEnd() + "…";
|
|
2044
|
+
}
|
|
2045
|
+
autosizeTextarea(t, e = 3) {
|
|
2046
|
+
t.style.height = "auto";
|
|
2047
|
+
const i = window.getComputedStyle(t), s = parseFloat(i.lineHeight) || 20, n = parseFloat(i.paddingTop) + parseFloat(i.paddingBottom), a = parseFloat(i.borderTopWidth) + parseFloat(i.borderBottomWidth), o = s * e + n + a, l = Math.min(t.scrollHeight || 44, o);
|
|
2048
|
+
t.style.height = `${l}px`, t.scrollHeight > o ? t.style.overflowY = "auto" : t.style.overflowY = "hidden";
|
|
2049
|
+
}
|
|
2040
2050
|
createTextareaRow(t, e) {
|
|
2041
2051
|
const i = document.createElement("div");
|
|
2042
2052
|
i.classList.add("simple-multi-language-row");
|
|
@@ -2054,18 +2064,18 @@ class Vt extends p {
|
|
|
2054
2064
|
a.classList.add("simple-language-upload"), i.appendChild(a);
|
|
2055
2065
|
} else {
|
|
2056
2066
|
const n = document.createElement("textarea");
|
|
2057
|
-
n.id = `textarea-${t}`, n.classList.add("simple-language-textarea"), n.value = e || "";
|
|
2067
|
+
n.id = `textarea-${t}`, n.classList.add("simple-language-textarea"), n.value = e || "", n.rows = 1, n.style.overflowY = "hidden";
|
|
2058
2068
|
let a = this.props.placeholder || "Enter text in {language}...";
|
|
2059
2069
|
a.includes("{language}") && (a = a.replace(
|
|
2060
2070
|
"{language}",
|
|
2061
2071
|
t.toUpperCase()
|
|
2062
|
-
)), n.placeholder = a,
|
|
2072
|
+
)), n.placeholder = this.truncatePlaceholder(a, 65), this.getDataPropsPath() && n.setAttribute(
|
|
2063
2073
|
"data-test-id",
|
|
2064
2074
|
`${this.getDataPropsPath()}_${t}`
|
|
2065
|
-
), n.addEventListener("input", (
|
|
2066
|
-
const
|
|
2067
|
-
this.updateLanguageValue(t,
|
|
2068
|
-
}), i.appendChild(n);
|
|
2075
|
+
), n.addEventListener("input", (l) => {
|
|
2076
|
+
const r = l.target;
|
|
2077
|
+
this.updateLanguageValue(t, r.value), t === this.defaultLanguage && this.updateOtherLanguagePlaceholders(r.value), this.autosizeTextarea(r, 3);
|
|
2078
|
+
}), i.appendChild(n), ((l) => (typeof queueMicrotask == "function" ? queueMicrotask : (r) => setTimeout(r, 0))(l))(() => this.autosizeTextarea(n, 3));
|
|
2069
2079
|
}
|
|
2070
2080
|
return i;
|
|
2071
2081
|
}
|
|
@@ -2081,10 +2091,13 @@ class Vt extends p {
|
|
|
2081
2091
|
const i = (s = this.container) == null ? void 0 : s.querySelector(
|
|
2082
2092
|
`#textarea-${e}`
|
|
2083
2093
|
);
|
|
2084
|
-
i && (!i.value || i.value.trim() === "") && (i.placeholder =
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2094
|
+
i && (!i.value || i.value.trim() === "") && (i.placeholder = this.truncatePlaceholder(
|
|
2095
|
+
t || ((n = this.props.placeholder) == null ? void 0 : n.replace(
|
|
2096
|
+
"{language}",
|
|
2097
|
+
e.toUpperCase()
|
|
2098
|
+
)) || `Enter text in ${e.toUpperCase()}...`,
|
|
2099
|
+
65
|
|
2100
|
+
));
|
|
2088
2101
|
});
|
|
2089
2102
|
}
|
|
2090
2103
|
draw() {
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";@import"https://fonts.cdnfonts.com/css/satoshi";:root{--color-text: #1d2939;--color-text-secondary: #667085;--color-text-muted: #98a2b3;--color-border: #e4e7ec;--color-border-hover: #d0d5dd;--color-bg: #fff;--color-bg-hover: #f9fafb;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--transition-fast: .15s ease;--transition-normal: .3s ease}.icon-container{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.input-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0;width:18px;height:18px;transition:color var(--transition-fast)}.input-label{color:var(--color-text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm);font-style:normal;font-weight:400;line-height:1.4;transition:color var(--transition-fast)}.input-container{display:inline-flex;align-items:center;position:relative;width:100%}.input-wrapper{position:relative;width:100%;min-width:0}.base-input{width:100%;height:36px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md);font-weight:400;line-height:1.4;transition:all var(--transition-fast);outline:none}.base-input::placeholder{color:var(--color-text-muted)}.base-input:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.base-input:focus{border-color:var(--color-border-focus);background:var(--color-bg-focus)}.base-input:disabled{background:#f9fafb;color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.with-suffix{padding-right:44px}.input-suffix{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.with-prefix{padding-left:44px}.input-prefix{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.setting-item{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:center;min-height:40px;padding:var(--space-sm) 0}.setting-item.full-width{grid-template-columns:1fr}.setting-item.stacked{grid-template-columns:1fr;gap:var(--space-xs);align-items:stretch}.setting-item-label{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.setting-item-control{min-width:0;justify-self:end}.setting-item.stacked .setting-item-control{max-width:none;justify-self:stretch}.input-error{border-color:#f04438!important;background:#fff4f4!important;color:#f04438!important}.input-error:focus{border-color:#f04438!important;box-shadow:0 0 0 4px #f044381a!important}.error-message{color:#f04438;font-size:var(--font-size-xs);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.input-success{border-color:#02cc59!important;background:#f0fdf4!important}.input-success:focus{border-color:#02cc59!important}.input-loading{position:relative;color:var(--color-text-muted);background:#f9fafb;pointer-events:none}.input-loading:after{content:"";position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid var(--color-border-focus);border-radius:50%;animation:spin 1s linear infinite}.setting-group .setting-group .setting-item{min-height:36px;padding:6px 0}.setting-group .setting-group .base-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .input-label{font-size:11px}.setting-group .setting-group .setting-group .setting-item{min-height:32px;padding:4px 0}.setting-group .setting-group .setting-group .base-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .input-label{font-size:10px}@media (max-width: 480px){.setting-item{grid-template-columns:1fr;gap:var(--space-xs)}.setting-item-control{max-width:none;justify-self:stretch}.base-input{font-size:var(--font-size-md)}}@media (prefers-color-scheme: dark){:root{--color-text: #f9fafb;--color-text-secondary: #d0d5dd;--color-text-muted: #667085;--color-border: #344054;--color-border-hover: #475467;--color-bg: #1d2939;--color-bg-hover: #344054}}.base-input:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.compact .setting-item{min-height:32px;padding:4px 0}.compact .base-input{height:32px;padding:6px 10px;font-size:13px}.compact .input-label{font-size:11px}@media (prefers-contrast: high){.base-input{border-width:2px}.base-input:focus{border-width:3px}}.string-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.string-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.string-setting-wrapper .string-setting-wrapper{display:block;width:100%}.color-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-input-wrapper{position:relative;width:100%;justify-self:end}.color-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-text-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.color-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff}.color-preview:hover{transform:translateY(-50%) scale(1.05)}.setting-group .setting-group .color-setting-wrapper{min-height:36px}.setting-group .setting-group .color-input-wrapper{max-width:120px}.setting-group .setting-group .color-text-input{height:32px;padding:6px 10px 6px 32px;font-size:13px}.setting-group .setting-group .color-preview,.setting-group .setting-group .color-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .setting-group .color-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-input-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-text-input{height:28px;padding:4px 8px 4px 28px;font-size:12px}.setting-group .setting-group .setting-group .color-preview,.setting-group .setting-group .setting-group .color-picker{left:4px;width:16px;height:16px}.color-input-wrapper.error .color-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-input-wrapper.error .color-text-input:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.color-input-wrapper.disabled .color-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker:focus-visible+.color-preview{outline-offset:2px}.color-with-opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-with-opacity-controls-wrapper{display:grid;grid-template-columns:1fr;gap:var(--space-sm, 8px);justify-self:end;width:100%}.color-with-opacity-input-wrapper,.color-with-opacity-opacity-wrapper{position:relative;width:100%}.color-with-opacity-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-with-opacity-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-with-opacity-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff;cursor:pointer;overflow:hidden}.color-with-opacity-preview:hover{transform:translateY(-50%) scale(1.05)}.color-with-opacity-preview:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;z-index:-1}.color-with-opacity-opacity-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:20px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-opacity-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-opacity-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-opacity-suffix{position:absolute;right:var(--space-sm, 8px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.color-with-opacity-opacity-input::-webkit-inner-spin-button,.color-with-opacity-opacity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-with-opacity-opacity-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:120px}.setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .color-with-opacity-opacity-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .color-with-opacity-text-input{padding-left:32px}.setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .color-with-opacity-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:11px}.setting-group .setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .color-with-opacity-text-input{padding-left:28px}.setting-group .setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .setting-group .color-with-opacity-picker{left:4px;width:16px;height:16px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:10px}.color-with-opacity-input-wrapper.error .color-with-opacity-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-with-opacity-input-wrapper.disabled .color-with-opacity-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.html-setting-wrapper{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.html-setting-wrapper .icon-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.html-setting-wrapper .icon-container label{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0}.html-setting-wrapper .icon-container img{width:20px;height:20px;object-fit:contain}.html-setting-textarea{width:100%;min-height:120px;padding:12px;font-size:13px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.4;border-radius:8px;color:var(--Gray-900, #101828);border:1px solid var(--Gray-300, #d0d5dd);background:var(--Base-White, #fff);resize:vertical;min-width:0;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.html-setting-textarea:focus{outline:none}.html-setting-textarea::placeholder{color:var(--Gray-500, #667085);font-style:italic}.html-setting-textarea:disabled{background-color:var(--Gray-50, #f9fafb);color:var(--Gray-500, #667085);cursor:not-allowed}@media (max-width: 768px){.html-setting-textarea{font-size:12px;padding:10px;min-height:100px}}.html-setting-textarea::-webkit-scrollbar{width:8px}.html-setting-textarea::-webkit-scrollbar-track{background:var(--Gray-100, #f2f4f7);border-radius:4px}.html-setting-textarea::-webkit-scrollbar-thumb{background-color:var(--Gray-300, #d0d5dd);border-radius:4px;border:2px solid transparent;background-clip:content-box}.html-setting-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--Gray-400, #98a2b3)}.html-setting-textarea{scrollbar-width:thin;scrollbar-color:var(--Gray-300, #d0d5dd) var(--Gray-100, #f2f4f7)}.html-setting-textarea[data-syntax=html]{font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;-moz-tab-size:2;tab-size:2}.number-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.number-setting-input-container{position:relative;width:100%;justify-self:end}.number-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.number-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.number-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.number-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.number-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.suffix-label{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.number-setting-input::-webkit-inner-spin-button,.number-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .number-setting-wrapper{min-height:36px}.setting-group .setting-group .number-setting-input-container{max-width:120px}.setting-group .setting-group .number-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .suffix-label{right:10px;font-size:11px}.setting-group .setting-group .setting-group .number-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .number-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .number-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .suffix-label{right:8px;font-size:10px}.number-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.number-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.number-setting-input:focus-visible{outline-offset:2px}.opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.icon-container{display:flex;align-items:center;gap:var(--space-sm, 8px)}.input-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, #98a2b3)}.input-icon svg{width:16px;height:16px}.input-label{color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:500;line-height:1.4}.opacity-setting-input-container{position:relative;width:100%;justify-self:end}.opacity-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.opacity-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.opacity-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.opacity-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.opacity-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.opacity-suffix{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.opacity-setting-input::-webkit-inner-spin-button,.opacity-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.opacity-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .opacity-setting-input-container{max-width:120px}.setting-group .setting-group .opacity-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .opacity-suffix{right:10px;font-size:11px}.setting-group .setting-group .setting-group .opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .opacity-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .opacity-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .opacity-suffix{right:8px;font-size:10px}.opacity-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.opacity-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.opacity-setting-input:focus-visible{outline-offset:2px}.select-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;position:relative;width:100%;min-height:40px;z-index:1}.select-container .select-options{position:fixed;z-index:99999;max-width:300px;min-width:200px}.setting-group .select-container,.tab-content .select-container,.tabs-settings-container .select-container{position:relative;z-index:1}.select-container .icon-container{display:flex;align-items:center;margin-bottom:0}.select-container .icon-container .input-label{color:var(--color-text-secondary, #667085);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm, 12px);font-style:normal;font-weight:400;line-height:1.4}.select-button{place-self:end;max-width:140px;width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 var(--space-md, 12px);border-radius:var(--radius-lg, 8px);border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);cursor:pointer;font-size:var(--font-size-md, 14px);font-weight:400;color:var(--color-text, #1d2939);position:relative;transition:all var(--transition-fast, .15s ease);box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.select-button:hover{border-color:var(--color-border-hover, #d0d5dd);box-shadow:0 1px 3px #1018281a}.select-button:focus{outline:none}.select-button.has-label{padding-top:0;height:36px}.select-button .select-label{position:absolute;top:8px;left:16px;color:#667085;font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-button .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02cc59;border-radius:50%;animation:select-spin 1s linear infinite;z-index:2}@keyframes select-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-options{display:none;position:fixed!important;z-index:99999!important;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;flex-direction:column;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translateY(-8px);min-width:200px;max-width:300px}.select-options.open{display:flex;opacity:1;transform:translateY(0);animation:select-fade-in .2s ease forwards}@keyframes select-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:14px}.select-option:hover{background:#f9fafb}.select-option.selected{background:#b6dfc8;color:#344054;font-weight:400}.svg-container{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;pointer-events:none;z-index:1}.svg-container .svg-select{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select{transform:rotate(180deg)}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.setting-group .setting-group .select-container{min-height:36px}.setting-group .setting-group .select-button{height:32px;min-height:32px;max-width:120px;font-size:13px;padding:0 32px 0 10px}.setting-group .setting-group .select-container .icon-container .input-label{font-size:11px}.setting-group .setting-group .setting-group .select-container{min-height:32px}.setting-group .setting-group .setting-group .select-button{height:28px;min-height:28px;max-width:100px;font-size:12px;padding:0 28px 0 8px}.setting-group .setting-group .setting-group .select-container .icon-container .input-label{font-size:10px}.setting-group .setting-group .svg-container,.setting-group .setting-group .setting-group .svg-container{right:8px;width:16px;height:16px}.setting-group .setting-group .svg-container .svg-select,.setting-group .setting-group .setting-group .svg-container .svg-select{width:12px;height:12px}.align-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.align-setting-label{font-size:12px;color:var(--color-text)}.align-options-container{width:120px;color:#0006;background-color:#f5f6f7;border-radius:9999px;padding:4px 13px;display:flex;gap:8px;justify-self:flex-end}.align-option-button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;cursor:pointer;border-radius:50%;transition:background-color .2s,color .2s}.align-option-button:hover{background-color:#fff}.align-option-button.selected{background-color:var(--color-white);color:var(--color-black)}.button-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.button-setting{display:flex;height:30px;min-width:64px;padding:0;justify-content:center;align-items:center;gap:8px;flex:1 0 0;border:1px solid rgba(145,158,171,.32);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.dimension-setting-container{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.dimension-bracket{width:18px;height:42px;position:absolute;top:16px;right:122px;display:flex;align-items:center;justify-content:center;z-index:1}.dimension-bracket:before{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 1H5C2.79086 1 1 2.79086 1 5V15' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;top:0;right:1px}.dimension-bracket:after{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 14H5C2.79086 14 1 12.2091 1 10V4.76837e-07' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;bottom:0;right:1px}.dimension-lock-icon{transform:translate(-.25rem);width:24px;height:24px;background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#667085;z-index:1;border-radius:4px;transition:all .2s ease}.dimension-lock-icon:hover{background-color:#f5f5f5;transform:translate(-.25rem) scale(1.1)}.dimension-setting-container.aspect-locked .dimension-lock-icon{color:#02cc59;background-color:#02cc591a;box-shadow:0 0 0 1px #02cc5933}.dimension-setting-container.aspect-locked .dimension-bracket:before,.dimension-setting-container.aspect-locked .dimension-bracket:after{filter:hue-rotate(210deg) saturate(2)}@media (max-width: 480px){.dimension-bracket{right:100px}}.upload-setting-wrapper{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.icon-title-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.icon-title-container .input-label{color:#344054;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500}.preview-button-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;width:100%;gap:12px;border-radius:12px}.preview-button-container.no-image{justify-content:center}.preview-button-container.no-image .preview-placeholder{display:none}.preview-button-container.no-image .upload-button{width:100%;min-width:140px;flex-grow:1;margin:0 auto}.no-image .preview-placeholder{display:none!important}.preview-wrapper{position:relative;width:91px;height:71px;border-radius:4px;overflow:hidden;background-color:#d3d3d3;flex-shrink:0;display:none}.preview-wrapper.has-image{display:block}.upload-preview{width:100%;height:100%;object-fit:cover;border-radius:4px;display:none;background-position:center;background-size:146.165% 100%;background-repeat:no-repeat}.preview-wrapper.has-image .upload-preview{display:block;object-fit:contain;padding:2px}.empty-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#d3d3d3}.empty-state svg{width:100%;height:100%}.preview-wrapper.has-image .empty-state{display:none}.upload-button{width:100%;height:40px;display:flex;padding:5px 4px;flex-direction:row;align-items:center;gap:4px;border-radius:12px;border:1px solid var(--Gray-200, #eaecf0);background:var(--Base-White, #fff);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;flex-grow:0;justify-content:center;min-width:90px}.preview-wrapper:not(.has-image)+.upload-button{flex-grow:0}.upload-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.upload-icon{display:flex;align-items:center;justify-content:center}.upload-label{font-size:12px;font-weight:500;color:#344054}.delete-button{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;position:absolute;right:4px;top:4px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:background-color .2s ease;z-index:2}.delete-button svg{width:14px;height:14px;flex-shrink:0}.delete-button:hover{background-color:#f3f4f6}.upload-setting-wrapper.no-label .preview-button-container{grid-row:1}.preview-placeholder{display:flex;justify-content:center;align-items:center;width:91px;height:71px;border-radius:4px;background-color:#f2f4f7;flex-shrink:0}.preview-button-container:not(:has(.preview-wrapper.has-image)) .preview-placeholder{display:flex}.upload-setting-wrapper .error-message{color:#f04438;font-size:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.4;margin-top:4px;margin-bottom:8px;padding:8px 12px;background-color:#fff4f4;border:1px solid #fecdca;border-radius:6px;display:none;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.upload-setting-wrapper .error-message:before{content:"⚠️";margin-right:6px}.preview-wrapper.loading{display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.preview-wrapper.loading .upload-preview{display:none}.loading-spinner{width:29px;height:29px;display:flex;align-items:center;justify-content:center;animation:spin 1s linear infinite}.loading-spinner svg{width:100%;height:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.height-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.height-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.height-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.height-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.width-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.width-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.width-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting .number-setting{width:100%}.select-api-container{display:grid;grid-template-columns:1fr;place-content:center;align-items:center;position:relative;width:100%}.select-api-button{width:100%;height:33px;min-height:33px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 16px;border-radius:8px;border:1px solid var(--color-border, #e4e7ec);background:#fff;cursor:pointer;color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:normal;position:relative;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:40px!important}.select-api-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.select-api-button:focus{outline:none;border-color:#b6dfc8;box-shadow:0 0 0 4px #7f56d91a}.select-api-button .select-label{position:absolute;top:2px;color:#667085;font-family:Satoshi;font-size:12px;font-style:normal;font-weight:400;line-height:normal;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-api-button .select-value{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-api-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-api-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02CC59;border-radius:50%;animation:select-api-spin 1s linear infinite;z-index:2}.select-api-button.has-label.loading{padding-left:36px!important}.select-api-button.has-label.loading .select-value{padding-left:0}.select-api-button.has-label.loading:before{top:18px;left:10px}@keyframes select-api-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-api-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-api-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;z-index:100;flex-direction:column;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-8px)}.select-api-options.open{display:flex;opacity:1;transform:translateY(0)}.select-api-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:14px}.select-api-option:hover{background:#f9fafb}.select-api-option.selected{background:#b6dfc8;color:#344054;font-weight:500}.select-api-option.disabled{opacity:.6;cursor:not-allowed;color:#6e7891}.select-api-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #e4e7ec;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;margin:0;cursor:pointer}.select-api-radio:checked{border-color:#02cc59;background:#fff;position:relative}.select-api-radio:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#02cc59;border-radius:50%}.svg-container{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;pointer-events:none}.svg-container .svg-select-api{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select-api{transform:rotate(180deg)}.select-api-container .icon-container{display:none}.select-api-options::-webkit-scrollbar{width:6px}.select-api-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-api-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.select-api-option.empty-message:hover{background:transparent}.select-api-option:focus{outline:none;box-shadow:0 0 0 2px #b6dfc8}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-api-options.open{display:flex;animation:fadeIn .2s ease forwards}.select-api-button.has-label{height:48px}.toggle-setting-container{display:flex;justify-content:space-between;align-items:center;padding-left:3px;padding-right:3px}.toggle-label{color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;padding:2px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e4e7ec;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#02cc59}input:focus+.toggle-slider{box-shadow:0 0 1px #02cc59}input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-with-icon .toggle-label{display:flex;align-items:center;gap:8px}.toggle-icon{display:flex;align-items:center;justify-content:center;color:#667085}.gap-settings-container{display:flex;flex-direction:column;gap:12px;width:100%}.gap-settings-title{font-size:14px;font-weight:500;color:#344054;margin-bottom:4px}.gap-input-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%}.gap-label-container{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.gap-setting-icon{display:flex;align-items:center;justify-content:center;font-size:16px;color:#667085}.gap-setting-icon svg{width:16px;height:16px}.gap-input-label{font-size:13px;color:#667085}.gap-setting-inner-wrapper{position:relative;display:grid;grid-template-columns:1fr;place-content:center;align-items:center;width:120px}.gap-setting-input{width:100%;padding:8px;font-size:14px;border-radius:8px;color:#292b2e;border:1px solid var(--color-border);background:var(--color-bg);box-sizing:border-box}.suffix-wrapper{position:relative}.suffix-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding-left:8px;border-left:1px solid var(--color-divider);font-size:12px;color:var(--color-text)}.gap-setting-input::-webkit-outer-spin-button,.gap-setting-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gap-setting-input[type=number]{-moz-appearance:textfield}.margin-bottom-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-bottom-wrapper .setting-icon svg{width:18px;height:19px}.margin-bottom-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-bottom-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.margin-top-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-top-wrapper .setting-icon svg{width:18px;height:19px}.margin-top-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-top-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.simple-multi-language-wrapper{display:flex;flex-direction:column;width:100%}.simple-multi-language-title{color:#000;font-weight:700;font-size:14px;margin-bottom:8px}.simple-multi-language-content{display:flex;flex-direction:column;gap:12px;width:100%}.simple-multi-language-row{display:flex;flex-direction:column;gap:6px}.simple-language-label{font-size:12px;font-weight:500;color:var(--color-input-text);text-transform:uppercase;letter-spacing:.5px}.simple-language-textarea{width:100%;min-height:80px;padding:12px;font-size:14px;border-radius:8px;color:var(--color-input-text);border:1px solid var(--color-border);background:var(--color-bg);resize:vertical;font-family:inherit;line-height:1.4}.simple-language-textarea:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 2px #007bff40}.simple-language-textarea::placeholder{color:var(--color-text-muted, #6c757d);font-style:italic}@media (max-width: 640px){.simple-multi-language-row{gap:4px}.simple-language-label{font-size:11px}.simple-language-textarea{min-height:60px;padding:8px;font-size:13px}}.bgset-or-label{margin:8px 0;text-align:center;font-weight:500;color:#667085;align-self:center}.settings-container,.main-settings-container,[data-settings-container]{height:auto;min-height:auto;overflow:visible;flex-shrink:0}.container,.wrapper,.main-wrapper{height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}:root{--sg-spacing-0: 16px;--sg-spacing-1: 12px;--sg-spacing-2: 8px;--sg-spacing-3: 6px;--sg-border-0: #eaecf0;--sg-border-1: #d0d5dd;--sg-border-2: #e5e7eb;--sg-border-3: #f2f4f7;--sg-bg-0: #fff;--sg-bg-1: #fff;--sg-bg-2: #fff;--sg-bg-3: #fff;--sg-shadow-0: 0px 1px 3px rgba(16, 24, 40, .1), 0px 1px 2px rgba(16, 24, 40, .06);--sg-shadow-1: 0px 1px 2px rgba(16, 24, 40, .05);--sg-shadow-2: 0px 1px 1px rgba(16, 24, 40, .04);--sg-shadow-3: none}.setting-group{display:flex;flex-direction:column;width:100%;gap:8px;border-radius:8px;margin:0 auto;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group[data-nesting-level="0"]{padding:var(--sg-spacing-0);border:1px solid var(--sg-border-0);background:var(--sg-bg-0);box-shadow:var(--sg-shadow-0);border-radius:8px}.setting-group[data-nesting-level="1"]{padding:var(--sg-spacing-1);border:1px solid var(--sg-border-1);background:var(--sg-bg-1);box-shadow:var(--sg-shadow-1);border-radius:6px}.setting-group[data-nesting-level="2"]{padding:var(--sg-spacing-2);border:1px solid var(--sg-border-2);background:var(--sg-bg-2);box-shadow:var(--sg-shadow-2);border-radius:4px}.setting-group[data-nesting-level="3"],.setting-group[data-nesting-level="4"],.setting-group[data-nesting-level="5"]{padding:var(--sg-spacing-3);border:1px solid var(--sg-border-3);background:var(--sg-bg-3);box-shadow:var(--sg-shadow-3);border-radius:4px}.setting-group.collapsed{padding:0;border:none;background:transparent;box-shadow:none}.setting-group[data-nesting-level="0"] .setting-group-content{padding:0 8px 8px;gap:8px}.setting-group[data-nesting-level="1"] .setting-group-content{padding:0 8px 8px;gap:6px}.setting-group[data-nesting-level="2"] .setting-group-content{padding:0 8px 8px;gap:4px}.setting-group[data-nesting-level="3"] .setting-group-content,.setting-group[data-nesting-level="4"] .setting-group-content,.setting-group[data-nesting-level="5"] .setting-group-content{padding:0 6px 6px;gap:3px}.setting-group-title{display:flex;justify-content:space-between;align-items:center;padding:4px 0;cursor:pointer;border-radius:6px}.setting-group-title h3{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group[data-nesting-level="1"] .setting-group-title h3{font-size:13px;font-weight:500}.setting-group[data-nesting-level="2"] .setting-group-title h3{font-size:12px;font-weight:500}.setting-group[data-nesting-level="3"] .setting-group-title h3,.setting-group[data-nesting-level="4"] .setting-group-title h3,.setting-group[data-nesting-level="5"] .setting-group-title h3{font-size:11px;font-weight:500}.setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;transform:rotate(180deg);color:var(--Gray-500, #344054)}.setting-group-arrow.rotated{transform:rotate(0)}.setting-group-content{display:flex;flex-direction:column;width:100%;opacity:1;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group-content.collapsed{opacity:0;margin:0;padding:0;pointer-events:none;display:none}.setting-group.main-group{padding:16px;border:none;border-bottom:1px solid var(--Border-default, #d5dce5);box-shadow:none;margin-top:4px;background:#f8f8f8;border-radius:8px;width:100%;position:relative;margin-bottom:8px;max-height:none;overflow:visible;max-width:100%;box-sizing:border-box;height:auto;min-height:auto;flex-shrink:0}.setting-group.main-group.collapsed{padding:0;background:transparent!important;border:none;box-shadow:none;margin:0}.setting-group.main-group.collapsed .setting-group-title.collapsed-view{height:55px;background:#f8f8f8;border:none;margin-bottom:8px;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group.main-group .setting-group-title h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px}.setting-group-content.main-content{width:100%;background:#f8f8f8;border:0;box-shadow:none;padding:0;height:auto;min-height:auto;overflow:visible;flex-shrink:0}.setting-divider{height:1px;width:100%;background-color:#f2f4f7;margin:4px 0}.setting-group-content>*:last-child{margin-bottom:0}.setting-group.active{border-color:#d6bbfb;box-shadow:0 0 0 4px #7f56d91a}.setting-group-empty{color:#667085;font-size:13px;font-style:italic;padding:12px 0;text-align:center}.setting-group-title.collapsed-view{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;height:36px;border-radius:8px;border:1px solid var(--Gray-200, #eaecf0);background:var(--Base-White, #fff);margin-bottom:0;position:relative;overflow:hidden;cursor:pointer}.setting-group.main-group .setting-group-title.collapsed-view{height:55px;background:#f8f8f8;border:none;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group:not(.main-group) .setting-group-title.collapsed-view{height:36px;background:#fff;border:1px solid var(--Gray-200, #eaecf0);padding:14px}.setting-group-title .title-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.setting-group-title .group-icon{display:flex;justify-content:center;align-items:center;color:var(--Gray-500, #667085);flex-shrink:0;width:20px;height:20px}.setting-group-title.collapsed-view h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group-title.collapsed-view .group-badge{display:flex;padding:2px 8px;justify-content:center;align-items:center;border-radius:16px;background:var(--Gray-100, #f2f4f7);color:var(--Gray-700, #344054);font-size:12px;font-weight:500;line-height:18px;margin-left:8px}.setting-group-title .actions-section{display:flex;align-items:center;gap:8px;margin-left:12px}.setting-group-title.collapsed-view .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow.rotated{transform:rotate(0)}.setting-group-title.collapsed-view .info-marker{width:16px;height:16px;color:var(--Gray-400, #98a2b3);cursor:help}.setting-group-description{color:#667085;font-size:13px;margin-bottom:8px;line-height:1.4}@media (max-width: 768px){.setting-group-title.collapsed-view{padding:10px 12px}.setting-group-title .title-section{gap:8px}.setting-group-title.collapsed-view .group-badge{display:none}}@media (max-width: 480px){.setting-group-title.collapsed-view h3{font-size:13px}.setting-group-title.collapsed-view .setting-group-arrow{width:24px;height:24px}.setting-group-title.collapsed-view{padding:0 10px}}.setting-group-title.collapsed-view.striped:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--Primary-100, #f4ebff);border-radius:4px 0 0 4px}.setting-group.custom-container{border:none;box-shadow:none;margin:4px 0;padding:0;background:transparent}.setting-group.custom-container>.setting-group-title{display:none}.sg-add-button-bottom{display:flex;height:30px;min-width:64px;padding:6px 12px;justify-content:center;align-items:center;flex:1 0 0;border:1px solid rgba(145,158,171,.32);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.sg-add-button-bottom:hover{background:#eee}.setting-group.custom-container .setting-group-content{padding:0}.custom_class{border:0!important;box-shadow:none!important;margin:4px 0!important}.custom_class>.setting-group-title{display:none!important}.custom_class .setting-group-content{padding:0!important}.setting-group-title:focus-visible{outline:2px solid #02cc59;outline-offset:2px}.setting-group::-webkit-scrollbar,.setting-group-content::-webkit-scrollbar{width:8px;height:8px}.setting-group::-webkit-scrollbar-track,.setting-group-content::-webkit-scrollbar-track{background:#f0f2f4;border-radius:4px}.setting-group::-webkit-scrollbar-thumb,.setting-group-content::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:4px;border:2px solid transparent;background-clip:content-box}.setting-group::-webkit-scrollbar-thumb:hover,.setting-group-content::-webkit-scrollbar-thumb:hover{background-color:#98a2b3}.setting-group,.setting-group-content{scrollbar-width:thin;scrollbar-color:#c2c9d6 #f0f2f4}.tabs-settings-container{display:flex;flex-direction:column;width:100%;border-radius:8px;background:transparent;overflow:hidden;position:relative;z-index:1;max-width:100%;box-sizing:border-box}.tabs-settings-container.main-group{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px #1018280d}.tabs-header{width:100%;display:flex;padding:4px;justify-content:center;align-items:center;gap:4px;align-self:stretch;flex-shrink:0;background:#f1f3f2;position:relative;z-index:1;border-radius:400px;margin-bottom:8px}.tabs-header.main-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;padding:8px;margin-bottom:0}.tab-button{display:flex;padding:4px 12px;justify-content:center;align-items:center;background-color:transparent;gap:8px;flex:1 0 0;border-radius:400px;color:#000000b3;font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:20px;border:1px solid transparent;box-shadow:0 0 #10182800;position:relative;z-index:1;cursor:pointer;transition:all .2s ease;outline:none}.tab-button:active{box-shadow:0 1px 2px -1px #10182805}.tab-button.active{color:#000;font-weight:700;border-radius:400px;background:#fff;box-shadow:0 4px 8px -2px #1018280a}.tab-button.active:active{box-shadow:0 2px 4px -1px #1018280a}.tab-button:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.tab-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.tab-icon svg{width:100%;height:100%}.tab-content{position:relative;overflow:hidden;width:100%;z-index:1;margin-top:8px;max-width:100%;box-sizing:border-box;animation:fadeIn .2s ease-in-out}.tab-panel{display:grid;gap:8px;position:absolute;width:100%;opacity:0;pointer-events:none;overflow:hidden;z-index:1;max-width:100%;box-sizing:border-box}.tab-panel.active{opacity:1;pointer-events:auto;position:relative;overflow:hidden;z-index:1;max-width:100%;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tabs-header{padding:3px}.tab-button{padding:3px 8px;font-size:11px}}@media (max-width: 480px){.tab-button{padding:2px 6px;font-size:10px}.tab-icon{width:14px;height:14px}}.tab-content>.setting-group{margin-bottom:12px}.tab-content>.setting-group:last-child{margin-bottom:0}.tabs-settings-container.main-group .setting-group-content{border-top:none;border-radius:0 0 8px 8px}.setting-group.main-group.collapsed .tabs-header,.setting-group.main-group.collapsed .setting-group,.setting-group .setting-group.collapsed .tabs-header,.tabs-settings-container.collapsed .tabs-header,.tabs-settings-container.collapsed .tab-content{display:none}:root{--color-border: #d5dce5;--color-bg: #f8f8f8;--color-border-secondary: #eaecf0;--color-text: #667085;--color-title: #344054;--color-input-text: #292b2e;--color-white: #fff;--color-black: #000;--color-divider: #dcdcdc;--color-btn-text: #4b4b4b;--color-bg-icon: #f2f4f7}*{padding:0;margin:0;border:none}*,*:before,*:after{box-sizing:border-box}a,a:link,a:visited,a:hover{text-decoration:none}body{font-family:Satoshi,sans-serif;font-weight:400;font-size:12px;line-height:18px}aside,nav,footer,header,section,main{display:block}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit}ul,ul li{list-style:none}img{vertical-align:top}img,svg{max-width:100%;height:auto}address{font-style:normal}input::-ms-clear{display:none}button,input[type=submit]{display:inline-block;box-shadow:none;background-color:transparent;background:none;cursor:pointer}input:focus,input:active,button:focus,button:active{outline:none}button::-moz-focus-inner{padding:0;border:0}label{cursor:pointer}legend{display:block}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";@import"https://fonts.cdnfonts.com/css/satoshi";:root{--color-text: #1d2939;--color-text-secondary: #667085;--color-text-muted: #98a2b3;--color-border: #e4e7ec;--color-border-hover: #d0d5dd;--color-bg: #fff;--color-bg-hover: #f9fafb;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--transition-fast: .15s ease;--transition-normal: .3s ease}.icon-container{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.input-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0;width:18px;height:18px;transition:color var(--transition-fast)}.input-label{color:var(--color-text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm);font-style:normal;font-weight:400;line-height:1.4;transition:color var(--transition-fast)}.input-container{display:inline-flex;align-items:center;position:relative;width:100%}.input-wrapper{position:relative;width:100%;min-width:0}.base-input{width:100%;height:36px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md);font-weight:400;line-height:1.4;transition:all var(--transition-fast);outline:none}.base-input::placeholder{color:var(--color-text-muted)}.base-input:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.base-input:focus{border-color:var(--color-border-focus);background:var(--color-bg-focus)}.base-input:disabled{background:#f9fafb;color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.with-suffix{padding-right:44px}.input-suffix{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.with-prefix{padding-left:44px}.input-prefix{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.setting-item{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:center;min-height:40px;padding:var(--space-sm) 0}.setting-item.full-width{grid-template-columns:1fr}.setting-item.stacked{grid-template-columns:1fr;gap:var(--space-xs);align-items:stretch}.setting-item-label{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.setting-item-control{min-width:0;justify-self:end}.setting-item.stacked .setting-item-control{max-width:none;justify-self:stretch}.input-error{border-color:#f04438!important;background:#fff4f4!important;color:#f04438!important}.input-error:focus{border-color:#f04438!important;box-shadow:0 0 0 4px #f044381a!important}.error-message{color:#f04438;font-size:var(--font-size-xs);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.input-success{border-color:#02cc59!important;background:#f0fdf4!important}.input-success:focus{border-color:#02cc59!important}.input-loading{position:relative;color:var(--color-text-muted);background:#f9fafb;pointer-events:none}.input-loading:after{content:"";position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid var(--color-border-focus);border-radius:50%;animation:spin 1s linear infinite}.setting-group .setting-group .setting-item{min-height:36px;padding:6px 0}.setting-group .setting-group .base-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .input-label{font-size:11px}.setting-group .setting-group .setting-group .setting-item{min-height:32px;padding:4px 0}.setting-group .setting-group .setting-group .base-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .input-label{font-size:10px}@media (max-width: 480px){.setting-item{grid-template-columns:1fr;gap:var(--space-xs)}.setting-item-control{max-width:none;justify-self:stretch}.base-input{font-size:var(--font-size-md)}}@media (prefers-color-scheme: dark){:root{--color-text: #f9fafb;--color-text-secondary: #d0d5dd;--color-text-muted: #667085;--color-border: #344054;--color-border-hover: #475467;--color-bg: #1d2939;--color-bg-hover: #344054}}.base-input:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.compact .setting-item{min-height:32px;padding:4px 0}.compact .base-input{height:32px;padding:6px 10px;font-size:13px}.compact .input-label{font-size:11px}@media (prefers-contrast: high){.base-input{border-width:2px}.base-input:focus{border-width:3px}}.string-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.string-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.string-setting-wrapper .string-setting-wrapper{display:block;width:100%}.color-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-input-wrapper{position:relative;width:100%;justify-self:end}.color-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-text-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.color-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff}.color-preview:hover{transform:translateY(-50%) scale(1.05)}.setting-group .setting-group .color-setting-wrapper{min-height:36px}.setting-group .setting-group .color-input-wrapper{max-width:120px}.setting-group .setting-group .color-text-input{height:32px;padding:6px 10px 6px 32px;font-size:13px}.setting-group .setting-group .color-preview,.setting-group .setting-group .color-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .setting-group .color-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-input-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-text-input{height:28px;padding:4px 8px 4px 28px;font-size:12px}.setting-group .setting-group .setting-group .color-preview,.setting-group .setting-group .setting-group .color-picker{left:4px;width:16px;height:16px}.color-input-wrapper.error .color-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-input-wrapper.error .color-text-input:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.color-input-wrapper.disabled .color-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker:focus-visible+.color-preview{outline-offset:2px}.color-with-opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-with-opacity-controls-wrapper{display:grid;grid-template-columns:1fr;gap:var(--space-sm, 8px);justify-self:end;width:100%}.color-with-opacity-input-wrapper,.color-with-opacity-opacity-wrapper{position:relative;width:100%}.color-with-opacity-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-with-opacity-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-with-opacity-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff;cursor:pointer;overflow:hidden}.color-with-opacity-preview:hover{transform:translateY(-50%) scale(1.05)}.color-with-opacity-preview:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;z-index:-1}.color-with-opacity-opacity-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:20px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-opacity-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-opacity-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-opacity-suffix{position:absolute;right:var(--space-sm, 8px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.color-with-opacity-opacity-input::-webkit-inner-spin-button,.color-with-opacity-opacity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-with-opacity-opacity-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:120px}.setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .color-with-opacity-opacity-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .color-with-opacity-text-input{padding-left:32px}.setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .color-with-opacity-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:11px}.setting-group .setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .color-with-opacity-text-input{padding-left:28px}.setting-group .setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .setting-group .color-with-opacity-picker{left:4px;width:16px;height:16px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:10px}.color-with-opacity-input-wrapper.error .color-with-opacity-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-with-opacity-input-wrapper.disabled .color-with-opacity-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.html-setting-wrapper{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.html-setting-wrapper .icon-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.html-setting-wrapper .icon-container label{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0}.html-setting-wrapper .icon-container img{width:20px;height:20px;object-fit:contain}.html-setting-textarea{width:100%;min-height:120px;padding:12px;font-size:13px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.4;border-radius:8px;color:var(--Gray-900, #101828);border:1px solid var(--Gray-300, #d0d5dd);background:var(--Base-White, #fff);resize:vertical;min-width:0;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.html-setting-textarea:focus{outline:none}.html-setting-textarea::placeholder{color:var(--Gray-500, #667085);font-style:italic}.html-setting-textarea:disabled{background-color:var(--Gray-50, #f9fafb);color:var(--Gray-500, #667085);cursor:not-allowed}@media (max-width: 768px){.html-setting-textarea{font-size:12px;padding:10px;min-height:100px}}.html-setting-textarea::-webkit-scrollbar{width:8px}.html-setting-textarea::-webkit-scrollbar-track{background:var(--Gray-100, #f2f4f7);border-radius:4px}.html-setting-textarea::-webkit-scrollbar-thumb{background-color:var(--Gray-300, #d0d5dd);border-radius:4px;border:2px solid transparent;background-clip:content-box}.html-setting-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--Gray-400, #98a2b3)}.html-setting-textarea{scrollbar-width:thin;scrollbar-color:var(--Gray-300, #d0d5dd) var(--Gray-100, #f2f4f7)}.html-setting-textarea[data-syntax=html]{font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;-moz-tab-size:2;tab-size:2}.number-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.number-setting-input-container{position:relative;width:100%;justify-self:end}.number-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.number-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.number-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.number-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.number-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.suffix-label{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.number-setting-input::-webkit-inner-spin-button,.number-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .number-setting-wrapper{min-height:36px}.setting-group .setting-group .number-setting-input-container{max-width:120px}.setting-group .setting-group .number-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .suffix-label{right:10px;font-size:11px}.setting-group .setting-group .setting-group .number-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .number-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .number-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .suffix-label{right:8px;font-size:10px}.number-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.number-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.number-setting-input:focus-visible{outline-offset:2px}.opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.icon-container{display:flex;align-items:center;gap:var(--space-sm, 8px)}.input-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, #98a2b3)}.input-icon svg{width:16px;height:16px}.input-label{color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:500;line-height:1.4}.opacity-setting-input-container{position:relative;width:100%;justify-self:end}.opacity-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.opacity-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.opacity-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.opacity-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.opacity-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.opacity-suffix{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.opacity-setting-input::-webkit-inner-spin-button,.opacity-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.opacity-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .opacity-setting-input-container{max-width:120px}.setting-group .setting-group .opacity-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .opacity-suffix{right:10px;font-size:11px}.setting-group .setting-group .setting-group .opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .opacity-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .opacity-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .opacity-suffix{right:8px;font-size:10px}.opacity-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.opacity-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.opacity-setting-input:focus-visible{outline-offset:2px}.select-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;position:relative;width:100%;min-height:40px;z-index:1}.select-container .select-options{position:fixed;z-index:99999;max-width:300px;min-width:200px}.setting-group .select-container,.tab-content .select-container,.tabs-settings-container .select-container{position:relative;z-index:1}.select-container .icon-container{display:flex;align-items:center;margin-bottom:0}.select-container .icon-container .input-label{color:var(--color-text-secondary, #667085);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm, 12px);font-style:normal;font-weight:400;line-height:1.4}.select-button{place-self:end;max-width:140px;width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 var(--space-md, 12px);border-radius:var(--radius-lg, 8px);border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);cursor:pointer;font-size:var(--font-size-md, 14px);font-weight:400;color:var(--color-text, #1d2939);position:relative;transition:all var(--transition-fast, .15s ease);box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.select-button:hover{border-color:var(--color-border-hover, #d0d5dd);box-shadow:0 1px 3px #1018281a}.select-button:focus{outline:none}.select-button.has-label{padding-top:0;height:36px}.select-button .select-label{position:absolute;top:8px;left:16px;color:#667085;font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-button .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02cc59;border-radius:50%;animation:select-spin 1s linear infinite;z-index:2}@keyframes select-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-options{display:none;position:fixed!important;z-index:99999!important;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;flex-direction:column;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translateY(-8px);min-width:200px;max-width:300px}.select-options.open{display:flex;opacity:1;transform:translateY(0);animation:select-fade-in .2s ease forwards}@keyframes select-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:14px}.select-option:hover{background:#f9fafb}.select-option.selected{background:#b6dfc8;color:#344054;font-weight:400}.svg-container{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;pointer-events:none;z-index:1}.svg-container .svg-select{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select{transform:rotate(180deg)}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.setting-group .setting-group .select-container{min-height:36px}.setting-group .setting-group .select-button{height:32px;min-height:32px;max-width:120px;font-size:13px;padding:0 32px 0 10px}.setting-group .setting-group .select-container .icon-container .input-label{font-size:11px}.setting-group .setting-group .setting-group .select-container{min-height:32px}.setting-group .setting-group .setting-group .select-button{height:28px;min-height:28px;max-width:100px;font-size:12px;padding:0 28px 0 8px}.setting-group .setting-group .setting-group .select-container .icon-container .input-label{font-size:10px}.setting-group .setting-group .svg-container,.setting-group .setting-group .setting-group .svg-container{right:8px;width:16px;height:16px}.setting-group .setting-group .svg-container .svg-select,.setting-group .setting-group .setting-group .svg-container .svg-select{width:12px;height:12px}.align-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.align-setting-label{font-size:12px;color:var(--color-text)}.align-options-container{width:120px;color:#0006;background-color:#f5f6f7;border-radius:9999px;padding:4px 13px;display:flex;gap:8px;justify-self:flex-end}.align-option-button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;cursor:pointer;border-radius:50%;transition:background-color .2s,color .2s}.align-option-button:hover{background-color:#fff}.align-option-button.selected{background-color:var(--color-white);color:var(--color-black)}.button-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.button-setting{display:flex;height:30px;min-width:64px;padding:0;justify-content:center;align-items:center;gap:8px;flex:1 0 0;border:1px solid rgba(145,158,171,.32);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.dimension-setting-container{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.dimension-bracket{width:18px;height:42px;position:absolute;top:16px;right:122px;display:flex;align-items:center;justify-content:center;z-index:1}.dimension-bracket:before{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 1H5C2.79086 1 1 2.79086 1 5V15' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;top:0;right:1px}.dimension-bracket:after{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 14H5C2.79086 14 1 12.2091 1 10V4.76837e-07' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;bottom:0;right:1px}.dimension-lock-icon{transform:translate(-.25rem);width:24px;height:24px;background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#667085;z-index:1;border-radius:4px;transition:all .2s ease}.dimension-lock-icon:hover{background-color:#f5f5f5;transform:translate(-.25rem) scale(1.1)}.dimension-setting-container.aspect-locked .dimension-lock-icon{color:#02cc59;background-color:#02cc591a;box-shadow:0 0 0 1px #02cc5933}.dimension-setting-container.aspect-locked .dimension-bracket:before,.dimension-setting-container.aspect-locked .dimension-bracket:after{filter:hue-rotate(210deg) saturate(2)}@media (max-width: 480px){.dimension-bracket{right:100px}}.upload-setting-wrapper{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.icon-title-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.icon-title-container .input-label{color:#344054;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500}.preview-button-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;width:100%;gap:12px;border-radius:12px}.preview-button-container.no-image{justify-content:center}.preview-button-container.no-image .preview-placeholder{display:none}.preview-button-container.no-image .upload-button{width:100%;min-width:140px;flex-grow:1;margin:0 auto}.no-image .preview-placeholder{display:none!important}.preview-wrapper{position:relative;width:91px;height:71px;border-radius:4px;overflow:hidden;background-color:#d3d3d3;flex-shrink:0;display:none}.preview-wrapper.has-image{display:block}.upload-preview{width:100%;height:100%;object-fit:cover;border-radius:4px;display:none;background-position:center;background-size:146.165% 100%;background-repeat:no-repeat}.preview-wrapper.has-image .upload-preview{display:block;object-fit:contain;padding:2px}.empty-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#d3d3d3}.empty-state svg{width:100%;height:100%}.preview-wrapper.has-image .empty-state{display:none}.upload-button{width:100%;height:40px;display:flex;padding:5px 4px;flex-direction:row;align-items:center;gap:4px;border-radius:12px;border:1px solid var(--Gray-200, #eaecf0);background:var(--Base-White, #fff);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;flex-grow:0;justify-content:center;min-width:90px}.preview-wrapper:not(.has-image)+.upload-button{flex-grow:0}.upload-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.upload-icon{display:flex;align-items:center;justify-content:center}.upload-label{font-size:12px;font-weight:500;color:#344054}.delete-button{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;position:absolute;right:4px;top:4px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:background-color .2s ease;z-index:2}.delete-button svg{width:14px;height:14px;flex-shrink:0}.delete-button:hover{background-color:#f3f4f6}.upload-setting-wrapper.no-label .preview-button-container{grid-row:1}.preview-placeholder{display:flex;justify-content:center;align-items:center;width:91px;height:71px;border-radius:4px;background-color:#f2f4f7;flex-shrink:0}.preview-button-container:not(:has(.preview-wrapper.has-image)) .preview-placeholder{display:flex}.upload-setting-wrapper .error-message{color:#f04438;font-size:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.4;margin-top:4px;margin-bottom:8px;padding:8px 12px;background-color:#fff4f4;border:1px solid #fecdca;border-radius:6px;display:none;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.upload-setting-wrapper .error-message:before{content:"⚠️";margin-right:6px}.preview-wrapper.loading{display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.preview-wrapper.loading .upload-preview{display:none}.loading-spinner{width:29px;height:29px;display:flex;align-items:center;justify-content:center;animation:spin 1s linear infinite}.loading-spinner svg{width:100%;height:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.height-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.height-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.height-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.height-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.width-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.width-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.width-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting .number-setting{width:100%}.select-api-container{display:grid;grid-template-columns:1fr;place-content:center;align-items:center;position:relative;width:100%}.select-api-button{width:100%;height:33px;min-height:33px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 16px;border-radius:8px;border:1px solid var(--color-border, #e4e7ec);background:#fff;cursor:pointer;color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:normal;position:relative;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:40px!important}.select-api-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.select-api-button:focus{outline:none;border-color:#b6dfc8;box-shadow:0 0 0 4px #7f56d91a}.select-api-button .select-label{position:absolute;top:2px;color:#667085;font-family:Satoshi;font-size:12px;font-style:normal;font-weight:400;line-height:normal;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-api-button .select-value{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-api-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-api-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02CC59;border-radius:50%;animation:select-api-spin 1s linear infinite;z-index:2}.select-api-button.has-label.loading{padding-left:36px!important}.select-api-button.has-label.loading .select-value{padding-left:0}.select-api-button.has-label.loading:before{top:18px;left:10px}@keyframes select-api-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-api-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-api-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;z-index:100;flex-direction:column;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-8px)}.select-api-options.open{display:flex;opacity:1;transform:translateY(0)}.select-api-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:14px}.select-api-option:hover{background:#f9fafb}.select-api-option.selected{background:#b6dfc8;color:#344054;font-weight:500}.select-api-option.disabled{opacity:.6;cursor:not-allowed;color:#6e7891}.select-api-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #e4e7ec;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;margin:0;cursor:pointer}.select-api-radio:checked{border-color:#02cc59;background:#fff;position:relative}.select-api-radio:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#02cc59;border-radius:50%}.svg-container{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;pointer-events:none}.svg-container .svg-select-api{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select-api{transform:rotate(180deg)}.select-api-container .icon-container{display:none}.select-api-options::-webkit-scrollbar{width:6px}.select-api-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-api-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.select-api-option.empty-message:hover{background:transparent}.select-api-option:focus{outline:none;box-shadow:0 0 0 2px #b6dfc8}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-api-options.open{display:flex;animation:fadeIn .2s ease forwards}.select-api-button.has-label{height:48px}.toggle-setting-container{display:flex;justify-content:space-between;align-items:center;padding-left:3px;padding-right:3px}.toggle-label{color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;padding:2px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e4e7ec;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#02cc59}input:focus+.toggle-slider{box-shadow:0 0 1px #02cc59}input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-with-icon .toggle-label{display:flex;align-items:center;gap:8px}.toggle-icon{display:flex;align-items:center;justify-content:center;color:#667085}.gap-settings-container{display:flex;flex-direction:column;gap:12px;width:100%}.gap-settings-title{font-size:14px;font-weight:500;color:#344054;margin-bottom:4px}.gap-input-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%}.gap-label-container{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.gap-setting-icon{display:flex;align-items:center;justify-content:center;font-size:16px;color:#667085}.gap-setting-icon svg{width:16px;height:16px}.gap-input-label{font-size:13px;color:#667085}.gap-setting-inner-wrapper{position:relative;display:grid;grid-template-columns:1fr;place-content:center;align-items:center;width:120px}.gap-setting-input{width:100%;padding:8px;font-size:14px;border-radius:8px;color:#292b2e;border:1px solid var(--color-border);background:var(--color-bg);box-sizing:border-box}.suffix-wrapper{position:relative}.suffix-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding-left:8px;border-left:1px solid var(--color-divider);font-size:12px;color:var(--color-text)}.gap-setting-input::-webkit-outer-spin-button,.gap-setting-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gap-setting-input[type=number]{-moz-appearance:textfield}.margin-bottom-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-bottom-wrapper .setting-icon svg{width:18px;height:19px}.margin-bottom-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-bottom-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.margin-top-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-top-wrapper .setting-icon svg{width:18px;height:19px}.margin-top-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-top-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.simple-multi-language-wrapper{display:flex;flex-direction:column;width:100%}.simple-multi-language-title{color:#000;font-weight:700;font-size:14px;margin-bottom:8px}.simple-multi-language-content{display:flex;flex-direction:column;gap:12px;width:100%}.simple-multi-language-row{display:flex;flex-direction:column;gap:6px}.simple-language-label{font-size:12px;font-weight:500;color:var(--color-input-text);text-transform:uppercase;letter-spacing:.5px}.simple-language-textarea{width:100%;min-height:0;padding:12px;font-size:14px;border-radius:8px;color:var(--color-input-text);border:1px solid var(--color-border);background:var(--color-bg);font-family:inherit;resize:none;line-height:1.4;overflow-y:hidden;box-sizing:border-box}.simple-language-textarea:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 2px #007bff40}.simple-language-textarea::placeholder{color:var(--color-text-muted, #6c757d);font-style:italic}@media (max-width: 640px){.simple-multi-language-row{gap:4px}.simple-language-label{font-size:11px}.simple-language-textarea{min-height:0;padding:8px;font-size:13px}}.bgset-or-label{margin:8px 0;text-align:center;font-weight:500;color:#667085;align-self:center}.settings-container,.main-settings-container,[data-settings-container]{height:auto;min-height:auto;overflow:visible;flex-shrink:0}.container,.wrapper,.main-wrapper{height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}:root{--sg-spacing-0: 16px;--sg-spacing-1: 12px;--sg-spacing-2: 8px;--sg-spacing-3: 6px;--sg-border-0: #eaecf0;--sg-border-1: #d0d5dd;--sg-border-2: #e5e7eb;--sg-border-3: #f2f4f7;--sg-bg-0: #fff;--sg-bg-1: #fff;--sg-bg-2: #fff;--sg-bg-3: #fff;--sg-shadow-0: 0px 1px 3px rgba(16, 24, 40, .1), 0px 1px 2px rgba(16, 24, 40, .06);--sg-shadow-1: 0px 1px 2px rgba(16, 24, 40, .05);--sg-shadow-2: 0px 1px 1px rgba(16, 24, 40, .04);--sg-shadow-3: none}.setting-group{display:flex;flex-direction:column;width:100%;gap:8px;border-radius:8px;margin:0 auto;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group[data-nesting-level="0"]{padding:var(--sg-spacing-0);border:1px solid var(--sg-border-0);background:var(--sg-bg-0);box-shadow:var(--sg-shadow-0);border-radius:8px}.setting-group[data-nesting-level="1"]{padding:var(--sg-spacing-1);border:1px solid var(--sg-border-1);background:var(--sg-bg-1);box-shadow:var(--sg-shadow-1);border-radius:6px}.setting-group[data-nesting-level="2"]{padding:var(--sg-spacing-2);border:1px solid var(--sg-border-2);background:var(--sg-bg-2);box-shadow:var(--sg-shadow-2);border-radius:4px}.setting-group[data-nesting-level="3"],.setting-group[data-nesting-level="4"],.setting-group[data-nesting-level="5"]{padding:var(--sg-spacing-3);border:1px solid var(--sg-border-3);background:var(--sg-bg-3);box-shadow:var(--sg-shadow-3);border-radius:4px}.setting-group.collapsed{padding:0;border:none;background:transparent;box-shadow:none}.setting-group[data-nesting-level="0"] .setting-group-content{padding:0 8px 8px;gap:8px}.setting-group[data-nesting-level="1"] .setting-group-content{padding:0 8px 8px;gap:6px}.setting-group[data-nesting-level="2"] .setting-group-content{padding:0 8px 8px;gap:4px}.setting-group[data-nesting-level="3"] .setting-group-content,.setting-group[data-nesting-level="4"] .setting-group-content,.setting-group[data-nesting-level="5"] .setting-group-content{padding:0 6px 6px;gap:3px}.setting-group-title{display:flex;justify-content:space-between;align-items:center;padding:4px 0;cursor:pointer;border-radius:6px}.setting-group-title h3{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group[data-nesting-level="1"] .setting-group-title h3{font-size:13px;font-weight:500}.setting-group[data-nesting-level="2"] .setting-group-title h3{font-size:12px;font-weight:500}.setting-group[data-nesting-level="3"] .setting-group-title h3,.setting-group[data-nesting-level="4"] .setting-group-title h3,.setting-group[data-nesting-level="5"] .setting-group-title h3{font-size:11px;font-weight:500}.setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;transform:rotate(180deg);color:var(--Gray-500, #344054)}.setting-group-arrow.rotated{transform:rotate(0)}.setting-group-content{display:flex;flex-direction:column;width:100%;opacity:1;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group-content.collapsed{opacity:0;margin:0;padding:0;pointer-events:none;display:none}.setting-group.main-group{padding:16px;border:none;border-bottom:1px solid var(--Border-default, #d5dce5);box-shadow:none;margin-top:4px;background:#f8f8f8;border-radius:8px;width:100%;position:relative;margin-bottom:8px;max-height:none;overflow:visible;max-width:100%;box-sizing:border-box;height:auto;min-height:auto;flex-shrink:0}.setting-group.main-group.collapsed{padding:0;background:transparent!important;border:none;box-shadow:none;margin:0}.setting-group.main-group.collapsed .setting-group-title.collapsed-view{height:55px;background:#f8f8f8;border:none;margin-bottom:8px;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group.main-group .setting-group-title h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px}.setting-group-content.main-content{width:100%;background:#f8f8f8;border:0;box-shadow:none;padding:0;height:auto;min-height:auto;overflow:visible;flex-shrink:0}.setting-divider{height:1px;width:100%;background-color:#f2f4f7;margin:4px 0}.setting-group-content>*:last-child{margin-bottom:0}.setting-group.active{border-color:#d6bbfb;box-shadow:0 0 0 4px #7f56d91a}.setting-group-empty{color:#667085;font-size:13px;font-style:italic;padding:12px 0;text-align:center}.setting-group-title.collapsed-view{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;height:36px;border-radius:8px;border:1px solid var(--Gray-200, #eaecf0);background:var(--Base-White, #fff);margin-bottom:0;position:relative;overflow:hidden;cursor:pointer}.setting-group.main-group .setting-group-title.collapsed-view{height:55px;background:#f8f8f8;border:none;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group:not(.main-group) .setting-group-title.collapsed-view{height:36px;background:#fff;border:1px solid var(--Gray-200, #eaecf0);padding:14px}.setting-group-title .title-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.setting-group-title .group-icon{display:flex;justify-content:center;align-items:center;color:var(--Gray-500, #667085);flex-shrink:0;width:20px;height:20px}.setting-group-title.collapsed-view h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group-title.collapsed-view .group-badge{display:flex;padding:2px 8px;justify-content:center;align-items:center;border-radius:16px;background:var(--Gray-100, #f2f4f7);color:var(--Gray-700, #344054);font-size:12px;font-weight:500;line-height:18px;margin-left:8px}.setting-group-title .actions-section{display:flex;align-items:center;gap:8px;margin-left:12px}.setting-group-title.collapsed-view .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow.rotated{transform:rotate(0)}.setting-group-title.collapsed-view .info-marker{width:16px;height:16px;color:var(--Gray-400, #98a2b3);cursor:help}.setting-group-description{color:#667085;font-size:13px;margin-bottom:8px;line-height:1.4}@media (max-width: 768px){.setting-group-title.collapsed-view{padding:10px 12px}.setting-group-title .title-section{gap:8px}.setting-group-title.collapsed-view .group-badge{display:none}}@media (max-width: 480px){.setting-group-title.collapsed-view h3{font-size:13px}.setting-group-title.collapsed-view .setting-group-arrow{width:24px;height:24px}.setting-group-title.collapsed-view{padding:0 10px}}.setting-group-title.collapsed-view.striped:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--Primary-100, #f4ebff);border-radius:4px 0 0 4px}.setting-group.custom-container{border:none;box-shadow:none;margin:4px 0;padding:0;background:transparent}.setting-group.custom-container>.setting-group-title{display:none}.sg-add-button-bottom{display:flex;height:30px;min-width:64px;padding:6px 12px;justify-content:center;align-items:center;flex:1 0 0;border:1px solid rgba(145,158,171,.32);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.sg-add-button-bottom:hover{background:#eee}.setting-group.custom-container .setting-group-content{padding:0}.custom_class{border:0!important;box-shadow:none!important;margin:4px 0!important}.custom_class>.setting-group-title{display:none!important}.custom_class .setting-group-content{padding:0!important}.setting-group-title:focus-visible{outline:2px solid #02cc59;outline-offset:2px}.setting-group::-webkit-scrollbar,.setting-group-content::-webkit-scrollbar{width:8px;height:8px}.setting-group::-webkit-scrollbar-track,.setting-group-content::-webkit-scrollbar-track{background:#f0f2f4;border-radius:4px}.setting-group::-webkit-scrollbar-thumb,.setting-group-content::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:4px;border:2px solid transparent;background-clip:content-box}.setting-group::-webkit-scrollbar-thumb:hover,.setting-group-content::-webkit-scrollbar-thumb:hover{background-color:#98a2b3}.setting-group,.setting-group-content{scrollbar-width:thin;scrollbar-color:#c2c9d6 #f0f2f4}.tabs-settings-container{display:flex;flex-direction:column;width:100%;border-radius:8px;background:transparent;overflow:hidden;position:relative;z-index:1;max-width:100%;box-sizing:border-box}.tabs-settings-container.main-group{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px #1018280d}.tabs-header{width:100%;display:flex;padding:4px;justify-content:center;align-items:center;gap:4px;align-self:stretch;flex-shrink:0;background:#f1f3f2;position:relative;z-index:1;border-radius:400px;margin-bottom:8px}.tabs-header.main-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;padding:8px;margin-bottom:0}.tab-button{display:flex;padding:4px 12px;justify-content:center;align-items:center;background-color:transparent;gap:8px;flex:1 0 0;border-radius:400px;color:#000000b3;font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:20px;border:1px solid transparent;box-shadow:0 0 #10182800;position:relative;z-index:1;cursor:pointer;transition:all .2s ease;outline:none}.tab-button:active{box-shadow:0 1px 2px -1px #10182805}.tab-button.active{color:#000;font-weight:700;border-radius:400px;background:#fff;box-shadow:0 4px 8px -2px #1018280a}.tab-button.active:active{box-shadow:0 2px 4px -1px #1018280a}.tab-button:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.tab-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.tab-icon svg{width:100%;height:100%}.tab-content{position:relative;overflow:hidden;width:100%;z-index:1;margin-top:8px;max-width:100%;box-sizing:border-box;animation:fadeIn .2s ease-in-out}.tab-panel{display:grid;gap:8px;position:absolute;width:100%;opacity:0;pointer-events:none;overflow:hidden;z-index:1;max-width:100%;box-sizing:border-box}.tab-panel.active{opacity:1;pointer-events:auto;position:relative;overflow:hidden;z-index:1;max-width:100%;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tabs-header{padding:3px}.tab-button{padding:3px 8px;font-size:11px}}@media (max-width: 480px){.tab-button{padding:2px 6px;font-size:10px}.tab-icon{width:14px;height:14px}}.tab-content>.setting-group{margin-bottom:12px}.tab-content>.setting-group:last-child{margin-bottom:0}.tabs-settings-container.main-group .setting-group-content{border-top:none;border-radius:0 0 8px 8px}.setting-group.main-group.collapsed .tabs-header,.setting-group.main-group.collapsed .setting-group,.setting-group .setting-group.collapsed .tabs-header,.tabs-settings-container.collapsed .tabs-header,.tabs-settings-container.collapsed .tab-content{display:none}:root{--color-border: #d5dce5;--color-bg: #f8f8f8;--color-border-secondary: #eaecf0;--color-text: #667085;--color-title: #344054;--color-input-text: #292b2e;--color-white: #fff;--color-black: #000;--color-divider: #dcdcdc;--color-btn-text: #4b4b4b;--color-bg-icon: #f2f4f7}*{padding:0;margin:0;border:none}*,*:before,*:after{box-sizing:border-box}a,a:link,a:visited,a:hover{text-decoration:none}body{font-family:Satoshi,sans-serif;font-weight:400;font-size:12px;line-height:18px}aside,nav,footer,header,section,main{display:block}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit}ul,ul li{list-style:none}img{vertical-align:top}img,svg{max-width:100%;height:auto}address{font-style:normal}input::-ms-clear{display:none}button,input[type=submit]{display:inline-block;box-shadow:none;background-color:transparent;background:none;cursor:pointer}input:focus,input:active,button:focus,button:active{outline:none}button::-moz-focus-inner{padding:0;border:0}label{cursor:pointer}legend{display:block}
|
|
@@ -5,7 +5,6 @@ export interface MultiLanguageValue {
|
|
|
5
5
|
export interface MultiLanguageSettingsProps extends SettingProps<MultiLanguageValue> {
|
|
6
6
|
languages: string[];
|
|
7
7
|
placeholder?: string;
|
|
8
|
-
rows?: number;
|
|
9
8
|
default?: MultiLanguageValue;
|
|
10
9
|
defaultValue?: string;
|
|
11
10
|
multiImg?: boolean;
|
|
@@ -16,7 +15,9 @@ export declare class MultiLanguageSetting extends Setting<MultiLanguageValue, Mu
|
|
|
16
15
|
private defaultLanguage;
|
|
17
16
|
private uploadSettings;
|
|
18
17
|
private capitalizeFirstLetter;
|
|
18
|
+
private truncatePlaceholder;
|
|
19
19
|
constructor(props: MultiLanguageSettingsProps);
|
|
20
|
+
private autosizeTextarea;
|
|
20
21
|
private createTextareaRow;
|
|
21
22
|
private updateLanguageValue;
|
|
22
23
|
private updateOtherLanguagePlaceholders;
|
package/package.json
CHANGED