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
package/dist/formeo.es.js
CHANGED
|
@@ -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
|
|
|
@@ -49,8 +49,8 @@ class I18N {
|
|
|
49
49
|
this.config = { location: parsedLocation, ...restOptions };
|
|
50
50
|
const { override, preloaded = {} } = this.config;
|
|
51
51
|
const allLangs = Object.entries(this.langs).concat(Object.entries(override || preloaded));
|
|
52
|
-
this.langs = allLangs.reduce((acc, [
|
|
53
|
-
acc[
|
|
52
|
+
this.langs = allLangs.reduce((acc, [locale2, lang]) => {
|
|
53
|
+
acc[locale2] = this.applyLanguage(locale2, lang);
|
|
54
54
|
return acc;
|
|
55
55
|
}, {});
|
|
56
56
|
this.locale = this.config.locale || this.config.langs[0];
|
|
@@ -69,9 +69,9 @@ class I18N {
|
|
|
69
69
|
* @param {String} locale
|
|
70
70
|
* @param {String|Object} lang
|
|
71
71
|
*/
|
|
72
|
-
addLanguage(
|
|
72
|
+
addLanguage(locale2, lang = {}) {
|
|
73
73
|
lang = typeof lang === "string" ? I18N.processFile(lang) : lang;
|
|
74
|
-
this.applyLanguage(
|
|
74
|
+
this.applyLanguage(locale2, lang);
|
|
75
75
|
this.config.langs.push("locale");
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
@@ -80,9 +80,9 @@ class I18N {
|
|
|
80
80
|
* @param {String} locale - locale to check for value
|
|
81
81
|
* @return {String} language string or undefined
|
|
82
82
|
*/
|
|
83
|
-
getValue(key,
|
|
83
|
+
getValue(key, locale2 = this.locale) {
|
|
84
84
|
var _a;
|
|
85
|
-
const value = (_a = this.langs[
|
|
85
|
+
const value = (_a = this.langs[locale2]) == null ? void 0 : _a[key];
|
|
86
86
|
return value || this.getFallbackValue(key);
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
@@ -159,9 +159,9 @@ class I18N {
|
|
|
159
159
|
static fromFile(rawText) {
|
|
160
160
|
const lines = rawText.split("\n");
|
|
161
161
|
const lang = {};
|
|
162
|
-
for (let matches2,
|
|
162
|
+
for (let matches2, i2 = 0; i2 < lines.length; i2++) {
|
|
163
163
|
const regex = /^(.+?) *?= *?([^\n]+)/;
|
|
164
|
-
matches2 = regex.exec(lines[
|
|
164
|
+
matches2 = regex.exec(lines[i2]);
|
|
165
165
|
if (matches2) {
|
|
166
166
|
lang[matches2[1]] = matches2[2].replace(/(^\s+|\s+$)/g, "");
|
|
167
167
|
}
|
|
@@ -174,22 +174,22 @@ class I18N {
|
|
|
174
174
|
* @param {Boolean} useCache
|
|
175
175
|
* @return {Promise} resolves response
|
|
176
176
|
*/
|
|
177
|
-
loadLang(
|
|
177
|
+
loadLang(locale2, useCache = true) {
|
|
178
178
|
const _this = this;
|
|
179
179
|
return new Promise(function(resolve, reject) {
|
|
180
|
-
if (_this.loaded.indexOf(
|
|
181
|
-
_this.applyLanguage(_this.langs[
|
|
182
|
-
return resolve(_this.langs[
|
|
180
|
+
if (_this.loaded.indexOf(locale2) !== -1 && useCache) {
|
|
181
|
+
_this.applyLanguage(_this.langs[locale2]);
|
|
182
|
+
return resolve(_this.langs[locale2]);
|
|
183
183
|
} else {
|
|
184
|
-
const langFile = [_this.config.location,
|
|
184
|
+
const langFile = [_this.config.location, locale2, _this.config.extension].join("");
|
|
185
185
|
return fetchData(langFile).then((lang) => {
|
|
186
186
|
const processedFile = I18N.processFile(lang);
|
|
187
|
-
_this.applyLanguage(
|
|
188
|
-
_this.loaded.push(
|
|
189
|
-
return resolve(_this.langs[
|
|
187
|
+
_this.applyLanguage(locale2, processedFile);
|
|
188
|
+
_this.loaded.push(locale2);
|
|
189
|
+
return resolve(_this.langs[locale2]);
|
|
190
190
|
}).catch((err) => {
|
|
191
191
|
console.error(err);
|
|
192
|
-
const lang = _this.applyLanguage(
|
|
192
|
+
const lang = _this.applyLanguage(locale2);
|
|
193
193
|
resolve(lang);
|
|
194
194
|
});
|
|
195
195
|
}
|
|
@@ -201,11 +201,11 @@ class I18N {
|
|
|
201
201
|
* @param {Object} lang
|
|
202
202
|
* @return {Object} overriden language
|
|
203
203
|
*/
|
|
204
|
-
applyLanguage(
|
|
205
|
-
const override = this.config.override[
|
|
206
|
-
const existingLang = this.langs[
|
|
207
|
-
this.langs[
|
|
208
|
-
return this.langs[
|
|
204
|
+
applyLanguage(locale2, lang = {}) {
|
|
205
|
+
const override = this.config.override[locale2] || {};
|
|
206
|
+
const existingLang = this.langs[locale2] || {};
|
|
207
|
+
this.langs[locale2] = { ...existingLang, ...lang, ...override };
|
|
208
|
+
return this.langs[locale2];
|
|
209
209
|
}
|
|
210
210
|
/**
|
|
211
211
|
* return currently available languages
|
|
@@ -219,10 +219,10 @@ class I18N {
|
|
|
219
219
|
* @param {String} locale
|
|
220
220
|
* @return {Promise} language
|
|
221
221
|
*/
|
|
222
|
-
async setCurrent(
|
|
223
|
-
await this.loadLang(
|
|
224
|
-
this.locale =
|
|
225
|
-
this.current = this.langs[
|
|
222
|
+
async setCurrent(locale2 = "en-US") {
|
|
223
|
+
await this.loadLang(locale2);
|
|
224
|
+
this.locale = locale2;
|
|
225
|
+
this.current = this.langs[locale2];
|
|
226
226
|
return this.current;
|
|
227
227
|
}
|
|
228
228
|
}
|
|
@@ -255,9 +255,9 @@ class SmartTooltip {
|
|
|
255
255
|
__publicField(this, "tooltip");
|
|
256
256
|
__publicField(this, "activeTriggerType", null);
|
|
257
257
|
__publicField(this, "spacing", 12);
|
|
258
|
-
__publicField(this, "handleClick", (
|
|
258
|
+
__publicField(this, "handleClick", (e2) => {
|
|
259
259
|
const triggerName = this.triggerName;
|
|
260
|
-
const trigger =
|
|
260
|
+
const trigger = e2.target.closest(`[${triggerName}][${triggerName}-type="click"]`);
|
|
261
261
|
if (trigger) {
|
|
262
262
|
if (this.isVisible()) {
|
|
263
263
|
this.hide();
|
|
@@ -270,9 +270,9 @@ class SmartTooltip {
|
|
|
270
270
|
this.hide();
|
|
271
271
|
}
|
|
272
272
|
});
|
|
273
|
-
__publicField(this, "handleMouseOver", (
|
|
273
|
+
__publicField(this, "handleMouseOver", (e2) => {
|
|
274
274
|
const triggerName = this.triggerName;
|
|
275
|
-
const trigger =
|
|
275
|
+
const trigger = e2.target.closest(`[${triggerName}]`);
|
|
276
276
|
if (this.activeTriggerType !== "click" && (trigger == null ? void 0 : trigger.getAttribute(`${triggerName}-type`)) !== "click") {
|
|
277
277
|
const content = trigger == null ? void 0 : trigger.getAttribute(`${triggerName}`);
|
|
278
278
|
if (content) {
|
|
@@ -281,9 +281,9 @@ class SmartTooltip {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
});
|
|
284
|
-
__publicField(this, "handleMouseOut", (
|
|
284
|
+
__publicField(this, "handleMouseOut", (e2) => {
|
|
285
285
|
const triggerName = this.triggerName;
|
|
286
|
-
const trigger =
|
|
286
|
+
const trigger = e2.target.closest(`[${triggerName}]`);
|
|
287
287
|
if (this.activeTriggerType !== "click" && (trigger == null ? void 0 : trigger.getAttribute(`${triggerName}-type`)) !== "click") {
|
|
288
288
|
this.hide();
|
|
289
289
|
}
|
|
@@ -431,7 +431,7 @@ if (window !== void 0) {
|
|
|
431
431
|
window.SmartTooltip = SmartTooltip;
|
|
432
432
|
}
|
|
433
433
|
const name$1 = "formeo";
|
|
434
|
-
const version$2 = "4.1
|
|
434
|
+
const version$2 = "4.2.1";
|
|
435
435
|
const pkg = {
|
|
436
436
|
name: name$1,
|
|
437
437
|
version: version$2
|
|
@@ -665,7 +665,7 @@ function require_getRawTag() {
|
|
|
665
665
|
try {
|
|
666
666
|
value[symToStringTag] = void 0;
|
|
667
667
|
var unmasked = true;
|
|
668
|
-
} catch (
|
|
668
|
+
} catch (e2) {
|
|
669
669
|
}
|
|
670
670
|
var result = nativeObjectToString.call(value);
|
|
671
671
|
if (unmasked) {
|
|
@@ -776,11 +776,11 @@ function require_toSource() {
|
|
|
776
776
|
if (func != null) {
|
|
777
777
|
try {
|
|
778
778
|
return funcToString.call(func);
|
|
779
|
-
} catch (
|
|
779
|
+
} catch (e2) {
|
|
780
780
|
}
|
|
781
781
|
try {
|
|
782
782
|
return func + "";
|
|
783
|
-
} catch (
|
|
783
|
+
} catch (e2) {
|
|
784
784
|
}
|
|
785
785
|
}
|
|
786
786
|
return "";
|
|
@@ -1126,7 +1126,7 @@ function require_defineProperty() {
|
|
|
1126
1126
|
var func = getNative(Object, "defineProperty");
|
|
1127
1127
|
func({}, "", {});
|
|
1128
1128
|
return func;
|
|
1129
|
-
} catch (
|
|
1129
|
+
} catch (e2) {
|
|
1130
1130
|
}
|
|
1131
1131
|
})();
|
|
1132
1132
|
_defineProperty$1 = defineProperty;
|
|
@@ -1537,7 +1537,7 @@ function require_nodeUtil() {
|
|
|
1537
1537
|
return types;
|
|
1538
1538
|
}
|
|
1539
1539
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
1540
|
-
} catch (
|
|
1540
|
+
} catch (e2) {
|
|
1541
1541
|
}
|
|
1542
1542
|
})();
|
|
1543
1543
|
module.exports = nodeUtil;
|
|
@@ -2070,8 +2070,8 @@ const clone$1 = (obj) => {
|
|
|
2070
2070
|
}
|
|
2071
2071
|
if (Array.isArray(obj)) {
|
|
2072
2072
|
copy = [];
|
|
2073
|
-
for (let
|
|
2074
|
-
copy[
|
|
2073
|
+
for (let i2 = 0, len = obj.length; i2 < len; i2++) {
|
|
2074
|
+
copy[i2] = clone$1(obj[i2]);
|
|
2075
2075
|
}
|
|
2076
2076
|
return copy;
|
|
2077
2077
|
}
|
|
@@ -2143,8 +2143,8 @@ function parseData(data = /* @__PURE__ */ Object.create(null)) {
|
|
|
2143
2143
|
if (typeof data === "string") {
|
|
2144
2144
|
try {
|
|
2145
2145
|
return JSON.parse(data);
|
|
2146
|
-
} catch (
|
|
2147
|
-
console.error("Invalid JSON string provided:",
|
|
2146
|
+
} catch (e2) {
|
|
2147
|
+
console.error("Invalid JSON string provided:", e2);
|
|
2148
2148
|
return /* @__PURE__ */ Object.create(null);
|
|
2149
2149
|
}
|
|
2150
2150
|
}
|
|
@@ -2166,20 +2166,13 @@ function buildFlatDataStructure(data, componentId, componentType2, result = {})
|
|
|
2166
2166
|
}
|
|
2167
2167
|
return result;
|
|
2168
2168
|
}
|
|
2169
|
+
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>';
|
|
2169
2170
|
const name = pkg.name;
|
|
2170
2171
|
const version$1 = pkg.version;
|
|
2171
2172
|
const PACKAGE_NAME = name;
|
|
2172
2173
|
const formeoSpriteId = "formeo-sprite";
|
|
2173
|
-
const
|
|
2174
|
-
|
|
2175
|
-
{ name: "mutationObserver", src: "//cdn.jsdelivr.net/npm/mutationobserver-shim/dist/mutationobserver.min.js" },
|
|
2176
|
-
{ name: "fetch", src: "https://unpkg.com/unfetch/polyfill" }
|
|
2177
|
-
];
|
|
2178
|
-
const relativeSpritePath = `../../lib/icons/${formeoSpriteId}.svg`;
|
|
2179
|
-
const localSpriteUrl = typeof import.meta.resolve === "function" ? import.meta.resolve(relativeSpritePath) : relativeSpritePath;
|
|
2180
|
-
const isDev = typeof process !== "undefined" && process.env?.NODE_ENV === "development" || false;
|
|
2181
|
-
const SVG_SPRITE_URL = isDev ? localSpriteUrl : `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/${formeoSpriteId}.svg`;
|
|
2182
|
-
const FALLBACK_SVG_SPRITE_URL = `https://draggable.github.io/formeo/assets/img/${formeoSpriteId}.svg`;
|
|
2174
|
+
const SVG_SPRITE_URL = null;
|
|
2175
|
+
const FALLBACK_SVG_SPRITE_URL = `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/${formeoSpriteId}.svg`;
|
|
2183
2176
|
const CSS_URL = `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/formeo.min.css`;
|
|
2184
2177
|
const FALLBACK_CSS_URL = "https://draggable.github.io/formeo/assets/css/formeo.min.css";
|
|
2185
2178
|
const PANEL_CLASSNAME = "f-panel";
|
|
@@ -3462,9 +3455,9 @@ function ownKeys(object, enumerableOnly) {
|
|
|
3462
3455
|
return keys;
|
|
3463
3456
|
}
|
|
3464
3457
|
function _objectSpread2(target) {
|
|
3465
|
-
for (var
|
|
3466
|
-
var source = arguments[
|
|
3467
|
-
if (
|
|
3458
|
+
for (var i2 = 1; i2 < arguments.length; i2++) {
|
|
3459
|
+
var source = arguments[i2] != null ? arguments[i2] : {};
|
|
3460
|
+
if (i2 % 2) {
|
|
3468
3461
|
ownKeys(Object(source), true).forEach(function(key) {
|
|
3469
3462
|
_defineProperty(target, key, source[key]);
|
|
3470
3463
|
});
|
|
@@ -3506,8 +3499,8 @@ function _defineProperty(obj, key, value) {
|
|
|
3506
3499
|
}
|
|
3507
3500
|
function _extends() {
|
|
3508
3501
|
_extends = Object.assign || function(target) {
|
|
3509
|
-
for (var
|
|
3510
|
-
var source = arguments[
|
|
3502
|
+
for (var i2 = 1; i2 < arguments.length; i2++) {
|
|
3503
|
+
var source = arguments[i2];
|
|
3511
3504
|
for (var key in source) {
|
|
3512
3505
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
3513
3506
|
target[key] = source[key];
|
|
@@ -3522,9 +3515,9 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
3522
3515
|
if (source == null) return {};
|
|
3523
3516
|
var target = {};
|
|
3524
3517
|
var sourceKeys = Object.keys(source);
|
|
3525
|
-
var key,
|
|
3526
|
-
for (
|
|
3527
|
-
key = sourceKeys[
|
|
3518
|
+
var key, i2;
|
|
3519
|
+
for (i2 = 0; i2 < sourceKeys.length; i2++) {
|
|
3520
|
+
key = sourceKeys[i2];
|
|
3528
3521
|
if (excluded.indexOf(key) >= 0) continue;
|
|
3529
3522
|
target[key] = source[key];
|
|
3530
3523
|
}
|
|
@@ -3533,11 +3526,11 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
3533
3526
|
function _objectWithoutProperties(source, excluded) {
|
|
3534
3527
|
if (source == null) return {};
|
|
3535
3528
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
3536
|
-
var key,
|
|
3529
|
+
var key, i2;
|
|
3537
3530
|
if (Object.getOwnPropertySymbols) {
|
|
3538
3531
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
3539
|
-
for (
|
|
3540
|
-
key = sourceSymbolKeys[
|
|
3532
|
+
for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) {
|
|
3533
|
+
key = sourceSymbolKeys[i2];
|
|
3541
3534
|
if (excluded.indexOf(key) >= 0) continue;
|
|
3542
3535
|
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
3543
3536
|
target[key] = source[key];
|
|
@@ -3646,10 +3639,10 @@ function matrix(el, selfOnly) {
|
|
|
3646
3639
|
}
|
|
3647
3640
|
function find(ctx, tagName, iterator) {
|
|
3648
3641
|
if (ctx) {
|
|
3649
|
-
var list = ctx.getElementsByTagName(tagName),
|
|
3642
|
+
var list = ctx.getElementsByTagName(tagName), i2 = 0, n = list.length;
|
|
3650
3643
|
if (iterator) {
|
|
3651
|
-
for (;
|
|
3652
|
-
iterator(list[
|
|
3644
|
+
for (; i2 < n; i2++) {
|
|
3645
|
+
iterator(list[i2], i2);
|
|
3653
3646
|
}
|
|
3654
3647
|
}
|
|
3655
3648
|
return list;
|
|
@@ -3732,15 +3725,15 @@ function isScrolledPast(el, elSide, parentSide) {
|
|
|
3732
3725
|
return false;
|
|
3733
3726
|
}
|
|
3734
3727
|
function getChild(el, childNum, options, includeDragEl) {
|
|
3735
|
-
var currentChild = 0,
|
|
3736
|
-
while (
|
|
3737
|
-
if (children[
|
|
3728
|
+
var currentChild = 0, i2 = 0, children = el.children;
|
|
3729
|
+
while (i2 < children.length) {
|
|
3730
|
+
if (children[i2].style.display !== "none" && children[i2] !== Sortable.ghost && (includeDragEl || children[i2] !== Sortable.dragged) && closest(children[i2], options.draggable, el, false)) {
|
|
3738
3731
|
if (currentChild === childNum) {
|
|
3739
|
-
return children[
|
|
3732
|
+
return children[i2];
|
|
3740
3733
|
}
|
|
3741
3734
|
currentChild++;
|
|
3742
3735
|
}
|
|
3743
|
-
|
|
3736
|
+
i2++;
|
|
3744
3737
|
}
|
|
3745
3738
|
return null;
|
|
3746
3739
|
}
|
|
@@ -3775,10 +3768,10 @@ function getRelativeScrollOffset(el) {
|
|
|
3775
3768
|
return [offsetLeft, offsetTop];
|
|
3776
3769
|
}
|
|
3777
3770
|
function indexOfObject(arr, obj) {
|
|
3778
|
-
for (var
|
|
3779
|
-
if (!arr.hasOwnProperty(
|
|
3771
|
+
for (var i2 in arr) {
|
|
3772
|
+
if (!arr.hasOwnProperty(i2)) continue;
|
|
3780
3773
|
for (var key in obj) {
|
|
3781
|
-
if (obj.hasOwnProperty(key) && obj[key] === arr[
|
|
3774
|
+
if (obj.hasOwnProperty(key) && obj[key] === arr[i2][key]) return Number(i2);
|
|
3782
3775
|
}
|
|
3783
3776
|
}
|
|
3784
3777
|
return -1;
|
|
@@ -4231,9 +4224,9 @@ var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent2(evt)
|
|
|
4231
4224
|
var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
|
|
4232
4225
|
if (nearest) {
|
|
4233
4226
|
var event = {};
|
|
4234
|
-
for (var
|
|
4235
|
-
if (evt.hasOwnProperty(
|
|
4236
|
-
event[
|
|
4227
|
+
for (var i2 in evt) {
|
|
4228
|
+
if (evt.hasOwnProperty(i2)) {
|
|
4229
|
+
event[i2] = evt[i2];
|
|
4237
4230
|
}
|
|
4238
4231
|
}
|
|
4239
4232
|
event.target = event.rootEl = nearest;
|
|
@@ -4482,8 +4475,8 @@ Sortable.prototype = /** @lends Sortable.prototype */
|
|
|
4482
4475
|
}
|
|
4483
4476
|
}
|
|
4484
4477
|
},
|
|
4485
|
-
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(
|
|
4486
|
-
var touch =
|
|
4478
|
+
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(e2) {
|
|
4479
|
+
var touch = e2.touches ? e2.touches[0] : e2;
|
|
4487
4480
|
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))) {
|
|
4488
4481
|
this._disableDelayedDrag();
|
|
4489
4482
|
}
|
|
@@ -5084,9 +5077,9 @@ Sortable.prototype = /** @lends Sortable.prototype */
|
|
|
5084
5077
|
* @returns {String[]}
|
|
5085
5078
|
*/
|
|
5086
5079
|
toArray: function toArray() {
|
|
5087
|
-
var order = [], el, children = this.el.children,
|
|
5088
|
-
for (;
|
|
5089
|
-
el = children[
|
|
5080
|
+
var order = [], el, children = this.el.children, i2 = 0, n = children.length, options = this.options;
|
|
5081
|
+
for (; i2 < n; i2++) {
|
|
5082
|
+
el = children[i2];
|
|
5090
5083
|
if (closest(el, options.draggable, this.el, false)) {
|
|
5091
5084
|
order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
|
|
5092
5085
|
}
|
|
@@ -5099,8 +5092,8 @@ Sortable.prototype = /** @lends Sortable.prototype */
|
|
|
5099
5092
|
*/
|
|
5100
5093
|
sort: function sort(order, useAnimation) {
|
|
5101
5094
|
var items = {}, rootEl2 = this.el;
|
|
5102
|
-
this.toArray().forEach(function(id,
|
|
5103
|
-
var el = rootEl2.children[
|
|
5095
|
+
this.toArray().forEach(function(id, i2) {
|
|
5096
|
+
var el = rootEl2.children[i2];
|
|
5104
5097
|
if (closest(el, this.options.draggable, rootEl2, false)) {
|
|
5105
5098
|
items[id] = el;
|
|
5106
5099
|
}
|
|
@@ -5293,9 +5286,9 @@ function _getInsertDirection(target) {
|
|
|
5293
5286
|
}
|
|
5294
5287
|
}
|
|
5295
5288
|
function _generateId(el) {
|
|
5296
|
-
var str = el.tagName + el.className + el.src + el.href + el.textContent,
|
|
5297
|
-
while (
|
|
5298
|
-
sum += str.charCodeAt(
|
|
5289
|
+
var str = el.tagName + el.className + el.src + el.href + el.textContent, i2 = str.length, sum = 0;
|
|
5290
|
+
while (i2--) {
|
|
5291
|
+
sum += str.charCodeAt(i2);
|
|
5299
5292
|
}
|
|
5300
5293
|
return sum.toString(36);
|
|
5301
5294
|
}
|
|
@@ -5487,9 +5480,9 @@ var autoScroll = throttle(function(evt, options, rootEl2, isFallback) {
|
|
|
5487
5480
|
var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
|
|
5488
5481
|
var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
|
|
5489
5482
|
if (!autoScrolls[layersOut]) {
|
|
5490
|
-
for (var
|
|
5491
|
-
if (!autoScrolls[
|
|
5492
|
-
autoScrolls[
|
|
5483
|
+
for (var i2 = 0; i2 <= layersOut; i2++) {
|
|
5484
|
+
if (!autoScrolls[i2]) {
|
|
5485
|
+
autoScrolls[i2] = {};
|
|
5493
5486
|
}
|
|
5494
5487
|
}
|
|
5495
5488
|
}
|
|
@@ -5689,13 +5682,13 @@ const orderObjectsBy = (elements, order, path) => {
|
|
|
5689
5682
|
return unique(orderedElements);
|
|
5690
5683
|
};
|
|
5691
5684
|
const forEach = (arr, cb, scope) => {
|
|
5692
|
-
for (let
|
|
5693
|
-
cb.call(scope, arr[
|
|
5685
|
+
for (let i2 = 0; i2 < arr.length; i2++) {
|
|
5686
|
+
cb.call(scope, arr[i2], i2);
|
|
5694
5687
|
}
|
|
5695
5688
|
};
|
|
5696
5689
|
const map = (arr, cb) => {
|
|
5697
5690
|
const newArray = [];
|
|
5698
|
-
forEach(arr, (elem,
|
|
5691
|
+
forEach(arr, (elem, i2) => newArray.push(cb(elem, i2)));
|
|
5699
5692
|
return newArray;
|
|
5700
5693
|
};
|
|
5701
5694
|
const sanitizedAttributeNames = {};
|
|
@@ -5714,7 +5707,6 @@ const safeAttrName = (name2) => {
|
|
|
5714
5707
|
const capitalize = (str) => str.replace(/\b\w/g, (m) => m.toUpperCase());
|
|
5715
5708
|
const copyObj = (obj) => window.JSON.parse(window.JSON.stringify(obj));
|
|
5716
5709
|
const subtract = (arr, from) => from.filter((a) => !~arr.indexOf(a));
|
|
5717
|
-
const isIE = () => window.navigator.userAgent.indexOf("MSIE ") !== -1;
|
|
5718
5710
|
const helpers = {
|
|
5719
5711
|
capitalize,
|
|
5720
5712
|
safeAttrName,
|
|
@@ -5726,8 +5718,119 @@ const helpers = {
|
|
|
5726
5718
|
indexOfNode,
|
|
5727
5719
|
isInt,
|
|
5728
5720
|
get,
|
|
5729
|
-
orderObjectsBy
|
|
5730
|
-
|
|
5721
|
+
orderObjectsBy
|
|
5722
|
+
};
|
|
5723
|
+
const loaded = {
|
|
5724
|
+
js: /* @__PURE__ */ new Set(),
|
|
5725
|
+
css: /* @__PURE__ */ new Set(),
|
|
5726
|
+
formeoSprite: null
|
|
5727
|
+
};
|
|
5728
|
+
const ajax = (fileUrl, callback, onError = noop) => {
|
|
5729
|
+
return new Promise((resolve) => {
|
|
5730
|
+
return fetch(fileUrl).then((data) => {
|
|
5731
|
+
if (!data.ok) {
|
|
5732
|
+
return resolve(onError(data));
|
|
5733
|
+
}
|
|
5734
|
+
resolve(callback ? callback(data) : data);
|
|
5735
|
+
}).catch((err) => onError(err));
|
|
5736
|
+
});
|
|
5737
|
+
};
|
|
5738
|
+
const onLoadStylesheet = (elem, cb) => {
|
|
5739
|
+
elem.removeEventListener("load", onLoadStylesheet);
|
|
5740
|
+
cb(elem.src);
|
|
5741
|
+
};
|
|
5742
|
+
const onLoadJavascript = (elem, cb) => {
|
|
5743
|
+
elem.removeEventListener("load", onLoadJavascript);
|
|
5744
|
+
cb(elem.src);
|
|
5745
|
+
};
|
|
5746
|
+
const insertScript = (src) => {
|
|
5747
|
+
return new Promise((resolve, reject) => {
|
|
5748
|
+
if (loaded.js.has(src)) {
|
|
5749
|
+
return resolve(src);
|
|
5750
|
+
}
|
|
5751
|
+
loaded.js.add(src);
|
|
5752
|
+
const script = dom.create({
|
|
5753
|
+
tag: "script",
|
|
5754
|
+
attrs: {
|
|
5755
|
+
type: "text/javascript",
|
|
5756
|
+
async: true,
|
|
5757
|
+
src
|
|
5758
|
+
},
|
|
5759
|
+
action: {
|
|
5760
|
+
load: () => onLoadJavascript(script, resolve),
|
|
5761
|
+
error: () => reject(new Error(`${src} failed to load.`))
|
|
5762
|
+
}
|
|
5763
|
+
});
|
|
5764
|
+
document.head.appendChild(script);
|
|
5765
|
+
});
|
|
5766
|
+
};
|
|
5767
|
+
const insertStyle = (srcs) => {
|
|
5768
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5769
|
+
const promises = srcs.map(
|
|
5770
|
+
(src) => new Promise((resolve, reject) => {
|
|
5771
|
+
if (loaded.css.has(src)) {
|
|
5772
|
+
return resolve(src);
|
|
5773
|
+
}
|
|
5774
|
+
loaded.css.add(src);
|
|
5775
|
+
const styleLink = dom.create({
|
|
5776
|
+
tag: "link",
|
|
5777
|
+
attrs: {
|
|
5778
|
+
rel: "stylesheet",
|
|
5779
|
+
href: src
|
|
5780
|
+
},
|
|
5781
|
+
action: {
|
|
5782
|
+
load: () => onLoadStylesheet(styleLink, resolve),
|
|
5783
|
+
error: () => reject(new Error(`${(void 0).src} failed to load.`))
|
|
5784
|
+
}
|
|
5785
|
+
});
|
|
5786
|
+
document.head.appendChild(styleLink);
|
|
5787
|
+
})
|
|
5788
|
+
);
|
|
5789
|
+
return Promise.all(promises);
|
|
5790
|
+
};
|
|
5791
|
+
const insertScripts = (srcs) => {
|
|
5792
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5793
|
+
const promises = srcs.map((src) => insertScript(src));
|
|
5794
|
+
return Promise.all(promises);
|
|
5795
|
+
};
|
|
5796
|
+
const insertStyles = (srcs) => {
|
|
5797
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5798
|
+
const promises = srcs.map((src) => insertStyle(src));
|
|
5799
|
+
return Promise.all(promises);
|
|
5800
|
+
};
|
|
5801
|
+
const insertIcons = (iconSvgStr) => {
|
|
5802
|
+
const parser = new DOMParser();
|
|
5803
|
+
const svgDoc = parser.parseFromString(iconSvgStr, "image/svg+xml");
|
|
5804
|
+
loaded.formeoSprite = svgDoc.documentElement;
|
|
5805
|
+
return loaded.formeoSprite;
|
|
5806
|
+
};
|
|
5807
|
+
const fetchIcons = async (iconSpriteUrl = SVG_SPRITE_URL) => {
|
|
5808
|
+
if (loaded.formeoSprite) {
|
|
5809
|
+
return loaded.formeoSprite;
|
|
5810
|
+
}
|
|
5811
|
+
if (!iconSpriteUrl) {
|
|
5812
|
+
return insertIcons(BUNDLED_SVG_SPRITE);
|
|
5813
|
+
}
|
|
5814
|
+
const parseResp = async (resp) => insertIcons(await resp.text());
|
|
5815
|
+
return ajax(iconSpriteUrl, parseResp, () => ajax(FALLBACK_SVG_SPRITE_URL, parseResp));
|
|
5816
|
+
};
|
|
5817
|
+
const LOADER_MAP = {
|
|
5818
|
+
js: insertScripts,
|
|
5819
|
+
css: insertStyles
|
|
5820
|
+
};
|
|
5821
|
+
const fetchDependencies = (dependencies) => {
|
|
5822
|
+
const promises = Object.entries(dependencies).map(([type, src]) => {
|
|
5823
|
+
return LOADER_MAP[type](src);
|
|
5824
|
+
});
|
|
5825
|
+
return Promise.all(promises);
|
|
5826
|
+
};
|
|
5827
|
+
const fetchFormeoStyle = async (cssUrl) => {
|
|
5828
|
+
if (!loaded.css.has(cssUrl)) {
|
|
5829
|
+
await insertStyle(cssUrl);
|
|
5830
|
+
if (!loaded.css.has(FALLBACK_CSS_URL)) {
|
|
5831
|
+
return await insertStyle(FALLBACK_CSS_URL);
|
|
5832
|
+
}
|
|
5833
|
+
}
|
|
5731
5834
|
};
|
|
5732
5835
|
const iconFontTemplates = {
|
|
5733
5836
|
glyphicons: (icon) => `<span class="glyphicon glyphicon-${icon}" aria-hidden="true"></span>`,
|
|
@@ -5822,7 +5925,7 @@ class DOM {
|
|
|
5822
5925
|
processed.push("tag");
|
|
5823
5926
|
let childType;
|
|
5824
5927
|
const { tag } = elem;
|
|
5825
|
-
let
|
|
5928
|
+
let i2;
|
|
5826
5929
|
const wrap = {
|
|
5827
5930
|
attrs: {},
|
|
5828
5931
|
className: [helpers.get(elem, "config.inputWrap")],
|
|
@@ -5916,8 +6019,8 @@ class DOM {
|
|
|
5916
6019
|
processed.push("action");
|
|
5917
6020
|
}
|
|
5918
6021
|
const remaining = helpers.subtract(processed, Object.keys(elem));
|
|
5919
|
-
for (
|
|
5920
|
-
element[remaining[
|
|
6022
|
+
for (i2 = remaining.length - 1; i2 >= 0; i2--) {
|
|
6023
|
+
element[remaining[i2]] = elem[remaining[i2]];
|
|
5921
6024
|
}
|
|
5922
6025
|
if (wrap.children.length) {
|
|
5923
6026
|
element = this.create(wrap);
|
|
@@ -5957,25 +6060,26 @@ class DOM {
|
|
|
5957
6060
|
if (this.iconSymbols) {
|
|
5958
6061
|
return this.iconSymbols;
|
|
5959
6062
|
}
|
|
5960
|
-
const iconSymbolNodes =
|
|
5961
|
-
const createSvgIconConfig = (
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
}
|
|
5974
|
-
|
|
5975
|
-
|
|
6063
|
+
const iconSymbolNodes = loaded.formeoSprite.querySelectorAll("svg symbol");
|
|
6064
|
+
const createSvgIconConfig = (symbol) => {
|
|
6065
|
+
const viewBox = symbol.getAttribute("viewBox") || "0 0 24 24";
|
|
6066
|
+
const children = Array.from(symbol.children).map((child) => {
|
|
6067
|
+
const clonedNode = child.cloneNode(true);
|
|
6068
|
+
return clonedNode.outerHTML;
|
|
6069
|
+
}).join("");
|
|
6070
|
+
return {
|
|
6071
|
+
tag: "svg",
|
|
6072
|
+
attrs: {
|
|
6073
|
+
className: ["svg-icon", symbol.id],
|
|
6074
|
+
viewBox,
|
|
6075
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
6076
|
+
},
|
|
6077
|
+
children
|
|
6078
|
+
};
|
|
6079
|
+
};
|
|
5976
6080
|
this.iconSymbols = Array.from(iconSymbolNodes).reduce((acc, symbol) => {
|
|
5977
6081
|
const name2 = symbol.id.replace(iconPrefix, "");
|
|
5978
|
-
acc[name2] = createSvgIconConfig(symbol
|
|
6082
|
+
acc[name2] = createSvgIconConfig(symbol);
|
|
5979
6083
|
return acc;
|
|
5980
6084
|
}, {});
|
|
5981
6085
|
this.cachedIcons = {};
|
|
@@ -6083,19 +6187,19 @@ class DOM {
|
|
|
6083
6187
|
});
|
|
6084
6188
|
return elementsContainingText;
|
|
6085
6189
|
};
|
|
6086
|
-
generateOption = ({ type = "option", label, value, i = 0, selected }) => {
|
|
6190
|
+
generateOption = ({ type = "option", label, value, i: i2 = 0, selected }) => {
|
|
6087
6191
|
const isOption = type === "option";
|
|
6088
6192
|
return {
|
|
6089
6193
|
tag: isOption ? "option" : "input",
|
|
6090
6194
|
attrs: {
|
|
6091
6195
|
type,
|
|
6092
|
-
value: value || `${type}-${
|
|
6093
|
-
[type === "option" ? "selected" : "checked"]: selected || !
|
|
6196
|
+
value: value || `${type}-${i2}`,
|
|
6197
|
+
[type === "option" ? "selected" : "checked"]: selected || !i2
|
|
6094
6198
|
},
|
|
6095
6199
|
config: {
|
|
6096
6200
|
label: label || mi18n.get("labelCount", {
|
|
6097
6201
|
label: mi18n.get("option"),
|
|
6098
|
-
count:
|
|
6202
|
+
count: i2
|
|
6099
6203
|
})
|
|
6100
6204
|
}
|
|
6101
6205
|
};
|
|
@@ -6111,7 +6215,7 @@ class DOM {
|
|
|
6111
6215
|
const { action, attrs = {} } = elem;
|
|
6112
6216
|
const fieldType = attrs.type || elem.tag;
|
|
6113
6217
|
const id = attrs.id || elem.id;
|
|
6114
|
-
const optionMap = (option2,
|
|
6218
|
+
const optionMap = (option2, i2) => {
|
|
6115
6219
|
const { label, value, ...rest } = option2;
|
|
6116
6220
|
const defaultInput = () => {
|
|
6117
6221
|
const input = {
|
|
@@ -6120,7 +6224,7 @@ class DOM {
|
|
|
6120
6224
|
name: id,
|
|
6121
6225
|
type: fieldType,
|
|
6122
6226
|
value: value || "",
|
|
6123
|
-
id: `${id}-${
|
|
6227
|
+
id: `${id}-${i2}`,
|
|
6124
6228
|
...rest
|
|
6125
6229
|
},
|
|
6126
6230
|
action
|
|
@@ -6128,7 +6232,7 @@ class DOM {
|
|
|
6128
6232
|
const optionLabel = {
|
|
6129
6233
|
tag: "label",
|
|
6130
6234
|
attrs: {
|
|
6131
|
-
for: `${id}-${
|
|
6235
|
+
for: `${id}-${i2}`
|
|
6132
6236
|
},
|
|
6133
6237
|
children: label
|
|
6134
6238
|
};
|
|
@@ -6661,7 +6765,7 @@ class Autocomplete {
|
|
|
6661
6765
|
* @return {Object} DOM Element to be injected into the form.
|
|
6662
6766
|
*/
|
|
6663
6767
|
build() {
|
|
6664
|
-
const keyboardNav = (
|
|
6768
|
+
const keyboardNav = (e2) => {
|
|
6665
6769
|
const list = this.list;
|
|
6666
6770
|
const activeOption = this.getActiveOption();
|
|
6667
6771
|
const keyCodeMap = /* @__PURE__ */ new Map([
|
|
@@ -6698,7 +6802,7 @@ class Autocomplete {
|
|
|
6698
6802
|
this.hideList();
|
|
6699
6803
|
}
|
|
6700
6804
|
}
|
|
6701
|
-
|
|
6805
|
+
e2.preventDefault();
|
|
6702
6806
|
}
|
|
6703
6807
|
],
|
|
6704
6808
|
[
|
|
@@ -6709,7 +6813,7 @@ class Autocomplete {
|
|
|
6709
6813
|
}
|
|
6710
6814
|
]
|
|
6711
6815
|
]);
|
|
6712
|
-
let direction = keyCodeMap.get(
|
|
6816
|
+
let direction = keyCodeMap.get(e2.keyCode);
|
|
6713
6817
|
if (!direction) {
|
|
6714
6818
|
direction = () => false;
|
|
6715
6819
|
}
|
|
@@ -7898,7 +8002,7 @@ class Panels {
|
|
|
7898
8002
|
placement: "top"
|
|
7899
8003
|
},
|
|
7900
8004
|
action: {
|
|
7901
|
-
click: (
|
|
8005
|
+
click: (e2) => this.nav.nextGroup(e2)
|
|
7902
8006
|
},
|
|
7903
8007
|
content: dom.icon("triangle-right")
|
|
7904
8008
|
};
|
|
@@ -7914,7 +8018,7 @@ class Panels {
|
|
|
7914
8018
|
placement: "top"
|
|
7915
8019
|
},
|
|
7916
8020
|
action: {
|
|
7917
|
-
click: (
|
|
8021
|
+
click: (e2) => this.nav.prevGroup(e2)
|
|
7918
8022
|
},
|
|
7919
8023
|
content: dom.icon("triangle-left")
|
|
7920
8024
|
};
|
|
@@ -8251,12 +8355,7 @@ class Component extends Data {
|
|
|
8251
8355
|
return dom.create({
|
|
8252
8356
|
tag: "span",
|
|
8253
8357
|
className: ["component-tag", `${this.name}-tag`],
|
|
8254
|
-
children: [
|
|
8255
|
-
(this.isColumn || this.isField) && dom.icon("component-corner", { className: "bottom-left" }),
|
|
8256
|
-
dom.icon(`handle-${this.name}`),
|
|
8257
|
-
toTitleCase(this.name),
|
|
8258
|
-
(this.isColumn || this.isRow) && dom.icon("component-corner", { className: "bottom-right" })
|
|
8259
|
-
].filter(Boolean)
|
|
8358
|
+
children: [dom.icon(`handle-${this.name}`), toTitleCase(this.name)].filter(Boolean)
|
|
8260
8359
|
});
|
|
8261
8360
|
};
|
|
8262
8361
|
/**
|
|
@@ -9320,8 +9419,8 @@ class Row extends Component {
|
|
|
9320
9419
|
if (typeof widths === "string") {
|
|
9321
9420
|
widths = widths.split(",");
|
|
9322
9421
|
}
|
|
9323
|
-
this.children.forEach((column,
|
|
9324
|
-
column.setWidth(`${widths[
|
|
9422
|
+
this.children.forEach((column, i2) => {
|
|
9423
|
+
column.setWidth(`${widths[i2]}%`);
|
|
9325
9424
|
column.refreshFieldPanels();
|
|
9326
9425
|
});
|
|
9327
9426
|
};
|
|
@@ -9522,133 +9621,6 @@ let Stages$1 = class Stages extends ComponentData {
|
|
|
9522
9621
|
}
|
|
9523
9622
|
};
|
|
9524
9623
|
const stages = new Stages$1();
|
|
9525
|
-
const loaded = {
|
|
9526
|
-
js: /* @__PURE__ */ new Set(),
|
|
9527
|
-
css: /* @__PURE__ */ new Set()
|
|
9528
|
-
};
|
|
9529
|
-
const ajax = (fileUrl, callback, onError = noop) => {
|
|
9530
|
-
return new Promise((resolve) => {
|
|
9531
|
-
return fetch(fileUrl).then((data) => {
|
|
9532
|
-
if (!data.ok) {
|
|
9533
|
-
return resolve(onError(data));
|
|
9534
|
-
}
|
|
9535
|
-
resolve(callback ? callback(data) : data);
|
|
9536
|
-
}).catch((err) => onError(err));
|
|
9537
|
-
});
|
|
9538
|
-
};
|
|
9539
|
-
const onLoadStylesheet = (elem, cb) => {
|
|
9540
|
-
elem.removeEventListener("load", onLoadStylesheet);
|
|
9541
|
-
cb(elem.src);
|
|
9542
|
-
};
|
|
9543
|
-
const onLoadJavascript = (elem, cb) => {
|
|
9544
|
-
elem.removeEventListener("load", onLoadJavascript);
|
|
9545
|
-
cb(elem.src);
|
|
9546
|
-
};
|
|
9547
|
-
const insertScript = (src) => {
|
|
9548
|
-
return new Promise((resolve, reject) => {
|
|
9549
|
-
if (loaded.js.has(src)) {
|
|
9550
|
-
return resolve(src);
|
|
9551
|
-
}
|
|
9552
|
-
loaded.js.add(src);
|
|
9553
|
-
const script = dom.create({
|
|
9554
|
-
tag: "script",
|
|
9555
|
-
attrs: {
|
|
9556
|
-
type: "text/javascript",
|
|
9557
|
-
async: true,
|
|
9558
|
-
src
|
|
9559
|
-
},
|
|
9560
|
-
action: {
|
|
9561
|
-
load: () => onLoadJavascript(script, resolve),
|
|
9562
|
-
error: () => reject(new Error(`${src} failed to load.`))
|
|
9563
|
-
}
|
|
9564
|
-
});
|
|
9565
|
-
document.head.appendChild(script);
|
|
9566
|
-
});
|
|
9567
|
-
};
|
|
9568
|
-
const insertStyle = (srcs) => {
|
|
9569
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9570
|
-
const promises = srcs.map(
|
|
9571
|
-
(src) => new Promise((resolve, reject) => {
|
|
9572
|
-
if (loaded.css.has(src)) {
|
|
9573
|
-
return resolve(src);
|
|
9574
|
-
}
|
|
9575
|
-
loaded.css.add(src);
|
|
9576
|
-
const styleLink = dom.create({
|
|
9577
|
-
tag: "link",
|
|
9578
|
-
attrs: {
|
|
9579
|
-
rel: "stylesheet",
|
|
9580
|
-
href: src
|
|
9581
|
-
},
|
|
9582
|
-
action: {
|
|
9583
|
-
load: () => onLoadStylesheet(styleLink, resolve),
|
|
9584
|
-
error: () => reject(new Error(`${(void 0).src} failed to load.`))
|
|
9585
|
-
}
|
|
9586
|
-
});
|
|
9587
|
-
document.head.appendChild(styleLink);
|
|
9588
|
-
})
|
|
9589
|
-
);
|
|
9590
|
-
return Promise.all(promises);
|
|
9591
|
-
};
|
|
9592
|
-
const insertScripts = (srcs) => {
|
|
9593
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9594
|
-
const promises = srcs.map((src) => insertScript(src));
|
|
9595
|
-
return Promise.all(promises);
|
|
9596
|
-
};
|
|
9597
|
-
const insertStyles = (srcs) => {
|
|
9598
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9599
|
-
const promises = srcs.map((src) => insertStyle(src));
|
|
9600
|
-
return Promise.all(promises);
|
|
9601
|
-
};
|
|
9602
|
-
const insertIcons = (iconSvgStr) => {
|
|
9603
|
-
let iconSpriteWrap = document.getElementById(formeoSpriteId);
|
|
9604
|
-
if (!iconSpriteWrap) {
|
|
9605
|
-
iconSpriteWrap = dom.create({
|
|
9606
|
-
id: formeoSpriteId,
|
|
9607
|
-
children: iconSvgStr,
|
|
9608
|
-
attrs: {
|
|
9609
|
-
hidden: true,
|
|
9610
|
-
style: "display: none;"
|
|
9611
|
-
}
|
|
9612
|
-
});
|
|
9613
|
-
document.body.insertBefore(iconSpriteWrap, document.body.childNodes[0]);
|
|
9614
|
-
}
|
|
9615
|
-
return iconSpriteWrap;
|
|
9616
|
-
};
|
|
9617
|
-
const fetchIcons = async (iconSpriteUrl = SVG_SPRITE_URL) => {
|
|
9618
|
-
const formeoSprite = document.getElementById(formeoSpriteId);
|
|
9619
|
-
if (formeoSprite) {
|
|
9620
|
-
return;
|
|
9621
|
-
}
|
|
9622
|
-
const parseResp = async (resp) => insertIcons(await resp.text());
|
|
9623
|
-
return ajax(iconSpriteUrl, parseResp, () => ajax(FALLBACK_SVG_SPRITE_URL, parseResp));
|
|
9624
|
-
};
|
|
9625
|
-
const loadPolyfills = (polyfillConfig) => {
|
|
9626
|
-
const polyfills = Array.isArray(polyfillConfig) ? POLYFILLS.filter(({ name: name2 }) => polyfillConfig.indexOf(name2) !== -1) : POLYFILLS;
|
|
9627
|
-
return Promise.all(polyfills.map(({ src }) => insertScript(src)));
|
|
9628
|
-
};
|
|
9629
|
-
const LOADER_MAP = {
|
|
9630
|
-
js: insertScripts,
|
|
9631
|
-
css: insertStyles
|
|
9632
|
-
};
|
|
9633
|
-
const fetchDependencies = (dependencies) => {
|
|
9634
|
-
const promises = Object.entries(dependencies).map(([type, src]) => {
|
|
9635
|
-
return LOADER_MAP[type](src);
|
|
9636
|
-
});
|
|
9637
|
-
return Promise.all(promises);
|
|
9638
|
-
};
|
|
9639
|
-
const isCssLoaded = () => {
|
|
9640
|
-
const formeoSprite = document.getElementById(formeoSpriteId);
|
|
9641
|
-
const computedStyle = window.getComputedStyle(formeoSprite);
|
|
9642
|
-
return computedStyle.visibility === "hidden";
|
|
9643
|
-
};
|
|
9644
|
-
const fetchFormeoStyle = async (cssUrl) => {
|
|
9645
|
-
if (!isCssLoaded()) {
|
|
9646
|
-
await insertStyle(cssUrl);
|
|
9647
|
-
if (!isCssLoaded()) {
|
|
9648
|
-
return await insertStyle(FALLBACK_CSS_URL);
|
|
9649
|
-
}
|
|
9650
|
-
}
|
|
9651
|
-
};
|
|
9652
9624
|
class Control {
|
|
9653
9625
|
controlCache = /* @__PURE__ */ new Set();
|
|
9654
9626
|
/**
|
|
@@ -9717,9 +9689,9 @@ class Control {
|
|
|
9717
9689
|
* @return {String} the translated label
|
|
9718
9690
|
*/
|
|
9719
9691
|
i18n(lookup, args) {
|
|
9720
|
-
const
|
|
9692
|
+
const locale2 = mi18n.locale;
|
|
9721
9693
|
const controlTranslations = this.definition?.i18n;
|
|
9722
|
-
const localeTranslations = controlTranslations?.[
|
|
9694
|
+
const localeTranslations = controlTranslations?.[locale2] || {};
|
|
9723
9695
|
return (localeTranslations[lookup]?.() ?? localeTranslations[lookup]) || mi18n.get(lookup, args);
|
|
9724
9696
|
}
|
|
9725
9697
|
}
|
|
@@ -9970,12 +9942,12 @@ let Controls$1 = class Controls {
|
|
|
9970
9942
|
// @todo finish the addGroup method
|
|
9971
9943
|
addGroup: (group) => console.log(group)
|
|
9972
9944
|
};
|
|
9973
|
-
for (let
|
|
9974
|
-
const storeID = `formeo-controls-${groups[
|
|
9945
|
+
for (let i2 = groups.length - 1; i2 >= 0; i2--) {
|
|
9946
|
+
const storeID = `formeo-controls-${groups[i2]}`;
|
|
9975
9947
|
if (!this.options.sortable) {
|
|
9976
9948
|
window.localStorage.removeItem(storeID);
|
|
9977
9949
|
}
|
|
9978
|
-
Sortable.create(groups[
|
|
9950
|
+
Sortable.create(groups[i2], {
|
|
9979
9951
|
animation: 150,
|
|
9980
9952
|
forceFallback: true,
|
|
9981
9953
|
fallbackClass: "control-moving",
|
|
@@ -10696,8 +10668,10 @@ const actions = {
|
|
|
10696
10668
|
}
|
|
10697
10669
|
}
|
|
10698
10670
|
};
|
|
10699
|
-
const
|
|
10700
|
-
|
|
10671
|
+
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"];
|
|
10672
|
+
const locale = "en-US";
|
|
10673
|
+
mi18n.addLanguage(locale, i);
|
|
10674
|
+
mi18n.setCurrent(locale);
|
|
10701
10675
|
const defaults = {
|
|
10702
10676
|
get editor() {
|
|
10703
10677
|
return {
|
|
@@ -10708,8 +10682,8 @@ const defaults = {
|
|
|
10708
10682
|
sessionStorage: false,
|
|
10709
10683
|
editorContainer: null,
|
|
10710
10684
|
// element or selector to attach editor to
|
|
10711
|
-
svgSprite:
|
|
10712
|
-
//
|
|
10685
|
+
svgSprite: null,
|
|
10686
|
+
// null = use bundled sprite, or provide custom URL
|
|
10713
10687
|
style: CSS_URL,
|
|
10714
10688
|
// change to null
|
|
10715
10689
|
iconFont: null,
|
|
@@ -10719,8 +10693,6 @@ const defaults = {
|
|
|
10719
10693
|
events: {},
|
|
10720
10694
|
actions: {},
|
|
10721
10695
|
controls: {},
|
|
10722
|
-
polyfills: isIE(),
|
|
10723
|
-
// loads csspreloadrel
|
|
10724
10696
|
i18n: {
|
|
10725
10697
|
location: "https://draggable.github.io/formeo/assets/lang/"
|
|
10726
10698
|
},
|
|
@@ -10729,6 +10701,7 @@ const defaults = {
|
|
|
10729
10701
|
};
|
|
10730
10702
|
}
|
|
10731
10703
|
};
|
|
10704
|
+
new SmartTooltip();
|
|
10732
10705
|
let FormeoEditor$1 = class FormeoEditor {
|
|
10733
10706
|
/**
|
|
10734
10707
|
* @param {Object} options formeo options
|
|
@@ -10749,7 +10722,6 @@ let FormeoEditor$1 = class FormeoEditor {
|
|
|
10749
10722
|
this.dom = dom;
|
|
10750
10723
|
events.init({ debug, ...events$1 });
|
|
10751
10724
|
actions.init({ debug, sessionStorage: opts.sessionStorage, ...actions$1 });
|
|
10752
|
-
this.tooltip = new SmartTooltip();
|
|
10753
10725
|
if (document.readyState === "loading") {
|
|
10754
10726
|
document.addEventListener("DOMContentLoaded", this.loadResources.bind(this));
|
|
10755
10727
|
} else {
|
|
@@ -10785,17 +10757,15 @@ let FormeoEditor$1 = class FormeoEditor {
|
|
|
10785
10757
|
async loadResources() {
|
|
10786
10758
|
document.removeEventListener("DOMContentLoaded", this.loadResources);
|
|
10787
10759
|
const promises = [];
|
|
10788
|
-
|
|
10789
|
-
|
|
10790
|
-
|
|
10791
|
-
|
|
10792
|
-
|
|
10793
|
-
|
|
10794
|
-
const resolvedPromises = await Promise.all(promises);
|
|
10760
|
+
promises.push(
|
|
10761
|
+
fetchIcons(this.opts.svgSprite),
|
|
10762
|
+
fetchFormeoStyle(this.opts.style),
|
|
10763
|
+
mi18n.init({ ...this.opts.i18n, locale: globalThis.sessionStorage?.getItem(SESSION_LOCALE_KEY) })
|
|
10764
|
+
);
|
|
10765
|
+
await Promise.all(promises);
|
|
10795
10766
|
if (this.opts.allowEdit) {
|
|
10796
10767
|
this.init();
|
|
10797
10768
|
}
|
|
10798
|
-
return resolvedPromises;
|
|
10799
10769
|
}
|
|
10800
10770
|
/**
|
|
10801
10771
|
* Formeo initializer
|
|
@@ -10855,7 +10825,7 @@ let FormeoEditor$1 = class FormeoEditor {
|
|
|
10855
10825
|
dom.empty(this.editorContainer);
|
|
10856
10826
|
this.editorContainer.appendChild(this.editor);
|
|
10857
10827
|
}
|
|
10858
|
-
events.formeoLoaded = new
|
|
10828
|
+
events.formeoLoaded = new globalThis.CustomEvent("formeoLoaded", {
|
|
10859
10829
|
detail: {
|
|
10860
10830
|
formeo: this
|
|
10861
10831
|
}
|
|
@@ -11111,8 +11081,8 @@ let FormeoRenderer$1 = class FormeoRenderer {
|
|
|
11111
11081
|
},
|
|
11112
11082
|
children: "Add +",
|
|
11113
11083
|
action: {
|
|
11114
|
-
click: (
|
|
11115
|
-
const fInputGroup =
|
|
11084
|
+
click: (e2) => {
|
|
11085
|
+
const fInputGroup = e2.target.parentElement;
|
|
11116
11086
|
const elem = dom.create(this.cloneComponentData(id));
|
|
11117
11087
|
fInputGroup.insertBefore(elem, fInputGroup.lastChild);
|
|
11118
11088
|
const removeButton = dom.create(createRemoveButton());
|
|
@@ -11345,15 +11315,15 @@ class ButtonControl extends Control {
|
|
|
11345
11315
|
super(mergedConfig);
|
|
11346
11316
|
}
|
|
11347
11317
|
}
|
|
11348
|
-
const generateOptionConfig = ({ type, isMultiple = false, count = 3 }) => Array.from({ length: count }, (_v, k) => k + 1).map((
|
|
11318
|
+
const generateOptionConfig = ({ type, isMultiple = false, count = 3 }) => Array.from({ length: count }, (_v, k) => k + 1).map((i2) => {
|
|
11349
11319
|
const selectedKey = type === "checkbox" || isMultiple ? "checked" : "selected";
|
|
11350
11320
|
return {
|
|
11351
11321
|
label: mi18n.get("labelCount", {
|
|
11352
11322
|
label: toTitleCase(type),
|
|
11353
|
-
count:
|
|
11323
|
+
count: i2
|
|
11354
11324
|
}),
|
|
11355
|
-
value: `${type}-${
|
|
11356
|
-
[selectedKey]: !
|
|
11325
|
+
value: `${type}-${i2}`,
|
|
11326
|
+
[selectedKey]: !i2
|
|
11357
11327
|
};
|
|
11358
11328
|
});
|
|
11359
11329
|
class CheckboxGroupControl extends Control {
|