builder-settings-types 0.0.206 → 0.0.208

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.
@@ -112,7 +112,7 @@
112
112
  <line x1="12" y1="5" x2="12" y2="19"></line>
113
113
  <line x1="5" y1="12" x2="19" y2="12"></line>
114
114
  </svg>
115
- `;class Ct extends p{constructor(t={}){super(t),this.inputType={},this.container=null,this.languagesContainer=null,this.addLanguageSelect=null,this.addButton=null,this.defaultLanguages=[{code:"en",name:"English"},{code:"ka",name:"Georgian"},{code:"ru",name:"Russian"},{code:"tr",name:"Turkish"},{code:"de",name:"German"},{code:"fr",name:"French"},{code:"es",name:"Spanish"},{code:"it",name:"Italian"},{code:"ar",name:"Arabic"},{code:"zh",name:"Chinese"}],this.value||(this.value={})}get availableLanguages(){return this.props.availableLanguages||this.defaultLanguages}get usedLanguageCodes(){return Object.keys(this.value||{})}get availableLanguageOptions(){return this.availableLanguages.filter(t=>!this.usedLanguageCodes.includes(t.code))}updateAddLanguageSelect(){if(!this.addLanguageSelect)return;this.addLanguageSelect.innerHTML='<option value="">Select language...</option>',this.availableLanguageOptions.forEach(i=>{const s=document.createElement("option");s.value=i.code,s.textContent=i.name,this.addLanguageSelect.appendChild(s)});const t=this.availableLanguageOptions.length>0,e=this.props.maxLanguages&&this.usedLanguageCodes.length>=this.props.maxLanguages;this.addButton&&(this.addButton.disabled=!t||!!e)}createLanguageRow(t,e){const i=document.createElement("div");i.classList.add("multi-language-row"),i.dataset.language=t;const s=document.createElement("span");s.classList.add("language-label"),s.textContent=t.toUpperCase();const n=document.createElement("div");n.classList.add("language-input-group");const a=document.createElement("input");a.type="text",a.classList.add("language-input"),a.value=e||"",a.placeholder=this.props.placeholder||"Enter text...",a.addEventListener("input",l=>{const r=l.target;this.updateLanguageValue(t,r.value)});const o=document.createElement("button");return o.type="button",o.classList.add("delete-language-btn"),o.innerHTML=ft,o.title=`Delete ${t.toUpperCase()}`,o.addEventListener("click",()=>{this.removeLanguage(t)}),n.appendChild(a),n.appendChild(o),i.appendChild(s),i.appendChild(n),i}updateLanguageValue(t,e){this.value||(this.value={}),this.value[t]=e,this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value)}removeLanguage(t){var i;if(!this.value)return;delete this.value[t],this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value);const e=(i=this.languagesContainer)==null?void 0:i.querySelector(`[data-language="${t}"]`);e&&e.remove(),this.updateAddLanguageSelect()}addLanguage(t){var s;if(!t||this.usedLanguageCodes.includes(t))return;this.value||(this.value={}),this.value[t]="",this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value);const e=this.createLanguageRow(t,"");(s=this.languagesContainer)==null||s.appendChild(e),this.updateAddLanguageSelect(),this.addLanguageSelect&&(this.addLanguageSelect.value="");const i=e.querySelector(".language-input");i&&i.focus()}createAddLanguageSection(){const t=document.createElement("div");t.classList.add("add-language-section");const e=document.createElement("div");e.classList.add("add-language-label"),e.textContent="Add language:";const i=document.createElement("div");i.classList.add("add-language-controls");const s=document.createElement("select");s.classList.add("add-language-select"),this.addLanguageSelect=s;const n=document.createElement("button");return n.type="button",n.classList.add("add-language-btn"),n.innerHTML=`${vt} Add`,this.addButton=n,n.addEventListener("click",()=>{const a=s.value;a&&this.addLanguage(a)}),i.appendChild(s),i.appendChild(n),t.appendChild(e),t.appendChild(i),t}draw(){const t=document.createElement("div");if(t.classList.add("multi-language-wrapper"),this.props.title){const n=document.createElement("div");n.classList.add("multi-language-title"),n.textContent=this.props.title,t.appendChild(n)}const e=document.createElement("div");e.classList.add("multi-language-content");const i=document.createElement("div");i.classList.add("languages-container"),this.languagesContainer=i,this.value&&Object.entries(this.value).forEach(([n,a])=>{const o=this.createLanguageRow(n,a);i.appendChild(o)}),e.appendChild(i);const s=this.createAddLanguageSection();return e.appendChild(s),t.appendChild(e),this.updateAddLanguageSelect(),this.container=t,t}setValue(t){super.setValue(t),this.languagesContainer&&(this.languagesContainer.innerHTML="",this.value&&Object.entries(this.value).forEach(([e,i])=>{const s=this.createLanguageRow(e,i);this.languagesContainer.appendChild(s)}),this.updateAddLanguageSelect())}}class wt extends p{constructor(t={}){super(t),this.inputType="select";const e=[{name:"None",value:"none"},{name:"Fade",value:"fade 1s ease forwards"},{name:"Slide",value:"slide 0.8s ease forwards"},{name:"Zoom",value:"zoom 0.6s ease forwards"},{name:"Bounce",value:"bounce 1.5s ease infinite"},{name:"Pulse",value:"pulse 1.2s ease infinite"}];this.selectSetting=new y({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 Et=`
115
+ `;class Ct extends p{constructor(t={}){super(t),this.inputType={},this.container=null,this.languagesContainer=null,this.addLanguageSelect=null,this.addButton=null,this.defaultLanguages=[{code:"en",name:"English"},{code:"ka",name:"Georgian"},{code:"ru",name:"Russian"},{code:"tr",name:"Turkish"},{code:"de",name:"German"},{code:"fr",name:"French"},{code:"es",name:"Spanish"},{code:"it",name:"Italian"},{code:"ar",name:"Arabic"},{code:"zh",name:"Chinese"}],this.value||(this.value={})}get availableLanguages(){return this.props.availableLanguages||this.defaultLanguages}get usedLanguageCodes(){return Object.keys(this.value||{})}get availableLanguageOptions(){return this.availableLanguages.filter(t=>!this.usedLanguageCodes.includes(t.code))}updateAddLanguageSelect(){if(!this.addLanguageSelect)return;this.addLanguageSelect.innerHTML='<option value="">Select language...</option>',this.availableLanguageOptions.forEach(i=>{const s=document.createElement("option");s.value=i.code,s.textContent=i.name,this.addLanguageSelect.appendChild(s)});const t=this.availableLanguageOptions.length>0,e=this.props.maxLanguages&&this.usedLanguageCodes.length>=this.props.maxLanguages;this.addButton&&(this.addButton.disabled=!t||!!e)}createLanguageRow(t,e){const i=document.createElement("div");i.classList.add("multi-language-row"),i.dataset.language=t;const s=document.createElement("span");s.classList.add("language-label"),s.textContent=t.toUpperCase();const n=document.createElement("div");n.classList.add("language-input-group");const a=document.createElement("input");a.type="text",a.classList.add("language-input"),a.value=e||"",a.placeholder=this.props.placeholder||"Enter text...",a.addEventListener("input",l=>{const r=l.target;this.updateLanguageValue(t,r.value)});const o=document.createElement("button");return o.type="button",o.classList.add("delete-language-btn"),o.innerHTML=ft,o.title=`Delete ${t.toUpperCase()}`,o.addEventListener("click",()=>{this.removeLanguage(t)}),n.appendChild(a),n.appendChild(o),i.appendChild(s),i.appendChild(n),i}updateLanguageValue(t,e){this.value||(this.value={}),this.value[t]=e,this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value)}removeLanguage(t){var i;if(!this.value)return;delete this.value[t],this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value);const e=(i=this.languagesContainer)==null?void 0:i.querySelector(`[data-language="${t}"]`);e&&e.remove(),this.updateAddLanguageSelect()}addLanguage(t){var s;if(!t||this.usedLanguageCodes.includes(t))return;this.value||(this.value={}),this.value[t]="",this.onChange&&this.onChange(this.value),this.props.detectChange&&this.props.detectChange(this.value);const e=this.createLanguageRow(t,"");(s=this.languagesContainer)==null||s.appendChild(e),this.updateAddLanguageSelect(),this.addLanguageSelect&&(this.addLanguageSelect.value="");const i=e.querySelector(".language-input");i&&i.focus()}createAddLanguageSection(){const t=document.createElement("div");t.classList.add("add-language-section");const e=document.createElement("div");e.classList.add("add-language-label"),e.textContent="Add language:";const i=document.createElement("div");i.classList.add("add-language-controls");const s=document.createElement("select");s.classList.add("add-language-select"),this.addLanguageSelect=s;const n=document.createElement("button");return n.type="button",n.classList.add("add-language-btn"),n.innerHTML=`${vt} Add`,this.addButton=n,n.addEventListener("click",()=>{const a=s.value;a&&this.addLanguage(a)}),i.appendChild(s),i.appendChild(n),t.appendChild(e),t.appendChild(i),t}draw(){const t=document.createElement("div");if(t.classList.add("multi-language-wrapper"),this.props.title){const n=document.createElement("div");n.classList.add("multi-language-title"),n.textContent=this.props.title,t.appendChild(n)}const e=document.createElement("div");e.classList.add("multi-language-content");const i=document.createElement("div");i.classList.add("languages-container"),this.languagesContainer=i,this.value&&Object.entries(this.value).forEach(([n,a])=>{const o=this.createLanguageRow(n,a);i.appendChild(o)}),e.appendChild(i);const s=this.createAddLanguageSection();return e.appendChild(s),t.appendChild(e),this.updateAddLanguageSelect(),this.container=t,t}setValue(t){super.setValue(t),this.languagesContainer&&(this.languagesContainer.innerHTML="",this.value&&Object.entries(this.value).forEach(([e,i])=>{const s=this.createLanguageRow(e,i);this.languagesContainer.appendChild(s)}),this.updateAddLanguageSelect())}}class wt extends p{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 y({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 Et=`
116
116
  <svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
