lib-pajakio-v2 1.0.29 → 1.0.31

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.
@@ -385,6 +385,34 @@ Function.prototype.toString = makeBuiltIn(function toString() {
385
385
  }, 'toString');
386
386
 
387
387
 
388
+ /***/ }),
389
+
390
+ /***/ "13d5":
391
+ /***/ (function(module, exports, __webpack_require__) {
392
+
393
+ "use strict";
394
+
395
+ var $ = __webpack_require__("23e7");
396
+ var $reduce = __webpack_require__("d58f").left;
397
+ var arrayMethodIsStrict = __webpack_require__("a640");
398
+ var CHROME_VERSION = __webpack_require__("1212");
399
+ var IS_NODE = __webpack_require__("9adc");
400
+
401
+ // Chrome 80-82 has a critical bug
402
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
403
+ var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
404
+ var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce');
405
+
406
+ // `Array.prototype.reduce` method
407
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
408
+ $({ target: 'Array', proto: true, forced: FORCED }, {
409
+ reduce: function reduce(callbackfn /* , initialValue */) {
410
+ var length = arguments.length;
411
+ return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
412
+ }
413
+ });
414
+
415
+
388
416
  /***/ }),
389
417
 
390
418
  /***/ "14d9":
@@ -523,6 +551,42 @@ module.exports = function (it) {
523
551
  /* unused harmony reexport * */
524
552
 
525
553
 
554
+ /***/ }),
555
+
556
+ /***/ "1e5a":
557
+ /***/ (function(module, exports, __webpack_require__) {
558
+
559
+ "use strict";
560
+
561
+ var $ = __webpack_require__("23e7");
562
+ var symmetricDifference = __webpack_require__("9961");
563
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
564
+
565
+ // `Set.prototype.symmetricDifference` method
566
+ // https://github.com/tc39/proposal-set-methods
567
+ $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {
568
+ symmetricDifference: symmetricDifference
569
+ });
570
+
571
+
572
+ /***/ }),
573
+
574
+ /***/ "1e70":
575
+ /***/ (function(module, exports, __webpack_require__) {
576
+
577
+ "use strict";
578
+
579
+ var $ = __webpack_require__("23e7");
580
+ var difference = __webpack_require__("a5f7");
581
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
582
+
583
+ // `Set.prototype.difference` method
584
+ // https://github.com/tc39/proposal-set-methods
585
+ $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {
586
+ difference: difference
587
+ });
588
+
589
+
526
590
  /***/ }),
527
591
 
528
592
  /***/ "23cb":
@@ -638,6 +702,38 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
638
702
  };
639
703
 
640
704
 
705
+ /***/ }),
706
+
707
+ /***/ "2a62":
708
+ /***/ (function(module, exports, __webpack_require__) {
709
+
710
+ "use strict";
711
+
712
+ var call = __webpack_require__("c65b");
713
+ var anObject = __webpack_require__("825a");
714
+ var getMethod = __webpack_require__("dc4a");
715
+
716
+ module.exports = function (iterator, kind, value) {
717
+ var innerResult, innerError;
718
+ anObject(iterator);
719
+ try {
720
+ innerResult = getMethod(iterator, 'return');
721
+ if (!innerResult) {
722
+ if (kind === 'throw') throw value;
723
+ return value;
724
+ }
725
+ innerResult = call(innerResult, iterator);
726
+ } catch (error) {
727
+ innerError = true;
728
+ innerResult = error;
729
+ }
730
+ if (kind === 'throw') throw value;
731
+ if (innerError) throw innerResult;
732
+ anObject(innerResult);
733
+ return value;
734
+ };
735
+
736
+
641
737
  /***/ }),
642
738
 
643
739
  /***/ "3271":
@@ -683,6 +779,55 @@ module.exports = function (it) {
683
779
  /* unused harmony reexport * */
684
780
 
685
781
 
782
+ /***/ }),
783
+
784
+ /***/ "384f":
785
+ /***/ (function(module, exports, __webpack_require__) {
786
+
787
+ "use strict";
788
+
789
+ var uncurryThis = __webpack_require__("e330");
790
+ var iterateSimple = __webpack_require__("5388");
791
+ var SetHelpers = __webpack_require__("cb27");
792
+
793
+ var Set = SetHelpers.Set;
794
+ var SetPrototype = SetHelpers.proto;
795
+ var forEach = uncurryThis(SetPrototype.forEach);
796
+ var keys = uncurryThis(SetPrototype.keys);
797
+ var next = keys(new Set()).next;
798
+
799
+ module.exports = function (set, fn, interruptible) {
800
+ return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);
801
+ };
802
+
803
+
804
+ /***/ }),
805
+
806
+ /***/ "395e":
807
+ /***/ (function(module, exports, __webpack_require__) {
808
+
809
+ "use strict";
810
+
811
+ var aSet = __webpack_require__("dc19");
812
+ var has = __webpack_require__("cb27").has;
813
+ var size = __webpack_require__("8e16");
814
+ var getSetRecord = __webpack_require__("7f65");
815
+ var iterateSimple = __webpack_require__("5388");
816
+ var iteratorClose = __webpack_require__("2a62");
817
+
818
+ // `Set.prototype.isSupersetOf` method
819
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
820
+ module.exports = function isSupersetOf(other) {
821
+ var O = aSet(this);
822
+ var otherRec = getSetRecord(other);
823
+ if (size(O) < otherRec.size) return false;
824
+ var iterator = otherRec.getIterator();
825
+ return iterateSimple(iterator, function (e) {
826
+ if (!has(O, e)) return iteratorClose(iterator, 'normal', false);
827
+ }) !== false;
828
+ };
829
+
830
+
686
831
  /***/ }),
687
832
 
688
833
  /***/ "3995":
@@ -817,6 +962,24 @@ module.exports = function (it) {
817
962
  };
818
963
 
819
964
 
965
+ /***/ }),
966
+
967
+ /***/ "46c4":
968
+ /***/ (function(module, exports, __webpack_require__) {
969
+
970
+ "use strict";
971
+
972
+ // `GetIteratorDirect(obj)` abstract operation
973
+ // https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect
974
+ module.exports = function (obj) {
975
+ return {
976
+ iterator: obj,
977
+ next: obj.next,
978
+ done: false
979
+ };
980
+ };
981
+
982
+
820
983
  /***/ }),
821
984
 
822
985
  /***/ "485a":
@@ -920,6 +1083,26 @@ module.exports = function (argument) {
920
1083
  };
921
1084
 
922
1085
 
1086
+ /***/ }),
1087
+
1088
+ /***/ "5388":
1089
+ /***/ (function(module, exports, __webpack_require__) {
1090
+
1091
+ "use strict";
1092
+
1093
+ var call = __webpack_require__("c65b");
1094
+
1095
+ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
1096
+ var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
1097
+ var next = record.next;
1098
+ var step, result;
1099
+ while (!(step = call(next, iterator)).done) {
1100
+ result = fn(step.value);
1101
+ if (result !== undefined) return result;
1102
+ }
1103
+ };
1104
+
1105
+
923
1106
  /***/ }),
924
1107
 
925
1108
  /***/ "5692":
@@ -1195,6 +1378,30 @@ module.exports = function (key, value) {
1195
1378
  /* unused harmony reexport * */
1196
1379
 
1197
1380
 
1381
+ /***/ }),
1382
+
1383
+ /***/ "68df":
1384
+ /***/ (function(module, exports, __webpack_require__) {
1385
+
1386
+ "use strict";
1387
+
1388
+ var aSet = __webpack_require__("dc19");
1389
+ var size = __webpack_require__("8e16");
1390
+ var iterate = __webpack_require__("384f");
1391
+ var getSetRecord = __webpack_require__("7f65");
1392
+
1393
+ // `Set.prototype.isSubsetOf` method
1394
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
1395
+ module.exports = function isSubsetOf(other) {
1396
+ var O = aSet(this);
1397
+ var otherRec = getSetRecord(other);
1398
+ if (size(O) > otherRec.size) return false;
1399
+ return iterate(O, function (e) {
1400
+ if (!otherRec.includes(e)) return false;
1401
+ }, true) !== false;
1402
+ };
1403
+
1404
+
1198
1405
  /***/ }),
1199
1406
 
1200
1407
  /***/ "69f3":
@@ -1314,6 +1521,42 @@ module.exports = function (it) {
1314
1521
  };
1315
1522
 
1316
1523
 
1524
+ /***/ }),
1525
+
1526
+ /***/ "7282":
1527
+ /***/ (function(module, exports, __webpack_require__) {
1528
+
1529
+ "use strict";
1530
+
1531
+ var uncurryThis = __webpack_require__("e330");
1532
+ var aCallable = __webpack_require__("59ed");
1533
+
1534
+ module.exports = function (object, key, method) {
1535
+ try {
1536
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1537
+ return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
1538
+ } catch (error) { /* empty */ }
1539
+ };
1540
+
1541
+
1542
+ /***/ }),
1543
+
1544
+ /***/ "72c3":
1545
+ /***/ (function(module, exports, __webpack_require__) {
1546
+
1547
+ "use strict";
1548
+
1549
+ var $ = __webpack_require__("23e7");
1550
+ var union = __webpack_require__("e9bc");
1551
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
1552
+
1553
+ // `Set.prototype.union` method
1554
+ // https://github.com/tc39/proposal-set-methods
1555
+ $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {
1556
+ union: union
1557
+ });
1558
+
1559
+
1317
1560
  /***/ }),
1318
1561
 
1319
1562
  /***/ "7418":
@@ -1346,10 +1589,27 @@ module.exports = [
1346
1589
 
1347
1590
  /***/ }),
1348
1591
 
1349
- /***/ "7a3b":
1592
+ /***/ "79a4":
1350
1593
  /***/ (function(module, exports, __webpack_require__) {
1351
1594
 
1352
- // extracted by mini-css-extract-plugin
1595
+ "use strict";
1596
+
1597
+ var $ = __webpack_require__("23e7");
1598
+ var fails = __webpack_require__("d039");
1599
+ var intersection = __webpack_require__("953b");
1600
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
1601
+
1602
+ var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
1603
+ // eslint-disable-next-line es/no-array-from, es/no-set -- testing
1604
+ return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';
1605
+ });
1606
+
1607
+ // `Set.prototype.intersection` method
1608
+ // https://github.com/tc39/proposal-set-methods
1609
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
1610
+ intersection: intersection
1611
+ });
1612
+
1353
1613
 
