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.umd.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
|
|
|
@@ -53,8 +53,8 @@ Author: Draggable https://draggable.io
|
|
|
53
53
|
this.config = { location: parsedLocation, ...restOptions };
|
|
54
54
|
const { override, preloaded = {} } = this.config;
|
|
55
55
|
const allLangs = Object.entries(this.langs).concat(Object.entries(override || preloaded));
|
|
56
|
-
this.langs = allLangs.reduce((acc, [
|
|
57
|
-
acc[
|
|
56
|
+
this.langs = allLangs.reduce((acc, [locale2, lang]) => {
|
|
57
|
+
acc[locale2] = this.applyLanguage(locale2, lang);
|
|
58
58
|
return acc;
|
|
59
59
|
}, {});
|
|
60
60
|
this.locale = this.config.locale || this.config.langs[0];
|
|
@@ -73,9 +73,9 @@ Author: Draggable https://draggable.io
|
|
|
73
73
|
* @param {String} locale
|
|
74
74
|
* @param {String|Object} lang
|
|
75
75
|
*/
|
|
76
|
-
addLanguage(
|
|
76
|
+
addLanguage(locale2, lang = {}) {
|
|
77
77
|
lang = typeof lang === "string" ? I18N.processFile(lang) : lang;
|
|
78
|
-
this.applyLanguage(
|
|
78
|
+
this.applyLanguage(locale2, lang);
|
|
79
79
|
this.config.langs.push("locale");
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
@@ -84,9 +84,9 @@ Author: Draggable https://draggable.io
|
|
|
84
84
|
* @param {String} locale - locale to check for value
|
|
85
85
|
* @return {String} language string or undefined
|
|
86
86
|
*/
|
|
87
|
-
getValue(key,
|
|
87
|
+
getValue(key, locale2 = this.locale) {
|
|
88
88
|
var _a;
|
|
89
|
-
const value = (_a = this.langs[
|
|
89
|
+
const value = (_a = this.langs[locale2]) == null ? void 0 : _a[key];
|
|
90
90
|
return value || this.getFallbackValue(key);
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
@@ -163,9 +163,9 @@ Author: Draggable https://draggable.io
|
|
|
163
163
|
static fromFile(rawText) {
|
|
164
164
|
const lines = rawText.split("\n");
|
|
165
165
|
const lang = {};
|
|
166
|
-
for (let matches2,
|
|
166
|
+
for (let matches2, i2 = 0; i2 < lines.length; i2++) {
|
|
167
167
|
const regex = /^(.+?) *?= *?([^\n]+)/;
|
|
168
|
-
matches2 = regex.exec(lines[
|
|
168
|
+
matches2 = regex.exec(lines[i2]);
|
|
169
169
|
if (matches2) {
|
|
170
170
|
lang[matches2[1]] = matches2[2].replace(/(^\s+|\s+$)/g, "");
|
|
171
171
|
}
|
|
@@ -178,22 +178,22 @@ Author: Draggable https://draggable.io
|
|
|
178
178
|
* @param {Boolean} useCache
|
|
179
179
|
* @return {Promise} resolves response
|
|
180
180
|
*/
|
|
181
|
-
loadLang(
|
|
181
|
+
loadLang(locale2, useCache = true) {
|
|
182
182
|
const _this = this;
|
|
183
183
|
return new Promise(function(resolve, reject) {
|
|
184
|
-
if (_this.loaded.indexOf(
|
|
185
|
-
_this.applyLanguage(_this.langs[
|
|
186
|
-
return resolve(_this.langs[
|
|
184
|
+
if (_this.loaded.indexOf(locale2) !== -1 && useCache) {
|
|
185
|
+
_this.applyLanguage(_this.langs[locale2]);
|
|
186
|
+
return resolve(_this.langs[locale2]);
|
|
187
187
|
} else {
|
|
188
|
-
const langFile = [_this.config.location,
|
|
188
|
+
const langFile = [_this.config.location, locale2, _this.config.extension].join("");
|
|
189
189
|
return fetchData(langFile).then((lang) => {
|
|
190
190
|
const processedFile = I18N.processFile(lang);
|
|
191
|
-
_this.applyLanguage(
|
|
192
|
-
_this.loaded.push(
|
|
193
|
-
return resolve(_this.langs[
|
|
191
|
+
_this.applyLanguage(locale2, processedFile);
|
|
192
|
+
_this.loaded.push(locale2);
|
|
193
|
+
return resolve(_this.langs[locale2]);
|
|
194
194
|
}).catch((err) => {
|
|
195
195
|
console.error(err);
|
|
196
|
-
const lang = _this.applyLanguage(
|
|
196
|
+
const lang = _this.applyLanguage(locale2);
|
|
197
197
|
resolve(lang);
|
|
198
198
|
});
|
|
199
199
|
}
|
|
@@ -205,11 +205,11 @@ Author: Draggable https://draggable.io
|
|
|
205
205
|
* @param {Object} lang
|
|
206
206
|
* @return {Object} overriden language
|
|
207
207
|
*/
|
|
208
|
-
applyLanguage(
|
|
209
|
-
const override = this.config.override[
|
|
210
|
-
const existingLang = this.langs[
|
|
211
|
-
this.langs[
|
|
212
|
-
return this.langs[
|
|
208
|
+
applyLanguage(locale2, lang = {}) {
|
|
209
|
+
const override = this.config.override[locale2] || {};
|
|
210
|
+
const existingLang = this.langs[locale2] || {};
|
|
211
|
+
this.langs[locale2] = { ...existingLang, ...lang, ...override };
|
|
212
|
+
return this.langs[locale2];
|
|
213
213
|
}
|
|
214
214
|
/**
|
|
215
215
|
* return currently available languages
|
|
@@ -223,10 +223,10 @@ Author: Draggable https://draggable.io
|
|
|
223
223
|
* @param {String} locale
|
|
224
224
|
* @return {Promise} language
|
|
225
225
|
*/
|
|
226
|
-
async setCurrent(
|
|
227
|
-
await this.loadLang(
|
|
228
|
-
this.locale =
|
|
229
|
-
this.current = this.langs[
|
|
226
|
+
async setCurrent(locale2 = "en-US") {
|
|
227
|
+
await this.loadLang(locale2);
|
|
228
|
+
this.locale = locale2;
|
|
229
|
+
this.current = this.langs[locale2];
|
|
230
230
|
return this.current;
|
|
231
231
|
}
|
|
232
232
|
}
|
|
@@ -259,9 +259,9 @@ Author: Draggable https://draggable.io
|
|
|
259
259
|
__publicField(this, "tooltip");
|
|
260
260
|
__publicField(this, "activeTriggerType", null);
|
|
261
261
|
__publicField(this, "spacing", 12);
|
|
262
|
-
__publicField(this, "handleClick", (
|
|
262
|
+
__publicField(this, "handleClick", (e2) => {
|
|
263
263
|
const triggerName = this.triggerName;
|
|
264
|
-
const trigger =
|
|
264
|
+
const trigger = e2.target.closest(`[${triggerName}][${triggerName}-type="click"]`);
|
|
265
265
|
if (trigger) {
|
|
266
266
|
if (this.isVisible()) {
|
|
267
267
|
this.hide();
|
|
@@ -274,9 +274,9 @@ Author: Draggable https://draggable.io
|
|
|
274
274
|
this.hide();
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
|
-
__publicField(this, "handleMouseOver", (
|
|
277
|
+
__publicField(this, "handleMouseOver", (e2) => {
|
|
278
278
|
const triggerName = this.triggerName;
|
|
279
|
-
const trigger =
|
|
279
|
+
const trigger = e2.target.closest(`[${triggerName}]`);
|
|
280
280
|
if (this.activeTriggerType !== "click" && (trigger == null ? void 0 : trigger.getAttribute(`${triggerName}-type`)) !== "click") {
|
|
281
281
|
const content = trigger == null ? void 0 : trigger.getAttribute(`${triggerName}`);
|
|
282
282
|
if (content) {
|
|
@@ -285,9 +285,9 @@ Author: Draggable https://draggable.io
|
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
});
|
|
288
|
-
__publicField(this, "handleMouseOut", (
|
|
288
|
+
__publicField(this, "handleMouseOut", (e2) => {
|
|
289
289
|
const triggerName = this.triggerName;
|
|
290
|
-
const trigger =
|
|
290
|
+
const trigger = e2.target.closest(`[${triggerName}]`);
|
|
291
291
|
if (this.activeTriggerType !== "click" && (trigger == null ? void 0 : trigger.getAttribute(`${triggerName}-type`)) !== "click") {
|
|
292
292
|
this.hide();
|
|
293
293
|
}
|
|
@@ -435,7 +435,7 @@ Author: Draggable https://draggable.io
|
|
|
435
435
|
window.SmartTooltip = SmartTooltip;
|
|
436
436
|
}
|
|
437
437
|
const name$1 = "formeo";
|
|
438
|
-
const version$2 = "4.1
|
|
438
|
+
const version$2 = "4.2.1";
|
|
439
439
|
const pkg = {
|
|
440
440
|
name: name$1,
|
|
441
441
|
version: version$2
|
|
@@ -669,7 +669,7 @@ Author: Draggable https://draggable.io
|
|
|
669
669
|
try {
|
|
670
670
|
value[symToStringTag] = void 0;
|
|
671
671
|
var unmasked = true;
|
|
672
|
-
} catch (
|
|
672
|
+
} catch (e2) {
|
|
673
673
|
}
|
|
674
674
|
var result = nativeObjectToString.call(value);
|
|
675
675
|
if (unmasked) {
|
|
@@ -780,11 +780,11 @@ Author: Draggable https://draggable.io
|
|
|
780
780
|
if (func != null) {
|
|
781
781
|
try {
|
|
782
782
|
return funcToString.call(func);
|
|
783
|
-
} catch (
|
|
783
|
+
} catch (e2) {
|
|
784
784
|
}
|
|
785
785
|
try {
|
|
786
786
|
return func + "";
|
|
787
|
-
} catch (
|
|
787
|
+
} catch (e2) {
|
|
788
788
|
}
|
|
789
789
|
}
|
|
790
790
|
return "";
|
|
@@ -1130,7 +1130,7 @@ Author: Draggable https://draggable.io
|
|
|
1130
1130
|
var func = getNative(Object, "defineProperty");
|
|
1131
1131
|
func({}, "", {});
|
|
1132
1132
|
return func;
|
|
1133
|
-
} catch (
|
|
1133
|
+
} catch (e2) {
|
|
1134
1134
|
}
|
|
1135
1135
|
})();
|
|
1136
1136
|
_defineProperty$1 = defineProperty;
|
|
@@ -1541,7 +1541,7 @@ Author: Draggable https://draggable.io
|
|
|
1541
1541
|
return types;
|
|
1542
1542
|
}
|
|
1543
1543
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
1544
|
-
} catch (
|
|
1544
|
+
} catch (e2) {
|
|
1545
1545
|
}
|
|
1546
1546
|
})();
|
|
1547
1547
|
module2.exports = nodeUtil;
|
|
@@ -2074,8 +2074,8 @@ Author: Draggable https://draggable.io
|
|
|
2074
2074
|
}
|
|
2075
2075
|
if (Array.isArray(obj)) {
|
|
2076
2076
|
copy = [];
|
|
2077
|
-
for (let
|
|
2078
|
-
copy[
|
|
2077
|
+
for (let i2 = 0, len = obj.length; i2 < len; i2++) {
|
|
2078
|
+
copy[i2] = clone$1(obj[i2]);
|
|
2079
2079
|
}
|
|
2080
2080
|
return copy;
|
|
2081
2081
|
}
|
|
@@ -2147,8 +2147,8 @@ Author: Draggable https://draggable.io
|
|
|
2147
2147
|
if (typeof data === "string") {
|
|
2148
2148
|
try {
|
|
2149
2149
|
return JSON.parse(data);
|
|
2150
|
-
} catch (
|
|
2151
|
-
console.error("Invalid JSON string provided:",
|
|
2150
|
+
} catch (e2) {
|
|
2151
|
+
console.error("Invalid JSON string provided:", e2);
|
|
2152
2152
|
return /* @__PURE__ */ Object.create(null);
|
|
2153
2153
|
}
|
|
2154
2154
|
}
|
|
@@ -2170,20 +2170,13 @@ Author: Draggable https://draggable.io
|
|
|
2170
2170
|
}
|
|
2171
2171
|
return result;
|
|
2172
2172
|
}
|
|
2173
|
+
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>';
|
|
2173
2174
|
const name = pkg.name;
|
|
2174
2175
|
const version$1 = pkg.version;
|
|
2175
2176
|
const PACKAGE_NAME = name;
|
|
2176
2177
|
const formeoSpriteId = "formeo-sprite";
|
|
2177
|
-
const
|
|
2178
|
-
|
|
2179
|
-
{ name: "mutationObserver", src: "//cdn.jsdelivr.net/npm/mutationobserver-shim/dist/mutationobserver.min.js" },
|
|
2180
|
-
{ name: "fetch", src: "https://unpkg.com/unfetch/polyfill" }
|
|
2181
|
-
];
|
|
2182
|
-
const relativeSpritePath = `../../lib/icons/${formeoSpriteId}.svg`;
|
|
2183
|
-
const localSpriteUrl = false ? (void 0)(relativeSpritePath) : relativeSpritePath;
|
|
2184
|
-
const isDev = typeof process !== "undefined" && process.env?.NODE_ENV === "development" || false;
|
|
2185
|
-
const SVG_SPRITE_URL = isDev ? localSpriteUrl : `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/${formeoSpriteId}.svg`;
|
|
2186
|
-
const FALLBACK_SVG_SPRITE_URL = `https://draggable.github.io/formeo/assets/img/${formeoSpriteId}.svg`;
|
|
2178
|
+
const SVG_SPRITE_URL = null;
|
|
2179
|
+
const FALLBACK_SVG_SPRITE_URL = `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/${formeoSpriteId}.svg`;
|
|
2187
2180
|
const CSS_URL = `https://cdn.jsdelivr.net/npm/formeo@${version$1}/dist/formeo.min.css`;
|
|
2188
2181
|
const FALLBACK_CSS_URL = "https://draggable.github.io/formeo/assets/css/formeo.min.css";
|
|
2189
2182
|
const PANEL_CLASSNAME = "f-panel";
|
|
@@ -3466,9 +3459,9 @@ Author: Draggable https://draggable.io
|
|
|
3466
3459
|
return keys;
|
|
3467
3460
|
}
|
|
3468
3461
|
function _objectSpread2(target) {
|
|
3469
|
-
for (var
|
|
3470
|
-
var source = arguments[
|
|
3471
|
-
if (
|
|
3462
|
+
for (var i2 = 1; i2 < arguments.length; i2++) {
|
|
3463
|
+
var source = arguments[i2] != null ? arguments[i2] : {};
|
|
3464
|
+
if (i2 % 2) {
|
|
3472
3465
|
ownKeys(Object(source), true).forEach(function(key) {
|
|
3473
3466
|
_defineProperty(target, key, source[key]);
|
|
3474
3467
|
});
|
|
@@ -3510,8 +3503,8 @@ Author: Draggable https://draggable.io
|
|
|
3510
3503
|
}
|
|
3511
3504
|
function _extends() {
|
|
3512
3505
|
_extends = Object.assign || function(target) {
|
|
3513
|
-
for (var
|
|
3514
|
-
var source = arguments[
|
|
3506
|
+
for (var i2 = 1; i2 < arguments.length; i2++) {
|
|
3507
|
+
var source = arguments[i2];
|
|
3515
3508
|
for (var key in source) {
|
|
3516
3509
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
3517
3510
|
target[key] = source[key];
|
|
@@ -3526,9 +3519,9 @@ Author: Draggable https://draggable.io
|
|
|
3526
3519
|
if (source == null) return {};
|
|
3527
3520
|
var target = {};
|
|
3528
3521
|
var sourceKeys = Object.keys(source);
|
|
3529
|
-
var key,
|
|
3530
|
-
for (
|
|
3531
|
-
key = sourceKeys[
|
|
3522
|
+
var key, i2;
|
|
3523
|
+
for (i2 = 0; i2 < sourceKeys.length; i2++) {
|
|
3524
|
+
key = sourceKeys[i2];
|
|
3532
3525
|
if (excluded.indexOf(key) >= 0) continue;
|
|
3533
3526
|
target[key] = source[key];
|
|
3534
3527
|
}
|
|
@@ -3537,11 +3530,11 @@ Author: Draggable https://draggable.io
|
|
|
3537
3530
|
function _objectWithoutProperties(source, excluded) {
|
|
3538
3531
|
if (source == null) return {};
|
|
3539
3532
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
3540
|
-
var key,
|
|
3533
|
+
var key, i2;
|
|
3541
3534
|
if (Object.getOwnPropertySymbols) {
|
|
3542
3535
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
3543
|
-
for (
|
|
3544
|
-
key = sourceSymbolKeys[
|
|
3536
|
+
for (i2 = 0; i2 < sourceSymbolKeys.length; i2++) {
|
|
3537
|
+
key = sourceSymbolKeys[i2];
|
|
3545
3538
|
if (excluded.indexOf(key) >= 0) continue;
|
|
3546
3539
|
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
3547
3540
|
target[key] = source[key];
|
|
@@ -3650,10 +3643,10 @@ Author: Draggable https://draggable.io
|
|
|
3650
3643
|
}
|
|
3651
3644
|
function find(ctx, tagName, iterator) {
|
|
3652
3645
|
if (ctx) {
|
|
3653
|
-
var list = ctx.getElementsByTagName(tagName),
|
|
3646
|
+
var list = ctx.getElementsByTagName(tagName), i2 = 0, n = list.length;
|
|
3654
3647
|
if (iterator) {
|
|
3655
|
-
for (;
|
|
3656
|
-
iterator(list[
|
|
3648
|
+
for (; i2 < n; i2++) {
|
|
3649
|
+
iterator(list[i2], i2);
|
|
3657
3650
|
}
|
|
3658
3651
|
}
|
|
3659
3652
|
return list;
|
|
@@ -3736,15 +3729,15 @@ Author: Draggable https://draggable.io
|
|
|
3736
3729
|
return false;
|
|
3737
3730
|
}
|
|
3738
3731
|
function getChild(el, childNum, options, includeDragEl) {
|
|
3739
|
-
var currentChild = 0,
|
|
3740
|
-
while (
|
|
3741
|
-
if (children[
|
|
3732
|
+
var currentChild = 0, i2 = 0, children = el.children;
|
|
3733
|
+
while (i2 < children.length) {
|
|
3734
|
+
if (children[i2].style.display !== "none" && children[i2] !== Sortable.ghost && (includeDragEl || children[i2] !== Sortable.dragged) && closest(children[i2], options.draggable, el, false)) {
|
|
3742
3735
|
if (currentChild === childNum) {
|
|
3743
|
-
return children[
|
|
3736
|
+
return children[i2];
|
|
3744
3737
|
}
|
|
3745
3738
|
currentChild++;
|
|
3746
3739
|
}
|
|
3747
|
-
|
|
3740
|
+
i2++;
|
|
3748
3741
|
}
|
|
3749
3742
|
return null;
|
|
3750
3743
|
}
|
|
@@ -3779,10 +3772,10 @@ Author: Draggable https://draggable.io
|
|
|
3779
3772
|
return [offsetLeft, offsetTop];
|
|
3780
3773
|
}
|
|
3781
3774
|
function indexOfObject(arr, obj) {
|
|
3782
|
-
for (var
|
|
3783
|
-
if (!arr.hasOwnProperty(
|
|
3775
|
+
for (var i2 in arr) {
|
|
3776
|
+
if (!arr.hasOwnProperty(i2)) continue;
|
|
3784
3777
|
for (var key in obj) {
|
|
3785
|
-
if (obj.hasOwnProperty(key) && obj[key] === arr[
|
|
3778
|
+
if (obj.hasOwnProperty(key) && obj[key] === arr[i2][key]) return Number(i2);
|
|
3786
3779
|
}
|
|
3787
3780
|
}
|
|
3788
3781
|
return -1;
|
|
@@ -4235,9 +4228,9 @@ Author: Draggable https://draggable.io
|
|
|
4235
4228
|
var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
|
|
4236
4229
|
if (nearest) {
|
|
4237
4230
|
var event = {};
|
|
4238
|
-
for (var
|
|
4239
|
-
if (evt.hasOwnProperty(
|
|
4240
|
-
event[
|
|
4231
|
+
for (var i2 in evt) {
|
|
4232
|
+
if (evt.hasOwnProperty(i2)) {
|
|
4233
|
+
event[i2] = evt[i2];
|
|
4241
4234
|
}
|
|
4242
4235
|
}
|
|
4243
4236
|
event.target = event.rootEl = nearest;
|
|
@@ -4486,8 +4479,8 @@ Author: Draggable https://draggable.io
|
|
|
4486
4479
|
}
|
|
4487
4480
|
}
|
|
4488
4481
|
},
|
|
4489
|
-
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(
|
|
4490
|
-
var touch =
|
|
4482
|
+
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(e2) {
|
|
4483
|
+
var touch = e2.touches ? e2.touches[0] : e2;
|
|
4491
4484
|
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))) {
|
|
4492
4485
|
this._disableDelayedDrag();
|
|
4493
4486
|
}
|
|
@@ -5088,9 +5081,9 @@ Author: Draggable https://draggable.io
|
|
|
5088
5081
|
* @returns {String[]}
|
|
5089
5082
|
*/
|
|
5090
5083
|
toArray: function toArray() {
|
|
5091
|
-
var order = [], el, children = this.el.children,
|
|
5092
|
-
for (;
|
|
5093
|
-
el = children[
|
|
5084
|
+
var order = [], el, children = this.el.children, i2 = 0, n = children.length, options = this.options;
|
|
5085
|
+
for (; i2 < n; i2++) {
|
|
5086
|
+
el = children[i2];
|
|
5094
5087
|
if (closest(el, options.draggable, this.el, false)) {
|
|
5095
5088
|
order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
|
|
5096
5089
|
}
|
|
@@ -5103,8 +5096,8 @@ Author: Draggable https://draggable.io
|
|
|
5103
5096
|
*/
|
|
5104
5097
|
sort: function sort(order, useAnimation) {
|
|
5105
5098
|
var items = {}, rootEl2 = this.el;
|
|
5106
|
-
this.toArray().forEach(function(id,
|
|
5107
|
-
var el = rootEl2.children[
|
|
5099
|
+
this.toArray().forEach(function(id, i2) {
|
|
5100
|
+
var el = rootEl2.children[i2];
|
|
5108
5101
|
if (closest(el, this.options.draggable, rootEl2, false)) {
|
|
5109
5102
|
items[id] = el;
|
|
5110
5103
|
}
|
|
@@ -5297,9 +5290,9 @@ Author: Draggable https://draggable.io
|
|
|
5297
5290
|
}
|
|
5298
5291
|
}
|
|
5299
5292
|
function _generateId(el) {
|
|
5300
|
-
var str = el.tagName + el.className + el.src + el.href + el.textContent,
|
|
5301
|
-
while (
|
|
5302
|
-
sum += str.charCodeAt(
|
|
5293
|
+
var str = el.tagName + el.className + el.src + el.href + el.textContent, i2 = str.length, sum = 0;
|
|
5294
|
+
while (i2--) {
|
|
5295
|
+
sum += str.charCodeAt(i2);
|
|
5303
5296
|
}
|
|
5304
5297
|
return sum.toString(36);
|
|
5305
5298
|
}
|
|
@@ -5491,9 +5484,9 @@ Author: Draggable https://draggable.io
|
|
|
5491
5484
|
var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
|
|
5492
5485
|
var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
|
|
5493
5486
|
if (!autoScrolls[layersOut]) {
|
|
5494
|
-
for (var
|
|
5495
|
-
if (!autoScrolls[
|
|
5496
|
-
autoScrolls[
|
|
5487
|
+
for (var i2 = 0; i2 <= layersOut; i2++) {
|
|
5488
|
+
if (!autoScrolls[i2]) {
|
|
5489
|
+
autoScrolls[i2] = {};
|
|
5497
5490
|
}
|
|
5498
5491
|
}
|
|
5499
5492
|
}
|
|
@@ -5693,13 +5686,13 @@ Author: Draggable https://draggable.io
|
|
|
5693
5686
|
return unique(orderedElements);
|
|
5694
5687
|
};
|
|
5695
5688
|
const forEach = (arr, cb, scope) => {
|
|
5696
|
-
for (let
|
|
5697
|
-
cb.call(scope, arr[
|
|
5689
|
+
for (let i2 = 0; i2 < arr.length; i2++) {
|
|
5690
|
+
cb.call(scope, arr[i2], i2);
|
|
5698
5691
|
}
|
|
5699
5692
|
};
|
|
5700
5693
|
const map = (arr, cb) => {
|
|
5701
5694
|
const newArray = [];
|
|
5702
|
-
forEach(arr, (elem,
|
|
5695
|
+
forEach(arr, (elem, i2) => newArray.push(cb(elem, i2)));
|
|
5703
5696
|
return newArray;
|
|
5704
5697
|
};
|
|
5705
5698
|
const sanitizedAttributeNames = {};
|
|
@@ -5718,7 +5711,6 @@ Author: Draggable https://draggable.io
|
|
|
5718
5711
|
const capitalize = (str) => str.replace(/\b\w/g, (m) => m.toUpperCase());
|
|
5719
5712
|
const copyObj = (obj) => window.JSON.parse(window.JSON.stringify(obj));
|
|
5720
5713
|
const subtract = (arr, from) => from.filter((a) => !~arr.indexOf(a));
|
|
5721
|
-
const isIE = () => window.navigator.userAgent.indexOf("MSIE ") !== -1;
|
|
5722
5714
|
const helpers = {
|
|
5723
5715
|
capitalize,
|
|
5724
5716
|
safeAttrName,
|
|
@@ -5730,8 +5722,119 @@ Author: Draggable https://draggable.io
|
|
|
5730
5722
|
indexOfNode,
|
|
5731
5723
|
isInt,
|
|
5732
5724
|
get,
|
|
5733
|
-
orderObjectsBy
|
|
5734
|
-
|
|
5725
|
+
orderObjectsBy
|
|
5726
|
+
};
|
|
5727
|
+
const loaded = {
|
|
5728
|
+
js: /* @__PURE__ */ new Set(),
|
|
5729
|
+
css: /* @__PURE__ */ new Set(),
|
|
5730
|
+
formeoSprite: null
|
|
5731
|
+
};
|
|
5732
|
+
const ajax = (fileUrl, callback, onError = noop) => {
|
|
5733
|
+
return new Promise((resolve) => {
|
|
5734
|
+
return fetch(fileUrl).then((data) => {
|
|
5735
|
+
if (!data.ok) {
|
|
5736
|
+
return resolve(onError(data));
|
|
5737
|
+
}
|
|
5738
|
+
resolve(callback ? callback(data) : data);
|
|
5739
|
+
}).catch((err) => onError(err));
|
|
5740
|
+
});
|
|
5741
|
+
};
|
|
5742
|
+
const onLoadStylesheet = (elem, cb) => {
|
|
5743
|
+
elem.removeEventListener("load", onLoadStylesheet);
|
|
5744
|
+
cb(elem.src);
|
|
5745
|
+
};
|
|
5746
|
+
const onLoadJavascript = (elem, cb) => {
|
|
5747
|
+
elem.removeEventListener("load", onLoadJavascript);
|
|
5748
|
+
cb(elem.src);
|
|
5749
|
+
};
|
|
5750
|
+
const insertScript = (src) => {
|
|
5751
|
+
return new Promise((resolve, reject) => {
|
|
5752
|
+
if (loaded.js.has(src)) {
|
|
5753
|
+
return resolve(src);
|
|
5754
|
+
}
|
|
5755
|
+
loaded.js.add(src);
|
|
5756
|
+
const script = dom.create({
|
|
5757
|
+
tag: "script",
|
|
5758
|
+
attrs: {
|
|
5759
|
+
type: "text/javascript",
|
|
5760
|
+
async: true,
|
|
5761
|
+
src
|
|
5762
|
+
},
|
|
5763
|
+
action: {
|
|
5764
|
+
load: () => onLoadJavascript(script, resolve),
|
|
5765
|
+
error: () => reject(new Error(`${src} failed to load.`))
|
|
5766
|
+
}
|
|
5767
|
+
});
|
|
5768
|
+
document.head.appendChild(script);
|
|
5769
|
+
});
|
|
5770
|
+
};
|
|
5771
|
+
const insertStyle = (srcs) => {
|
|
5772
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5773
|
+
const promises = srcs.map(
|
|
5774
|
+
(src) => new Promise((resolve, reject) => {
|
|
5775
|
+
if (loaded.css.has(src)) {
|
|
5776
|
+
return resolve(src);
|
|
5777
|
+
}
|
|
5778
|
+
loaded.css.add(src);
|
|
5779
|
+
const styleLink = dom.create({
|
|
5780
|
+
tag: "link",
|
|
5781
|
+
attrs: {
|
|
5782
|
+
rel: "stylesheet",
|
|
5783
|
+
href: src
|
|
5784
|
+
},
|
|
5785
|
+
action: {
|
|
5786
|
+
load: () => onLoadStylesheet(styleLink, resolve),
|
|
5787
|
+
error: () => reject(new Error(`${(void 0).src} failed to load.`))
|
|
5788
|
+
}
|
|
5789
|
+
});
|
|
5790
|
+
document.head.appendChild(styleLink);
|
|
5791
|
+
})
|
|
5792
|
+
);
|
|
5793
|
+
return Promise.all(promises);
|
|
5794
|
+
};
|
|
5795
|
+
const insertScripts = (srcs) => {
|
|
5796
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5797
|
+
const promises = srcs.map((src) => insertScript(src));
|
|
5798
|
+
return Promise.all(promises);
|
|
5799
|
+
};
|
|
5800
|
+
const insertStyles = (srcs) => {
|
|
5801
|
+
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
5802
|
+
const promises = srcs.map((src) => insertStyle(src));
|
|
5803
|
+
return Promise.all(promises);
|
|
5804
|
+
};
|
|
5805
|
+
const insertIcons = (iconSvgStr) => {
|
|
5806
|
+
const parser = new DOMParser();
|
|
5807
|
+
const svgDoc = parser.parseFromString(iconSvgStr, "image/svg+xml");
|
|
5808
|
+
loaded.formeoSprite = svgDoc.documentElement;
|
|
5809
|
+
return loaded.formeoSprite;
|
|
5810
|
+
};
|
|
5811
|
+
const fetchIcons = async (iconSpriteUrl = SVG_SPRITE_URL) => {
|
|
5812
|
+
if (loaded.formeoSprite) {
|
|
5813
|
+
return loaded.formeoSprite;
|
|
5814
|
+
}
|
|
5815
|
+
if (!iconSpriteUrl) {
|
|
5816
|
+
return insertIcons(BUNDLED_SVG_SPRITE);
|
|
5817
|
+
}
|
|
5818
|
+
const parseResp = async (resp) => insertIcons(await resp.text());
|
|
5819
|
+
return ajax(iconSpriteUrl, parseResp, () => ajax(FALLBACK_SVG_SPRITE_URL, parseResp));
|
|
5820
|
+
};
|
|
5821
|
+
const LOADER_MAP = {
|
|
5822
|
+
js: insertScripts,
|
|
5823
|
+
css: insertStyles
|
|
5824
|
+
};
|
|
5825
|
+
const fetchDependencies = (dependencies) => {
|
|
5826
|
+
const promises = Object.entries(dependencies).map(([type, src]) => {
|
|
5827
|
+
return LOADER_MAP[type](src);
|
|
5828
|
+
});
|
|
5829
|
+
return Promise.all(promises);
|
|
5830
|
+
};
|
|
5831
|
+
const fetchFormeoStyle = async (cssUrl) => {
|
|
5832
|
+
if (!loaded.css.has(cssUrl)) {
|
|
5833
|
+
await insertStyle(cssUrl);
|
|
5834
|
+
if (!loaded.css.has(FALLBACK_CSS_URL)) {
|
|
5835
|
+
return await insertStyle(FALLBACK_CSS_URL);
|
|
5836
|
+
}
|
|
5837
|
+
}
|
|
5735
5838
|
};
|
|
5736
5839
|
const iconFontTemplates = {
|
|
5737
5840
|
glyphicons: (icon) => `<span class="glyphicon glyphicon-${icon}" aria-hidden="true"></span>`,
|
|
@@ -5826,7 +5929,7 @@ Author: Draggable https://draggable.io
|
|
|
5826
5929
|
processed.push("tag");
|
|
5827
5930
|
let childType;
|
|
5828
5931
|
const { tag } = elem;
|
|
5829
|
-
let
|
|
5932
|
+
let i2;
|
|
5830
5933
|
const wrap = {
|
|
5831
5934
|
attrs: {},
|
|
5832
5935
|
className: [helpers.get(elem, "config.inputWrap")],
|
|
@@ -5920,8 +6023,8 @@ Author: Draggable https://draggable.io
|
|
|
5920
6023
|
processed.push("action");
|
|
5921
6024
|
}
|
|
5922
6025
|
const remaining = helpers.subtract(processed, Object.keys(elem));
|
|
5923
|
-
for (
|
|
5924
|
-
element[remaining[
|
|
6026
|
+
for (i2 = remaining.length - 1; i2 >= 0; i2--) {
|
|
6027
|
+
element[remaining[i2]] = elem[remaining[i2]];
|
|
5925
6028
|
}
|
|
5926
6029
|
if (wrap.children.length) {
|
|
5927
6030
|
element = this.create(wrap);
|
|
@@ -5961,25 +6064,26 @@ Author: Draggable https://draggable.io
|
|
|
5961
6064
|
if (this.iconSymbols) {
|
|
5962
6065
|
return this.iconSymbols;
|
|
5963
6066
|
}
|
|
5964
|
-
const iconSymbolNodes =
|
|
5965
|
-
const createSvgIconConfig = (
|
|
5966
|
-
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
|
|
5975
|
-
|
|
5976
|
-
|
|
5977
|
-
}
|
|
5978
|
-
|
|
5979
|
-
|
|
6067
|
+
const iconSymbolNodes = loaded.formeoSprite.querySelectorAll("svg symbol");
|
|
6068
|
+
const createSvgIconConfig = (symbol) => {
|
|
6069
|
+
const viewBox = symbol.getAttribute("viewBox") || "0 0 24 24";
|
|
6070
|
+
const children = Array.from(symbol.children).map((child) => {
|
|
6071
|
+
const clonedNode = child.cloneNode(true);
|
|
6072
|
+
return clonedNode.outerHTML;
|
|
6073
|
+
}).join("");
|
|
6074
|
+
return {
|
|
6075
|
+
tag: "svg",
|
|
6076
|
+
attrs: {
|
|
6077
|
+
className: ["svg-icon", symbol.id],
|
|
6078
|
+
viewBox,
|
|
6079
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
6080
|
+
},
|
|
6081
|
+
children
|
|
6082
|
+
};
|
|
6083
|
+
};
|
|
5980
6084
|
this.iconSymbols = Array.from(iconSymbolNodes).reduce((acc, symbol) => {
|
|
5981
6085
|
const name2 = symbol.id.replace(iconPrefix, "");
|
|
5982
|
-
acc[name2] = createSvgIconConfig(symbol
|
|
6086
|
+
acc[name2] = createSvgIconConfig(symbol);
|
|
5983
6087
|
return acc;
|
|
5984
6088
|
}, {});
|
|
5985
6089
|
this.cachedIcons = {};
|
|
@@ -6087,19 +6191,19 @@ Author: Draggable https://draggable.io
|
|
|
6087
6191
|
});
|
|
6088
6192
|
return elementsContainingText;
|
|
6089
6193
|
};
|
|
6090
|
-
generateOption = ({ type = "option", label, value, i = 0, selected }) => {
|
|
6194
|
+
generateOption = ({ type = "option", label, value, i: i2 = 0, selected }) => {
|
|
6091
6195
|
const isOption = type === "option";
|
|
6092
6196
|
return {
|
|
6093
6197
|
tag: isOption ? "option" : "input",
|
|
6094
6198
|
attrs: {
|
|
6095
6199
|
type,
|
|
6096
|
-
value: value || `${type}-${
|
|
6097
|
-
[type === "option" ? "selected" : "checked"]: selected || !
|
|
6200
|
+
value: value || `${type}-${i2}`,
|
|
6201
|
+
[type === "option" ? "selected" : "checked"]: selected || !i2
|
|
6098
6202
|
},
|
|
6099
6203
|
config: {
|
|
6100
6204
|
label: label || mi18n.get("labelCount", {
|
|
6101
6205
|
label: mi18n.get("option"),
|
|
6102
|
-
count:
|
|
6206
|
+
count: i2
|
|
6103
6207
|
})
|
|
6104
6208
|
}
|
|
6105
6209
|
};
|
|
@@ -6115,7 +6219,7 @@ Author: Draggable https://draggable.io
|
|
|
6115
6219
|
const { action, attrs = {} } = elem;
|
|
6116
6220
|
const fieldType = attrs.type || elem.tag;
|
|
6117
6221
|
const id = attrs.id || elem.id;
|
|
6118
|
-
const optionMap = (option,
|
|
6222
|
+
const optionMap = (option, i2) => {
|
|
6119
6223
|
const { label, value, ...rest } = option;
|
|
6120
6224
|
const defaultInput = () => {
|
|
6121
6225
|
const input = {
|
|
@@ -6124,7 +6228,7 @@ Author: Draggable https://draggable.io
|
|
|
6124
6228
|
name: id,
|
|
6125
6229
|
type: fieldType,
|
|
6126
6230
|
value: value || "",
|
|
6127
|
-
id: `${id}-${
|
|
6231
|
+
id: `${id}-${i2}`,
|
|
6128
6232
|
...rest
|
|
6129
6233
|
},
|
|
6130
6234
|
action
|
|
@@ -6132,7 +6236,7 @@ Author: Draggable https://draggable.io
|
|
|
6132
6236
|
const optionLabel = {
|
|
6133
6237
|
tag: "label",
|
|
6134
6238
|
attrs: {
|
|
6135
|
-
for: `${id}-${
|
|
6239
|
+
for: `${id}-${i2}`
|
|
6136
6240
|
},
|
|
6137
6241
|
children: label
|
|
6138
6242
|
};
|
|
@@ -6665,7 +6769,7 @@ Author: Draggable https://draggable.io
|
|
|
6665
6769
|
* @return {Object} DOM Element to be injected into the form.
|
|
6666
6770
|
*/
|
|
6667
6771
|
build() {
|
|
6668
|
-
const keyboardNav = (
|
|
6772
|
+
const keyboardNav = (e2) => {
|
|
6669
6773
|
const list = this.list;
|
|
6670
6774
|
const activeOption = this.getActiveOption();
|
|
6671
6775
|
const keyCodeMap = /* @__PURE__ */ new Map([
|
|
@@ -6702,7 +6806,7 @@ Author: Draggable https://draggable.io
|
|
|
6702
6806
|
this.hideList();
|
|
6703
6807
|
}
|
|
6704
6808
|
}
|
|
6705
|
-
|
|
6809
|
+
e2.preventDefault();
|
|
6706
6810
|
}
|
|
6707
6811
|
],
|
|
6708
6812
|
[
|
|
@@ -6713,7 +6817,7 @@ Author: Draggable https://draggable.io
|
|
|
6713
6817
|
}
|
|
6714
6818
|
]
|
|
6715
6819
|
]);
|
|
6716
|
-
let direction = keyCodeMap.get(
|
|
6820
|
+
let direction = keyCodeMap.get(e2.keyCode);
|
|
6717
6821
|
if (!direction) {
|
|
6718
6822
|
direction = () => false;
|
|
6719
6823
|
}
|
|
@@ -7902,7 +8006,7 @@ Author: Draggable https://draggable.io
|
|
|
7902
8006
|
placement: "top"
|
|
7903
8007
|
},
|
|
7904
8008
|
action: {
|
|
7905
|
-
click: (
|
|
8009
|
+
click: (e2) => this.nav.nextGroup(e2)
|
|
7906
8010
|
},
|
|
7907
8011
|
content: dom.icon("triangle-right")
|
|
7908
8012
|
};
|
|
@@ -7918,7 +8022,7 @@ Author: Draggable https://draggable.io
|
|
|
7918
8022
|
placement: "top"
|
|
7919
8023
|
},
|
|
7920
8024
|
action: {
|
|
7921
|
-
click: (
|
|
8025
|
+
click: (e2) => this.nav.prevGroup(e2)
|
|
7922
8026
|
},
|
|
7923
8027
|
content: dom.icon("triangle-left")
|
|
7924
8028
|
};
|
|
@@ -8255,12 +8359,7 @@ Author: Draggable https://draggable.io
|
|
|
8255
8359
|
return dom.create({
|
|
8256
8360
|
tag: "span",
|
|
8257
8361
|
className: ["component-tag", `${this.name}-tag`],
|
|
8258
|
-
children: [
|
|
8259
|
-
(this.isColumn || this.isField) && dom.icon("component-corner", { className: "bottom-left" }),
|
|
8260
|
-
dom.icon(`handle-${this.name}`),
|
|
8261
|
-
toTitleCase(this.name),
|
|
8262
|
-
(this.isColumn || this.isRow) && dom.icon("component-corner", { className: "bottom-right" })
|
|
8263
|
-
].filter(Boolean)
|
|
8362
|
+
children: [dom.icon(`handle-${this.name}`), toTitleCase(this.name)].filter(Boolean)
|
|
8264
8363
|
});
|
|
8265
8364
|
};
|
|
8266
8365
|
/**
|
|
@@ -9324,8 +9423,8 @@ Author: Draggable https://draggable.io
|
|
|
9324
9423
|
if (typeof widths === "string") {
|
|
9325
9424
|
widths = widths.split(",");
|
|
9326
9425
|
}
|
|
9327
|
-
this.children.forEach((column,
|
|
9328
|
-
column.setWidth(`${widths[
|
|
9426
|
+
this.children.forEach((column, i2) => {
|
|
9427
|
+
column.setWidth(`${widths[i2]}%`);
|
|
9329
9428
|
column.refreshFieldPanels();
|
|
9330
9429
|
});
|
|
9331
9430
|
};
|
|
@@ -9526,133 +9625,6 @@ Author: Draggable https://draggable.io
|
|
|
9526
9625
|
}
|
|
9527
9626
|
};
|
|
9528
9627
|
const stages = new Stages$1();
|
|
9529
|
-
const loaded = {
|
|
9530
|
-
js: /* @__PURE__ */ new Set(),
|
|
9531
|
-
css: /* @__PURE__ */ new Set()
|
|
9532
|
-
};
|
|
9533
|
-
const ajax = (fileUrl, callback, onError = noop) => {
|
|
9534
|
-
return new Promise((resolve) => {
|
|
9535
|
-
return fetch(fileUrl).then((data) => {
|
|
9536
|
-
if (!data.ok) {
|
|
9537
|
-
return resolve(onError(data));
|
|
9538
|
-
}
|
|
9539
|
-
resolve(callback ? callback(data) : data);
|
|
9540
|
-
}).catch((err) => onError(err));
|
|
9541
|
-
});
|
|
9542
|
-
};
|
|
9543
|
-
const onLoadStylesheet = (elem, cb) => {
|
|
9544
|
-
elem.removeEventListener("load", onLoadStylesheet);
|
|
9545
|
-
cb(elem.src);
|
|
9546
|
-
};
|
|
9547
|
-
const onLoadJavascript = (elem, cb) => {
|
|
9548
|
-
elem.removeEventListener("load", onLoadJavascript);
|
|
9549
|
-
cb(elem.src);
|
|
9550
|
-
};
|
|
9551
|
-
const insertScript = (src) => {
|
|
9552
|
-
return new Promise((resolve, reject) => {
|
|
9553
|
-
if (loaded.js.has(src)) {
|
|
9554
|
-
return resolve(src);
|
|
9555
|
-
}
|
|
9556
|
-
loaded.js.add(src);
|
|
9557
|
-
const script = dom.create({
|
|
9558
|
-
tag: "script",
|
|
9559
|
-
attrs: {
|
|
9560
|
-
type: "text/javascript",
|
|
9561
|
-
async: true,
|
|
9562
|
-
src
|
|
9563
|
-
},
|
|
9564
|
-
action: {
|
|
9565
|
-
load: () => onLoadJavascript(script, resolve),
|
|
9566
|
-
error: () => reject(new Error(`${src} failed to load.`))
|
|
9567
|
-
}
|
|
9568
|
-
});
|
|
9569
|
-
document.head.appendChild(script);
|
|
9570
|
-
});
|
|
9571
|
-
};
|
|
9572
|
-
const insertStyle = (srcs) => {
|
|
9573
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9574
|
-
const promises = srcs.map(
|
|
9575
|
-
(src) => new Promise((resolve, reject) => {
|
|
9576
|
-
if (loaded.css.has(src)) {
|
|
9577
|
-
return resolve(src);
|
|
9578
|
-
}
|
|
9579
|
-
loaded.css.add(src);
|
|
9580
|
-
const styleLink = dom.create({
|
|
9581
|
-
tag: "link",
|
|
9582
|
-
attrs: {
|
|
9583
|
-
rel: "stylesheet",
|
|
9584
|
-
href: src
|
|
9585
|
-
},
|
|
9586
|
-
action: {
|
|
9587
|
-
load: () => onLoadStylesheet(styleLink, resolve),
|
|
9588
|
-
error: () => reject(new Error(`${(void 0).src} failed to load.`))
|
|
9589
|
-
}
|
|
9590
|
-
});
|
|
9591
|
-
document.head.appendChild(styleLink);
|
|
9592
|
-
})
|
|
9593
|
-
);
|
|
9594
|
-
return Promise.all(promises);
|
|
9595
|
-
};
|
|
9596
|
-
const insertScripts = (srcs) => {
|
|
9597
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9598
|
-
const promises = srcs.map((src) => insertScript(src));
|
|
9599
|
-
return Promise.all(promises);
|
|
9600
|
-
};
|
|
9601
|
-
const insertStyles = (srcs) => {
|
|
9602
|
-
srcs = Array.isArray(srcs) ? srcs : [srcs];
|
|
9603
|
-
const promises = srcs.map((src) => insertStyle(src));
|
|
9604
|
-
return Promise.all(promises);
|
|
9605
|
-
};
|
|
9606
|
-
const insertIcons = (iconSvgStr) => {
|
|
9607
|
-
let iconSpriteWrap = document.getElementById(formeoSpriteId);
|
|
9608
|
-
if (!iconSpriteWrap) {
|
|
9609
|
-
iconSpriteWrap = dom.create({
|
|
9610
|
-
id: formeoSpriteId,
|
|
9611
|
-
children: iconSvgStr,
|
|
9612
|
-
attrs: {
|
|
9613
|
-
hidden: true,
|
|
9614
|
-
style: "display: none;"
|
|
9615
|
-
}
|
|
9616
|
-
});
|
|
9617
|
-
document.body.insertBefore(iconSpriteWrap, document.body.childNodes[0]);
|
|
9618
|
-
}
|
|
9619
|
-
return iconSpriteWrap;
|
|
9620
|
-
};
|
|
9621
|
-
const fetchIcons = async (iconSpriteUrl = SVG_SPRITE_URL) => {
|
|
9622
|
-
const formeoSprite = document.getElementById(formeoSpriteId);
|
|
9623
|
-
if (formeoSprite) {
|
|
9624
|
-
return;
|
|
9625
|
-
}
|
|
9626
|
-
const parseResp = async (resp) => insertIcons(await resp.text());
|
|
9627
|
-
return ajax(iconSpriteUrl, parseResp, () => ajax(FALLBACK_SVG_SPRITE_URL, parseResp));
|
|
9628
|
-
};
|
|
9629
|
-
const loadPolyfills = (polyfillConfig) => {
|
|
9630
|
-
const polyfills = Array.isArray(polyfillConfig) ? POLYFILLS.filter(({ name: name2 }) => polyfillConfig.indexOf(name2) !== -1) : POLYFILLS;
|
|
9631
|
-
return Promise.all(polyfills.map(({ src }) => insertScript(src)));
|
|
9632
|
-
};
|
|
9633
|
-
const LOADER_MAP = {
|
|
9634
|
-
js: insertScripts,
|
|
9635
|
-
css: insertStyles
|
|
9636
|
-
};
|
|
9637
|
-
const fetchDependencies = (dependencies) => {
|
|
9638
|
-
const promises = Object.entries(dependencies).map(([type, src]) => {
|
|
9639
|
-
return LOADER_MAP[type](src);
|
|
9640
|
-
});
|
|
9641
|
-
return Promise.all(promises);
|
|
9642
|
-
};
|
|
9643
|
-
const isCssLoaded = () => {
|
|
9644
|
-
const formeoSprite = document.getElementById(formeoSpriteId);
|
|
9645
|
-
const computedStyle = window.getComputedStyle(formeoSprite);
|
|
9646
|
-
return computedStyle.visibility === "hidden";
|
|
9647
|
-
};
|
|
9648
|
-
const fetchFormeoStyle = async (cssUrl) => {
|
|
9649
|
-
if (!isCssLoaded()) {
|
|
9650
|
-
await insertStyle(cssUrl);
|
|
9651
|
-
if (!isCssLoaded()) {
|
|
9652
|
-
return await insertStyle(FALLBACK_CSS_URL);
|
|
9653
|
-
}
|
|
9654
|
-
}
|
|
9655
|
-
};
|
|
9656
9628
|
class Control {
|
|
9657
9629
|
controlCache = /* @__PURE__ */ new Set();
|
|
9658
9630
|
/**
|
|
@@ -9721,9 +9693,9 @@ Author: Draggable https://draggable.io
|
|
|
9721
9693
|
* @return {String} the translated label
|
|
9722
9694
|
*/
|
|
9723
9695
|
i18n(lookup, args) {
|
|
9724
|
-
const
|
|
9696
|
+
const locale2 = mi18n.locale;
|
|
9725
9697
|
const controlTranslations = this.definition?.i18n;
|
|
9726
|
-
const localeTranslations = controlTranslations?.[
|
|
9698
|
+
const localeTranslations = controlTranslations?.[locale2] || {};
|
|
9727
9699
|
return (localeTranslations[lookup]?.() ?? localeTranslations[lookup]) || mi18n.get(lookup, args);
|
|
9728
9700
|
}
|
|
9729
9701
|
}
|
|
@@ -9974,12 +9946,12 @@ Author: Draggable https://draggable.io
|
|
|
9974
9946
|
// @todo finish the addGroup method
|
|
9975
9947
|
addGroup: (group) => console.log(group)
|
|
9976
9948
|
};
|
|
9977
|
-
for (let
|
|
9978
|
-
const storeID = `formeo-controls-${groups[
|
|
9949
|
+
for (let i2 = groups.length - 1; i2 >= 0; i2--) {
|
|
9950
|
+
const storeID = `formeo-controls-${groups[i2]}`;
|
|
9979
9951
|
if (!this.options.sortable) {
|
|
9980
9952
|
window.localStorage.removeItem(storeID);
|
|
9981
9953
|
}
|
|
9982
|
-
Sortable.create(groups[
|
|
9954
|
+
Sortable.create(groups[i2], {
|
|
9983
9955
|
animation: 150,
|
|
9984
9956
|
forceFallback: true,
|
|
9985
9957
|
fallbackClass: "control-moving",
|
|
@@ -10700,8 +10672,10 @@ Author: Draggable https://draggable.io
|
|
|
10700
10672
|
}
|
|
10701
10673
|
}
|
|
10702
10674
|
};
|
|
10703
|
-
const
|
|
10704
|
-
|
|
10675
|
+
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"];
|
|
10676
|
+
const locale = "en-US";
|
|
10677
|
+
mi18n.addLanguage(locale, i);
|
|
10678
|
+
mi18n.setCurrent(locale);
|
|
10705
10679
|
const defaults = {
|
|
10706
10680
|
get editor() {
|
|
10707
10681
|
return {
|
|
@@ -10712,8 +10686,8 @@ Author: Draggable https://draggable.io
|
|
|
10712
10686
|
sessionStorage: false,
|
|
10713
10687
|
editorContainer: null,
|
|
10714
10688
|
// element or selector to attach editor to
|
|
10715
|
-
svgSprite:
|
|
10716
|
-
//
|
|
10689
|
+
svgSprite: null,
|
|
10690
|
+
// null = use bundled sprite, or provide custom URL
|
|
10717
10691
|
style: CSS_URL,
|
|
10718
10692
|
// change to null
|
|
10719
10693
|
iconFont: null,
|
|
@@ -10723,8 +10697,6 @@ Author: Draggable https://draggable.io
|
|
|
10723
10697
|
events: {},
|
|
10724
10698
|
actions: {},
|
|
10725
10699
|
controls: {},
|
|
10726
|
-
polyfills: isIE(),
|
|
10727
|
-
// loads csspreloadrel
|
|
10728
10700
|
i18n: {
|
|
10729
10701
|
location: "https://draggable.github.io/formeo/assets/lang/"
|
|
10730
10702
|
},
|
|
@@ -10733,6 +10705,7 @@ Author: Draggable https://draggable.io
|
|
|
10733
10705
|
};
|
|
10734
10706
|
}
|
|
10735
10707
|
};
|
|
10708
|
+
new SmartTooltip();
|
|
10736
10709
|
let FormeoEditor$1 = class FormeoEditor {
|
|
10737
10710
|
/**
|
|
10738
10711
|
* @param {Object} options formeo options
|
|
@@ -10753,7 +10726,6 @@ Author: Draggable https://draggable.io
|
|
|
10753
10726
|
this.dom = dom;
|
|
10754
10727
|
events.init({ debug, ...events$1 });
|
|
10755
10728
|
actions.init({ debug, sessionStorage: opts.sessionStorage, ...actions$1 });
|
|
10756
|
-
this.tooltip = new SmartTooltip();
|
|
10757
10729
|
if (document.readyState === "loading") {
|
|
10758
10730
|
document.addEventListener("DOMContentLoaded", this.loadResources.bind(this));
|
|
10759
10731
|
} else {
|
|
@@ -10789,17 +10761,15 @@ Author: Draggable https://draggable.io
|
|
|
10789
10761
|
async loadResources() {
|
|
10790
10762
|
document.removeEventListener("DOMContentLoaded", this.loadResources);
|
|
10791
10763
|
const promises = [];
|
|
10792
|
-
|
|
10793
|
-
|
|
10794
|
-
|
|
10795
|
-
|
|
10796
|
-
|
|
10797
|
-
|
|
10798
|
-
const resolvedPromises = await Promise.all(promises);
|
|
10764
|
+
promises.push(
|
|
10765
|
+
fetchIcons(this.opts.svgSprite),
|
|
10766
|
+
fetchFormeoStyle(this.opts.style),
|
|
10767
|
+
mi18n.init({ ...this.opts.i18n, locale: globalThis.sessionStorage?.getItem(SESSION_LOCALE_KEY) })
|
|
10768
|
+
);
|
|
10769
|
+
await Promise.all(promises);
|
|
10799
10770
|
if (this.opts.allowEdit) {
|
|
10800
10771
|
this.init();
|
|
10801
10772
|
}
|
|
10802
|
-
return resolvedPromises;
|
|
10803
10773
|
}
|
|
10804
10774
|
/**
|
|
10805
10775
|
* Formeo initializer
|
|
@@ -10859,7 +10829,7 @@ Author: Draggable https://draggable.io
|
|
|
10859
10829
|
dom.empty(this.editorContainer);
|
|
10860
10830
|
this.editorContainer.appendChild(this.editor);
|
|
10861
10831
|
}
|
|
10862
|
-
events.formeoLoaded = new
|
|
10832
|
+
events.formeoLoaded = new globalThis.CustomEvent("formeoLoaded", {
|
|
10863
10833
|
detail: {
|
|
10864
10834
|
formeo: this
|
|
10865
10835
|
}
|
|
@@ -11115,8 +11085,8 @@ Author: Draggable https://draggable.io
|
|
|
11115
11085
|
},
|
|
11116
11086
|
children: "Add +",
|
|
11117
11087
|
action: {
|
|
11118
|
-
click: (
|
|
11119
|
-
const fInputGroup =
|
|
11088
|
+
click: (e2) => {
|
|
11089
|
+
const fInputGroup = e2.target.parentElement;
|
|
11120
11090
|
const elem = dom.create(this.cloneComponentData(id));
|
|
11121
11091
|
fInputGroup.insertBefore(elem, fInputGroup.lastChild);
|
|
11122
11092
|
const removeButton = dom.create(createRemoveButton());
|
|
@@ -11349,15 +11319,15 @@ Author: Draggable https://draggable.io
|
|
|
11349
11319
|
super(mergedConfig);
|
|
11350
11320
|
}
|
|
11351
11321
|
}
|
|
11352
|
-
const generateOptionConfig = ({ type, isMultiple = false, count = 3 }) => Array.from({ length: count }, (_v, k) => k + 1).map((
|
|
11322
|
+
const generateOptionConfig = ({ type, isMultiple = false, count = 3 }) => Array.from({ length: count }, (_v, k) => k + 1).map((i2) => {
|
|
11353
11323
|
const selectedKey = type === "checkbox" || isMultiple ? "checked" : "selected";
|
|
11354
11324
|
return {
|
|
11355
11325
|
label: mi18n.get("labelCount", {
|
|
11356
11326
|
label: toTitleCase(type),
|
|
11357
|
-
count:
|
|
11327
|
+
count: i2
|
|
11358
11328
|
}),
|
|
11359
|
-
value: `${type}-${
|
|
11360
|
-
[selectedKey]: !
|
|
11329
|
+
value: `${type}-${i2}`,
|
|
11330
|
+
[selectedKey]: !i2
|
|
11361
11331
|
};
|
|
11362
11332
|
});
|
|
11363
11333
|
class CheckboxGroupControl extends Control {
|