formeo 4.2.0 → 4.2.2
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.
- package/dist/demo/assets/css/demo.min.css +2 -2
- package/dist/demo/assets/css/demo.min.css.gz +0 -0
- package/dist/demo/assets/css/formeo.min.css +2 -2
- package/dist/demo/assets/img/formeo-sprite.svg +1 -1
- package/dist/demo/assets/js/demo.min.js +61 -61
- package/dist/demo/assets/js/demo.min.js.gz +0 -0
- package/dist/demo/assets/js/formeo.cjs.js +261 -291
- package/dist/demo/assets/js/formeo.es.js +261 -291
- package/dist/demo/assets/js/formeo.min.cjs.js +2 -2
- package/dist/demo/assets/js/formeo.min.es.js +3 -3
- package/dist/demo/assets/js/formeo.min.js +261 -291
- package/dist/demo/assets/js/formeo.min.umd.js +2 -2
- package/dist/demo/assets/js/formeo.umd.js +261 -291
- package/dist/demo/assets/js/index.min.js +1 -1
- package/dist/demo/assets/js/index.min2.js +1 -1
- package/dist/demo/assets/js/index.min3.js +1 -1
- package/dist/demo/assets/js/mode-json.min.js +1 -1
- package/dist/demo/assets/js/mode-json.min.js.gz +0 -0
- package/dist/demo/assets/js/theme-github_light_default.min.js +1 -1
- package/dist/demo/index.html +1 -1
- package/dist/formeo-sprite.svg +1 -1
- package/dist/formeo.cjs.js +261 -291
- package/dist/formeo.css +1 -36
- package/dist/formeo.es.js +261 -291
- package/dist/formeo.min.cjs.js +2 -2
- package/dist/formeo.min.css +2 -2
- package/dist/formeo.min.es.js +3 -3
- package/dist/formeo.min.js +261 -291
- package/dist/formeo.min.umd.js +2 -2
- package/dist/formeo.umd.js +261 -291
- package/package.json +6 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
/**
|
|
3
3
|
formeo - https://formeo.io
|
|
4
|
-
Version: 4.1
|
|
4
|
+
Version: 4.2.1
|
|
5
5
|
Author: Draggable https://draggable.io
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -51,8 +51,8 @@ class I18N {
|
|
|
51
51
|
this.config = { location: parsedLocation, ...restOptions };
|
|
52
52
|
const { override, preloaded = {} } = this.config;
|
|
53
53
|
const allLangs = Object.entries(this.langs).concat(Object.entries(override || preloaded));
|
|
54
|
-
this.langs = allLangs.reduce((acc, [
|
|
55
|
-
acc[
|
|
54
|
+
this.langs = allLangs.reduce((acc, [locale2, lang]) => {
|
|
55
|
+
acc[locale2] = this.applyLanguage(locale2, lang);
|
|
56
56
|
return acc;
|
|
57
57
|
}, {});
|
|
58
58
|
this.locale = this.config.locale || this.config.langs[0];
|
|
@@ -71,9 +71,9 @@ class I18N {
|
|
|
71
71
|
* @param {String} locale
|
|
72
72
|
* @param {String|Object} lang
|
|
73
73
|
*/
|
|
74
|
-
addLanguage(
|
|
74
|
+
addLanguage(locale2, lang = {}) {
|
|
75
75
|
lang = typeof lang === "string" ? I18N.processFile(lang) : lang;
|
|
76
|
-
this.applyLanguage(
|
|
76
|
+
this.applyLanguage(locale2, lang);
|
|
77
77
|
this.config.langs.push("locale");
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
@@ -82,9 +82,9 @@ class I18N {
|
|
|
82
82
|
* @param {String} locale - locale to check for value
|
|
83
83
|
* @return {String} language string or undefined
|
|
84
84
|
*/
|
|
85
|
-
getValue(key,
|
|
85
|
+
getValue(key, locale2 = this.locale) {
|
|
86
86
|
var _a;
|
|
87
|
-
const value = (_a = this.langs[
|
|
87
|
+
const value = (_a = this.langs[locale2]) == null ? void 0 : _a[key];
|
|
88
88
|
return value || this.getFallbackValue(key);
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
@@ -161,9 +161,9 @@ class I18N {
|
|
|
161
161
|
static fromFile(rawText) {
|
|
162
162
|
const lines = rawText.split("\n");
|
|
163
163
|
const lang = {};
|
|
164
|
-
for (let matches2,
|
|
164
|
+
for (let matches2, i2 = 0; i2 < lines.length; i2++) {
|
|
165
165
|
const regex = /^(.+?) *?= *?([^\n]+)/;
|
|
166
|
-
matches2 = regex.exec(lines[
|
|
166
|
+
matches2 = regex.exec(lines[i2]);
|
|
167
167
|
if (matches2) {
|
|
168
168
|
lang[matches2[1]] = matches2[2].replace(/(^\s+|\s+$)/g, "");
|
|
169
169
|
}
|
|
@@ -176,22 +176,22 @@ class I18N {
|
|
|
176
176
|
* @param {Boolean} useCache
|
|
177
177
|
* @return {Promise} resolves response
|
|
178
178
|
*/
|
|
179
|
-
loadLang(
|
|
179
|
+
loadLang(locale2, useCache = true) {
|
|
180
180
|
const _this = this;
|
|
181
181
|
return new Promise(function(resolve, reject) {
|
|
182
|
-
if (_this.loaded.indexOf(
|
|
183
|
-
_this.applyLanguage(_this.langs[
|
|
184
|
-
return resolve(_this.langs[
|
|
182
|
+
if (_this.loaded.indexOf(locale2) !== -1 && useCache) {
|
|
183
|
+
_this.applyLanguage(_this.langs[locale2]);
|
|
184
|
+
return resolve(_this.langs[locale2]);
|
|
185
185
|
} else {
|
|
186
|
-
const langFile = [_this.config.location,
|
|
186
|
+
const langFile = [_this.config.location, locale2, _this.config.extension].join("");
|
|
187
187
|
return fetchData(langFile).then((lang) => {
|
|
188
188
|
const processedFile = I18N.processFile(lang);
|
|
189
|
-
_this.applyLanguage(
|
|
190
|
-
_this.loaded.push(
|
|
191
|
-
return resolve(_this.langs[
|
|
189
|
+
_this.applyLanguage(locale2, processedFile);
|
|
190
|
+
_this.loaded.push(locale2);
|
|
191
|
+
return resolve(_this.langs[locale2]);
|
|
192
192
|
}).catch((err) => {
|
|
193
193
|
console.error(err);
|
|
194
|
-
const lang = _this.applyLanguage(
|
|
194
|
+
const lang = _this.applyLanguage(locale2);
|
|
195
195
|
resolve(lang);
|
|
196
196
|
});
|
|
197
197
|
}
|
|
@@ -203,11 +203,11 @@ class I18N {
|
|
|
203
203
|
* @param {Object} lang
|
|
204
204
|
* @return {Object} overriden language
|
|
205
205
|
*/
|
|
206
|
-
applyLanguage(
|
|
207
|
-
const override = this.config.override[
|
|
208
|
-
const existingLang = this.langs[
|
|
209
|
-
this.langs[
|
|
210
|
-
return this.langs[
|
|
206
|
+
applyLanguage(locale2, lang = {}) {
|
|
207
|
+
const override = this.config.override[locale2] || {};
|
|
208
|
+
const existingLang = this.langs[locale2] || {};
|
|
209
|
+
this.langs[locale2] = { ...existingLang, ...lang, ...override };
|
|
210
|
+
return this.langs[locale2];
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
213
213
|
* return currently available languages
|
|
@@ -221,10 +221,10 @@ class I18N {
|
|
|
221
221
|
* @param {String} locale
|
|
222
222
|
* @return {Promise} language
|
|
223
223
|
*/
|
|
224
|
-
async setCurrent(
|
|
225
|
-
await this.loadLang(
|
|
226
|
-
this.locale =
|
|
227
|
-
this.current = this.langs[
|
|
224
|
+
async setCurrent(locale2 = "en-US") {
|
|
225
|
+
await this.loadLang(locale2);
|
|
226
|
+
this.locale = locale2;
|
|
227
|
+
this.current = this.langs[locale2];
|
|
228
228
|
return this.current;
|
|
229
229
|
}
|
|
230
230
|
}
|
|
@@ -257,9 +257,9 @@ class SmartTooltip {
|
|
|
257
257
|
__publicField(this, "tooltip");
|
|
258
258
|
__publicField(this, "activeTriggerType", null);
|
|
259
259
|
__publicField(this, "spacing", 12);
|
|
260
|
-
__publicField(this, "handleClick", (
|
|
260
|
+
__publicField(this, "handleClick", (e2) => {
|
|
261
261
|
const triggerName = this.triggerName;
|
|
262
|
-
const trigger =
|
|
262
|
+
const trigger = e2.target.closest(`[${triggerName}][${triggerName}-type="click"]`);
|
|
263
263
|
if (trigger) {
|
|
264
264
|
if (this.isVisible()) {
|
|
265
265
|
this.hide();
|
|
@@ -272,9 +272,9 @@ class SmartTooltip {
|
|
|
272
272
|
this.hide();
|
|
273
273
|
}
|
|
274
274
|
});
|
|
275
|
-
__publicField(this, "handleMouseOver", (
|
|
275
|
+
__publicField(this, "handleMouseOver", (e2) => {
|
|
276
276
|
const triggerName = this.triggerName;
|
|
277
|
-
const trigger =
|
|
277
|
+
const trigger = e2.target.closest(`[${triggerName}]`);
|
|
278
278
|
if (this.activeTriggerType !== "click" && (trigger == null ? void 0 : trigger.getAttribute(`${triggerName}-type`)) !== "click") {
|
|
279
279
|
const content = trigger == null ? void 0 : trigger.getAttribute(`${triggerName}`);
|
|
280
280
|
if (content) {
|
|
@@ -283,9 +283,9 @@ class SmartTooltip {
|
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
285
|
});
|
|
286
|
-
__publicField(this, "handleMouseOut", (
|
|
286
|
+
__publicField(this, "handleMouseOut", (e2) => {
|
|
287
287
|
const triggerName = this.triggerName;
|
|
288
|
-
const trigger =
|
|
288
|
+
const trigger = e2.target.closest(`[${triggerName}]`);
|
|
289
289
|
if (this.activeTriggerType !== "click" && (trigger == null ? void 0 : trigger.getAttribute(`${triggerName}-type`)) !== "click") {
|
|
290
290
|
this.hide();
|
|
291
291
|
}
|
|
@@ -433,7 +433,7 @@ if (window !== void 0) {
|
|
|
433
433
|
window.SmartTooltip = SmartTooltip;
|
|
434
434
|
}
|
|
435
435
|
const name$1 = "formeo";
|
|
436
|
-
const version$2 = "4.1
|
|
436
|
+
const version$2 = "4.2.1";
|
|
437
437
|
const pkg = {
|
|
438
438
|
name: name$1,
|
|
439
439
|
version: version$2
|
|
@@ -667,7 +667,7 @@ function require_getRawTag() {
|
|
|
667
667
|
try {
|
|
668
668
|
value[symToStringTag] = void 0;
|
|
669
669
|
var unmasked = true;
|
|
670
|
-
} catch (
|
|
670
|
+
} catch (e2) {
|
|
671
671
|
}
|
|
672
672
|
var result = nativeObjectToString.call(value);
|
|
673
673
|
if (unmasked) {
|
|
@@ -778,11 +778,11 @@ function require_toSource() {
|
|
|
778
778
|
if (func != null) {
|
|
779
779
|
try {
|
|
780
780
|
return funcToString.call(func);
|
|
781
|
-
} catch (
|
|
781
|
+
} catch (e2) {
|
|
782
782
|
}
|
|
783
783
|
try {
|
|
784
784
|
return func + "";
|
|
785
|
-
} catch (
|
|
785
|
+
} catch (e2) {
|
|
786
786
|
}
|
|
787
787
|
}
|
|
788
788
|
return "";
|
|
@@ -1128,7 +1128,7 @@ function require_defineProperty() {
|
|
|
1128
1128
|
var func = getNative(Object, "defineProperty");
|
|
1129
1129
|
func({}, "", {});
|
|
1130
1130
|
return func;
|
|
1131
|
-
} catch (
|
|
1131
|
+
} catch (e2) {
|
|
1132
1132
|
}
|
|
1133
1133
|
})();
|
|
1134
1134
|
_defineProperty$1 = defineProperty;
|
|
@@ -1539,7 +1539,7 @@ function require_nodeUtil() {
|
|
|
1539
1539
|
return types;
|
|
1540
1540
|
}
|
|
1541
1541
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
1542
|
-
} catch (
|
|
1542
|
+
} catch (e2) {
|
|
1543
1543
|
}
|
|
1544
1544
|
})();
|
|
1545
1545
|
module2.exports = nodeUtil;
|
|
@@ -2072,8 +2072,8 @@ const clone$1 = (obj) => {
|
|
|
2072
2072
|
}
|
|
2073
2073
|
if (Array.isArray(obj)) {
|
|
2074
2074
|
copy = [];
|
|
2075
|
-
for (let
|
|
2076
|
-
copy[
|
|
2075
|
+
for (let i2 = 0, len = obj.length; i2 < len; i2++) {
|
|
2076
|
+
copy[i2] = clone$1(obj[i2]);
|
|
2077
2077
|
}
|
|
2078
2078
|
return copy;
|
|
2079
2079
|
}
|
|
@@ -2145,8 +2145,8 @@ function parseData(data = /* @__PURE__ */ Object.create(null)) {
|
|
|
2145
2145
|
if (typeof data === "string") {
|
|
2146
2146
|
try {
|
|
2147
2147
|
return JSON.parse(data);
|
|
2148
|
-
} catch (
|
|
2149
|
-
console.error("Invalid JSON string provided:",
|
|
2148
|
+
} catch (e2) {
|
|
2149
|
+
console.error("Invalid JSON string provided:", e2);
|
|
2150
2150
|
return /* @__PURE__ */ Object.create(null);
|
|
2151
2151
|
}
|
|
2152
2152
|
}
|
|
@@ -2168,20 +2168,13 @@ function buildFlatDataStructure(data, componentId, componentType2, result = {})
|
|
|
2168
2168
|
}
|
|
2169
2169
|
return result;
|
|
2170
2170
|
}
|
|
2171
|
+
const BUNDLED_SVG_SPRITE = '<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol id="f-i-autocomplete" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M6,5h1v1H6V5z M4,4H3v1h1V4z M6,4H5v1h1V4z M2,5v1h1V5H2z M3,7h1V6H3V7z M5,7h1V6H5V7z M4,5v1h1V5H4z M2,14h1v-1H2V14z M4,14h1v-1H4V14z M6,14h1v-1H6V14z M9,13H8v1h1V13z M16,3.5v4C16,8.3,15.3,9,14.5,9H14v3v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V3.5 C0,2.7,0.7,2,1.5,2h3H8V1.5V1H7H6V0.5V0h2.5H11v0.5V1h-1H9v0.5V2h3h2.5C15.3,2,16,2.7,16,3.5z M13,12H7H1v3h12V12z M3,11v-1H2v1H3z M5,11v-1H4v1H5z M15,3.5C15,3.2,14.8,3,14.5,3H9v2.5V8H8.5H8V7.5V7H7V6h1V5.5V5H7V4h1V3.5V3H1.5C1.2,3,1,3.2,1,3.5v4 C1,7.8,1.2,8,1.5,8H8v1H6v0.5V10h2.5H11V9.5V9H9V8h5.5C14.8,8,15,7.8,15,7.5V3.5z"/></symbol><symbol viewBox="0 0 32 32" id="f-i-bin" xmlns="http://www.w3.org/2000/svg"><path d="M4 10v20c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-20h-22zM10 28h-2v-14h2v14zM14 28h-2v-14h2v14zM18 28h-2v-14h2v14zM22 28h-2v-14h2v14zM26.5 4h-6.5v-2.5c0-.825-.675-1.5-1.5-1.5h-7c-.825 0-1.5.675-1.5 1.5v2.5h-6.5c-.825 0-1.5.675-1.5 1.5v2.5h26v-2.5c0-.825-.675-1.5-1.5-1.5zM18 4h-6v-1.975h6v1.975z"/></symbol><symbol id="f-i-button" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><metadata id="acprefix__metadata8"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#"><dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/"/></cc:Work></rdf:RDF></metadata><path id="acprefix__rect4140" d="M 0.4765625,4 A 0.47706934,0.47706934 0 0 0 0,4.4765625 L 0,11.523438 A 0.47706934,0.47706934 0 0 0 0.4765625,12 L 15.523438,12 A 0.47706934,0.47706934 0 0 0 16,11.523438 L 16,4.4765625 A 0.47706934,0.47706934 0 0 0 15.523438,4 L 0.4765625,4 Z m 0.4765625,0.953125 14.09375,0 0,6.09375 -14.09375,0 0,-6.09375 z"/><g id="acprefix__layer1"><g id="acprefix__text4203"><g id="acprefix__g4212" transform="translate(0.10112835,0.1001358)"><path id="acprefix__path4208" d="m 6.0690374,6.4093857 q -0.5371093,0 -0.8544922,0.4003906 -0.3149414,0.4003906 -0.3149414,1.0913086 0,0.6884766 0.3149414,1.0888672 0.3173829,0.4003906 0.8544922,0.4003906 0.5371094,0 0.8496094,-0.4003906 0.3149414,-0.4003906 0.3149414,-1.0888672 0,-0.690918 -0.3149414,-1.0913086 -0.3125,-0.4003906 -0.8496094,-0.4003906 z m 0,-0.4003906 q 0.7666016,0 1.225586,0.5151367 0.4589843,0.5126953 0.4589843,1.3769531 0,0.8618164 -0.4589843,1.3769531 -0.4589844,0.5126953 -1.225586,0.5126953 -0.7690429,0 -1.2304687,-0.5126953 -0.4589844,-0.5126953 -0.4589844,-1.3769531 0,-0.8642578 0.4589844,-1.3769531 0.4614258,-0.5151367 1.2304687,-0.5151367 z"/><path id="acprefix__path4210" d="m 8.5250921,6.074913 0.4931641,0 0,1.5405274 1.6357418,-1.5405274 0.634766,0 -1.809082,1.6992188 1.938477,1.9458008 -0.649415,0 -1.7504878,-1.7553711 0,1.7553711 -0.4931641,0 0,-3.6450196 z"/></g></g></g></symbol><symbol viewBox="0 0 32 32" id="f-i-calendar" xmlns="http://www.w3.org/2000/svg"><path d="M12.048 16.961c-0.178 0.257-0.395 0.901-0.652 1.059-0.257 0.157-0.547 0.267-0.869 0.328-0.323 0.062-0.657 0.089-1.002 0.079v1.527h2.467v6.046h1.991v-9.996h-1.584c-0.056 0.381-0.173 0.7-0.351 0.957zM23 8h2c0.553 0 1-0.448 1-1v-6c0-0.552-0.447-1-1-1h-2c-0.553 0-1 0.448-1 1v6c0 0.552 0.447 1 1 1zM7 8h2c0.552 0 1-0.448 1-1v-6c0-0.552-0.448-1-1-1h-2c-0.552 0-1 0.448-1 1v6c0 0.552 0.448 1 1 1zM30 4h-2v5c0 0.552-0.447 1-1 1h-6c-0.553 0-1-0.448-1-1v-5h-8v5c0 0.552-0.448 1-1 1h-6c-0.552 0-1-0.448-1-1v-5h-2c-1.104 0-2 0.896-2 2v24c0 1.104 0.896 2 2 2h28c1.104 0 2-0.896 2-2v-24c0-1.104-0.896-2-2-2zM30 29c0 0.553-0.447 1-1 1h-26c-0.552 0-1-0.447-1-1v-16c0-0.552 0.448-1 1-1h26c0.553 0 1 0.448 1 1v16zM15.985 17.982h4.968c-0.936 1.152-1.689 2.325-2.265 3.705-0.575 1.381-0.638 2.818-0.749 4.312h2.131c0.009-0.666-0.195-1.385-0.051-2.156 0.146-0.771 0.352-1.532 0.617-2.285 0.267-0.752 0.598-1.461 0.996-2.127 0.396-0.667 0.853-1.229 1.367-1.686v-1.742h-7.015v1.979z"/></symbol><symbol id="f-i-checkbox" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M13.5,5v8c0,0.8-0.7,1.5-1.5,1.5H3c-0.8,0-1.5-0.7-1.5-1.5V4c0-0.8,0.7-1.5,1.5-1.5h9c0.7,0,1.3,0.5,1.5,1.2l2.4-1.4L13.5,5 z M12.5,6.2L7.7,12L2.8,5.5l4.9,1.6l4.8-2.9V4c0-0.3-0.2-0.5-0.5-0.5H3C2.7,3.5,2.5,3.7,2.5,4v9c0,0.3,0.2,0.5,0.5,0.5h9 c0.3,0,0.5-0.2,0.5-0.5V6.2z"/></symbol><symbol id="f-i-checkbox-group" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M0,1h16V0H0V1z M0,3h16V2H0V3z M6,5v1h9V5H6z M15,14v-1H6v1H15z M6,10h9V9H6V10z M4,12l-2.5,1.5L0,13l1.5,2L4,12z M4,8 L1.5,9.5L0,9l1.5,2L4,8z M4,4L1.5,5.5L0,5l1.5,2L4,4z"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-columns" xmlns="http://www.w3.org/2000/svg"><metadata id="agprefix__metadata4318"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#"><dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/"/></cc:Work></rdf:RDF></metadata><path id="agprefix__rect4860-3-5" d="M 16,0.5 A 0.50004997,0.50004997 0 0 0 15.5,0 l -5,0 -5,0 -5,0 A 0.50004997,0.50004997 0 0 0 0,0.5 l 0,15 A 0.50004997,0.50004997 0 0 0 0.5,16 l 5,0 5,0 5,0 A 0.50004997,0.50004997 0 0 0 16,15.5 l 0,-15 z M 15,1 15,15 11,15 11,1 15,1 Z M 10,1 10,15 6,15 6,1 10,1 Z M 5,1 5,15 1,15 1,1 5,1 Z"/></symbol><symbol viewBox="0 0 32 32" id="f-i-copy" xmlns="http://www.w3.org/2000/svg"><path d="M20 8v-8h-14l-6 6v18h12v8h20v-24h-12zM6 2.828v3.172h-3.172l3.172-3.172zM2 22v-14h6v-6h10v6l-6 6v8h-10zM18 10.828v3.172h-3.172l3.172-3.172zM30 30h-16v-14h6v-6h10v20z"/></symbol><symbol id="f-i-divider" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg"><metadata id="aiprefix__metadata10"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#"><dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/"/></cc:Work></rdf:RDF></metadata><rect y="7" x="0" height="1" width="15" id="aiprefix__rect4182"/></symbol><symbol viewBox="0 0 28 32" id="f-i-edit" xmlns="http://www.w3.org/2000/svg"><path d="M22 2l-4 4 6 6 4-4-6-6zM0 24l0.021 6.018 5.979-0.018 16-16-6-6-16 16zM6 28h-4v-4h2v2h2v2z"/></symbol><symbol fill="#000000" viewBox="0 0 24 24" id="f-i-email" xmlns="http://www.w3.org/2000/svg"><path d="M12,2 C17.4292399,2 21.8479317,6.32667079 21.9961582,11.7200952 L22,12 L22,13 C22,15.1729208 20.477434,17 18.5,17 C17.3269391,17 16.3139529,16.3570244 15.6839382,15.3803024 C14.770593,16.3757823 13.4581934,17 12,17 C9.23857625,17 7,14.7614237 7,12 C7,9.23857625 9.23857625,7 12,7 C14.6887547,7 16.8818181,9.12230671 16.9953805,11.7831104 L17,12 L17,13 C17,14.1407877 17.7160103,15 18.5,15 C19.2447902,15 19.928229,14.2245609 19.9947109,13.1689341 L20,13 L20,12 C20,7.581722 16.418278,4 12,4 C7.581722,4 4,7.581722 4,12 C4,16.418278 7.581722,20 12,20 C13.1630948,20 14.2892822,19.7522618 15.3225159,19.2798331 C15.8247876,19.0501777 16.4181317,19.271177 16.647787,19.7734487 C16.8774423,20.2757205 16.656443,20.8690646 16.1541713,21.0987199 C14.861218,21.689901 13.4515463,22 12,22 C6.4771525,22 2,17.5228475 2,12 C2,6.4771525 6.4771525,2 12,2 Z M12,9 C10.3431458,9 9,10.3431458 9,12 C9,13.6568542 10.3431458,15 12,15 C13.6568542,15 15,13.6568542 15,12 C15,10.3431458 13.6568542,9 12,9 Z"/></symbol><symbol viewBox="0 0 32 32" id="f-i-floppy-disk" xmlns="http://www.w3.org/2000/svg"><path d="M28 0h-28v32h32v-28l-4-4zM16 4h4v8h-4v-8zM28 28h-24v-24h2v10h18v-10h2.343l1.657 1.657v22.343z"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-handle" xmlns="http://www.w3.org/2000/svg"><metadata id="aqprefix__metadata8"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#"><dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/"/></cc:Work></rdf:RDF></metadata><g transform="translate(0,-2)" id="aqprefix__g4220"><rect id="aqprefix__rect4191" width="2" height="2" x="2" y="7"/><rect id="aqprefix__rect4191-2" width="2" height="2" x="7" y="7"/><rect id="aqprefix__rect4191-4" width="2" height="2" x="12" y="7"/></g><g transform="translate(0,2)" id="aqprefix__g4220-6"><rect id="aqprefix__rect4191-40" width="2" height="2" x="2" y="7"/><rect id="aqprefix__rect4191-2-3" width="2" height="2" x="7" y="7"/><rect id="aqprefix__rect4191-4-9" width="2" height="2" x="12" y="7"/></g></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-handle-column" xmlns="http://www.w3.org/2000/svg"><path d="M2 7h2v2H2zM7 7h2v2H7zM12 7h2v2h-2zM2 12h2v2H2zM7 12h2v2H7zM12 12h2v2h-2z" transform="rotate(90 9.25 9.25)"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-handle-field" xmlns="http://www.w3.org/2000/svg"><path d="M9.5-6.5h2v2h-2zm-5 0h2v2h-2zm5-5h2v2h-2zm-5 0h2v2h-2z" transform="rotate(90)"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-handle-row" xmlns="http://www.w3.org/2000/svg"><path d="M12 9.5h2v2h-2zm-5 0h2v2H7Zm-5 0h2v2H2Zm10-5h2v2h-2zm-5 0h2v2H7Zm-5 0h2v2H2Z"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-handle-stage" xmlns="http://www.w3.org/2000/svg"><path d="M2 4.5h2v2H2zM7 4.5h2v2H7zM12 4.5h2v2h-2zM2 9.5h2v2H2zM7 9.5h2v2H7zM12 9.5h2v2h-2zM2-.5h2v2H2zM7-.5h2v2H7zM12-.5h2v2h-2z" transform="translate(0 2.5)"/></symbol><symbol viewBox="0 0 448 512" id="f-i-hash" xmlns="http://www.w3.org/2000/svg"><g id="arprefix__icomoon-ignore"/><path fill="#000" d="M448 192v-64h-80.064l16-128h-64l-16 128h-127.968l16-128h-64l-16 128h-111.968v64h103.968l-15.968 128h-88v64h80l-16 128h64l16-128h127.968l-16 128h64.032l16-128h112v-64h-104l15.936-128h88.064zM279.968 320h-127.968l15.968-128h127.968l-15.968 128z"/></symbol><symbol viewBox="0 0 28 28" id="f-i-header" xmlns="http://www.w3.org/2000/svg"><path fill="#444" d="M26.281 26q-0.688 0-2.070-0.055t-2.086-0.055q-0.688 0-2.063 0.055t-2.063 0.055q-0.375 0-0.578-0.32t-0.203-0.711q0-0.484 0.266-0.719t0.609-0.266 0.797-0.109 0.703-0.234q0.516-0.328 0.516-2.188l-0.016-6.109q0-0.328-0.016-0.484-0.203-0.063-0.781-0.063h-10.547q-0.594 0-0.797 0.063-0.016 0.156-0.016 0.484l-0.016 5.797q0 2.219 0.578 2.562 0.25 0.156 0.75 0.203t0.891 0.055 0.703 0.234 0.313 0.711q0 0.406-0.195 0.75t-0.57 0.344q-0.734 0-2.18-0.055t-2.164-0.055q-0.672 0-2 0.055t-1.984 0.055q-0.359 0-0.555-0.328t-0.195-0.703q0-0.469 0.242-0.703t0.562-0.273 0.742-0.117 0.656-0.234q0.516-0.359 0.516-2.234l-0.016-0.891v-12.703q0-0.047 0.008-0.406t0-0.57-0.023-0.602-0.055-0.656-0.102-0.57-0.172-0.492-0.25-0.281q-0.234-0.156-0.703-0.187t-0.828-0.031-0.641-0.219-0.281-0.703q0-0.406 0.187-0.75t0.562-0.344q0.719 0 2.164 0.055t2.164 0.055q0.656 0 1.977-0.055t1.977-0.055q0.391 0 0.586 0.344t0.195 0.75q0 0.469-0.266 0.68t-0.602 0.227-0.773 0.063-0.672 0.203q-0.547 0.328-0.547 2.5l0.016 5q0 0.328 0.016 0.5 0.203 0.047 0.609 0.047h10.922q0.391 0 0.594-0.047 0.016-0.172 0.016-0.5l0.016-5q0-2.172-0.547-2.5-0.281-0.172-0.914-0.195t-1.031-0.203-0.398-0.773q0-0.406 0.195-0.75t0.586-0.344q0.688 0 2.063 0.055t2.063 0.055q0.672 0 2.016-0.055t2.016-0.055q0.391 0 0.586 0.344t0.195 0.75q0 0.469-0.273 0.688t-0.625 0.227-0.805 0.047-0.688 0.195q-0.547 0.359-0.547 2.516l0.016 14.734q0 1.859 0.531 2.188 0.25 0.156 0.719 0.211t0.836 0.070 0.648 0.242 0.281 0.695q0 0.406-0.187 0.75t-0.562 0.344z"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-hidden" xmlns="http://www.w3.org/2000/svg"><path d="M0 12h1v-1H0Zm15-7h1V4h-1zm-1 7h1v-1h-1zm-2 0h1v-1h-1zm-2 0h1v-1h-1Zm-2 0h1v-1H8Zm-2 0h1v-1H6Zm-2 0h1v-1H4Zm-2 0h1v-1H2Zm13-1h1v-1h-1ZM0 10h1V9H0Zm15-1h1V8h-1ZM0 8h1V7H0Zm15-1h1V6h-1ZM0 6h1V5H0Zm13-1h1V4h-1zm-2 0h1V4h-1ZM9 5h1V4H9ZM7 5h1V4H7ZM5 5h1V4H5ZM3 5h1V4H3ZM1 5h1V4H1Z"/></symbol><symbol viewBox="0 0 384 512" id="f-i-menu" xmlns="http://www.w3.org/2000/svg"><g id="auprefix__icomoon-ignore"/><path d="M0 96v64h384v-64h-384zM0 288h384v-64h-384v64zM0 416h384v-64h-384v64z"/></symbol><symbol viewBox="0 0 24 24" fill="none" id="f-i-minus" xmlns="http://www.w3.org/2000/svg"><path d="M6 12L18 12" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol viewBox="0 0 512 512" id="f-i-move" xmlns="http://www.w3.org/2000/svg"><path d="M287.744 94.736v129.008h128v-64l96.256 96.256-96.256 96.24v-65.488h-128v129.008h64.496l-96.24 96.24-96.256-96.24h64v-129.008h-128v64.992l-95.744-95.744 95.744-95.744v63.488h128v-129.008h-62.496l94.752-94.736 94.752 94.736h-63.008z"/></symbol><symbol viewBox="0 0 512 512" id="f-i-move-vertical" xmlns="http://www.w3.org/2000/svg"><metadata id="awprefix__metadata10"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#"><dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/"/></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="3440" inkscape:window-height="1416" id="awprefix__namedview6" showgrid="false" inkscape:zoom="1.84375" inkscape:cx="421.4312" inkscape:cy="218.56484" inkscape:window-x="0" inkscape:window-y="24" inkscape:window-maximized="1" inkscape:current-layer="svg2" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"/><path d="m 287.744,94.736 0,321.024 64.496,0 L 256,512 l -96.256,-96.24 64,0 0,-321.024 -62.496,0 L 256,0 350.752,94.736 Z" id="awprefix__path4" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:connector-curvature="0" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:nodetypes="ccccccccccc"/></symbol><symbol viewBox="0 0 20 28" id="f-i-paragraph" xmlns="http://www.w3.org/2000/svg"><path fill="#444" d="M19.969 2.953v1.141q0 0.453-0.289 0.953t-0.664 0.5q-0.781 0-0.844 0.016-0.406 0.094-0.5 0.484-0.047 0.172-0.047 1v18q0 0.391-0.281 0.672t-0.672 0.281h-1.687q-0.391 0-0.672-0.281t-0.281-0.672v-19.031h-2.234v19.031q0 0.391-0.273 0.672t-0.68 0.281h-1.687q-0.406 0-0.68-0.281t-0.273-0.672v-7.75q-2.297-0.187-3.828-0.922-1.969-0.906-3-2.797-1-1.828-1-4.047 0-2.594 1.375-4.469 1.375-1.844 3.266-2.484 1.734-0.578 6.516-0.578h7.484q0.391 0 0.672 0.281t0.281 0.672z"/></symbol><symbol id="f-i-phone-receiver" viewBox="0 0 578.106 578.106" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g><g><path d="M577.83,456.128c1.225,9.385-1.635,17.545-8.568,24.48l-81.396,80.781 c-3.672,4.08-8.465,7.551-14.381,10.404c-5.916,2.857-11.729,4.693-17.439,5.508c-0.408,0-1.635,0.105-3.676,0.309 c-2.037,0.203-4.689,0.307-7.953,0.307c-7.754,0-20.301-1.326-37.641-3.979s-38.555-9.182-63.645-19.584 c-25.096-10.404-53.553-26.012-85.376-46.818c-31.823-20.805-65.688-49.367-101.592-85.68 c-28.56-28.152-52.224-55.08-70.992-80.783c-18.768-25.705-33.864-49.471-45.288-71.299 c-11.425-21.828-19.993-41.616-25.705-59.364S4.59,177.362,2.55,164.51s-2.856-22.95-2.448-30.294 c0.408-7.344,0.612-11.424,0.612-12.24c0.816-5.712,2.652-11.526,5.508-17.442s6.324-10.71,10.404-14.382L98.022,8.756 c5.712-5.712,12.24-8.568,19.584-8.568c5.304,0,9.996,1.53,14.076,4.59s7.548,6.834,10.404,11.322l65.484,124.236 c3.672,6.528,4.692,13.668,3.06,21.42c-1.632,7.752-5.1,14.28-10.404,19.584l-29.988,29.988c-0.816,0.816-1.53,2.142-2.142,3.978 s-0.918,3.366-0.918,4.59c1.632,8.568,5.304,18.36,11.016,29.376c4.896,9.792,12.444,21.726,22.644,35.802 s24.684,30.293,43.452,48.653c18.36,18.77,34.68,33.354,48.96,43.76c14.277,10.4,26.215,18.053,35.803,22.949 c9.588,4.896,16.932,7.854,22.031,8.871l7.648,1.531c0.816,0,2.145-0.307,3.979-0.918c1.836-0.613,3.162-1.326,3.979-2.143 l34.883-35.496c7.348-6.527,15.912-9.791,25.705-9.791c6.938,0,12.443,1.223,16.523,3.672h0.611l118.115,69.768 C571.098,441.238,576.197,447.968,577.83,456.128z"/></g></g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/></symbol><symbol viewBox="0 0 24 24" fill="none" id="f-i-plus" xmlns="http://www.w3.org/2000/svg"><path d="M6 12H18M12 6V18" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol id="f-i-radio-group" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M0,1h16V0H0V1z M0,3h16V2H0V3z M5,6h10V5H5V6z M15,9H5v1h10V9z M15,14v-1H5v1H15z M1.5,7C0.7,7,0,6.3,0,5.5S0.7,4,1.5,4 S3,4.7,3,5.5S2.3,7,1.5,7z M1.5,5C1.2,5,1,5.2,1,5.5S1.2,6,1.5,6S2,5.8,2,5.5S1.8,5,1.5,5z M1.5,11.1C0.7,11.1,0,10.4,0,9.6 s0.7-1.5,1.5-1.5S3,8.7,3,9.6S2.3,11.1,1.5,11.1z M1.5,9.1C1.2,9.1,1,9.3,1,9.6s0.2,0.5,0.5,0.5S2,9.8,2,9.6S1.8,9.1,1.5,9.1z M1.5,15C0.7,15,0,14.3,0,13.5S0.7,12,1.5,12S3,12.7,3,13.5S2.3,15,1.5,15z M1.5,13C1.2,13,1,13.2,1,13.5S1.2,14,1.5,14 S2,13.8,2,13.5S1.8,13,1.5,13z"/></symbol><symbol viewBox="0 0 512 512" id="f-i-remove" xmlns="http://www.w3.org/2000/svg"><path d="M193.694-139.2h87.322v510.916h-87.322zM-18.103 159.92V72.597h510.915v87.322z" transform="rotate(45 77.994 208.636)"/></symbol><symbol id="f-i-rich-text" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M15,1H1C0.4,1,0,1.4,0,2v12c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V2C16,1.4,15.6,1,15,1z M1,3.1h0.8v0.3H1V3.1z M1,3.6h0.8 v0.3H1V3.6z M15,14H1V5.1h14V14z M15,4.9H1V4.6h14V4.9z M15,4.4H1V4.1h0.8v0.2h1.5V4.1h1.3v0.2H6V4.1h1.3v0.2h1.5V4.1H10v0.2h1.5 V4.1h1.3v0.2h1.5V4.1H15V4.4z M4.5,3.6v0.3H3.3V3.6H4.5z M3.3,3.4V3.1h1.3v0.3H3.3z M7.3,3.6v0.3H6V3.6H7.3z M6,3.4V3.1h1.3v0.3H6z M10,3.6v0.3H8.8V3.6H10z M8.8,3.4V3.1H10v0.3H8.8z M12.8,3.6v0.3h-1.3V3.6H12.8z M11.5,3.4V3.1h1.3v0.3H11.5z M15,3.9h-0.8V3.6H15 V3.9z M15,3.4h-0.8V3.1H15V3.4z M15,2.9h-0.8V2.8h-1.5v0.2h-1.3V2.8H10v0.2H8.8V2.8H7.3v0.2H6V2.8H4.5v0.2H3.3V2.8H1.8v0.2H1V2.6h14 V2.9z M15,2.4H1V2.1h14V2.4z M3,12v-1h10v1H3z M13,10H3V9h10V10z M11,8H3V7h8V8z"/></symbol><symbol xml:space="preserve" viewBox="0 0 16 16" id="f-i-rows" xmlns="http://www.w3.org/2000/svg"><metadata id="beprefix__metadata4318"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><cc:Work rdf:about="" xmlns:cc="http://creativecommons.org/ns#"><dc:format xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" xmlns:dc="http://purl.org/dc/elements/1.1/"/><dc:title xmlns:dc="http://purl.org/dc/elements/1.1/"/></cc:Work></rdf:RDF></metadata><g transform="matrix(0,1,-1,0,3.0984025,11.835155)" id="beprefix__g7209"><path id="beprefix__rect4860-3-5" d="m 4.1640625,-12.402344 a 0.50004997,0.50004997 0 0 0 -0.5,-0.5 l -5,0 -5,0 -5.0000005,0 a 0.50004997,0.50004997 0 0 0 -0.5,0.5 l 0,15.0000002 a 0.50004997,0.50004997 0 0 0 0.5,0.5 l 4.9648442,0 a 0.50004997,0.50004997 0 0 0 0.035156,0 l 4.9648437,0 a 0.50004997,0.50004997 0 0 0 0.035156,0 l 5,0 a 0.50004997,0.50004997 0 0 0 0.5,-0.5 l 0,-15.0000002 z m -1,0.5 0,14.0000002 -4,0 0,-14.0000002 4,0 z m -5,0 0,14.0000002 -4,0 0,-14.0000002 4,0 z m -5,0 0,14.0000002 -4.0000005,0 0,-14.0000002 4.0000005,0 z"/></g></symbol><symbol id="f-i-select" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path id="bfprefix__XMLID_1_" d="M0,0v14h0c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1h0V5h4V0H0z M1,1h10v3H1V1z M1,7h10v3H1V7z M1,14v-3h10v3H1z M15,4h-3V1h3V4z M2,2h1v1H2V2z M2,12h1v1H2V12z M4,12h1v1H4V12z M6,12h1v1H6V12z M9,12v1H8v-1H9z M2,8h1v1H2V8z M4,8h1v1H4V8z M6,8 h1v1H6V8z M13.5,3.1l-1-1.1h1.9L13.5,3.1z M2,6V5h1v1H2L2,6z M4,6V5h1v1H4L4,6z"/></symbol><symbol viewBox="0 0 448 512" id="f-i-settings" xmlns="http://www.w3.org/2000/svg"><g id="bgprefix__icomoon-ignore"/><path d="M223.969 175c-44.703 0-80.969 36.266-80.969 81 0 44.688 36.266 81.031 80.969 81.031 44.719 0 80.719-36.344 80.719-81.031-0-44.734-36-81-80.719-81zM386.313 302.531l-14.594 35.156 29.469 57.875-36.094 36.094-59.218-27.969-35.156 14.438-17.844 54.625-2.281 7.25h-51.016l-22.078-61.656-35.156-14.5-57.952 29.344-36.078-36.063 27.938-59.25-14.484-35.125-61.767-20.156v-50.984l61.703-22.109 14.485-35.094-25.953-51.234-3.422-6.719 36.031-36.031 59.297 27.922 35.109-14.516 17.828-54.594 2.297-7.234h51l22.094 61.734 35.063 14.516 58.031-29.406 36.063 36.031-27.938 59.203 14.438 35.172 61.875 20.125v50.969l-61.688 22.187z"/></symbol><symbol id="f-i-text-input" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path id="bhprefix__XMLID_10_" d="M15,4H4.5V3H6V2H4.5h-1H2v1h1.5v1H1C0.4,4,0,4.5,0,5v6c0,0.6,0.4,1,1,1h2.5v1H2v1h4v-1H4.5v-1H15 c0.6,0,1-0.4,1-1V5C16,4.5,15.6,4,15,4z M1,11V5h2.5v6H1z M15,11H4.5V5H15V11z"/></symbol><symbol id="f-i-textarea" viewBox="0 0 16 16" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path id="biprefix__XMLID_1_" d="M3,11v-1h8v1H3L3,11z M3,7h10V6H3V7L3,7z M3,8v1h10V8H3L3,8z M13,4H3v1h10V4L13,4z M16,14V2c0-0.6-0.4-1-1-1 H1C0.4,1,0,1.4,0,2v12c0,0.6,0.4,1,1,1h14C15.6,15,16,14.6,16,14z M15,2v12H1V2H15z"/></symbol><symbol viewBox="0 0 24 32" id="f-i-triangle-down" xmlns="http://www.w3.org/2000/svg"><path fill="#444" d="M0 12l11.992 11.992 11.992-11.992h-23.984z"/></symbol><symbol viewBox="0 0 12 32" id="f-i-triangle-left" xmlns="http://www.w3.org/2000/svg"><path fill="#444" d="M0 15.996l11.992 11.992v-23.984l-11.992 11.992z"/></symbol><symbol viewBox="0 0 12 32" id="f-i-triangle-right" xmlns="http://www.w3.org/2000/svg"><path fill="#444" d="M0.002 4.008l11.992 11.992-11.992 11.992v-23.984z"/></symbol><symbol viewBox="0 0 24 32" id="f-i-triangle-up" xmlns="http://www.w3.org/2000/svg"><path fill="#444" d="M11.992 8l-11.992 11.992h23.984l-11.992-11.992z"/></symbol><symbol viewBox="0 0 512 512" id="f-i-upload" xmlns="http://www.w3.org/2000/svg"><g id="bnprefix__icomoon-ignore"/><path d="M240 352h-240v128h480v-128h-240zM448 416h-64v-32h64v32zM112 160l128-128 128 128h-80v160h-96v-160z"/></symbol></svg>';
|
|
2171
2172
|
const name = pkg.name;
|
|
2172
2173
|
const version$1 = pkg.version;
|
|
2173
2174
|
const PACKAGE_NAME = name;
|
|
2174
2175
|
const formeoSpriteId = "formeo-sprite";
|
|
2175
|
-
const
|
|
2176
|
-
|
|
2177
|
-
{ name: "mutationObserver", src: "//cdn.jsdelivr.net/npm/mutationobserver-shim/dist/mutationobserver.min.js" },
|
|
2178
|
-
{ name: "fetch", src: "https://unpkg.com/unfetch/polyfill" }
|
|
2179
|
-
];
|
|
2180
|
-
const relativeSpritePath = `../../lib/icons/${formeoSpriteId}.svg`;
|
|
2181
|
-
const localSpriteUrl = false ? (void 0)(relativeSpritePath) : relativeSpritePath;
|
|
2182
|
-
const isDev = typeof process !== "undefined" && process.env?.NODE_ENV === "development" || false;
|
|
2183
|
-
const SVG_SPRITE_URL = isDev ? localSpriteUrl : `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/${formeoSpriteId}.svg`;
|
|
2184
|
-
const FALLBACK_SVG_SPRITE_URL = `https://draggable.github.io/formeo/assets/img/${formeoSpriteId}.svg`;
|
|
2176
|
+
const SVG_SPRITE_URL = null;
|
|
2177
|
+
const FALLBACK_SVG_SPRITE_URL = `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/${formeoSpriteId}.svg`;
|
|
2185
2178
|
const CSS_URL = `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/formeo.min.css`;
|
|
2186
2179
|
const FALLBACK_CSS_URL = "https://draggable.github.io/formeo/assets/css/formeo.min.css";
|
|
2187
2180
|
const PANEL_CLASSNAME = "f-panel";
|
|
@@ -3464,9 +3457,9 @@ function ownKeys(object, enumerableOnly) {
|
|
|
3464
3457
|
return keys;
|
|
3465
3458
|
}
|
|
3466
3459
|
function _objectSpread2(target) {
|
|
3467
|
-
for (var
|
|
3468
|
-
var source = arguments[
|
|
3469
|
-
if (
|
|
3460
|
+
for (var i2 = 1; i2 < arguments.length; i2++) {
|
|
3461
|
+
var source = arguments[i2] != null ? arguments[i2] : {};
|
|
3462
|
+
if (i2 % 2) {
|
|
3470
3463
|
ownKeys(Object(source), true).forEach(function(key) {
|
|
3471
3464
|
_defineProperty(target, key, source[key]);
|
|
3472
3465
|
});
|
|
@@ -3508,8 +3501,8 @@ function _defineProperty(obj, key, value) {
|
|
|
3508
3501
|
}
|
|
3509
3502
|
function _extends() {
|
|
3510
3503
|
_extends = Object.assign || function(target) {
|
|
3511
|
-
for (var
|
|
3512
|
-
var source = arguments[
|
|
3504
|
+
for (var i2 = 1; i2 < arguments.length; i2++) {
|
|
3505
|
+
var source = arguments[i2];
|
|
3513
3506
|
for (var key in source) {
|
|
3514
3507
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
3515
3508
|
target[key] = source[key];
|
|
@@ -3524,9 +3517,9 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
3524
3517
|
if (source == null) return {};
|
|
3525
3518
|
var target = {};
|
|
3526
3519
|
var sourceKeys = Object.keys(source);
|
|
3527
|
-
var key,
|
|
3528
|
-
for (
|
|
3529
|
-
key = sourceKeys[
|
|
3520
|
+
var key, i2;
|
|
3521
|
+
for (i2 = 0; i2 < sourceKeys.length; i2++) {
|
|
3522
|
+
key = sourceKeys[i2];
|
|
3530
3523
|
if (excluded.indexOf(key) >= 0) continue;
|
|
3531
3524
|
target[key] = source[key];
|
|
3532
3525
|
}
|
|
@@ -3535,11 +3528,11 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
3535
3528
|
function _objectWithoutProperties(source, excluded) {
|
|
3536
3529
|
if (source == null) return {};
|
|
3537
3530
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
3538
|
-
var key,
|
|
3531
|
+
var key, i2;
|
|
3539
3532
|
if (Object.getOwnPropertySymbols) {
|
|
3540
3533
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
3541
|
-
for (
|
|
3542
|
-
key = sourceSymbolKeys[
|
|
3534
|
+
for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) {
|
|
3535
|
+
key = sourceSymbolKeys[i2];
|
|
3543
3536
|
if (excluded.indexOf(key) >= 0) continue;
|
|
3544
3537
|
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
3545
3538
|
target[key] = source[key];
|
|
@@ -3648,10 +3641,10 @@ function matrix(el, selfOnly) {
|
|
|
3648
3641
|
}
|
|
3649
3642
|
function find(ctx, tagName, iterator) {
|
|
3650
3643
|
if (ctx) {
|
|
3651
|
-
var list = ctx.getElementsByTagName(tagName),
|
|
3644
|
+
var list = ctx.getElementsByTagName(tagName), i2 = 0, n = list.length;
|
|
3652
3645
|
if (iterator) {
|
|
3653
|
-
for (;
|
|
3654
|
-
iterator(list[
|
|
3646
|
+
for (; i2 < n; i2++) {
|
|
3647
|
+
iterator(list[i2], i2);
|
|
3655
3648
|
}
|
|
3656
3649
|
}
|
|
3657
3650
|
return list;
|
|
@@ -3734,15 +3727,15 @@ function isScrolledPast(el, elSide, parentSide) {
|
|
|
3734
3727
|
return false;
|
|
3735
3728
|
}
|
|
3736
3729
|
function getChild(el, childNum, options, includeDragEl) {
|
|
3737
|
-
var currentChild = 0,
|
|
3738
|
-
while (
|
|
3739
|
-
if (children[
|
|
3730
|
+
var currentChild = 0, i2 = 0, children = el.children;
|
|
3731
|
+
while (i2 < children.length) {
|
|
3732
|
+
if (children[i2].style.display !== "none" && children[i2] !== Sortable.ghost && (includeDragEl || children[i2] !== Sortable.dragged) && closest(children[i2], options.draggable, el, false)) {
|
|
3740
3733
|
if (currentChild === childNum) {
|
|
3741
|
-
return children[
|
|
3734
|
+
return children[i2];
|
|
3742
3735
|
}
|
|
3743
3736
|
currentChild++;
|
|
3744
3737
|
}
|
|
3745
|
-
|
|
3738
|
+
i2++;
|
|
3746
3739
|
}
|
|
3747
3740
|
return null;
|
|
3748
3741
|
}
|
|
@@ -3777,10 +3770,10 @@ function getRelativeScrollOffset(el) {
|
|
|
3777
3770
|
return [offsetLeft, offsetTop];
|
|
3778
3771
|
}
|
|
3779
3772
|
function indexOfObject(arr, obj) {
|
|
3780
|
-
for (var
|
|
3781
|
-
if (!arr.hasOwnProperty(
|
|
3773
|
+
for (var i2 in arr) {
|
|
3774
|
+
if (!arr.hasOwnProperty(i2)) continue;
|
|
3782
3775
|
for (var key in obj) {
|
|
3783
|
-
if (obj.hasOwnProperty(key) && obj[key] === arr[
|
|
3776
|
+
if (obj.hasOwnProperty(key) && obj[key] === arr[i2][key]) return Number(i2);
|
|
3784
3777
|
}
|
|
3785
3778
|
}
|
|
3786
3779
|
return -1;
|
|
@@ -4233,9 +4226,9 @@ var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent2(evt)
|
|
|
4233
4226
|
var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
|
|
4234
4227
|
if (nearest) {
|
|
4235
4228
|
var event = {};
|
|
4236
|
-
for (var
|
|
4237
|
-
if (evt.hasOwnProperty(
|
|
4238
|
-
event[
|
|
4229
|
+
for (var i2 in evt) {
|
|
4230
|
+
if (evt.hasOwnProperty(i2)) {
|
|
4231
|
+
event[i2] = evt[i2];
|
|
4239
4232
|
}
|
|
4240
4233
|
}
|
|
4241
4234
|
event.target = event.rootEl = nearest;
|
|
@@ -4484,8 +4477,8 @@ Sortable.prototype = /** @lends Sortable.prototype */
|
|
|
4484
4477
|
}
|
|
4485
4478
|
}
|
|
4486
4479
|
},
|
|
4487
|
-
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(
|
|
4488
|
-
var touch =
|
|
4480
|
+
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(e2) {
|
|
4481
|
+
var touch = e2.touches ? e2.touches[0] : e2;
|
|
4489
4482
|
if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
|
|
4490
4483
|
this._disableDelayedDrag();
|
|
4491
4484
|
}
|
|
@@ -5086,9 +5079,9 @@ Sortable.prototype = /** @lends Sortable.prototype */
|
|
|
5086
5079
|
* @returns {String[]}
|
|
5087
5080
|
*/
|
|
5088
5081
|
toArray: function toArray() {
|
|
5089
|
-
var order = [], el, children = this.el.children,
|
|
5090
|
-
for (;
|
|
5091
|
-
el = children[
|
|
5082
|
+
var order = [], el, children = this.el.children, i2 = 0, n = children.length, options = this.options;
|
|
5083
|
+
for (; i2 < n; i2++) {
|
|
5084
|
+
el = children[i2];
|
|
5092
5085
|
if (closest(el, options.draggable, this.el, false)) {
|
|
5093
5086
|
order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
|
|
5094
5087
|
}
|
|
@@ -5101,8 +5094,8 @@ Sortable.prototype = /** @lends Sortable.prototype */
|
|
|
5101
5094
|
*/
|
|
5102
5095
|
sort: function sort(order, useAnimation) {
|
|
5103
5096
|
var items = {}, rootEl2 = this.el;
|
|
5104
|
-
this.toArray().forEach(function(id,
|
|
5105
|
-
var el = rootEl2.children[
|
|
5097
|
+
this.toArray().forEach(function(id, i2) {
|
|
5098
|
+
var el = rootEl2.children[i2];
|
|
5106
5099
|
if (closest(el, this.options.draggable, rootEl2, false)) {
|
|
5107
5100
|
items[id] = el;
|
|
5108
5101
|
}
|
|
@@ -5295,9 +5288,9 @@ function _getInsertDirection(target) {
|
|
|
5295
5288
|
}
|
|
5296
5289
|
}
|
|
5297
5290
|
function _generateId(el) {
|
|
5298
|
-
var str = el.tagName + el.className + el.src + el.href + el.textContent,
|
|
5299
|
-
while (
|
|
5300
|
-
sum += str.charCodeAt(
|
|
5291
|
+
var str = el.tagName + el.className + el.src + el.href + el.textContent, i2 = str.length, sum = 0;
|
|
5292
|
+
while (i2--) {
|
|
5293
|
+
sum += str.charCodeAt(i2);
|
|
5301
5294
|
}
|
|
5302
5295
|
return sum.toString(36);
|
|
5303
5296
|
}
|
|
@@ -5489,9 +5482,9 @@ var autoScroll = throttle(function(evt, options, rootEl2, isFallback) {
|
|
|
5489
5482
|
var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
|
|
5490
5483
|
var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
|
|
5491
5484
|
if (!autoScrolls[layersOut]) {
|
|
5492
|
-
for (var
|
|
5493
|
-
if (!autoScrolls[
|
|
5494
|
-
autoScrolls[
|
|
5485
|
+
for (var i2 = 0; i2 <= layersOut; i2++) {
|
|
5486
|
+
if (!autoScrolls[i2]) {
|
|
5487
|
+
autoScrolls[i2] = {};
|
|
5495
5488
|
}
|
|
5496
5489
|
}
|
|
5497
5490
|
}
|
|
@@ -5691,13 +5684,13 @@ const orderObjectsBy = (elements, order, path) => {
|
|
|
5691
5684
|
return unique(orderedElements);
|
|
5692
5685
|
};
|
|
5693
5686
|
const forEach = (arr, cb, scope) => {
|
|
5694
|
-
for (let
|
|
5695
|
-
cb.call(scope, arr[
|
|
5687
|
+
for (let i2 = 0; i2 < arr.length; i2++) {
|
|
5688
|
+
cb.call(scope, arr[i2], i2);
|
|
5696
5689
|
}
|
|
5697
5690
|
};
|
|
5698
5691
|
const map = (arr, cb) => {
|
|
5699
5692
|
const newArray = [];
|
|
5700
|
-
forEach(arr, (elem,
|
|
5693
|
+
forEach(arr, (elem, i2) => newArray.push(cb(elem, i2)));
|
|
5701
5694
|
return newArray;
|
|
5702
5695
|
};
|
|
5703
5696
|
const sanitizedAttributeNames = {};
|
|
@@ -5716,7 +5709,6 @@ const safeAttrName = (name2) => {
|
|
|
5716
5709
|
const capitalize = (str) => str.replace(/\b\w/g, (m) => m.toUpperCase());
|
|
5717
5710
|
const copyObj = (obj) => window.JSON.parse(window.JSON.stringify(obj));
|
|
5718
5711
|
const subtract = (arr, from) => from.filter((a) => !~arr.indexOf(a));
|
|
5719
|
-
const isIE = () => window.navigator.userAgent.indexOf("MSIE ") !== -1;
|
|
5720
5712
|
const helpers = {
|
|
5721
5713
|
capitalize,
|
|
5722
5714
|
safeAttrName,
|
|
@@ -5728,8 +5720,119 @@ const helpers = {
|
|
|
5728
5720
|
indexOfNode,
|
|
5729
5721
|
isInt,
|
|
5730
5722
|
get,
|
|
5731
|
-
orderObjectsBy
|
|
5732
|
-
|
|
5723
|
+
orderObjectsBy
|
|
5724
|
+
};
|
|
5725
|
+
const loaded = {
|
|
5726
|
+
js: /* @__PURE__ */ new Set(),
|
|
5727
|
+
css: /* @__PURE__ */ new Set(),
|
|
5728
|
+
formeoSprite: null
|
|
5729
|
+
};
|
|
5730
|
+
const ajax = (fileUrl, callback, onError = noop) => {
|
|
5731
|
+
return new Promise((resolve) => {
|
|
5732
|
+
return fetch(fileUrl).then((data) => {
|
|
5733
|
+
if (!data.ok) {
|
|
5734
|
+
return resolve(onError(data));
|
|
5735
|
+
}
|
|
5736
|
+
resolve(callback ? callback(data) : data);
|
|
5737
|
+
}).catch((err) => onError(err));
|
|
5738
|
+
});
|
|
5739
|
+
};
|
|
5740
|
+
const onLoadStylesheet = (elem, cb) => {
|
|
5741
|
+
elem.removeEventListener("load", onLoadStylesheet);
|
|
5742
|
+
cb(elem.src);
|
|
5743
|
+
};
|
|
5744
|
+
const onLoadJavascript = (elem, cb) => {
|
|
5745
|
+
elem.removeEventListener("load", onLoadJavascript);
|
|
5746
|
+
cb(elem.src);
|
|
5747
|
+
};
|
|
5748
|
+
const insertScript = (src) => {
|
|
5749
|
+
return new Promise((resolve, reject) => {
|
|
5750
|
+
if (loaded.js.has(src)) {
|
|
5751
|
+
return resolve(src);
|
|
5752
|
+
}
|
|
5753
|
+
loaded.js.add(src);
|
|
5754
|
+
const script = dom.create({
|
|
5755
|
+
tag: "script",
|
|
5756
|
+
attrs: {
|
|
5757
|
+
type: "text/javascript",
|
|
5758
|
+
async: true,
|
|
5759
|
+
src
|
|
5760
|
+
},
|
|
5761
|
+
action: {
|
|
5762
|
+
load: () => onLoadJavascript(script, resolve),
|
|
5763
|
+
error: () => reject(new Error(`${src} failed to load.`))
|
|
5764
|
+
}
|
|
5765
|
+
});
|
|
5766
|
+
document.head.appendChild(script);
|
|
5767
|
+
});
|
|
5768
|
+
};
|
|
5769
|
+
const insertStyle = (srcs) => {
|
|
5770
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5771
|
+
const promises = srcs.map(
|
|
5772
|
+
(src) => new Promise((resolve, reject) => {
|
|
5773
|
+
if (loaded.css.has(src)) {
|
|
5774
|
+
return resolve(src);
|
|
5775
|
+
}
|
|
5776
|
+
loaded.css.add(src);
|
|
5777
|
+
const styleLink = dom.create({
|
|
5778
|
+
tag: "link",
|
|
5779
|
+
attrs: {
|
|
5780
|
+
rel: "stylesheet",
|
|
5781
|
+
href: src
|
|
5782
|
+
},
|
|
5783
|
+
action: {
|
|
5784
|
+
load: () => onLoadStylesheet(styleLink, resolve),
|
|
5785
|
+
error: () => reject(new Error(`${(void 0).src} failed to load.`))
|
|
5786
|
+
}
|
|
5787
|
+
});
|
|
5788
|
+
document.head.appendChild(styleLink);
|
|
5789
|
+
})
|
|
5790
|
+
);
|
|
5791
|
+
return Promise.all(promises);
|
|
5792
|
+
};
|
|
5793
|
+
const insertScripts = (srcs) => {
|
|
5794
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5795
|
+
const promises = srcs.map((src) => insertScript(src));
|
|
5796
|
+
return Promise.all(promises);
|
|
5797
|
+
};
|
|
5798
|
+
const insertStyles = (srcs) => {
|
|
5799
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5800
|
+
const promises = srcs.map((src) => insertStyle(src));
|
|
5801
|
+
return Promise.all(promises);
|
|
5802
|
+
};
|
|
5803
|
+
const insertIcons = (iconSvgStr) => {
|
|
5804
|
+
const parser = new DOMParser();
|
|
5805
|
+
const svgDoc = parser.parseFromString(iconSvgStr, "image/svg+xml");
|
|
5806
|
+
loaded.formeoSprite = svgDoc.documentElement;
|
|
5807
|
+
return loaded.formeoSprite;
|
|
5808
|
+
};
|
|
5809
|
+
const fetchIcons = async (iconSpriteUrl = SVG_SPRITE_URL) => {
|
|
5810
|
+
if (loaded.formeoSprite) {
|
|
5811
|
+
return loaded.formeoSprite;
|
|
5812
|
+
}
|
|
5813
|
+
if (!iconSpriteUrl) {
|
|
5814
|
+
return insertIcons(BUNDLED_SVG_SPRITE);
|
|
5815
|
+
}
|
|
5816
|
+
const parseResp = async (resp) => insertIcons(await resp.text());
|
|
5817
|
+
return ajax(iconSpriteUrl, parseResp, () => ajax(FALLBACK_SVG_SPRITE_URL, parseResp));
|
|
5818
|
+
};
|
|
5819
|
+
const LOADER_MAP = {
|
|
5820
|
+
js: insertScripts,
|
|
5821
|
+
css: insertStyles
|
|
5822
|
+
};
|
|
5823
|
+
const fetchDependencies = (dependencies) => {
|
|
5824
|
+
const promises = Object.entries(dependencies).map(([type, src]) => {
|
|
5825
|
+
return LOADER_MAP[type](src);
|
|
5826
|
+
});
|
|
5827
|
+
return Promise.all(promises);
|
|
5828
|
+
};
|
|
5829
|
+
const fetchFormeoStyle = async (cssUrl) => {
|
|
5830
|
+
if (!loaded.css.has(cssUrl)) {
|
|
5831
|
+
await insertStyle(cssUrl);
|
|
5832
|
+
if (!loaded.css.has(FALLBACK_CSS_URL)) {
|
|
5833
|
+
return await insertStyle(FALLBACK_CSS_URL);
|
|
5834
|
+
}
|
|
5835
|
+
}
|
|
5733
5836
|
};
|
|
5734
5837
|
const iconFontTemplates = {
|
|
5735
5838
|
glyphicons: (icon) => `<span class="glyphicon glyphicon-${icon}" aria-hidden="true"></span>`,
|
|
@@ -5824,7 +5927,7 @@ class DOM {
|
|
|
5824
5927
|
processed.push("tag");
|
|
5825
5928
|
let childType;
|
|
5826
5929
|
const { tag } = elem;
|
|
5827
|
-
let
|
|
5930
|
+
let i2;
|
|
5828
5931
|
const wrap = {
|
|
5829
5932
|
attrs: {},
|
|
5830
5933
|
className: [helpers.get(elem, "config.inputWrap")],
|
|
@@ -5918,8 +6021,8 @@ class DOM {
|
|
|
5918
6021
|
processed.push("action");
|
|
5919
6022
|
}
|
|
5920
6023
|
const remaining = helpers.subtract(processed, Object.keys(elem));
|
|
5921
|
-
for (
|
|
5922
|
-
element[remaining[
|
|
6024
|
+
for (i2 = remaining.length - 1; i2 >= 0; i2--) {
|
|
6025
|
+
element[remaining[i2]] = elem[remaining[i2]];
|
|
5923
6026
|
}
|
|
5924
6027
|
if (wrap.children.length) {
|
|
5925
6028
|
element = this.create(wrap);
|
|
@@ -5959,25 +6062,26 @@ class DOM {
|
|
|
5959
6062
|
if (this.iconSymbols) {
|
|
5960
6063
|
return this.iconSymbols;
|
|
5961
6064
|
}
|
|
5962
|
-
const iconSymbolNodes =
|
|
5963
|
-
const createSvgIconConfig = (
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
}
|
|
5976
|
-
|
|
5977
|
-
|
|
6065
|
+
const iconSymbolNodes = loaded.formeoSprite.querySelectorAll("svg symbol");
|
|
6066
|
+
const createSvgIconConfig = (symbol) => {
|
|
6067
|
+
const viewBox = symbol.getAttribute("viewBox") || "0 0 24 24";
|
|
6068
|
+
const children = Array.from(symbol.children).map((child) => {
|
|
6069
|
+
const clonedNode = child.cloneNode(true);
|
|
6070
|
+
return clonedNode.outerHTML;
|
|
6071
|
+
}).join("");
|
|
6072
|
+
return {
|
|
6073
|
+
tag: "svg",
|
|
6074
|
+
attrs: {
|
|
6075
|
+
className: ["svg-icon", symbol.id],
|
|
6076
|
+
viewBox,
|
|
6077
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
6078
|
+
},
|
|
6079
|
+
children
|
|
6080
|
+
};
|
|
6081
|
+
};
|
|
5978
6082
|
this.iconSymbols = Array.from(iconSymbolNodes).reduce((acc, symbol) => {
|
|
5979
6083
|
const name2 = symbol.id.replace(iconPrefix, "");
|
|
5980
|
-
acc[name2] = createSvgIconConfig(symbol
|
|
6084
|
+
acc[name2] = createSvgIconConfig(symbol);
|
|
5981
6085
|
return acc;
|
|
5982
6086
|
}, {});
|
|
5983
6087
|
this.cachedIcons = {};
|
|
@@ -6085,19 +6189,19 @@ class DOM {
|
|
|
6085
6189
|
});
|
|
6086
6190
|
return elementsContainingText;
|
|
6087
6191
|
};
|
|
6088
|
-
generateOption = ({ type = "option", label, value, i = 0, selected }) => {
|
|
6192
|
+
generateOption = ({ type = "option", label, value, i: i2 = 0, selected }) => {
|
|
6089
6193
|
const isOption = type === "option";
|
|
6090
6194
|
return {
|
|
6091
6195
|
tag: isOption ? "option" : "input",
|
|
6092
6196
|
attrs: {
|
|
6093
6197
|
type,
|
|
6094
|
-
value: value || `${type}-${
|
|
6095
|
-
[type === "option" ? "selected" : "checked"]: selected || !
|
|
6198
|
+
value: value || `${type}-${i2}`,
|
|
6199
|
+
[type === "option" ? "selected" : "checked"]: selected || !i2
|
|
6096
6200
|
},
|
|
6097
6201
|
config: {
|
|
6098
6202
|
label: label || mi18n.get("labelCount", {
|
|
6099
6203
|
label: mi18n.get("option"),
|
|
6100
|
-
count:
|
|
6204
|
+
count: i2
|
|
6101
6205
|
})
|
|
6102
6206
|
}
|
|
6103
6207
|
};
|
|
@@ -6113,7 +6217,7 @@ class DOM {
|
|
|
6113
6217
|
const { action, attrs = {} } = elem;
|
|
6114
6218
|
const fieldType = attrs.type || elem.tag;
|
|
6115
6219
|
const id = attrs.id || elem.id;
|
|
6116
|
-
const optionMap = (option2,
|
|
6220
|
+
const optionMap = (option2, i2) => {
|
|
6117
6221
|
const { label, value, ...rest } = option2;
|
|
6118
6222
|
const defaultInput = () => {
|
|
6119
6223
|
const input = {
|
|
@@ -6122,7 +6226,7 @@ class DOM {
|
|
|
6122
6226
|
name: id,
|
|
6123
6227
|
type: fieldType,
|
|
6124
6228
|
value: value || "",
|
|
6125
|
-
id: `${id}-${
|
|
6229
|
+
id: `${id}-${i2}`,
|
|
6126
6230
|
...rest
|
|
6127
6231
|
},
|
|
6128
6232
|
action
|
|
@@ -6130,7 +6234,7 @@ class DOM {
|
|
|
6130
6234
|
const optionLabel = {
|
|
6131
6235
|
tag: "label",
|
|
6132
6236
|
attrs: {
|
|
6133
|
-
for: `${id}-${
|
|
6237
|
+
for: `${id}-${i2}`
|
|
6134
6238
|
},
|
|
6135
6239
|
children: label
|
|
6136
6240
|
};
|
|
@@ -6663,7 +6767,7 @@ class Autocomplete {
|
|
|
6663
6767
|
* @return {Object} DOM Element to be injected into the form.
|
|
6664
6768
|
*/
|
|
6665
6769
|
build() {
|
|
6666
|
-
const keyboardNav = (
|
|
6770
|
+
const keyboardNav = (e2) => {
|
|
6667
6771
|
const list = this.list;
|
|
6668
6772
|
const activeOption = this.getActiveOption();
|
|
6669
6773
|
const keyCodeMap = /* @__PURE__ */ new Map([
|
|
@@ -6700,7 +6804,7 @@ class Autocomplete {
|
|
|
6700
6804
|
this.hideList();
|
|
6701
6805
|
}
|
|
6702
6806
|
}
|
|
6703
|
-
|
|
6807
|
+
e2.preventDefault();
|
|
6704
6808
|
}
|
|
6705
6809
|
],
|
|
6706
6810
|
[
|
|
@@ -6711,7 +6815,7 @@ class Autocomplete {
|
|
|
6711
6815
|
}
|
|
6712
6816
|
]
|
|
6713
6817
|
]);
|
|
6714
|
-
let direction = keyCodeMap.get(
|
|
6818
|
+
let direction = keyCodeMap.get(e2.keyCode);
|
|
6715
6819
|
if (!direction) {
|
|
6716
6820
|
direction = () => false;
|
|
6717
6821
|
}
|
|
@@ -7900,7 +8004,7 @@ class Panels {
|
|
|
7900
8004
|
placement: "top"
|
|
7901
8005
|
},
|
|
7902
8006
|
action: {
|
|
7903
|
-
click: (
|
|
8007
|
+
click: (e2) => this.nav.nextGroup(e2)
|
|
7904
8008
|
},
|
|
7905
8009
|
content: dom.icon("triangle-right")
|
|
7906
8010
|
};
|
|
@@ -7916,7 +8020,7 @@ class Panels {
|
|
|
7916
8020
|
placement: "top"
|
|
7917
8021
|
},
|
|
7918
8022
|
action: {
|
|
7919
|
-
click: (
|
|
8023
|
+
click: (e2) => this.nav.prevGroup(e2)
|
|
7920
8024
|
},
|
|
7921
8025
|
content: dom.icon("triangle-left")
|
|
7922
8026
|
};
|
|
@@ -8253,12 +8357,7 @@ class Component extends Data {
|
|
|
8253
8357
|
return dom.create({
|
|
8254
8358
|
tag: "span",
|
|
8255
8359
|
className: ["component-tag", `${this.name}-tag`],
|
|
8256
|
-
children: [
|
|
8257
|
-
(this.isColumn || this.isField) && dom.icon("component-corner", { className: "bottom-left" }),
|
|
8258
|
-
dom.icon(`handle-${this.name}`),
|
|
8259
|
-
toTitleCase(this.name),
|
|
8260
|
-
(this.isColumn || this.isRow) && dom.icon("component-corner", { className: "bottom-right" })
|
|
8261
|
-
].filter(Boolean)
|
|
8360
|
+
children: [dom.icon(`handle-${this.name}`), toTitleCase(this.name)].filter(Boolean)
|
|
8262
8361
|
});
|
|
8263
8362
|
};
|
|
8264
8363
|
/**
|
|
@@ -9322,8 +9421,8 @@ class Row extends Component {
|
|
|
9322
9421
|
if (typeof widths === "string") {
|
|
9323
9422
|
widths = widths.split(",");
|
|
9324
9423
|
}
|
|
9325
|
-
this.children.forEach((column,
|
|
9326
|
-
column.setWidth(`${widths[
|
|
9424
|
+
this.children.forEach((column, i2) => {
|
|
9425
|
+
column.setWidth(`${widths[i2]}%`);
|
|
9327
9426
|
column.refreshFieldPanels();
|
|
9328
9427
|
});
|
|
9329
9428
|
};
|
|
@@ -9524,133 +9623,6 @@ let Stages$1 = class Stages extends ComponentData {
|
|
|
9524
9623
|
}
|
|
9525
9624
|
};
|
|
9526
9625
|
const stages = new Stages$1();
|
|
9527
|
-
const loaded = {
|
|
9528
|
-
js: /* @__PURE__ */ new Set(),
|
|
9529
|
-
css: /* @__PURE__ */ new Set()
|
|
9530
|
-
};
|
|
9531
|
-
const ajax = (fileUrl, callback, onError = noop) => {
|
|
9532
|
-
return new Promise((resolve) => {
|
|
9533
|
-
return fetch(fileUrl).then((data) => {
|
|
9534
|
-
if (!data.ok) {
|
|
9535
|
-
return resolve(onError(data));
|
|
9536
|
-
}
|
|
9537
|
-
resolve(callback ? callback(data) : data);
|
|
9538
|
-
}).catch((err) => onError(err));
|
|
9539
|
-
});
|
|
9540
|
-
};
|
|
9541
|
-
const onLoadStylesheet = (elem, cb) => {
|
|
9542
|
-
elem.removeEventListener("load", onLoadStylesheet);
|
|
9543
|
-
cb(elem.src);
|
|
9544
|
-
};
|
|
9545
|
-
const onLoadJavascript = (elem, cb) => {
|
|
9546
|
-
elem.removeEventListener("load", onLoadJavascript);
|
|
9547
|
-
cb(elem.src);
|
|
9548
|
-
};
|
|
9549
|
-
const insertScript = (src) => {
|
|
9550
|
-
return new Promise((resolve, reject) => {
|
|
9551
|
-
if (loaded.js.has(src)) {
|
|
9552
|
-
return resolve(src);
|
|
9553
|
-
}
|
|
9554
|
-
loaded.js.add(src);
|
|
9555
|
-
const script = dom.create({
|
|
9556
|
-
tag: "script",
|
|
9557
|
-
attrs: {
|
|
9558
|
-
type: "text/javascript",
|
|
9559
|
-
async: true,
|
|
9560
|
-
src
|
|
9561
|
-
},
|
|
9562
|
-
action: {
|
|
9563
|
-
load: () => onLoadJavascript(script, resolve),
|
|
9564
|
-
error: () => reject(new Error(`${src} failed to load.`))
|
|
9565
|
-
}
|
|
9566
|
-
});
|
|
9567
|
-
document.head.appendChild(script);
|
|
9568
|
-
});
|
|
9569
|
-
};
|
|
9570
|
-
const insertStyle = (srcs) => {
|
|
9571
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9572
|
-
const promises = srcs.map(
|
|
9573
|
-
(src) => new Promise((resolve, reject) => {
|
|
9574
|
-
if (loaded.css.has(src)) {
|
|
9575
|
-
return resolve(src);
|
|
9576
|
-
}
|
|
9577
|
-
loaded.css.add(src);
|
|
9578
|
-
const styleLink = dom.create({
|
|
9579
|
-
tag: "link",
|
|
9580
|
-
attrs: {
|
|
9581
|
-
rel: "stylesheet",
|
|
9582
|
-
href: src
|
|
9583
|
-
},
|
|
9584
|
-
action: {
|
|
9585
|
-
load: () => onLoadStylesheet(styleLink, resolve),
|
|
9586
|
-
error: () => reject(new Error(`${(void 0).src} failed to load.`))
|
|
9587
|
-
}
|
|
9588
|
-
});
|
|
9589
|
-
document.head.appendChild(styleLink);
|
|
9590
|
-
})
|
|
9591
|
-
);
|
|
9592
|
-
return Promise.all(promises);
|
|
9593
|
-
};
|
|
9594
|
-
const insertScripts = (srcs) => {
|
|
9595
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9596
|
-
const promises = srcs.map((src) => insertScript(src));
|
|
9597
|
-
return Promise.all(promises);
|
|
9598
|
-
};
|
|
9599
|
-
const insertStyles = (srcs) => {
|
|
9600
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9601
|
-
const promises = srcs.map((src) => insertStyle(src));
|
|
9602
|
-
return Promise.all(promises);
|
|
9603
|
-
};
|
|
9604
|
-
const insertIcons = (iconSvgStr) => {
|
|
9605
|
-
let iconSpriteWrap = document.getElementById(formeoSpriteId);
|
|
9606
|
-
if (!iconSpriteWrap) {
|
|
9607
|
-
iconSpriteWrap = dom.create({
|
|
9608
|
-
id: formeoSpriteId,
|
|
9609
|
-
children: iconSvgStr,
|
|
9610
|
-
attrs: {
|
|
9611
|
-
hidden: true,
|
|
9612
|
-
style: "display: none;"
|
|
9613
|
-
}
|
|
9614
|
-
});
|
|
9615
|
-
document.body.insertBefore(iconSpriteWrap, document.body.childNodes[0]);
|
|
9616
|
-
}
|
|
9617
|
-
return iconSpriteWrap;
|
|
9618
|
-
};
|
|
9619
|
-
const fetchIcons = async (iconSpriteUrl = SVG_SPRITE_URL) => {
|
|
9620
|
-
const formeoSprite = document.getElementById(formeoSpriteId);
|
|
9621
|
-
if (formeoSprite) {
|
|
9622
|
-
return;
|
|
9623
|
-
}
|
|
9624
|
-
const parseResp = async (resp) => insertIcons(await resp.text());
|
|
9625
|
-
return ajax(iconSpriteUrl, parseResp, () => ajax(FALLBACK_SVG_SPRITE_URL, parseResp));
|
|
9626
|
-
};
|
|
9627
|
-
const loadPolyfills = (polyfillConfig) => {
|
|
9628
|
-
const polyfills = Array.isArray(polyfillConfig) ? POLYFILLS.filter(({ name: name2 }) => polyfillConfig.indexOf(name2) !== -1) : POLYFILLS;
|
|
9629
|
-
return Promise.all(polyfills.map(({ src }) => insertScript(src)));
|
|
9630
|
-
};
|
|
9631
|
-
const LOADER_MAP = {
|
|
9632
|
-
js: insertScripts,
|
|
9633
|
-
css: insertStyles
|
|
9634
|
-
};
|
|
9635
|
-
const fetchDependencies = (dependencies) => {
|
|
9636
|
-
const promises = Object.entries(dependencies).map(([type, src]) => {
|
|
9637
|
-
return LOADER_MAP[type](src);
|
|
9638
|
-
});
|
|
9639
|
-
return Promise.all(promises);
|
|
9640
|
-
};
|
|
9641
|
-
const isCssLoaded = () => {
|
|
9642
|
-
const formeoSprite = document.getElementById(formeoSpriteId);
|
|
9643
|
-
const computedStyle = window.getComputedStyle(formeoSprite);
|
|
9644
|
-
return computedStyle.visibility === "hidden";
|
|
9645
|
-
};
|
|
9646
|
-
const fetchFormeoStyle = async (cssUrl) => {
|
|
9647
|
-
if (!isCssLoaded()) {
|
|
9648
|
-
await insertStyle(cssUrl);
|
|
9649
|
-
if (!isCssLoaded()) {
|
|
9650
|
-
return await insertStyle(FALLBACK_CSS_URL);
|
|
9651
|
-
}
|
|
9652
|
-
}
|
|
9653
|
-
};
|
|
9654
9626
|
class Control {
|
|
9655
9627
|
controlCache = /* @__PURE__ */ new Set();
|
|
9656
9628
|
/**
|
|
@@ -9719,9 +9691,9 @@ class Control {
|
|
|
9719
9691
|
* @return {String} the translated label
|
|
9720
9692
|
*/
|
|
9721
9693
|
i18n(lookup, args) {
|
|
9722
|
-
const
|
|
9694
|
+
const locale2 = mi18n.locale;
|
|
9723
9695
|
const controlTranslations = this.definition?.i18n;
|
|
9724
|
-
const localeTranslations = controlTranslations?.[
|
|
9696
|
+
const localeTranslations = controlTranslations?.[locale2] || {};
|
|
9725
9697
|
return (localeTranslations[lookup]?.() ?? localeTranslations[lookup]) || mi18n.get(lookup, args);
|
|
9726
9698
|
}
|
|
9727
9699
|
}
|
|
@@ -9972,12 +9944,12 @@ let Controls$1 = class Controls {
|
|
|
9972
9944
|
// @todo finish the addGroup method
|
|
9973
9945
|
addGroup: (group) => console.log(group)
|
|
9974
9946
|
};
|
|
9975
|
-
for (let
|
|
9976
|
-
const storeID = `formeo-controls-${groups[
|
|
9947
|
+
for (let i2 = groups.length - 1; i2 >= 0; i2--) {
|
|
9948
|
+
const storeID = `formeo-controls-${groups[i2]}`;
|
|
9977
9949
|
if (!this.options.sortable) {
|
|
9978
9950
|
window.localStorage.removeItem(storeID);
|
|
9979
9951
|
}
|
|
9980
|
-
Sortable.create(groups[
|
|
9952
|
+
Sortable.create(groups[i2], {
|
|
9981
9953
|
animation: 150,
|
|
9982
9954
|
forceFallback: true,
|
|
9983
9955
|
fallbackClass: "control-moving",
|
|
@@ -10698,8 +10670,10 @@ const actions = {
|
|
|
10698
10670
|
}
|
|
10699
10671
|
}
|
|
10700
10672
|
};
|
|
10701
|
-
const
|
|
10702
|
-
|
|
10673
|
+
const e = { "en-US": { "en-US": "English", dir: "ltr", "af-ZA": "Afrikaans (South Africa)", "ar-TN": "Arabic (Tunisia)", "cs-CZ": "Czech (Czechia)", "de-DE": "German (Germany)", "es-ES": "European Spanish", "fa-IR": "Persian (Iran)", "fi-FI": "Finnish (Finland)", "fr-FR": "French (France)", "hu-HU": "Hungarian (Hungary)", "it-IT": "Italian (Italy)", "ja-JP": "Japanese (Japan)", "nb-NO": "Norwegian Bokmål (Norway)", "pl-PL": "Polish (Poland)", "pt-BR": "Brazilian Portuguese", "pt-PT": "European Portuguese", "ro-RO": "Romanian (Romania)", "ru-RU": "Russian (Russia)", "th-TH": "Thai (Thailand)", "tr-TR": "Turkish (Türkiye)", "zh-CN": "Chinese (China)", "zh-HK": "Chinese (Hong Kong SAR China)", "action.add.attrs.attr": "What attribute would you like to add?", "action.add.attrs.value": "Default Value", addOption: "Add Option", allFieldsRemoved: "All fields were removed.", allowSelect: "Allow Select", and: "and", attribute: "Attribute", attributeNotPermitted: 'Attribute "{attribute}" is not permitted, please choose another.', attributes: "Attributes", "attrs.class": "Class", "attrs.className": "Class", "attrs.dir": "Direction", "attrs.id": "Id", "attrs.required": "Required", "attrs.style": "Style", "attrs.title": "Title", "attrs.type": "Type", "attrs.value": "Value", autocomplete: "Autocomplete", button: "Button", cannotBeEmpty: "This field cannot be empty", cannotClearFields: "There are no fields to clear", checkbox: "Checkbox", checkboxes: "Checkboxes", class: "Class", clear: "Clear", clearAllMessage: "Are you sure you want to clear all fields?", close: "Close", column: "Column", "condition.target.placeholder": "target", "condition.type.and": "And", "condition.type.if": "If", "condition.type.or": "Or", "condition.type.then": "Then", "condition.value.placeholder": "value", confirmClearAll: "Are you sure you want to remove all fields?", content: "Content", control: "Control", "controlGroups.nextGroup": "Next Group", "controlGroups.prevGroup": "Previous Group", "controls.filteringTerm": 'Filtering "{term}"', "controls.form.button": "Button", "controls.form.checkbox-group": "Checkbox Group", "controls.form.input.date": "Date", "controls.form.input.email": "Email", "controls.form.input.file": "File Upload", "controls.form.input.hidden": "Hidden Input", "controls.form.input.number": "Number", "controls.form.input.text": "Text Input", "controls.form.radio-group": "Radio Group", "controls.form.select": "Select", "controls.form.textarea": "TextArea", "controls.groups.form": "Form Fields", "controls.groups.html": "HTML Elements", "controls.groups.layout": "Layout", "controls.html.divider": "Divider", "controls.html.header": "Header", "controls.html.paragraph": "Paragraph", "controls.layout.column": "Column", "controls.layout.row": "Row", copy: "Copy To Clipboard", danger: "Danger", defineColumnLayout: "Define a column layout", defineColumnWidths: "Define column widths", description: "Help Text", descriptionField: "Description", "editing.row": "Editing Row", editorTitle: "Form Elements", field: "Field", "field.property.invalid": "not valid", "field.property.isChecked": "is checked", "field.property.isNotVisible": "is not visible", "field.property.isVisible": "is visible", "field.property.label": "label", "field.property.valid": "valid", "field.property.value": "value", fieldNonEditable: "This field cannot be edited.", fieldRemoveWarning: "Are you sure you want to remove this field?", fileUpload: "File Upload", formUpdated: "Form Updated", getStarted: "Drag a field from the right to get started.", group: "Group", grouped: "Grouped", hidden: "Hidden Input", hide: "Edit", htmlElements: "HTML Elements", if: "If", "if.condition.source.placeholder": "source", "if.condition.target.placeholder": "target / value", info: "Info", "input.date": "Date", "input.text": "Text", label: "Label", labelCount: "{label} {count}", labelEmpty: "Field Label cannot be empty", "lang.af": "Afrikaans", "lang.ar": "Arabic", "lang.cs": "Czech", "lang.de": "German", "lang.en": "English", "lang.es": "Spanish", "lang.fa": "Persian", "lang.fi": "Finnish", "lang.fr": "French", "lang.hu": "Hungarian", "lang.it": "Italian", "lang.ja": "Japanese", "lang.nb": "Norwegian Bokmål", "lang.pl": "Polish", "lang.pt": "Portuguese", "lang.ro": "Romanian", "lang.ru": "Russian", "lang.th": "Thai", "lang.tr": "Turkish", "lang.zh": "Chinese", layout: "Layout", limitRole: "Limit access to one or more of the following roles:", mandatory: "Mandatory", maxlength: "Max Length", "meta.group": "Group", "meta.icon": "Ico", "meta.label": "Label", minOptionMessage: "This field requires a minimum of 2 options", name: "Name", newOptionLabel: "New {type}", no: "No", number: "Number", off: "Off", on: "On", "operator.contains": "contains", "operator.equals": "equals", "operator.notContains": "not contains", "operator.notEquals": "not equal", "operator.notVisible": "not visible", "operator.visible": "visible", option: "Option", optional: "optional", optionEmpty: "Option value required", optionLabel: "Option {count}", options: "Options", or: "or", order: "Order", "panel.label.attrs": "Attributes", "panel.label.conditions": "Conditions", "panel.label.config": "Configuration", "panel.label.meta": "Meta", "panel.label.options": "Options", "panelEditButtons.attrs": "+ Attribute", "panelEditButtons.conditions": "+ Condition", "panelEditButtons.options": "+ Option", placeholder: "Placeholder", "placeholder.className": "space separated classes", "placeholder.email": "Enter you email", "placeholder.label": "Label", "placeholder.password": "Enter your password", "placeholder.placeholder": "Placeholder", "placeholder.text": "Enter some Text", "placeholder.textarea": "Enter a lot of text", "placeholder.value": "Value", preview: "Preview", primary: "Primary", remove: "Remove", removeMessage: "Remove Element", removeType: "Remove {type}", required: "Required", reset: "Reset", richText: "Rich Text Editor", roles: "Access", row: "Row", "row.makeInputGroup": "Make this row an input group.", "row.makeInputGroupDesc": "Input Groups enable users to add sets of inputs at a time.", "row.settings.fieldsetWrap": "Wrap row in a <fieldset> tag", "row.settings.fieldsetWrap.aria": "Wrap Row in Fieldset", save: "Save", secondary: "Secondary", select: "Select", selectColor: "Select Color", selectionsMessage: "Allow Multiple Selections", selectOptions: "Options", separator: "Separator", settings: "Settings", size: "Size", sizes: "Sizes", "sizes.lg": "Large", "sizes.m": "Default", "sizes.sm": "Small", "sizes.xs": "Extra Small", style: "Style", styles: "Styles", "styles.btn": "Button Style", "styles.btn.danger": "Danger", "styles.btn.default": "Default", "styles.btn.info": "Info", "styles.btn.primary": "Primary", "styles.btn.success": "Success", "styles.btn.warning": "Warning", subtype: "Type", success: "Success", text: "Text Field", then: "Then", "then.condition.target.placeholder": "target", toggle: "Toggle", ungrouped: "Un-Grouped", warning: "Warning", yes: "Yes" } }, i = e["en-US"];
|
|
10674
|
+
const locale = "en-US";
|
|
10675
|
+
mi18n.addLanguage(locale, i);
|
|
10676
|
+
mi18n.setCurrent(locale);
|
|
10703
10677
|
const defaults = {
|
|
10704
10678
|
get editor() {
|
|
10705
10679
|
return {
|
|
@@ -10710,8 +10684,8 @@ const defaults = {
|
|
|
10710
10684
|
sessionStorage: false,
|
|
10711
10685
|
editorContainer: null,
|
|
10712
10686
|
// element or selector to attach editor to
|
|
10713
|
-
svgSprite:
|
|
10714
|
-
//
|
|
10687
|
+
svgSprite: null,
|
|
10688
|
+
// null = use bundled sprite, or provide custom URL
|
|
10715
10689
|
style: CSS_URL,
|
|
10716
10690
|
// change to null
|
|
10717
10691
|
iconFont: null,
|
|
@@ -10721,8 +10695,6 @@ const defaults = {
|
|
|
10721
10695
|
events: {},
|
|
10722
10696
|
actions: {},
|
|
10723
10697
|
controls: {},
|
|
10724
|
-
polyfills: isIE(),
|
|
10725
|
-
// loads csspreloadrel
|
|
10726
10698
|
i18n: {
|
|
10727
10699
|
location: "https://draggable.github.io/formeo/assets/lang/"
|
|
10728
10700
|
},
|
|
@@ -10731,6 +10703,7 @@ const defaults = {
|
|
|
10731
10703
|
};
|
|
10732
10704
|
}
|
|
10733
10705
|
};
|
|
10706
|
+
new SmartTooltip();
|
|
10734
10707
|
let FormeoEditor$1 = class FormeoEditor {
|
|
10735
10708
|
/**
|
|
10736
10709
|
* @param {Object} options formeo options
|
|
@@ -10751,7 +10724,6 @@ let FormeoEditor$1 = class FormeoEditor {
|
|
|
10751
10724
|
this.dom = dom;
|
|
10752
10725
|
events.init({ debug, ...events$1 });
|
|
10753
10726
|
actions.init({ debug, sessionStorage: opts.sessionStorage, ...actions$1 });
|
|
10754
|
-
this.tooltip = new SmartTooltip();
|
|
10755
10727
|
if (document.readyState === "loading") {
|
|
10756
10728
|
document.addEventListener("DOMContentLoaded", this.loadResources.bind(this));
|
|
10757
10729
|
} else {
|
|
@@ -10787,17 +10759,15 @@ let FormeoEditor$1 = class FormeoEditor {
|
|
|
10787
10759
|
async loadResources() {
|
|
10788
10760
|
document.removeEventListener("DOMContentLoaded", this.loadResources);
|
|
10789
10761
|
const promises = [];
|
|
10790
|
-
|
|
10791
|
-
|
|
10792
|
-
|
|
10793
|
-
|
|
10794
|
-
|
|
10795
|
-
|
|
10796
|
-
const resolvedPromises = await Promise.all(promises);
|
|
10762
|
+
promises.push(
|
|
10763
|
+
fetchIcons(this.opts.svgSprite),
|
|
10764
|
+
fetchFormeoStyle(this.opts.style),
|
|
10765
|
+
mi18n.init({ ...this.opts.i18n, locale: globalThis.sessionStorage?.getItem(SESSION_LOCALE_KEY) })
|
|
10766
|
+
);
|
|
10767
|
+
await Promise.all(promises);
|
|
10797
10768
|
if (this.opts.allowEdit) {
|
|
10798
10769
|
this.init();
|
|
10799
10770
|
}
|
|
10800
|
-
return resolvedPromises;
|
|
10801
10771
|
}
|
|
10802
10772
|
/**
|
|
10803
10773
|
* Formeo initializer
|
|
@@ -10857,7 +10827,7 @@ let FormeoEditor$1 = class FormeoEditor {
|
|
|
10857
10827
|
dom.empty(this.editorContainer);
|
|
10858
10828
|
this.editorContainer.appendChild(this.editor);
|
|
10859
10829
|
}
|
|
10860
|
-
events.formeoLoaded = new
|
|
10830
|
+
events.formeoLoaded = new globalThis.CustomEvent("formeoLoaded", {
|
|
10861
10831
|
detail: {
|
|
10862
10832
|
formeo: this
|
|
10863
10833
|
}
|
|
@@ -11113,8 +11083,8 @@ let FormeoRenderer$1 = class FormeoRenderer {
|
|
|
11113
11083
|
},
|
|
11114
11084
|
children: "Add +",
|
|
11115
11085
|
action: {
|
|
11116
|
-
click: (
|
|
11117
|
-
const fInputGroup =
|
|
11086
|
+
click: (e2) => {
|
|
11087
|
+
const fInputGroup = e2.target.parentElement;
|
|
11118
11088
|
const elem = dom.create(this.cloneComponentData(id));
|
|
11119
11089
|
fInputGroup.insertBefore(elem, fInputGroup.lastChild);
|
|
11120
11090
|
const removeButton = dom.create(createRemoveButton());
|
|
@@ -11347,15 +11317,15 @@ class ButtonControl extends Control {
|
|
|
11347
11317
|
super(mergedConfig);
|
|
11348
11318
|
}
|
|
11349
11319
|
}
|
|
11350
|
-
const generateOptionConfig = ({ type, isMultiple = false, count = 3 }) => Array.from({ length: count }, (_v, k) => k + 1).map((
|
|
11320
|
+
const generateOptionConfig = ({ type, isMultiple = false, count = 3 }) => Array.from({ length: count }, (_v, k) => k + 1).map((i2) => {
|
|
11351
11321
|
const selectedKey = type === "checkbox" || isMultiple ? "checked" : "selected";
|
|
11352
11322
|
return {
|
|
11353
11323
|
label: mi18n.get("labelCount", {
|
|
11354
11324
|
label: toTitleCase(type),
|
|
11355
|
-
count:
|
|
11325
|
+
count: i2
|
|
11356
11326
|
}),
|
|
11357
|
-
value: `${type}-${
|
|
11358
|
-
[selectedKey]: !
|
|
11327
|
+
value: `${type}-${i2}`,
|
|
11328
|
+
[selectedKey]: !i2
|
|
11359
11329
|
};
|
|
11360
11330
|
});
|
|
11361
11331
|
class CheckboxGroupControl extends Control {
|