1354
1614
  /***/ }),
1355
1615
 
@@ -1387,6 +1647,54 @@ module.exports = function (argument) {
1387
1647
  /* unused harmony reexport * */
1388
1648
 
1389
1649
 
1650
+ /***/ }),
1651
+
1652
+ /***/ "7f65":
1653
+ /***/ (function(module, exports, __webpack_require__) {
1654
+
1655
+ "use strict";
1656
+
1657
+ var aCallable = __webpack_require__("59ed");
1658
+ var anObject = __webpack_require__("825a");
1659
+ var call = __webpack_require__("c65b");
1660
+ var toIntegerOrInfinity = __webpack_require__("5926");
1661
+ var getIteratorDirect = __webpack_require__("46c4");
1662
+
1663
+ var INVALID_SIZE = 'Invalid size';
1664
+ var $RangeError = RangeError;
1665
+ var $TypeError = TypeError;
1666
+ var max = Math.max;
1667
+
1668
+ var SetRecord = function (set, intSize) {
1669
+ this.set = set;
1670
+ this.size = max(intSize, 0);
1671
+ this.has = aCallable(set.has);
1672
+ this.keys = aCallable(set.keys);
1673
+ };
1674
+
1675
+ SetRecord.prototype = {
1676
+ getIterator: function () {
1677
+ return getIteratorDirect(anObject(call(this.keys, this.set)));
1678
+ },
1679
+ includes: function (it) {
1680
+ return call(this.has, this.set, it);
1681
+ }
1682
+ };
1683
+
1684
+ // `GetSetRecord` abstract operation
1685
+ // https://tc39.es/proposal-set-methods/#sec-getsetrecord
1686
+ module.exports = function (obj) {
1687
+ anObject(obj);
1688
+ var numSize = +obj.size;
1689
+ // NOTE: If size is undefined, then numSize will be NaN
1690
+ // eslint-disable-next-line no-self-compare -- NaN check
1691
+ if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
1692
+ var intSize = toIntegerOrInfinity(numSize);
1693
+ if (intSize < 0) throw new $RangeError(INVALID_SIZE);
1694
+ return new SetRecord(obj, intSize);
1695
+ };
1696
+
1697
+
1390
1698
  /***/ }),
1391
1699
 
1392
1700
  /***/ "8085":
@@ -1436,6 +1744,28 @@ module.exports = !fails(function () {
1436
1744
  });
1437
1745
 
1438
1746
 
1747
+ /***/ }),
1748
+
1749
+ /***/ "83b9":
1750
+ /***/ (function(module, exports, __webpack_require__) {
1751
+
1752
+ "use strict";
1753
+
1754
+ var SetHelpers = __webpack_require__("cb27");
1755
+ var iterate = __webpack_require__("384f");
1756
+
1757
+ var Set = SetHelpers.Set;
1758
+ var add = SetHelpers.add;
1759
+
1760
+ module.exports = function (set) {
1761
+ var result = new Set();
1762
+ iterate(set, function (it) {
1763
+ add(result, it);
1764
+ });
1765
+ return result;
1766
+ };
1767
+
1768
+
1439
1769
  /***/ }),
1440
1770
 
1441
1771
  /***/ "852e":
@@ -1585,6 +1915,35 @@ module.exports = !fails(function () {
1585
1915
  }));
1586
1916
 
1587
1917
 
1918
+ /***/ }),
1919
+
1920
+ /***/ "8558":
1921
+ /***/ (function(module, exports, __webpack_require__) {
1922
+
1923
+ "use strict";
1924
+
1925
+ /* global Bun, Deno -- detection */
1926
+ var globalThis = __webpack_require__("cfe9");
1927
+ var userAgent = __webpack_require__("b5db");
1928
+ var classof = __webpack_require__("c6b6");
1929
+
1930
+ var userAgentStartsWith = function (string) {
1931
+ return userAgent.slice(0, string.length) === string;
1932
+ };
1933
+
1934
+ module.exports = (function () {
1935
+ if (userAgentStartsWith('Bun/')) return 'BUN';
1936
+ if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';
1937
+ if (userAgentStartsWith('Deno/')) return 'DENO';
1938
+ if (userAgentStartsWith('Node.js/')) return 'NODE';
1939
+ if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';
1940
+ if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';
1941
+ if (classof(globalThis.process) === 'process') return 'NODE';
1942
+ if (globalThis.window && globalThis.document) return 'BROWSER';
1943
+ return 'REST';
1944
+ })();
1945
+
1946
+
1588
1947
  /***/ }),
1589
1948
 
1590
1949
  /***/ "861d":
@@ -1629,6 +1988,24 @@ if (!isCallable(store.inspectSource)) {
1629
1988
  module.exports = store.inspectSource;
1630
1989
 
1631
1990
 
1991
+ /***/ }),
1992
+
1993
+ /***/ "8b00":
1994
+ /***/ (function(module, exports, __webpack_require__) {
1995
+
1996
+ "use strict";
1997
+
1998
+ var $ = __webpack_require__("23e7");
1999
+ var isSubsetOf = __webpack_require__("68df");
2000
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
2001
+
2002
+ // `Set.prototype.isSubsetOf` method
2003
+ // https://github.com/tc39/proposal-set-methods
2004
+ $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {
2005
+ isSubsetOf: isSubsetOf
2006
+ });
2007
+
2008
+
1632
2009
  /***/ }),
1633
2010
 
1634
2011
  /***/ "8b1a":
@@ -1650,6 +2027,21 @@ module.exports = require("vue");
1650
2027
 
1651
2028
  // extracted by mini-css-extract-plugin
1652
2029
 
2030
+ /***/ }),
2031
+
2032
+ /***/ "8e16":
2033
+ /***/ (function(module, exports, __webpack_require__) {
2034
+
2035
+ "use strict";
2036
+
2037
+ var uncurryThisAccessor = __webpack_require__("7282");
2038
+ var SetHelpers = __webpack_require__("cb27");
2039
+
2040
+ module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
2041
+ return set.size;
2042
+ };
2043
+
2044
+
1653
2045
  /***/ }),
1654
2046
 
1655
2047
  /***/ "8eac":
@@ -1730,6 +2122,13 @@ module.exports = DESCRIPTORS ? function (object, key, value) {
1730
2122
  /* unused harmony reexport * */
1731
2123
 
1732
2124
 
2125
+ /***/ }),
2126
+
2127
+ /***/ "926f":
2128
+ /***/ (function(module, exports, __webpack_require__) {
2129
+
2130
+ // extracted by mini-css-extract-plugin
2131
+
1733
2132
  /***/ }),
1734
2133
 
1735
2134
  /***/ "9310":
@@ -1768,6 +2167,88 @@ var POLYFILL = isForced.POLYFILL = 'P';
1768
2167
  module.exports = isForced;
1769
2168
 
1770
2169
 
2170
+ /***/ }),
2171
+
2172
+ /***/ "953b":
2173
+ /***/ (function(module, exports, __webpack_require__) {
2174
+
2175
+ "use strict";
2176
+
2177
+ var aSet = __webpack_require__("dc19");
2178
+ var SetHelpers = __webpack_require__("cb27");
2179
+ var size = __webpack_require__("8e16");
2180
+ var getSetRecord = __webpack_require__("7f65");
2181
+ var iterateSet = __webpack_require__("384f");
2182
+ var iterateSimple = __webpack_require__("5388");
2183
+
2184
+ var Set = SetHelpers.Set;
2185
+ var add = SetHelpers.add;
2186
+ var has = SetHelpers.has;
2187
+
2188
+ // `Set.prototype.intersection` method
2189
+ // https://github.com/tc39/proposal-set-methods
2190
+ module.exports = function intersection(other) {
2191
+ var O = aSet(this);
2192
+ var otherRec = getSetRecord(other);
2193
+ var result = new Set();
2194
+
2195
+ if (size(O) > otherRec.size) {
2196
+ iterateSimple(otherRec.getIterator(), function (e) {
2197
+ if (has(O, e)) add(result, e);
2198
+ });
2199
+ } else {
2200
+ iterateSet(O, function (e) {
2201
+ if (otherRec.includes(e)) add(result, e);
2202
+ });
2203
+ }
2204
+
2205
+ return result;
2206
+ };
2207
+
2208
+
2209
+ /***/ }),
2210
+
2211
+ /***/ "9961":
2212
+ /***/ (function(module, exports, __webpack_require__) {
2213
+
2214
+ "use strict";
2215
+
2216
+ var aSet = __webpack_require__("dc19");
2217
+ var SetHelpers = __webpack_require__("cb27");
2218
+ var clone = __webpack_require__("83b9");
2219
+ var getSetRecord = __webpack_require__("7f65");
2220
+ var iterateSimple = __webpack_require__("5388");
2221
+
2222
+ var add = SetHelpers.add;
2223
+ var has = SetHelpers.has;
2224
+ var remove = SetHelpers.remove;
2225
+
2226
+ // `Set.prototype.symmetricDifference` method
2227
+ // https://github.com/tc39/proposal-set-methods
2228
+ module.exports = function symmetricDifference(other) {
2229
+ var O = aSet(this);
2230
+ var keysIter = getSetRecord(other).getIterator();
2231
+ var result = clone(O);
2232
+ iterateSimple(keysIter, function (e) {
2233
+ if (has(O, e)) remove(result, e);
2234
+ else add(result, e);
2235
+ });
2236
+ return result;
2237
+ };
2238
+
2239
+
2240
+ /***/ }),
2241
+
2242
+ /***/ "9adc":
2243
+ /***/ (function(module, exports, __webpack_require__) {
2244
+
2245
+ "use strict";
2246
+
2247
+ var ENVIRONMENT = __webpack_require__("8558");
2248
+
2249
+ module.exports = ENVIRONMENT === 'NODE';
2250
+
2251
+
1771
2252
  /***/ }),
1772
2253
 
1773
2254
  /***/ "9bf2":