117
117
  <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"/>
118
118
  </svg>
@@ -1884,11 +1884,11 @@ class St extends p {
1884
1884
  super(t), this.inputType = "select";
1885
1885
  const e = [
1886
1886
  { name: "None", value: "none" },
1887
- { name: "Fade", value: "fade 1s ease forwards" },
1888
- { name: "Slide", value: "slide 0.8s ease forwards" },
1889
- { name: "Zoom", value: "zoom 0.6s ease forwards" },
1890
- { name: "Bounce", value: "bounce 1.5s ease infinite" },
1891
- { name: "Pulse", value: "pulse 1.2s ease infinite" }
1887
+ { name: "Fade", value: "fade 1.5s ease-in-out infinite" },
1888
+ { name: "Slide", value: "slide 1.5s ease-in-out infinite" },
1889
+ { name: "Zoom", value: "zoom 1.5s ease-in-out infinite" },
1890
+ { name: "Bounce", value: "bounce 1.5s ease-in-out infinite" },
1891
+ { name: "Pulse", value: "pulse 1.5s ease-in-out infinite" }
1892
1892
  ];
1893
1893
  this.selectSetting = new M({
1894
1894
  title: this.title || "Animation",
package/dist/index.d.ts CHANGED
@@ -212,7 +212,7 @@ export declare interface DimensionValue {
212
212
  }
213
213
 
214
214
  declare type ExtractSettingGroupValues<T> = T extends SettingGroup<infer S> ? {
215
- [K in keyof S]?: S[K] extends Setting<infer V, any> ? V : S[K] extends SettingGroup<any> ? ExtractSettingGroupValues<S[K]> : never;
215
+ [K in keyof S]?: S[K] extends Setting<infer V, any> ? V : S[K] extends SettingGroup<any> ? ExtractSettingGroupValues<S[K]> : any;
216
216
  } : never;
217
217
 
218
218
  export declare class GapSetting extends Setting<number, GapSettingsProps> {
@@ -653,7 +653,7 @@ export declare interface SettingProps<T> {
653
653
  }
654
654
 
655
655
  export declare type SettingsToProps<T> = T extends SettingGroup<infer S> ? {
656
- [K in keyof S]?: S[K] extends Setting<infer V, any> ? V : S[K] extends SettingGroup<any> ? ExtractSettingGroupValues<S[K]> : never;
656
+ [K in keyof S]?: S[K] extends Setting<infer V, any> ? V : S[K] extends SettingGroup<any> ? ExtractSettingGroupValues<S[K]> : any;
657
657
  } : never;
658
658
 
659
659
  export declare type SettingsToPropsOptional<T> = DeepPartial<SettingsToProps<T>>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "builder-settings-types",
3
3
  "description": "builder settings",
4
- "version": "0.0.206",
4
+ "version": "0.0.208",
5
5
  "type": "module",
6
6
  "main": "dist/builder-settings-types.cjs.js",
7
7
  "module": "dist/builder-settings-types.es.js",