formeo 5.0.3 → 5.1.1

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,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -6064,7 +6064,7 @@ Author: Draggable https://draggable.io
6064
6064
  var name$1, version$2, type, main, module$1, unpkg, exports$1, files, homepage, repository, author, contributors, bugs, description, keywords, ignore, config, scripts, devDependencies, dependencies, release, commitlint, package_default;
6065
6065
  var init_package = __esmMin((() => {
6066
6066
  name$1 = "formeo";
6067
- version$2 = "5.0.2";
6067
+ version$2 = "5.1.0";
6068
6068
  type = "module";
6069
6069
  main = "dist/formeo.cjs.js";
6070
6070
  module$1 = "dist/formeo.es.js";
@@ -11984,7 +11984,7 @@ Author: Draggable https://draggable.io
11984
11984
  }));
11985
11985
  //#endregion
11986
11986
  //#region src/lib/js/common/loaders.js
11987
- var loaded, ajax, onLoadStylesheet, onLoadJavascript, insertScript, insertStyle, insertScripts, insertStyles, insertIcons, fetchIcons, LOADER_MAP, fetchDependencies, fetchFormeoStyle;
11987
+ var loaded, AJAX_TIMEOUT_MS, ajax, onLoadStylesheet, onLoadJavascript, insertScript, insertStyle, insertScripts, insertStyles, insertIcons, fetchIcons, LOADER_MAP, fetchDependencies, fetchFormeoStyle;
11988
11988
  var init_loaders = __esmMin((() => {
11989
11989
  init_constants();
11990
11990
  init_dom();
@@ -11994,12 +11994,14 @@ Author: Draggable https://draggable.io
11994
11994
  css: /* @__PURE__ */ new Set(),
11995
11995
  formeoSprite: null
11996
11996
  };
11997
- ajax = (fileUrl, callback, onError = noop) => {
11997
+ AJAX_TIMEOUT_MS = 1e4;
11998
+ ajax = (fileUrl, callback, onError = noop, timeoutMs = AJAX_TIMEOUT_MS) => {
11998
11999
  return new Promise((resolve) => {
11999
- return fetch(fileUrl).then((data) => {
12000
+ const signal = typeof AbortSignal !== "undefined" && AbortSignal.timeout ? AbortSignal.timeout(timeoutMs) : void 0;
12001
+ return fetch(fileUrl, signal ? { signal } : void 0).then((data) => {
12000
12002
  if (!data.ok) return resolve(onError(data));
12001
12003
  resolve(callback ? callback(data) : data);
12002
- }).catch((err) => onError(err));
12004
+ }).catch((err) => resolve(onError(err)));
12003
12005
  });
12004
12006
  };
12005
12007
  onLoadStylesheet = (elem, cb) => {
@@ -12782,6 +12784,9 @@ Author: Draggable https://draggable.io
12782
12784
  isDOMElement(variable) {
12783
12785
  return variable instanceof window.Element || variable instanceof window.HTMLElement || !!(variable && typeof variable === "object" && variable.nodeType === 1 && typeof variable.nodeName === "string");
12784
12786
  }
12787
+ resolveContainer(container) {
12788
+ return typeof container === "string" ? document.querySelector(container) : container;
12789
+ }
12785
12790
  };
12786
12791
  dom = new DOM();
12787
12792
  }));
@@ -16251,7 +16256,7 @@ Author: Draggable https://draggable.io
16251
16256
  };