@@ -1849,6 +2330,24 @@ module.exports = function (argument) {
1849
2330
  /* unused harmony reexport * */
1850
2331
 
1851
2332
 
2333
+ /***/ }),
2334
+
2335
+ /***/ "a4e7":
2336
+ /***/ (function(module, exports, __webpack_require__) {
2337
+
2338
+ "use strict";
2339
+
2340
+ var $ = __webpack_require__("23e7");
2341
+ var isSupersetOf = __webpack_require__("395e");
2342
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
2343
+
2344
+ // `Set.prototype.isSupersetOf` method
2345
+ // https://github.com/tc39/proposal-set-methods
2346
+ $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {
2347
+ isSupersetOf: isSupersetOf
2348
+ });
2349
+
2350
+
1852
2351
  /***/ }),
1853
2352
 
1854
2353
  /***/ "a58e":
@@ -1856,6 +2355,58 @@ module.exports = function (argument) {
1856
2355
 
1857
2356
  // extracted by mini-css-extract-plugin
1858
2357
 
2358
+ /***/ }),
2359
+
2360
+ /***/ "a5f7":
2361
+ /***/ (function(module, exports, __webpack_require__) {
2362
+
2363
+ "use strict";
2364
+
2365
+ var aSet = __webpack_require__("dc19");
2366
+ var SetHelpers = __webpack_require__("cb27");
2367
+ var clone = __webpack_require__("83b9");
2368
+ var size = __webpack_require__("8e16");
2369
+ var getSetRecord = __webpack_require__("7f65");
2370
+ var iterateSet = __webpack_require__("384f");
2371
+ var iterateSimple = __webpack_require__("5388");
2372
+
2373
+ var has = SetHelpers.has;
2374
+ var remove = SetHelpers.remove;
2375
+
2376
+ // `Set.prototype.difference` method
2377
+ // https://github.com/tc39/proposal-set-methods
2378
+ module.exports = function difference(other) {
2379
+ var O = aSet(this);
2380
+ var otherRec = getSetRecord(other);
2381
+ var result = clone(O);
2382
+ if (size(O) <= otherRec.size) iterateSet(O, function (e) {
2383
+ if (otherRec.includes(e)) remove(result, e);
2384
+ });
2385
+ else iterateSimple(otherRec.getIterator(), function (e) {
2386
+ if (has(O, e)) remove(result, e);
2387
+ });
2388
+ return result;
2389
+ };
2390
+
2391
+
2392
+ /***/ }),
2393
+
2394
+ /***/ "a640":
2395
+ /***/ (function(module, exports, __webpack_require__) {
2396
+
2397
+ "use strict";
2398
+
2399
+ var fails = __webpack_require__("d039");
2400
+
2401
+ module.exports = function (METHOD_NAME, argument) {
2402
+ var method = [][METHOD_NAME];
2403
+ return !!method && fails(function () {
2404
+ // eslint-disable-next-line no-useless-call -- required for testing
2405
+ method.call(null, argument || function () { return 1; }, 1);
2406
+ });
2407
+ };
2408
+
2409
+
1859
2410
  /***/ }),
1860
2411
 
1861
2412
  /***/ "a7b4":
@@ -1950,17 +2501,6 @@ module.exports = DESCRIPTORS && fails(function () {
1950
2501
 
1951
2502
  // extracted by mini-css-extract-plugin
1952
2503
 
1953
- /***/ }),
1954
-
1955
- /***/ "b371":
1956
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
1957
-
1958
- "use strict";
1959
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_FormWysiwyg_vue_vue_type_style_index_0_id_08bd68a4_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7a3b");
1960
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_FormWysiwyg_vue_vue_type_style_index_0_id_08bd68a4_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_FormWysiwyg_vue_vue_type_style_index_0_id_08bd68a4_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
1961
- /* unused harmony reexport * */
1962
-
1963
-
1964
2504
  /***/ }),
1965
2505
 
1966
2506
  /***/ "b42e":
@@ -1980,6 +2520,36 @@ module.exports = Math.trunc || function trunc(x) {
1980
2520
  };
1981
2521
 
1982
2522
 
2523
+ /***/ }),
2524
+
2525
+ /***/ "b4bc":
2526
+ /***/ (function(module, exports, __webpack_require__) {
2527
+
2528
+ "use strict";
2529
+
2530
+ var aSet = __webpack_require__("dc19");
2531
+ var has = __webpack_require__("cb27").has;
2532
+ var size = __webpack_require__("8e16");
2533
+ var getSetRecord = __webpack_require__("7f65");
2534
+ var iterateSet = __webpack_require__("384f");
2535
+ var iterateSimple = __webpack_require__("5388");
2536
+ var iteratorClose = __webpack_require__("2a62");
2537
+
2538
+ // `Set.prototype.isDisjointFrom` method
2539
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
2540
+ module.exports = function isDisjointFrom(other) {
2541
+ var O = aSet(this);
2542
+ var otherRec = getSetRecord(other);
2543
+ if (size(O) <= otherRec.size) return iterateSet(O, function (e) {
2544
+ if (otherRec.includes(e)) return false;
2545
+ }, true) !== false;
2546
+ var iterator = otherRec.getIterator();
2547
+ return iterateSimple(iterator, function (e) {
2548
+ if (has(O, e)) return iteratorClose(iterator, 'normal', false);
2549
+ }) !== false;
2550
+ };
2551
+
2552
+
1983
2553
  /***/ }),
1984
2554
 
1985
2555
  /***/ "b532":
@@ -2085,6 +2655,24 @@ module.exports = function (input, pref) {
2085
2655
  };
2086
2656
 
2087
2657
 
2658
+ /***/ }),
2659
+
2660
+ /***/ "c1a1":
2661
+ /***/ (function(module, exports, __webpack_require__) {
2662
+
2663
+ "use strict";
2664
+
2665
+ var $ = __webpack_require__("23e7");
2666
+ var isDisjointFrom = __webpack_require__("b4bc");
2667
+ var setMethodAcceptSetLike = __webpack_require__("dad2");
2668
+
2669
+ // `Set.prototype.isDisjointFrom` method
2670
+ // https://github.com/tc39/proposal-set-methods
2671
+ $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {
2672
+ isDisjointFrom: isDisjointFrom
2673
+ });
2674
+
2675
+
2088
2676
  /***/ }),
2089
2677
 
2090
2678
  /***/ "c24d":
@@ -2246,6 +2834,28 @@ module.exports = function (object, names) {
2246
2834
  };
2247
2835
 
2248
2836
 
2837
+ /***/ }),
2838
+
2839
+ /***/ "cb27":
2840
+ /***/ (function(module, exports, __webpack_require__) {
2841
+
2842
+ "use strict";
2843
+
2844
+ var uncurryThis = __webpack_require__("e330");
2845
+
2846
+ // eslint-disable-next-line es/no-set -- safe
2847
+ var SetPrototype = Set.prototype;
2848
+
2849
+ module.exports = {
2850
+ // eslint-disable-next-line es/no-set -- safe
2851
+ Set: Set,
2852
+ add: uncurryThis(SetPrototype.add),
2853
+ has: uncurryThis(SetPrototype.has),
2854
+ remove: uncurryThis(SetPrototype['delete']),
2855
+ proto: SetPrototype
2856
+ };
2857
+
2858
+
2249
2859
  /***/ }),
2250
2860
 
2251
2861
  /***/ "cb2d":
@@ -2323,6 +2933,17 @@ module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
2323
2933
 
2324
2934
  // extracted by mini-css-extract-plugin
2325
2935
 
2936
+ /***/ }),
2937
+
2938
+ /***/ "cfe2":
2939
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
2940
+
2941
+ "use strict";
2942
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_FormWysiwyg_vue_vue_type_style_index_0_id_accc697c_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("926f");
2943
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_FormWysiwyg_vue_vue_type_style_index_0_id_accc697c_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_v16_dist_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_v16_dist_index_js_ref_1_1_FormWysiwyg_vue_vue_type_style_index_0_id_accc697c_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
2944
+ /* unused harmony reexport * */
2945
+
2946
+
2326
2947
  /***/ }),
2327
2948
 
2328
2949
  /***/ "cfe9":
@@ -2415,6 +3036,60 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
2415
3036
  } : $propertyIsEnumerable;
2416
3037
 
2417
3038
 
3039
+ /***/ }),
3040
+
3041
+ /***/ "d58f":
3042
+ /***/ (function(module, exports, __webpack_require__) {
3043
+
3044
+ "use strict";
3045
+
3046
+ var aCallable = __webpack_require__("59ed");
3047
+ var toObject = __webpack_require__("7b0b");
3048
+ var IndexedObject = __webpack_require__("44ad");
3049
+ var lengthOfArrayLike = __webpack_require__("07fa");
3050
+
3051
+ var $TypeError = TypeError;
3052
+
3053
+ var REDUCE_EMPTY = 'Reduce of empty array with no initial value';
3054
+
3055
+ // `Array.prototype.{ reduce, reduceRight }` methods implementation
3056
+ var createMethod = function (IS_RIGHT) {
3057
+ return function (that, callbackfn, argumentsLength, memo) {
3058
+ var O = toObject(that);
3059
+ var self = IndexedObject(O);
3060
+ var length = lengthOfArrayLike(O);
3061
+ aCallable(callbackfn);
3062
+ if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);
3063
+ var index = IS_RIGHT ? length - 1 : 0;
3064
+ var i = IS_RIGHT ? -1 : 1;
3065
+ if (argumentsLength < 2) while (true) {
3066
+ if (index in self) {
3067
+ memo = self[index];
3068
+ index += i;
3069
+ break;
3070
+ }
3071
+ index += i;
3072
+ if (IS_RIGHT ? index < 0 : length <= index) {
3073
+ throw new $TypeError(REDUCE_EMPTY);
3074
+ }
3075
+ }
3076
+ for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
3077
+ memo = callbackfn(memo, self[index], index, O);
3078
+ }
3079
+ return memo;
3080
+ };
3081
+ };
3082
+
3083
+ module.exports = {
3084
+ // `Array.prototype.reduce` method
3085
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
3086
+ left: createMethod(false),
3087
+ // `Array.prototype.reduceRight` method
3088
+ // https://tc39.es/ecma262/#sec-array.prototype.reduceright
3089
+ right: createMethod(true)
3090
+ };
3091
+
3092
+
2418
3093
  /***/ }),
2419
3094
 
2420
3095
  /***/ "d9b5":
@@ -2437,6 +3112,65 @@ module.exports = USE_SYMBOL_AS_UID ? function (it) {
2437
3112
  };
2438
3113
 
2439
3114
 
3115
+ /***/ }),
3116
+
3117
+ /***/ "dad2":
3118
+ /***/ (function(module, exports, __webpack_require__) {
3119
+
3120
+ "use strict";
3121
+
3122
+ var getBuiltIn = __webpack_require__("d066");
3123
+
3124
+ var createSetLike = function (size) {
3125
+ return {
3126
+ size: size,
3127
+ has: function () {
3128
+ return false;
3129
+ },
3130
+ keys: function () {
3131
+ return {
3132
+ next: function () {
3133
+ return { done: true };
3134
+ }
3135
+ };
3136
+ }
3137
+ };
3138
+ };
3139
+
3140
+ module.exports = function (name) {
3141
+ var Set = getBuiltIn('Set');
3142
+ try {
3143
+ new Set()[name](createSetLike(0));
3144
+ try {
3145
+ // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it
3146
+ // https://github.com/tc39/proposal-set-methods/pull/88
3147
+ new Set()[name](createSetLike(-1));
3148
+ return false;
3149
+ } catch (error2) {
3150
+ return true;
3151
+ }
3152
+ } catch (error) {
3153
+ return false;
3154
+ }
3155
+ };
3156
+
3157
+
3158
+ /***/ }),
3159
+
3160
+ /***/ "dc19":
3161
+ /***/ (function(module, exports, __webpack_require__) {
3162
+
3163
+ "use strict";
3164
+
3165
+ var has = __webpack_require__("cb27").has;
3166
+
3167
+ // Perform ? RequireInternalSlot(M, [[SetData]])
3168
+ module.exports = function (it) {
3169
+ has(it);
3170
+ return it;
3171
+ };
3172
+
3173
+
2440
3174
  /***/ }),
2441
3175
 
2442
3176
  /***/ "dc4a":
@@ -2568,6 +3302,32 @@ module.exports = Array.isArray || function isArray(argument) {
2568
3302
  /* unused harmony reexport * */
2569
3303
 
2570
3304
 
3305
+ /***/ }),
3306
+
3307
+ /***/ "e9bc":
3308
+ /***/ (function(module, exports, __webpack_require__) {
3309
+
3310
+ "use strict";
3311
+
3312
+ var aSet = __webpack_require__("dc19");
3313
+ var add = __webpack_require__("cb27").add;
3314
+ var clone = __webpack_require__("83b9");
3315
+ var getSetRecord = __webpack_require__("7f65");
3316
+ var iterateSimple = __webpack_require__("5388");
3317
+
3318
+ // `Set.prototype.union` method
3319
+ // https://github.com/tc39/proposal-set-methods
3320
+ module.exports = function union(other) {
3321
+ var O = aSet(this);
3322
+ var keysIter = getSetRecord(other).getIterator();
3323
+ var result = clone(O);
3324
+ iterateSimple(keysIter, function (it) {
3325
+ add(result, it);
3326
+ });
3327
+ return result;
3328
+ };
3329
+
3330
+
2571
3331
  /***/ }),
2572
3332
 
2573
3333
  /***/ "eabb":
@@ -42281,66 +43041,187 @@ var FormTextareavue_type_style_index_0_id_4b6a6dc5_lang_scss = __webpack_require
42281
43041
  const FormTextarea_exports_ = /*#__PURE__*/exportHelper_default()(FormTextareavue_type_script_lang_js, [['render',FormTextareavue_type_template_id_4b6a6dc5_render]])
42282
43042
 
42283
43043
  /* harmony default export */ var FormTextarea = (FormTextarea_exports_);
42284
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader-v16/dist??ref--1-1!./src/components/Form/FormWysiwyg.vue?vue&type=template&id=08bd68a4
43044
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader-v16/dist??ref--1-1!./src/components/Form/FormWysiwyg.vue?vue&type=template&id=accc697c
42285
43045
 
42286
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_1 = {
43046
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_1 = {
42287
43047
  class: "form-wysiwyg flex flex-col"
42288
43048
  };
42289
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_2 = {
43049
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_2 = {
42290
43050
  class: "w-full"
42291
43051
  };
42292
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_3 = {
43052
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_3 = {
42293
43053
  key: 0,
42294
43054
  class: "toolbar"
42295
43055
  };
42296
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_4 = {
43056
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_4 = {
42297
43057
  key: 0,
42298
43058
  class: "toolbar-divider"
42299
43059
  };
42300
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_5 = ["disabled", "title", "value", "onChange"];
42301
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_6 = ["value"];
42302
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_7 = ["disabled", "title", "onClick"];
42303
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_8 = {
43060
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_5 = ["disabled", "title"];
43061
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_6 = {
43062
+ class: "icon-picker-tabs"
43063
+ };
43064
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_7 = ["title", "onClick"];
43065
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_8 = {
43066
+ class: "icon-picker-search"
43067
+ };
43068
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_9 = {
43069
+ class: "icon-picker-color"
43070
+ };
43071
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_10 = ["title", "onClick"];
43072
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_11 = {
43073
+ class: "icon-picker-color-custom"
43074
+ };
43075
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_12 = {
43076
+ class: "icon-picker-list"
43077
+ };
43078
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_13 = {
43079
+ class: "icon-picker-section-title"
43080
+ };
43081
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_14 = {
43082
+ class: "icon-picker-grid"
43083
+ };
43084
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_15 = ["title", "onClick"];
43085
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_16 = {
43086
+ key: 0,
43087
+ class: "icon-picker-empty"
43088
+ };
43089
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_17 = ["disabled", "title", "value", "onChange"];
43090
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_18 = ["value"];
43091
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_19 = ["disabled", "title", "onClick"];
43092
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_20 = {
42304
43093
  key: 1,
42305
43094
  class: "toolbar-text"
42306
43095
  };
42307
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_9 = ["contenteditable", "data-placeholder"];
42308
- const FormWysiwygvue_type_template_id_08bd68a4_hoisted_10 = ["innerHTML"];
42309
- function FormWysiwygvue_type_template_id_08bd68a4_render(_ctx, _cache, $props, $setup, $data, $options) {
43096
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_21 = ["contenteditable", "data-placeholder"];
43097
+ const FormWysiwygvue_type_template_id_accc697c_hoisted_22 = ["innerHTML"];
43098
+ function FormWysiwygvue_type_template_id_accc697c_render(_ctx, _cache, $props, $setup, $data, $options) {
42310
43099
  const _component_base_icon = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["resolveComponent"])("base-icon");
42311
- return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_08bd68a4_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
43100
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_1, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
42312
43101
  class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(`label-${$props.labelPosition}`)
42313
- }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "label"), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_08bd68a4_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
43102
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderSlot"])(_ctx.$slots, "label"), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_2, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
42314
43103
  class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["editor-group", {
42315
43104
  error: $props.error,
42316
43105
  disabled: $props.disabled,
42317
43106
  readonly: $props.readonly && !$props.disabled
42318
43107
  }])
42319
- }, [$props.showToolbar ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_08bd68a4_hoisted_3, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.resolvedToolbar, (item, index) => {
43108
+ }, [$props.showToolbar ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_3, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.resolvedToolbar, (item, index) => {
42320
43109
  return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], {
42321
43110
  key: `${item.action}-${index}`
42322
- }, [item.action === 'divider' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_08bd68a4_hoisted_4)) : item.type === 'select' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("select", {
43111
+ }, [item.action === 'divider' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_4)) : item.action === 'insertIcon' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
42323
43112
  key: 1,
43113
+ ref_for: true,
43114
+ ref: "iconPickerRef",
43115
+ class: "icon-picker-wrapper"
43116
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("button", {
43117
+ type: "button",
43118
+ class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["toolbar-button", {
43119
+ active: $data.isIconPickerOpen
43120
+ }]),
43121
+ disabled: $options.isActionDisabled(item),
43122
+ title: item.title || item.label,
43123
+ onMousedown: _cache[0] || (_cache[0] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])((...args) => $options.saveRange && $options.saveRange(...args), ["prevent"])),
43124
+ onClick: _cache[1] || (_cache[1] = (...args) => $options.toggleIconPicker && $options.toggleIconPicker(...args))
43125
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_base_icon, {
43126
+ iconName: "insert_emoticon",
43127
+ width: "18",
43128
+ height: "18",
43129
+ color: $data.isIconPickerOpen ? '#3e7dc0' : '#59636E'
43130
+ }, null, 8, ["color"])], 42, FormWysiwygvue_type_template_id_accc697c_hoisted_5), $data.isIconPickerOpen ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
43131
+ key: 0,
43132
+ class: "icon-picker-popover",
43133
+ onMousedown: _cache[5] || (_cache[5] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(() => {}, ["stop"])),
43134
+ onClick: _cache[6] || (_cache[6] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(() => {}, ["stop"]))
43135
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_6, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.iconPickerTabs, category => {
43136
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", {
43137
+ key: category.key,
43138
+ type: "button",
43139
+ class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["icon-picker-tab", {
43140
+ active: $data.activeIconCategory === category.key
43141
+ }]),
43142
+ title: category.label,
43143
+ onClick: $event => $options.selectIconCategory(category.key)
43144
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_base_icon, {
43145
+ iconName: category.tabIcon,
43146
+ width: "22",
43147
+ height: "22",
43148
+ color: $data.activeIconCategory === category.key ? '#20242C' : '#666D75'
43149
+ }, null, 8, ["iconName", "color"])], 10, FormWysiwygvue_type_template_id_accc697c_hoisted_7);
43150
+ }), 128))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_8, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_base_icon, {
43151
+ iconName: "search",
43152
+ width: "20",
43153
+ height: "20",
43154
+ color: "#666D75"
43155
+ }), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
43156
+ ref_for: true,
43157
+ ref: "iconSearchRef",
43158
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = $event => $data.iconSearch = $event),
43159
+ type: "text",
43160
+ placeholder: "Cari Icon",
43161
+ onKeydown: _cache[3] || (_cache[3] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withKeys"])((...args) => $options.closeIconPicker && $options.closeIconPicker(...args), ["esc"]))
43162
+ }, null, 544), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], $data.iconSearch]])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_9, [_cache[19] || (_cache[19] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
43163
+ class: "icon-picker-color-label"
43164
+ }, "Warna Icon", -1)), (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($props.iconColorOptions, color => {
43165
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", {
43166
+ key: color,
43167
+ type: "button",
43168
+ class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["icon-picker-color-swatch", {
43169
+ active: $data.selectedIconColor === color
43170
+ }]),
43171
+ style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({
43172
+ backgroundColor: color
43173
+ }),
43174
+ title: color,
43175
+ onClick: $event => $options.setSelectedIconColor(color)
43176
+ }, null, 14, FormWysiwygvue_type_template_id_accc697c_hoisted_10);
43177
+ }), 128)), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("label", FormWysiwygvue_type_template_id_accc697c_hoisted_11, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
43178
+ style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])({
43179
+ backgroundColor: $data.selectedIconColor
43180
+ })
43181
+ }, null, 4), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withDirectives"])(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
43182
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = $event => $data.selectedIconColor = $event),
43183
+ type: "color",
43184
+ title: "Custom color"
43185
+ }, null, 512), [[external_commonjs_vue_commonjs2_vue_root_Vue_["vModelText"], $data.selectedIconColor]])])]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_12, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])($options.visibleIconSections, section => {
43186
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
43187
+ key: section.key,
43188
+ class: "icon-picker-section"
43189
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_13, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(section.label), 1), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_14, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(section.icons, iconName => {
43190
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", {
43191
+ key: `${section.key}-${iconName}`,
43192
+ type: "button",
43193
+ class: "icon-picker-item",
43194
+ title: iconName,
43195
+ onClick: $event => $options.selectIcon(iconName)
43196
+ }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createVNode"])(_component_base_icon, {
43197
+ iconName: iconName,
43198
+ width: "20",
43199
+ height: "20",
43200
+ color: $data.selectedIconColor
43201
+ }, null, 8, ["iconName", "color"])], 8, FormWysiwygvue_type_template_id_accc697c_hoisted_15);
43202
+ }), 128))])]);
43203
+ }), 128)), !$options.visibleIconSections.length ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", FormWysiwygvue_type_template_id_accc697c_hoisted_16, " Icon tidak ditemukan ")) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 32)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)], 512)) : item.type === 'select' ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("select", {
43204
+ key: 2,
42324
43205
  class: "toolbar-select",