16252
16257
  applyOptions = async (controlOptions = {}) => {
16253
16258
  const { container, elements, groupOrder, ...options } = merge(defaultOptions, controlOptions);
16254
- this.container = container;
16259
+ this.container = dom.resolveContainer(container);
16255
16260
  this.groupOrder = unique(groupOrder.concat([
16256
16261
  "common",
16257
16262
  "html",
@@ -17796,7 +17801,7 @@ Author: Draggable https://draggable.io
17796
17801
  config: {},
17797
17802
  events: {},
17798
17803
  actions: {},
17799
- controls: {},
17804
+ controls: { container: null },
17800
17805
  i18n: { location: "https://draggable.github.io/formeo/assets/lang/" },
17801
17806
  onLoad: () => {}
17802
17807
  };
@@ -17837,7 +17842,7 @@ Author: Draggable https://draggable.io
17837
17842
  */
17838
17843
  constructor({ formData, ...options }, userFormData) {
17839
17844
  const { actions: actions$1, events: events$1, debug, config, editorContainer, ...opts } = merge(defaults.editor, options);
17840
- if (editorContainer) this.editorContainer = typeof editorContainer === "string" ? document.querySelector(editorContainer) : editorContainer;
17845
+ if (editorContainer) this.editorContainer = dom.resolveContainer(editorContainer) || null;
17841
17846
  this.opts = opts;
17842
17847
  dom.setOptions = opts;
17843
17848
  components.config = config;
@@ -18034,7 +18039,11 @@ Author: Draggable https://draggable.io
18034
18039
  dom.dir = s.current.dir;
18035
18040
  }
18036
18041
  this.editor = dom.create(elemConfig);
18037
- (this.controls.container || this.editor).appendChild(this.controls.dom);
18042
+ const controlsContainer = this.controls.container || this.editor;
18043
+ if (controlsContainer) {
18044
+ if (controlsContainer !== this.editor) dom.empty(controlsContainer);
18045
+ controlsContainer.appendChild(this.controls.dom);
18046
+ }
18038
18047
  if (this.editorContainer) {
18039
18048
  dom.empty(this.editorContainer);
18040
18049
  this.editorContainer.appendChild(this.editor);
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -1 +1 @@
1
- <!doctype html><html lang="en" xml:lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="chrome=1"><meta name="viewport" content="user-scalable=no,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name="description" content="Vanilla Javascript form building module"><meta name="theme-color" content="#232323"><title>Formeo | Drag &amp; Drop Form Creation</title><script type="module" crossorigin src="/formeo/assets/js/demo.min.js"></script><link rel="stylesheet" crossorigin href="/formeo/assets/css/demo.min.css"></head><body><div class="site-wrap"><header id="demo-header"><div class="header-inner"><img id="formeo-logo" src="/formeo/assets/img/formeo-logo.svg" alt="Formeo Logo" width="100"><nav aria-label="Framework navigation"><ul><li><label for="framework-select">Framework:</label> <select name="framework-select" id="framework-select" class="form-control"><option value="vanilla">Vanilla JavaScript</option><option value="angular">Angular</option><option value="react">React</option></select></li><li><label for="locale">Language</label> <select name="locale" id="locale" class="form-control"><option value="af-ZA" dir="ltr">Afrikaans (Suid-Afrika)</option><option value="ar-TN" dir="rtl">العربية (تونس)</option><option value="cs-CZ" dir="ltr">čeština (Česko)</option><option value="de-DE" dir="ltr">Deutsch (Deutschland)</option><option value="en-US" dir="ltr">English</option><option value="es-ES" dir="ltr">español de España</option><option value="fa-IR" dir="rtl">فارسی (ایران)</option><option value="fi-FI" dir="ltr">suomi (Suomi)</option><option value="fr-FR" dir="ltr">français (France)</option><option value="he-IL" dir="rtl">עברית (ישראל)</option><option value="hi-IN" dir="ltr">हिन्दी (भारत)</option><option value="hu-HU" dir="ltr">magyar (Magyarország)</option><option value="it-IT" dir="ltr">italiano (Italia)</option><option value="ja-JP" dir="ltr">日本語 (日本)</option><option value="nb-NO" dir="ltr">norsk bokmål (Norge)</option><option value="pl-PL" dir="ltr">polski (Polska)</option><option value="pt-BR" dir="ltr">português (Brasil)</option><option value="pt-PT" dir="ltr">português europeu</option><option value="ro-RO" dir="ltr">română (România)</option><option value="ru-RU" dir="ltr">русский (Россия)</option><option value="th-TH" dir="ltr">ไทย (ไทย)</option><option value="tr-TR" dir="ltr">Türkçe (Türkiye)</option><option value="zh-CN" dir="ltr">中文(中国)</option><option value="zh-HK" dir="ltr">中文(中國香港特別行政區)</option></select></li><li><label for="control-filter">Control Filter:</label> <input id="control-filter" placeholder="ex. text" class="form-control"></li><li style="float:right">v5.0.2</li></ul></nav></div></header><section id="main_content" class="inner"><div id="framework-container"></div></section><div class="container render-btn-wrap" id="editor-action-buttons"></div><div id="formData-popover" popover><div class="popover-header"><h3>Test formData</h3><div><button type="button" id="format-json">Format</button> <button type="button" id="collapse-json">Collapse</button> <button type="button" id="copy-json">Copy to Clipboard</button></div></div><pre id="formData-editor"></pre><div class="formData-actions"><button popovertarget="formData-popover" popovertargetaction="hide" type="button">Cancel</button> <button id="submit-formData" type="button">Submit</button></div></div><footer id="demo-footer"><nav aria-label="Footer navigation"><ul><li><a href="https://github.com/Draggable/formeo" target="_blank" title="View project on GitHub"><img src="/formeo/assets/img/github.png" width="77" alt="GitHub"></a></li></ul></nav></footer></div></body></html>
1
+ <!doctype html><html lang="en" xml:lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="chrome=1"><meta name="viewport" content="user-scalable=no,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name="description" content="Vanilla Javascript form building module"><meta name="theme-color" content="#232323"><title>Formeo | Drag &amp; Drop Form Creation</title><script type="module" crossorigin src="/formeo/assets/js/demo.min.js"></script><link rel="stylesheet" crossorigin href="/formeo/assets/css/demo.min.css"></head><body><div class="site-wrap"><header id="demo-header"><div class="header-inner"><img id="formeo-logo" src="/formeo/assets/img/formeo-logo.svg" alt="Formeo Logo" width="100"><nav aria-label="Framework navigation"><ul><li><label for="framework-select">Framework:</label> <select name="framework-select" id="framework-select" class="form-control"><option value="vanilla">Vanilla JavaScript</option><option value="angular">Angular</option><option value="react">React</option></select></li><li><label for="locale">Language</label> <select name="locale" id="locale" class="form-control"><option value="af-ZA" dir="ltr">Afrikaans (Suid-Afrika)</option><option value="ar-TN" dir="rtl">العربية (تونس)</option><option value="cs-CZ" dir="ltr">čeština (Česko)</option><option value="de-DE" dir="ltr">Deutsch (Deutschland)</option><option value="en-US" dir="ltr">English</option><option value="es-ES" dir="ltr">español de España</option><option value="fa-IR" dir="rtl">فارسی (ایران)</option><option value="fi-FI" dir="ltr">suomi (Suomi)</option><option value="fr-FR" dir="ltr">français (France)</option><option value="he-IL" dir="rtl">עברית (ישראל)</option><option value="hi-IN" dir="ltr">हिन्दी (भारत)</option><option value="hu-HU" dir="ltr">magyar (Magyarország)</option><option value="it-IT" dir="ltr">italiano (Italia)</option><option value="ja-JP" dir="ltr">日本語 (日本)</option><option value="nb-NO" dir="ltr">norsk bokmål (Norge)</option><option value="pl-PL" dir="ltr">polski (Polska)</option><option value="pt-BR" dir="ltr">português (Brasil)</option><option value="pt-PT" dir="ltr">português europeu</option><option value="ro-RO" dir="ltr">română (România)</option><option value="ru-RU" dir="ltr">русский (Россия)</option><option value="th-TH" dir="ltr">ไทย (ไทย)</option><option value="tr-TR" dir="ltr">Türkçe (Türkiye)</option><option value="zh-CN" dir="ltr">中文(中国)</option><option value="zh-HK" dir="ltr">中文(中國香港特別行政區)</option></select></li><li><label for="control-filter">Control Filter:</label> <input id="control-filter" placeholder="ex. text" class="form-control"></li><li style="float:right">v5.1.0</li></ul></nav></div></header><section id="main_content" class="inner"><div id="framework-container"></div></section><div class="container render-btn-wrap" id="editor-action-buttons"></div><div id="formData-popover" popover><div class="popover-header"><h3>Test formData</h3><div><button type="button" id="format-json">Format</button> <button type="button" id="collapse-json">Collapse</button> <button type="button" id="copy-json">Copy to Clipboard</button></div></div><pre id="formData-editor"></pre><div class="formData-actions"><button popovertarget="formData-popover" popovertargetaction="hide" type="button">Cancel</button> <button id="submit-formData" type="button">Submit</button></div></div><footer id="demo-footer"><nav aria-label="Footer navigation"><ul><li><a href="https://github.com/Draggable/formeo" target="_blank" title="View project on GitHub"><img src="/formeo/assets/img/github.png" width="77" alt="GitHub"></a></li></ul></nav></footer></div></body></html>
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -6061,7 +6061,7 @@ if (globalThis !== void 0) globalThis.SmartTooltip = SmartTooltip;
6061
6061
  var name$1, version$2, type, main, module$1, unpkg, exports$1, files, homepage, repository, author, contributors, bugs, description, keywords, ignore, config, scripts, devDependencies, dependencies, release, commitlint, package_default;
6062
6062
  var init_package = __esmMin((() => {
6063
6063
  name$1 = "formeo";
6064
- version$2 = "5.0.2";
6064
+ version$2 = "5.1.0";
6065
6065
  type = "module";
6066
6066
  main = "dist/formeo.cjs.js";
6067
6067
  module$1 = "dist/formeo.es.js";
@@ -11981,7 +11981,7 @@ var init_helpers$2 = __esmMin((() => {
11981
11981
  }));
11982
11982
  //#endregion
11983
11983
  //#region src/lib/js/common/loaders.js
11984
- var loaded, ajax, onLoadStylesheet, onLoadJavascript, insertScript, insertStyle, insertScripts, insertStyles, insertIcons, fetchIcons, LOADER_MAP, fetchDependencies, fetchFormeoStyle;
11984
+ var loaded, AJAX_TIMEOUT_MS, ajax, onLoadStylesheet, onLoadJavascript, insertScript, insertStyle, insertScripts, insertStyles, insertIcons, fetchIcons, LOADER_MAP, fetchDependencies, fetchFormeoStyle;
11985
11985
  var init_loaders = __esmMin((() => {
11986
11986
  init_constants();
11987
11987
  init_dom();
@@ -11991,12 +11991,14 @@ var init_loaders = __esmMin((() => {
11991
11991
  css: /* @__PURE__ */ new Set(),
11992
11992
  formeoSprite: null
11993
11993
  };
11994
- ajax = (fileUrl, callback, onError = noop) => {
11994
+ AJAX_TIMEOUT_MS = 1e4;
11995
+ ajax = (fileUrl, callback, onError = noop, timeoutMs = AJAX_TIMEOUT_MS) => {
11995
11996
  return new Promise((resolve) => {
11996
- return fetch(fileUrl).then((data) => {
11997
+ const signal = typeof AbortSignal !== "undefined" && AbortSignal.timeout ? AbortSignal.timeout(timeoutMs) : void 0;
11998
+ return fetch(fileUrl, signal ? { signal } : void 0).then((data) => {
11997
11999
  if (!data.ok) return resolve(onError(data));
11998
12000
  resolve(callback ? callback(data) : data);
11999
- }).catch((err) => onError(err));
12001
+ }).catch((err) => resolve(onError(err)));
12000
12002
  });
12001
12003
  };
12002
12004
  onLoadStylesheet = (elem, cb) => {
@@ -12779,6 +12781,9 @@ var init_dom = __esmMin((() => {
12779
12781
  isDOMElement(variable) {
12780
12782
  return variable instanceof window.Element || variable instanceof window.HTMLElement || !!(variable && typeof variable === "object" && variable.nodeType === 1 && typeof variable.nodeName === "string");
12781
12783
  }
12784
+ resolveContainer(container) {
12785
+ return typeof container === "string" ? document.querySelector(container) : container;
12786
+ }
12782
12787
  };
12783
12788
  dom = new DOM();
12784
12789
  }));
@@ -16248,7 +16253,7 @@ var init_controls = __esmMin((() => {
16248
16253
  };
16249
16254
  applyOptions = async (controlOptions = {}) => {
16250
16255
  const { container, elements, groupOrder, ...options } = merge(defaultOptions, controlOptions);
16251
- this.container = container;
16256
+ this.container = dom.resolveContainer(container);
16252
16257
  this.groupOrder = unique(groupOrder.concat([
16253
16258
  "common",
16254
16259
  "html",
@@ -17793,7 +17798,7 @@ var defaults = { get editor() {
17793
17798
  config: {},
17794
17799
  events: {},
17795
17800
  actions: {},
17796
- controls: {},
17801
+ controls: { container: null },
17797
17802
  i18n: { location: "https://draggable.github.io/formeo/assets/lang/" },
17798
17803
  onLoad: () => {}
17799
17804
  };
@@ -17834,7 +17839,7 @@ var FormeoEditor$1 = class {
17834
17839
  */
17835
17840
  constructor({ formData, ...options }, userFormData) {
17836
17841
  const { actions: actions$1, events: events$1, debug, config, editorContainer, ...opts } = merge(defaults.editor, options);
17837
- if (editorContainer) this.editorContainer = typeof editorContainer === "string" ? document.querySelector(editorContainer) : editorContainer;
17842
+ if (editorContainer) this.editorContainer = dom.resolveContainer(editorContainer) || null;
17838
17843
  this.opts = opts;
17839
17844
  dom.setOptions = opts;
17840
17845
  components.config = config;
@@ -18031,7 +18036,11 @@ var FormeoEditor$1 = class {
18031
18036
  dom.dir = s.current.dir;
18032
18037
  }
18033
18038
  this.editor = dom.create(elemConfig);
18034
- (this.controls.container || this.editor).appendChild(this.controls.dom);
18039
+ const controlsContainer = this.controls.container || this.editor;
18040
+ if (controlsContainer) {
18041
+ if (controlsContainer !== this.editor) dom.empty(controlsContainer);
18042
+ controlsContainer.appendChild(this.controls.dom);
18043
+ }
18035
18044
  if (this.editorContainer) {
18036
18045
  dom.empty(this.editorContainer);
18037
18046
  this.editorContainer.appendChild(this.editor);
package/dist/formeo.css CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
package/dist/formeo.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
3
  formeo - https://formeo.io
4
- Version: 5.0.2
4
+ Version: 5.1.0
5
5
  Author: Draggable https://draggable.io
6
6
  */
7
7
 
@@ -6060,7 +6060,7 @@ if (globalThis !== void 0) globalThis.SmartTooltip = SmartTooltip;
6060
6060
  var name$1, version$2, type, main, module$1, unpkg, exports$1, files, homepage, repository, author, contributors, bugs, description, keywords, ignore, config, scripts, devDependencies, dependencies, release, commitlint, package_default;
6061
6061
  var init_package = __esmMin((() => {
6062
6062
  name$1 = "formeo";
6063
- version$2 = "5.0.2";
6063
+ version$2 = "5.1.0";
6064
6064
  type = "module";
6065
6065
  main = "dist/formeo.cjs.js";
6066
6066
  module$1 = "dist/formeo.es.js";
@@ -11980,7 +11980,7 @@ var init_helpers$2 = __esmMin((() => {
11980
11980
  }));
11981
11981
  //#endregion
11982
11982
  //#region src/lib/js/common/loaders.js
11983
- var loaded, ajax, onLoadStylesheet, onLoadJavascript, insertScript, insertStyle, insertScripts, insertStyles, insertIcons, fetchIcons, LOADER_MAP, fetchDependencies, fetchFormeoStyle;
11983
+ var loaded, AJAX_TIMEOUT_MS, ajax, onLoadStylesheet, onLoadJavascript, insertScript, insertStyle, insertScripts, insertStyles, insertIcons, fetchIcons, LOADER_MAP, fetchDependencies, fetchFormeoStyle;
11984
11984
  var init_loaders = __esmMin((() => {
11985
11985
  init_constants();
11986
11986
  init_dom();
@@ -11990,12 +11990,14 @@ var init_loaders = __esmMin((() => {
11990
11990
  css: /* @__PURE__ */ new Set(),
11991
11991
  formeoSprite: null
11992
11992
  };
11993
- ajax = (fileUrl, callback, onError = noop) => {
11993
+ AJAX_TIMEOUT_MS = 1e4;
11994
+ ajax = (fileUrl, callback, onError = noop, timeoutMs = AJAX_TIMEOUT_MS) => {
11994
11995
  return new Promise((resolve) => {
11995
- return fetch(fileUrl).then((data) => {
11996
+ const signal = typeof AbortSignal !== "undefined" && AbortSignal.timeout ? AbortSignal.timeout(timeoutMs) : void 0;
11997
+ return fetch(fileUrl, signal ? { signal } : void 0).then((data) => {
11996
11998
  if (!data.ok) return resolve(onError(data));
11997
11999
  resolve(callback ? callback(data) : data);
11998
- }).catch((err) => onError(err));
12000
+ }).catch((err) => resolve(onError(err)));
11999
12001
  });
12000
12002
  };
12001
12003
  onLoadStylesheet = (elem, cb) => {
@@ -12778,6 +12780,9 @@ var init_dom = __esmMin((() => {
12778
12780
  isDOMElement(variable) {
12779
12781
  return variable instanceof window.Element || variable instanceof window.HTMLElement || !!(variable && typeof variable === "object" && variable.nodeType === 1 && typeof variable.nodeName === "string");
12780
12782
  }
12783
+ resolveContainer(container) {
12784
+ return typeof container === "string" ? document.querySelector(container) : container;
12785
+ }
12781
12786
  };
12782
12787
  dom = new DOM();
12783
12788
  }));
@@ -16247,7 +16252,7 @@ var init_controls = __esmMin((() => {
16247
16252
  };
16248
16253
  applyOptions = async (controlOptions = {}) => {
16249
16254
  const { container, elements, groupOrder, ...options } = merge(defaultOptions, controlOptions);
16250
- this.container = container;
16255
+ this.container = dom.resolveContainer(container);
16251
16256
  this.groupOrder = unique(groupOrder.concat([
16252
16257
  "common",
16253
16258
  "html",
@@ -17792,7 +17797,7 @@ var defaults = { get editor() {
17792
17797
  config: {},
17793
17798
  events: {},
17794
17799
  actions: {},
17795
- controls: {},
17800
+ controls: { container: null },
17796
17801
  i18n: { location: "https://draggable.github.io/formeo/assets/lang/" },
17797
17802
  onLoad: () => {}
17798
17803
  };
@@ -17833,7 +17838,7 @@ var FormeoEditor$1 = class {
17833
17838
  */
17834
17839
  constructor({ formData, ...options }, userFormData) {
17835
17840
  const { actions: actions$1, events: events$1, debug, config, editorContainer, ...opts } = merge(defaults.editor, options);
17836
- if (editorContainer) this.editorContainer = typeof editorContainer === "string" ? document.querySelector(editorContainer) : editorContainer;
17841
+ if (editorContainer) this.editorContainer = dom.resolveContainer(editorContainer) || null;
17837
17842
  this.opts = opts;
17838
17843
  dom.setOptions = opts;
17839
17844
  components.config = config;
@@ -18030,7 +18035,11 @@ var FormeoEditor$1 = class {
18030
18035
  dom.dir = s.current.dir;
18031
18036
  }
18032
18037
  this.editor = dom.create(elemConfig);
18033
- (this.controls.container || this.editor).appendChild(this.controls.dom);
18038
+ const controlsContainer = this.controls.container || this.editor;
18039
+ if (controlsContainer) {
18040
+ if (controlsContainer !== this.editor) dom.empty(controlsContainer);
18041
+ controlsContainer.appendChild(this.controls.dom);
18042
+ }
18034
18043
  if (this.editorContainer) {
18035
18044
  dom.empty(this.editorContainer);
18036
18045
  this.editorContainer.appendChild(this.editor);