42325
43206
  disabled: $options.isActionDisabled(item),
42326
43207
  title: item.title || item.label,
42327
43208
  value: $options.getSelectValue(item),
42328
- onMousedown: _cache[0] || (_cache[0] = (...args) => $options.saveRange && $options.saveRange(...args)),
43209
+ onMousedown: _cache[7] || (_cache[7] = (...args) => $options.saveRange && $options.saveRange(...args)),
42329
43210
  onChange: $event => $options.handleToolbarSelect(item, $event)
42330
43211
  }, [(Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])(external_commonjs_vue_commonjs2_vue_root_Vue_["Fragment"], null, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["renderList"])(item.options, option => {
42331
43212
  return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("option", {
42332
43213
  key: option.value,
42333
43214
  value: option.value
42334
- }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.label), 9, FormWysiwygvue_type_template_id_08bd68a4_hoisted_6);
42335
- }), 128))], 40, FormWysiwygvue_type_template_id_08bd68a4_hoisted_5)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", {
42336
- key: 2,
43215
+ }, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(option.label), 9, FormWysiwygvue_type_template_id_accc697c_hoisted_18);
43216
+ }), 128))], 40, FormWysiwygvue_type_template_id_accc697c_hoisted_17)) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("button", {
43217
+ key: 3,
42337
43218
  type: "button",
42338
43219
  class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["toolbar-button", {
42339
43220
  active: $options.isActionActive(item)
42340
43221
  }]),
42341
43222
  disabled: $options.isActionDisabled(item),
42342
43223
  title: item.title || item.label,
42343
- onMousedown: _cache[1] || (_cache[1] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(() => {}, ["prevent"])),
43224
+ onMousedown: _cache[8] || (_cache[8] = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["withModifiers"])(() => {}, ["prevent"])),
42344
43225
  onClick: $event => $options.handleToolbarAction(item)
42345
43226
  }, [item.icon ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createBlock"])(_component_base_icon, {
42346
43227
  key: 0,
@@ -42348,13 +43229,13 @@ function FormWysiwygvue_type_template_id_08bd68a4_render(_ctx, _cache, $props, $
42348
43229
  width: "18",
42349
43230
  height: "18",
42350
43231
  color: $options.isActionActive(item) ? '#3e7dc0' : '#59636E'
42351
- }, null, 8, ["iconName", "color"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", FormWysiwygvue_type_template_id_08bd68a4_hoisted_8, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(item.label), 1))], 42, FormWysiwygvue_type_template_id_08bd68a4_hoisted_7))], 64);
43232
+ }, null, 8, ["iconName", "color"])) : (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("span", FormWysiwygvue_type_template_id_accc697c_hoisted_20, Object(external_commonjs_vue_commonjs2_vue_root_Vue_["toDisplayString"])(item.label), 1))], 42, FormWysiwygvue_type_template_id_accc697c_hoisted_19))], 64);
42352
43233
  }), 128))])) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("input", {
42353
43234
  ref: "imageInputRef",
42354
43235
  type: "file",
42355
43236
  class: "image-input",
42356
43237
  accept: "image/*",
42357
- onChange: _cache[2] || (_cache[2] = (...args) => $options.handleImageSelected && $options.handleImageSelected(...args))
43238
+ onChange: _cache[9] || (_cache[9] = (...args) => $options.handleImageSelected && $options.handleImageSelected(...args))
42358
43239
  }, null, 544), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("div", {
42359
43240
  class: "editor-wrapper",
42360
43241
  style: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeStyle"])($options.editorStyle)
@@ -42365,30 +43246,66 @@ function FormWysiwygvue_type_template_id_08bd68a4_render(_ctx, _cache, $props, $
42365
43246
  }]),
42366
43247
  contenteditable: $options.isEditable,
42367
43248
  "data-placeholder": $props.placeholder,
42368
- onInput: _cache[3] || (_cache[3] = (...args) => $options.handleInput && $options.handleInput(...args)),
42369
- onFocus: _cache[4] || (_cache[4] = (...args) => $options.handleFocus && $options.handleFocus(...args)),
42370
- onBlur: _cache[5] || (_cache[5] = (...args) => $options.handleBlur && $options.handleBlur(...args)),
42371
- onPaste: _cache[6] || (_cache[6] = (...args) => $options.handlePaste && $options.handlePaste(...args)),
42372
- onMouseup: _cache[7] || (_cache[7] = (...args) => $options.refreshToolbarState && $options.refreshToolbarState(...args)),
42373
- onKeyup: _cache[8] || (_cache[8] = (...args) => $options.refreshToolbarState && $options.refreshToolbarState(...args)),
42374
- onMousedown: _cache[9] || (_cache[9] = (...args) => $options.handleEditorMouseDown && $options.handleEditorMouseDown(...args)),
42375
- onMousemove: _cache[10] || (_cache[10] = (...args) => $options.handleEditorMouseMove && $options.handleEditorMouseMove(...args)),
42376
- onMouseleave: _cache[11] || (_cache[11] = (...args) => $options.handleEditorMouseLeave && $options.handleEditorMouseLeave(...args))
42377
- }, null, 42, FormWysiwygvue_type_template_id_08bd68a4_hoisted_9)], 4)], 2), $props.message ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
43249
+ onInput: _cache[10] || (_cache[10] = (...args) => $options.handleInput && $options.handleInput(...args)),
43250
+ onFocus: _cache[11] || (_cache[11] = (...args) => $options.handleFocus && $options.handleFocus(...args)),
43251
+ onBlur: _cache[12] || (_cache[12] = (...args) => $options.handleBlur && $options.handleBlur(...args)),
43252
+ onPaste: _cache[13] || (_cache[13] = (...args) => $options.handlePaste && $options.handlePaste(...args)),
43253
+ onMouseup: _cache[14] || (_cache[14] = (...args) => $options.refreshToolbarState && $options.refreshToolbarState(...args)),
43254
+ onKeyup: _cache[15] || (_cache[15] = (...args) => $options.refreshToolbarState && $options.refreshToolbarState(...args)),
43255
+ onMousedown: _cache[16] || (_cache[16] = (...args) => $options.handleEditorMouseDown && $options.handleEditorMouseDown(...args)),
43256
+ onMousemove: _cache[17] || (_cache[17] = (...args) => $options.handleEditorMouseMove && $options.handleEditorMouseMove(...args)),
43257
+ onMouseleave: _cache[18] || (_cache[18] = (...args) => $options.handleEditorMouseLeave && $options.handleEditorMouseLeave(...args))
43258
+ }, null, 42, FormWysiwygvue_type_template_id_accc697c_hoisted_21)], 4)], 2), $props.message ? (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["openBlock"])(), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementBlock"])("div", {
42378
43259
  key: 0,
42379
43260
  class: Object(external_commonjs_vue_commonjs2_vue_root_Vue_["normalizeClass"])(["helper-text", {
42380
43261
  'error-helper': $props.error
42381
43262
  }])
42382
43263
  }, [Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createElementVNode"])("span", {
42383
43264
  innerHTML: $props.message
42384
- }, null, 8, FormWysiwygvue_type_template_id_08bd68a4_hoisted_10)], 2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 2)]);
43265
+ }, null, 8, FormWysiwygvue_type_template_id_accc697c_hoisted_22)], 2)) : Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createCommentVNode"])("", true)])], 2)]);
42385
43266
  }
42386
- // CONCATENATED MODULE: ./src/components/Form/FormWysiwyg.vue?vue&type=template&id=08bd68a4
43267
+ // CONCATENATED MODULE: ./src/components/Form/FormWysiwyg.vue?vue&type=template&id=accc697c
43268
+
43269
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
43270
+ var es_array_reduce = __webpack_require__("13d5");
43271
+
43272
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.difference.v2.js
43273
+ var es_set_difference_v2 = __webpack_require__("1e70");
43274
+
43275
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.intersection.v2.js
43276
+ var es_set_intersection_v2 = __webpack_require__("79a4");
43277
+
43278
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js
43279
+ var es_set_is_disjoint_from_v2 = __webpack_require__("c1a1");
43280
+
43281
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-subset-of.v2.js
43282
+ var es_set_is_subset_of_v2 = __webpack_require__("8b00");
43283
+
43284
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.is-superset-of.v2.js
43285
+ var es_set_is_superset_of_v2 = __webpack_require__("a4e7");
43286
+
43287
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.symmetric-difference.v2.js
43288
+ var es_set_symmetric_difference_v2 = __webpack_require__("1e5a");
43289
+
43290
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
43291
+ var es_set_union_v2 = __webpack_require__("72c3");
42387
43292
 
42388
43293
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader-v16/dist??ref--1-1!./src/components/Form/FormWysiwyg.vue?vue&type=script&lang=js
42389
43294
 
42390
43295
 
43296
+
43297
+
43298
+
43299
+
43300
+
43301
+
43302
+
43303
+
43304
+
42391
43305
  const DEFAULT_FONT_SIZE = "14px";
43306
+ const DEFAULT_ICON_COLOR = "#59636E";
43307
+ const DEFAULT_ICON_SIZE = 20;
43308
+ const DEFAULT_ICON_COLORS = ["#20242C", "#59636E", "#3E7DC0", "#0FA85E", "#F59E0B", "#E53935", "#8E44AD"];
42392
43309
  const FONT_SIZE_OPTIONS = [{
42393
43310
  label: "12px",
42394
43311
  value: "12px"
@@ -42414,6 +43331,77 @@ const FONT_SIZE_OPTIONS = [{
42414
43331
  label: "32px",
42415
43332
  value: "32px"
42416
43333
  }];
43334
+ const BASE_ICON_DATA = typeof BaseIcon.data === "function" ? BaseIcon.data() : {};
43335
+ const ICON_CATEGORY_CONFIG = [{
43336
+ key: "alert_icons",
43337
+ label: "Alert",
43338
+ tabIcon: "warning_amber"
43339
+ }, {
43340
+ key: "audio_video_icons",
43341
+ label: "Audio & Video",
43342
+ tabIcon: "play_arrow"
43343
+ }, {
43344
+ key: "communication_icons",
43345
+ label: "Communication",
43346
+ tabIcon: "email"
43347
+ }, {
43348
+ key: "tax_application_icons",
43349
+ label: "Tax Application",
43350
+ tabIcon: "ebilling"
43351
+ }, {
43352
+ key: "social_icons",
43353
+ label: "Social",
43354
+ tabIcon: "person"
43355
+ }, {
43356
+ key: "image_icons",
43357
+ label: "Image",
43358
+ tabIcon: "insert_photo"
43359
+ }, {
43360
+ key: "file_icons",
43361
+ label: "File",
43362
+ tabIcon: "attachment"
43363
+ }, {
43364
+ key: "editor_icons",
43365
+ label: "Editor",
43366
+ tabIcon: "format_bold"
43367
+ }, {
43368
+ key: "places_icons",
43369
+ label: "Places",
43370
+ tabIcon: "apartment"
43371
+ }, {
43372
+ key: "device_icons",
43373
+ label: "Device",
43374
+ tabIcon: "devices"
43375
+ }, {
43376
+ key: "toggle_icons",
43377
+ label: "Toggle",
43378
+ tabIcon: "check_box"
43379
+ }, {
43380
+ key: "maps_icons",
43381
+ label: "Maps",
43382
+ tabIcon: "place"
43383
+ }, {
43384
+ key: "content_icons",
43385
+ label: "Content",
43386
+ tabIcon: "add"
43387
+ }, {
43388
+ key: "hardware_icons",
43389
+ label: "Hardware",
43390
+ tabIcon: "keyboard"
43391
+ }, {
43392
+ key: "notification_icons",
43393
+ label: "Notification",
43394
+ tabIcon: "notifications"
43395
+ }, {
43396
+ key: "navigation_icons",
43397
+ label: "Navigation",
43398
+ tabIcon: "more_horiz"
43399
+ }, {
43400
+ key: "home_icons",
43401
+ label: "Home",
43402
+ tabIcon: "home_bold"
43403
+ }];
43404
+ const ICON_DATA_CATEGORY_KEYS = ["action_icons", ...ICON_CATEGORY_CONFIG.map(category => category.key)];
42417
43405
  const TOOLBAR_ITEMS = {
42418
43406
  paragraph: {
42419
43407
  action: "paragraph",
@@ -42507,6 +43495,12 @@ const TOOLBAR_ITEMS = {
42507
43495
  icon: "insert_photo",
42508
43496
  title: "Insert Image"
42509
43497
  },
43498
+ insertIcon: {
43499
+ action: "insertIcon",
43500
+ icon: "insert_emoticon",
43501
+ label: "Icon",
43502
+ title: "Insert Icon"
43503
+ },
42510
43504
  articleCards: {
42511
43505
  action: "articleCards",
42512
43506
  icon: "article",
@@ -42551,7 +43545,7 @@ const TOOLBAR_ITEMS = {
42551
43545
  action: "divider"
42552
43546
  }
42553
43547
  };
42554
- const DEFAULT_TOOLBAR = ["paragraph", "heading1", "heading2", "fontSize", "divider", "bold", "italic", "underline", "strikeThrough", "divider", "unorderedList", "orderedList", "blockquote", "divider", "alignLeft", "alignCenter", "alignRight", "alignJustify", "divider", "horizontalRule", "divider", "link", "insertImage", "articleCards", "timelineStep", "numberedCards", "borderSection", "unlink", "divider", "undo", "redo", "clear"];
43548
+ const DEFAULT_TOOLBAR = ["paragraph", "heading1", "heading2", "fontSize", "divider", "bold", "italic", "underline", "strikeThrough", "divider", "unorderedList", "orderedList", "blockquote", "divider", "alignLeft", "alignCenter", "alignRight", "alignJustify", "divider", "horizontalRule", "divider", "link", "insertImage", "insertIcon", "articleCards", "timelineStep", "numberedCards", "borderSection", "unlink", "divider", "undo", "redo", "clear"];
42555
43549
  const ALIGNABLE_TAGS = ["P", "DIV", "H1", "H2", "H3", "BLOCKQUOTE", "LI", "PRE"];
42556
43550
  const SAFE_PROTOCOLS = ["http://", "https://", "mailto:", "tel:"];
42557
43551
  const SAFE_IMAGE_PROTOCOLS = ["http://", "https://", "data:image/", "blob:", "/"];
@@ -42559,8 +43553,15 @@ const IMAGE_MIN_WIDTH = 40;
42559
43553
  const IMAGE_RESIZE_HANDLE_GAP = 16;
42560
43554
  const ALLOWED_FONT_SIZE_VALUES = FONT_SIZE_OPTIONS.map(option => option.value);
42561
43555
  const FONT_SIZE_TAGS = ["ARTICLE", "BLOCKQUOTE", "DIV", "H1", "H2", "H3", "LI", "P", "SPAN"];
42562
- const WYSIWYG_TEMPLATE_CLASSES = ["wysiwyg-article-grid", "wysiwyg-article-card", "wysiwyg-article-icon", "wysiwyg-divider-line", "wysiwyg-timeline", "wysiwyg-timeline-content", "wysiwyg-timeline-item", "wysiwyg-timeline-marker", "wysiwyg-numbered-card", "wysiwyg-numbered-card-content", "wysiwyg-numbered-card-list", "wysiwyg-numbered-card-marker", "wysiwyg-border-section"];
42563
- const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "EM", "H1", "H2", "H3", "HR", "I", "IMG", "LI", "OL", "P", "PRE", "S", "SPAN", "STRIKE", "STRONG", "U", "UL"];
43556
+ const WYSIWYG_TEMPLATE_CLASSES = ["wysiwyg-article-grid", "wysiwyg-article-card", "wysiwyg-article-icon", "wysiwyg-divider-line", "wysiwyg-timeline", "wysiwyg-timeline-content", "wysiwyg-timeline-item", "wysiwyg-timeline-marker", "wysiwyg-numbered-card", "wysiwyg-numbered-card-content", "wysiwyg-numbered-card-list", "wysiwyg-numbered-card-marker", "wysiwyg-border-section", "wysiwyg-inline-icon"];
43557
+ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "EM", "H1", "H2", "H3", "HR", "I", "IMG", "LI", "OL", "P", "PRE", "S", "SPAN", "STRIKE", "STRONG", "SVG", "U", "UL"];
43558
+ const ALLOWED_SVG_TAGS = ["CIRCLE", "CLIPPATH", "DEFS", "ELLIPSE", "G", "LINE", "LINEARGRADIENT", "PATH", "POLYGON", "POLYLINE", "RECT", "STOP", "SVG"];
43559
+ const ALLOWED_SVG_ATTRIBUTES = ["aria-hidden", "class", "clip-path", "clip-rule", "cx", "cy", "d", "data-icon-name", "fill", "fill-opacity", "fill-rule", "focusable", "gradientUnits", "height", "id", "offset", "opacity", "r", "role", "rx", "ry", "stop-color", "stop-opacity", "stroke", "stroke-dasharray", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-width", "transform", "viewBox", "width", "x", "x1", "x2", "xmlns", "y", "y1", "y2"];
43560
+ const SVG_ATTRIBUTE_NAMES = ALLOWED_SVG_ATTRIBUTES.reduce((attributes, attributeName) => {
43561
+ attributes[attributeName.toLowerCase()] = attributeName;
43562
+ return attributes;
43563
+ }, {});
43564
+ const SVG_SHAPE_SELECTOR = "path, rect, circle, ellipse, line, polyline, polygon";
42564
43565
  /* harmony default export */ var FormWysiwygvue_type_script_lang_js = ({
42565
43566
  components: {
42566
43567
  BaseIcon: BaseIcon
@@ -42605,6 +43606,22 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
42605
43606
  type: [Number, String],
42606
43607
  default: ""
42607
43608
  },
43609
+ iconOptions: {
43610
+ type: Array,
43611
+ default: () => []
43612
+ },
43613
+ iconColor: {
43614
+ type: String,
43615
+ default: DEFAULT_ICON_COLOR
43616
+ },
43617
+ iconColorOptions: {
43618
+ type: Array,
43619
+ default: () => DEFAULT_ICON_COLORS
43620
+ },
43621
+ iconSize: {
43622
+ type: [Number, String],
43623
+ default: DEFAULT_ICON_SIZE
43624
+ },
42608
43625
  toolbar: {
42609
43626
  type: Array,
42610
43627
  default: () => []
@@ -42628,6 +43645,10 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
42628
43645
  isEmpty: true,
42629
43646
  isFocused: false,
42630
43647
  isEmitting: false,
43648
+ isIconPickerOpen: false,
43649
+ iconSearch: "",
43650
+ activeIconCategory: "all",
43651
+ selectedIconColor: this.iconColor || DEFAULT_ICON_COLOR,
42631
43652
  savedRange: null,
42632
43653
  imageResize: {
42633
43654
  active: false,
@@ -42655,14 +43676,83 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
42655
43676
  const source = this.toolbar.length ? this.toolbar : DEFAULT_TOOLBAR;
42656
43677
  return source.map(item => {
42657
43678
  if (typeof item === "string") {
42658
- return TOOLBAR_ITEMS[item] || null;
43679
+ return this.resolveToolbarItem(TOOLBAR_ITEMS[item]);
42659
43680
  }
42660
43681
  if (!item || !item.action) {
42661
43682
  return null;
42662
43683
  }
42663
- return item;
43684
+ return this.resolveToolbarItem(item);
42664
43685
  }).filter(item => item);
42665
43686
  },
43687
+ configuredIconNames() {
43688
+ return this.iconOptions.map(option => {
43689
+ var _this$normalizeIconOp;
43690
+ return (_this$normalizeIconOp = this.normalizeIconOption(option)) === null || _this$normalizeIconOp === void 0 ? void 0 : _this$normalizeIconOp.value;
43691
+ }).filter(iconName => iconName);
43692
+ },
43693
+ configuredIconNameSet() {
43694
+ return new Set(this.configuredIconNames);
43695
+ },
43696
+ baseIconCategories() {
43697
+ const hasConfiguredIcons = this.configuredIconNameSet.size > 0;
43698
+ return ICON_CATEGORY_CONFIG.map(category => {
43699
+ const icons = (BASE_ICON_DATA[category.key] || []).filter(iconName => !hasConfiguredIcons || this.configuredIconNameSet.has(iconName));
43700
+ return {
43701
+ ...category,
43702
+ icons
43703
+ };
43704
+ }).filter(category => category.icons.length);
43705
+ },
43706
+ availableIconCategories() {
43707
+ return this.baseIconCategories;
43708
+ },
43709
+ allIconNames() {
43710
+ const hasConfiguredIcons = this.configuredIconNameSet.size > 0;
43711
+ return [...new Set(ICON_DATA_CATEGORY_KEYS.flatMap(categoryKey => BASE_ICON_DATA[categoryKey] || []).filter(iconName => !hasConfiguredIcons || this.configuredIconNameSet.has(iconName)))];
43712
+ },
43713
+ iconPickerTabs() {
43714
+ return [{
43715
+ key: "all",
43716
+ label: "All",
43717
+ tabIcon: "apps",
43718
+ icons: this.allIconNames
43719
+ }, ...this.availableIconCategories];
43720
+ },
43721
+ visibleIconSections() {
43722
+ const query = this.iconSearch.trim().toLowerCase();
43723
+ if (query) {
43724
+ return this.iconCategorySections.map(category => ({
43725
+ key: category.key,
43726
+ label: category.label,
43727
+ icons: category.icons.filter(iconName => iconName.toLowerCase().includes(query))
43728
+ })).filter(section => section.icons.length);
43729
+ }
43730
+ if (this.activeIconCategory === "all") {
43731
+ return this.allIconNames.length ? [{
43732
+ key: "all",
43733
+ label: "All",
43734
+ icons: this.allIconNames
43735
+ }] : [];
43736
+ }
43737
+ const activeCategory = this.availableIconCategories.find(category => category.key === this.activeIconCategory) || this.availableIconCategories[0];
43738
+ const sections = [];
43739
+ if (activeCategory) {
43740
+ sections.push({
43741
+ key: activeCategory.key,
43742
+ label: activeCategory.label,
43743
+ icons: activeCategory.icons
43744
+ });
43745
+ }
43746
+ return sections;
43747
+ },
43748
+ iconCategorySections() {
43749
+ const actionIcons = this.allIconNames.filter(iconName => (BASE_ICON_DATA.action_icons || []).includes(iconName));
43750
+ return [...(actionIcons.length ? [{
43751
+ key: "action_icons",
43752
+ label: "Action",
43753
+ icons: actionIcons
43754
+ }] : []), ...this.availableIconCategories];
43755
+ },
42666
43756
  editorStyle() {
42667
43757
  const maxHeight = this.maxHeight ? this.normalizeSize(this.maxHeight) : "none";
42668
43758
  return {
@@ -42680,18 +43770,92 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
42680
43770
  return;
42681
43771
  }
42682
43772
  this.setEditorValue(newValue);
43773
+ },
43774
+ iconColor(newValue) {
43775
+ this.selectedIconColor = this.normalizeIconColor(newValue);
42683
43776
  }
42684
43777
  },
42685
43778
  mounted() {
43779
+ this.activeIconCategory = "all";
43780
+ this.selectedIconColor = this.normalizeIconColor(this.iconColor);
42686
43781
  this.setEditorValue(this.modelValue);
42687
43782
  this.refreshToolbarState();
42688
43783
  document.addEventListener("selectionchange", this.handleSelectionChange);
43784
+ document.addEventListener("mousedown", this.handleDocumentMouseDown);
42689
43785
  },
42690
43786
  beforeUnmount() {
42691
43787
  document.removeEventListener("selectionchange", this.handleSelectionChange);
43788
+ document.removeEventListener("mousedown", this.handleDocumentMouseDown);
42692
43789
  this.stopImageResize();
42693
43790
  },
42694
43791
  methods: {
43792
+ resolveToolbarItem(item) {
43793
+ if (!item) {
43794
+ return null;
43795
+ }
43796
+ return {
43797
+ ...item
43798
+ };
43799
+ },
43800
+ normalizeIconOption(option) {
43801
+ if (typeof option === "string") {
43802
+ const iconName = this.normalizeIconName(option);
43803
+ return iconName ? {
43804
+ label: iconName,
43805
+ value: iconName
43806
+ } : null;
43807
+ }
43808
+ if (!option || typeof option !== "object") {
43809
+ return null;
43810
+ }
43811
+ const iconName = this.normalizeIconName(option.value || option.iconName || option.icon);
43812
+ if (!iconName) {
43813
+ return null;
43814
+ }
43815
+ return {
43816
+ label: option.label || iconName,
43817
+ value: iconName
43818
+ };
43819
+ },
43820
+ normalizeIconName(iconName) {
43821
+ const normalizedIconName = String(iconName || "").trim();
43822
+ return /^[a-z0-9_-]+$/i.test(normalizedIconName) ? normalizedIconName : "";
43823
+ },
43824
+ toggleIconPicker() {
43825
+ if (!this.isEditable) {
43826
+ return;
43827
+ }
43828
+ this.saveRange();
43829
+ this.isIconPickerOpen = !this.isIconPickerOpen;
43830
+ if (this.isIconPickerOpen) {
43831
+ this.$nextTick(() => {
43832
+ var _this$$refs$iconSearc;
43833
+ (_this$$refs$iconSearc = this.$refs.iconSearchRef) === null || _this$$refs$iconSearc === void 0 || _this$$refs$iconSearc.focus();
43834
+ });
43835
+ }
43836
+ },
43837
+ closeIconPicker() {
43838
+ this.isIconPickerOpen = false;
43839
+ },
43840
+ handleDocumentMouseDown(event) {
43841
+ if (!this.isIconPickerOpen) {
43842
+ return;
43843
+ }
43844
+ const iconPicker = Array.isArray(this.$refs.iconPickerRef) ? this.$refs.iconPickerRef[0] : this.$refs.iconPickerRef;
43845
+ if (iconPicker && !iconPicker.contains(event.target)) {
43846
+ this.closeIconPicker();
43847
+ }
43848
+ },
43849
+ selectIconCategory(categoryKey) {
43850
+ this.activeIconCategory = categoryKey;
43851
+ this.iconSearch = "";
43852
+ },
43853
+ setSelectedIconColor(color) {
43854
+ this.selectedIconColor = this.normalizeIconColor(color);
43855
+ },
43856
+ selectIcon(iconName) {
43857
+ this.insertIcon(iconName);
43858
+ },
42695
43859
  normalizeSize(value) {
42696
43860
  return Number.isFinite(Number(value)) ? `${Number(value)}px` : String(value);
42697
43861
  },
@@ -43010,6 +44174,9 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43010
44174
  case "insertImage":
43011
44175
  this.triggerImagePicker();
43012
44176
  break;
44177
+ case "insertIcon":
44178
+ this.toggleIconPicker();
44179
+ break;
43013
44180
  case "articleCards":
43014
44181
  this.insertArticleCards();
43015
44182
  break;
@@ -43155,6 +44322,65 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43155
44322
  document.execCommand("insertHTML", false, `<img src="${safeSrc}" alt="image">`);
43156
44323
  this.handleInput();
43157
44324
  },
44325
+ insertIcon(rawIconName) {
44326
+ const iconName = this.normalizeIconName(rawIconName);
44327
+ if (!iconName) {
44328
+ return;
44329
+ }
44330
+ const iconHtml = this.createInlineIconHtml(iconName);
44331
+ if (!iconHtml) {
44332
+ return;
44333
+ }
44334
+ this.focusEditor();
44335
+ this.restoreRange();
44336
+ document.execCommand("insertHTML", false, `${iconHtml}&nbsp;`);
44337
+ this.handleInput();
44338
+ this.saveRange();
44339
+ },
44340
+ createInlineIconHtml(iconName) {
44341
+ const mountPoint = document.createElement("span");
44342
+ const iconSize = this.normalizeIconSize(this.iconSize);
44343
+ const iconApp = Object(external_commonjs_vue_commonjs2_vue_root_Vue_["createApp"])(BaseIcon, {
44344
+ iconName,
44345
+ width: iconSize,
44346
+ height: iconSize,
44347
+ color: this.normalizeIconColor(this.selectedIconColor)
44348
+ });
44349
+ iconApp.mount(mountPoint);
44350
+ const svg = mountPoint.querySelector("svg");
44351
+ if (!svg || !svg.querySelector(SVG_SHAPE_SELECTOR)) {
44352
+ iconApp.unmount();
44353
+ return "";
44354
+ }
44355
+ svg.classList.add("wysiwyg-inline-icon");
44356
+ svg.setAttribute("data-icon-name", iconName);
44357
+ svg.setAttribute("aria-hidden", "true");
44358
+ svg.setAttribute("focusable", "false");
44359
+ svg.setAttribute("width", String(iconSize));
44360
+ svg.setAttribute("height", String(iconSize));
44361
+ const iconWrapper = document.createElement("span");
44362
+ iconWrapper.className = "wysiwyg-inline-icon";
44363
+ iconWrapper.setAttribute("data-icon-name", iconName);
44364
+ iconWrapper.setAttribute("contenteditable", "false");
44365
+ iconWrapper.appendChild(svg);
44366
+ const iconHtml = iconWrapper.outerHTML;
44367
+ iconApp.unmount();
44368
+ return this.sanitizeHtml(iconHtml);
44369
+ },
44370
+ normalizeIconSize(value) {
44371
+ const iconSize = Number(value);
44372
+ if (!Number.isFinite(iconSize) || iconSize <= 0) {
44373
+ return DEFAULT_ICON_SIZE;
44374
+ }
44375
+ return Math.min(Math.round(iconSize), 96);
44376
+ },
44377
+ normalizeIconColor(value) {
44378
+ const iconColor = String(value || "").trim();
44379
+ if (/^#[0-9a-f]{3,8}$/i.test(iconColor) || /^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i.test(iconColor) || /^hsla?\(\s*\d{1,3}\s*,\s*\d{1,3}%\s*,\s*\d{1,3}%(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)$/i.test(iconColor) || /^(currentColor|[a-z]+)$/i.test(iconColor)) {
44380
+ return iconColor;
44381
+ }
44382
+ return DEFAULT_ICON_COLOR;
44383
+ },
43158
44384
  insertArticleCards() {
43159
44385
  this.focusEditor();
43160
44386
  this.restoreRange();
@@ -43658,7 +44884,7 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43658
44884
  });
43659
44885
  return target.innerHTML;
43660
44886
  },
43661
- createSanitizedNode(node, doc) {
44887
+ createSanitizedNode(node, doc, isInsideAllowedSvg = false) {
43662
44888
  if (node.nodeType === Node.TEXT_NODE) {
43663
44889
  return doc.createTextNode(node.textContent || "");
43664
44890
  }
@@ -43666,7 +44892,10 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43666
44892
  return null;
43667
44893
  }
43668
44894
  const tagName = node.tagName.toUpperCase();
43669
- if (!ALLOWED_TAGS.includes(tagName)) {
44895
+ const isSvgTag = ALLOWED_SVG_TAGS.includes(tagName);
44896
+ const isWysiwygSvg = tagName === "SVG" && this.hasAllowedClassName(node, "wysiwyg-inline-icon");
44897
+ const isAllowedSvgNode = isSvgTag && (isInsideAllowedSvg || isWysiwygSvg);
44898
+ if (!ALLOWED_TAGS.includes(tagName) && !isAllowedSvgNode) {
43670
44899
  const fragment = doc.createDocumentFragment();
43671
44900
  Array.from(node.childNodes).forEach(child => {
43672
44901
  const childNode = this.createSanitizedNode(child, doc);
@@ -43676,7 +44905,13 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43676
44905
  });
43677
44906
  return fragment;
43678
44907
  }
43679
- const element = doc.createElement(tagName.toLowerCase());
44908
+ if (isSvgTag && !isAllowedSvgNode) {
44909
+ return null;
44910
+ }
44911
+ const element = isSvgTag ? doc.createElementNS("http://www.w3.org/2000/svg", tagName.toLowerCase()) : doc.createElement(tagName.toLowerCase());
44912
+ if (isSvgTag) {
44913
+ this.copyAllowedSvgAttributes(node, element, tagName);
44914
+ }
43680
44915
  if (tagName === "A") {
43681
44916
  const href = this.normalizeUrl(node.getAttribute("href") || "");
43682
44917
  if (this.isSafeUrl(href)) {
@@ -43701,6 +44936,13 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43701
44936
  if (className) {
43702
44937
  element.setAttribute("class", className);
43703
44938
  }
44939
+ if (tagName === "SPAN" && className.split(/\s+/).includes("wysiwyg-inline-icon")) {
44940
+ element.setAttribute("contenteditable", "false");
44941
+ const iconName = this.normalizeIconName(node.getAttribute("data-icon-name"));
44942
+ if (iconName) {
44943
+ element.setAttribute("data-icon-name", iconName);
44944
+ }
44945
+ }
43704
44946
  const styleRules = [];
43705
44947
  const textAlign = this.extractAllowedTextAlign(node.getAttribute("style"));
43706
44948
  if (textAlign && ALIGNABLE_TAGS.includes(tagName)) {
@@ -43714,13 +44956,57 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43714
44956
  element.setAttribute("style", styleRules.join(""));
43715
44957
  }
43716
44958
  Array.from(node.childNodes).forEach(child => {
43717
- const childNode = this.createSanitizedNode(child, doc);
44959
+ const childNode = this.createSanitizedNode(child, doc, isAllowedSvgNode);
43718
44960
  if (childNode) {
43719
44961
  element.appendChild(childNode);
43720
44962
  }
43721
44963
  });
43722
44964
  return element;
43723
44965
  },
44966
+ copyAllowedSvgAttributes(sourceNode, targetNode, tagName) {
44967
+ Array.from(sourceNode.attributes || []).forEach(attribute => {
44968
+ const attributeName = SVG_ATTRIBUTE_NAMES[attribute.name.toLowerCase()];
44969
+ if (!attributeName) {
44970
+ return;
44971
+ }
44972
+ const attributeValue = this.normalizeSvgAttributeValue(attributeName, attribute.value);
44973
+ if (attributeValue === "") {
44974
+ return;
44975
+ }
44976
+ if (attributeName === "class") {
44977
+ const className = this.extractAllowedClassName(attributeValue);
44978
+ if (className) {
44979
+ targetNode.setAttribute("class", className);
44980
+ }
44981
+ return;
44982
+ }
44983
+ if (attributeName === "data-icon-name") {
44984
+ const iconName = this.normalizeIconName(attributeValue);
44985
+ if (iconName) {
44986
+ targetNode.setAttribute(attributeName, iconName);
44987
+ }
44988
+ return;
44989
+ }
44990
+ if (tagName !== "SVG" && ["aria-hidden", "focusable", "role", "xmlns"].includes(attributeName)) {
44991
+ return;
44992
+ }
44993
+ targetNode.setAttribute(attributeName, attributeValue);
44994
+ });
44995
+ },
44996
+ normalizeSvgAttributeValue(attributeName, attributeValue) {
44997
+ const value = String(attributeValue || "").trim();
44998
+ if (!value || /javascript:|data:text\/html|<|>/i.test(value)) {
44999
+ return "";
45000
+ }
45001
+ if (["width", "height"].includes(attributeName)) {
45002
+ const size = this.normalizeIconSize(value);
45003
+ return String(size);
45004
+ }
45005
+ return value;
45006
+ },
45007
+ hasAllowedClassName(node, className) {
45008
+ return String(node.getAttribute("class") || "").split(/\s+/).includes(className);
45009
+ },
43724
45010
  extractAllowedClassName(classValue) {
43725
45011
  if (!classValue) {
43726
45012
  return "";
@@ -43799,7 +45085,7 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43799
45085
  }
43800
45086
  },
43801
45087
  isActionDisabled(item) {
43802
- return item.action === "divider" || !this.isEditable;
45088
+ return item.action === "divider" || !this.isEditable || item.action === "insertIcon" && !this.allIconNames.length;
43803
45089
  },
43804
45090
  updateEmptyState() {
43805
45091
  const editor = this.$refs.editorRef;
@@ -43822,7 +45108,8 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43822
45108
  const textContent = (inspector.textContent || "").replace(/\u200B/g, "").trim();
43823
45109
  const hasImage = Boolean(inspector.querySelector("img"));
43824
45110
  const hasHorizontalRule = Boolean(inspector.querySelector("hr"));
43825
- if (hasImage || hasHorizontalRule) {
45111
+ const hasInlineIcon = Boolean(inspector.querySelector(".wysiwyg-inline-icon"));
45112
+ if (hasImage || hasHorizontalRule || hasInlineIcon) {
43826
45113
  return false;
43827
45114
  }
43828
45115
  return textContent.length === 0;
@@ -43841,8 +45128,8 @@ const ALLOWED_TAGS = ["A", "ARTICLE", "B", "BLOCKQUOTE", "BR", "CODE", "DIV", "E
43841
45128
  });
43842
45129
  // CONCATENATED MODULE: ./src/components/Form/FormWysiwyg.vue?vue&type=script&lang=js
43843
45130
 
43844
- // EXTERNAL MODULE: ./src/components/Form/FormWysiwyg.vue?vue&type=style&index=0&id=08bd68a4&lang=scss
43845
- var FormWysiwygvue_type_style_index_0_id_08bd68a4_lang_scss = __webpack_require__("b371");
45131
+ // EXTERNAL MODULE: ./src/components/Form/FormWysiwyg.vue?vue&type=style&index=0&id=accc697c&lang=scss
45132
+ var FormWysiwygvue_type_style_index_0_id_accc697c_lang_scss = __webpack_require__("cfe2");
43846
45133
 
43847
45134
  // CONCATENATED MODULE: ./src/components/Form/FormWysiwyg.vue
43848
45135
 
@@ -43852,7 +45139,7 @@ var FormWysiwygvue_type_style_index_0_id_08bd68a4_lang_scss = __webpack_require_
43852
45139
 
43853
45140
 
43854
45141
 
43855
- const FormWysiwyg_exports_ = /*#__PURE__*/exportHelper_default()(FormWysiwygvue_type_script_lang_js, [['render',FormWysiwygvue_type_template_id_08bd68a4_render]])
45142
+ const FormWysiwyg_exports_ = /*#__PURE__*/exportHelper_default()(FormWysiwygvue_type_script_lang_js, [['render',FormWysiwygvue_type_template_id_accc697c_render]])
43856
45143
 
43857
45144
  /* harmony default export */ var FormWysiwyg = (FormWysiwyg_exports_);
43858
45145
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader-v16/dist/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader-v16/dist??ref--1-1!./src/components/ExpansionPanel/index.vue?vue&type=template&id=01544323