@3t-transform/threeteeui 0.2.78 → 0.2.80

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.
Files changed (34) hide show
  1. package/dist/cjs/{domsanitiser.options-1dfa7205.js → domsanitiser.options-32e670aa.js} +115 -75
  2. package/dist/cjs/tttx-dialog-box.cjs.entry.js +1 -1
  3. package/dist/cjs/tttx-form.cjs.entry.js +1 -1
  4. package/dist/cjs/tttx-list.cjs.entry.js +1 -1
  5. package/dist/cjs/tttx-multiselect-box.cjs.entry.js +1 -1
  6. package/dist/cjs/tttx-select-box.cjs.entry.js +1 -1
  7. package/dist/cjs/tttx-tabs.cjs.entry.js +1 -1
  8. package/dist/cjs/tttx-textarea.cjs.entry.js +1 -1
  9. package/dist/cjs/tttx-tree-view.cjs.entry.js +1 -1
  10. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.css +20 -11
  11. package/dist/components/domsanitiser.options.js +115 -75
  12. package/dist/components/tttx-textarea.js +1 -1
  13. package/dist/esm/{domsanitiser.options-97a33389.js → domsanitiser.options-68752a19.js} +115 -75
  14. package/dist/esm/tttx-dialog-box.entry.js +1 -1
  15. package/dist/esm/tttx-form.entry.js +1 -1
  16. package/dist/esm/tttx-list.entry.js +1 -1
  17. package/dist/esm/tttx-multiselect-box.entry.js +1 -1
  18. package/dist/esm/tttx-select-box.entry.js +1 -1
  19. package/dist/esm/tttx-tabs.entry.js +1 -1
  20. package/dist/esm/tttx-textarea.entry.js +1 -1
  21. package/dist/esm/tttx-tree-view.entry.js +1 -1
  22. package/dist/tttx/{p-f34bface.entry.js → p-02da8327.entry.js} +1 -1
  23. package/dist/tttx/{p-b30a1025.entry.js → p-1c3ab606.entry.js} +1 -1
  24. package/dist/tttx/{p-5f1f699d.entry.js → p-4a967804.entry.js} +1 -1
  25. package/dist/tttx/p-55831705.entry.js +1 -0
  26. package/dist/tttx/{p-75c31e23.entry.js → p-6e23f980.entry.js} +1 -1
  27. package/dist/tttx/p-88ee2406.js +3 -0
  28. package/dist/tttx/{p-129df5a2.entry.js → p-9556a164.entry.js} +1 -1
  29. package/dist/tttx/{p-887f56cb.entry.js → p-a3b446f8.entry.js} +1 -1
  30. package/dist/tttx/{p-67c342d7.entry.js → p-f4594fe2.entry.js} +1 -1
  31. package/dist/tttx/tttx.esm.js +1 -1
  32. package/package.json +1 -1
  33. package/dist/tttx/p-5ed38d61.js +0 -3
  34. package/dist/tttx/p-9c3f730f.entry.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers.js';
2
2
 
3
3
  var purify = createCommonjsModule(function (module, exports) {
4
- /*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */
4
+ /*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */
5
5
 
6
6
  (function (global, factory) {
7
7
  module.exports = factory() ;
@@ -24,12 +24,6 @@ var purify = createCommonjsModule(function (module, exports) {
24
24
  construct
25
25
  } = typeof Reflect !== 'undefined' && Reflect;
26
26
 
27
- if (!apply) {
28
- apply = function apply(fun, thisValue, args) {
29
- return fun.apply(thisValue, args);
30
- };
31
- }
32
-
33
27
  if (!freeze) {
34
28
  freeze = function freeze(x) {
35
29
  return x;
@@ -42,6 +36,12 @@ var purify = createCommonjsModule(function (module, exports) {
42
36
  };
43
37
  }
44
38
 
39
+ if (!apply) {
40
+ apply = function apply(fun, thisValue, args) {
41
+ return fun.apply(thisValue, args);
42
+ };
43
+ }
44
+
45
45
  if (!construct) {
46
46
  construct = function construct(Func, args) {
47
47
  return new Func(...args);
@@ -59,6 +59,13 @@ var purify = createCommonjsModule(function (module, exports) {
59
59
  const stringTrim = unapply(String.prototype.trim);
60
60
  const regExpTest = unapply(RegExp.prototype.test);
61
61
  const typeErrorCreate = unconstruct(TypeError);
62
+ /**
63
+ * Creates a new function that calls the given function with a specified thisArg and arguments.
64
+ *
65
+ * @param {Function} func - The function to be wrapped and called.
66
+ * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.
67
+ */
68
+
62
69
  function unapply(func) {
63
70
  return function (thisArg) {
64
71
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -68,6 +75,14 @@ var purify = createCommonjsModule(function (module, exports) {
68
75
  return apply(func, thisArg, args);
69
76
  };
70
77
  }
78
+ /**
79
+ * Creates a new function that constructs an instance of the given constructor function with the provided arguments.
80
+ *
81
+ * @param {Function} func - The constructor function to be wrapped and called.
82
+ * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.
83
+ */
84
+
85
+
71
86
  function unconstruct(func) {
72
87
  return function () {
73
88
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
@@ -77,12 +92,18 @@ var purify = createCommonjsModule(function (module, exports) {
77
92
  return construct(func, args);
78
93
  };
79
94
  }
80
- /* Add properties to a lookup table */
95
+ /**
96
+ * Add properties to a lookup table
97
+ *
98
+ * @param {Object} set - The set to which elements will be added.
99
+ * @param {Array} array - The array containing elements to be added to the set.
100
+ * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.
101
+ * @returns {Object} The modified set with added elements.
102
+ */
81
103
 
82
- function addToSet(set, array, transformCaseFunc) {
83
- var _transformCaseFunc;
84
104
 
85
- transformCaseFunc = (_transformCaseFunc = transformCaseFunc) !== null && _transformCaseFunc !== void 0 ? _transformCaseFunc : stringToLowerCase;
105
+ function addToSet(set, array) {
106
+ let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;
86
107
 
87
108
  if (setPrototypeOf) {
88
109
  // Make 'in' and truthy checks like Boolean(set.constructor)
@@ -114,19 +135,32 @@ var purify = createCommonjsModule(function (module, exports) {
114
135
 
115
136
  return set;
116
137
  }
117
- /* Shallow clone an object */
138
+ /**
139
+ * Shallow clone an object
140
+ *
141
+ * @param {Object} object - The object to be cloned.
142
+ * @returns {Object} A new object that copies the original.
143
+ */
144
+
118
145
 
119
146
  function clone(object) {
120
147
  const newObject = create(null);
121
148
 
122
149
  for (const [property, value] of entries(object)) {
123
- newObject[property] = value;
150
+ if (getOwnPropertyDescriptor(object, property) !== undefined) {
151
+ newObject[property] = value;
152
+ }
124
153
  }
125
154
 
126
155
  return newObject;
127
156
  }
128
- /* This method automatically checks if the prop is function
129
- * or getter and behaves accordingly. */
157
+ /**
158
+ * This method automatically checks if the prop is function or getter and behaves accordingly.
159
+ *
160
+ * @param {Object} object - The object to look up the getter function in its prototype chain.
161
+ * @param {String} prop - The property name for which to find the getter function.
162
+ * @returns {Function} The getter function found in the prototype chain or a fallback function.
163
+ */
130
164
 
131
165
  function lookupGetter(object, prop) {
132
166
  while (object !== null) {
@@ -201,7 +235,9 @@ var purify = createCommonjsModule(function (module, exports) {
201
235
  DOCTYPE_NAME: DOCTYPE_NAME
202
236
  });
203
237
 
204
- const getGlobal = () => typeof window === 'undefined' ? null : window;
238
+ const getGlobal = function getGlobal() {
239
+ return typeof window === 'undefined' ? null : window;
240
+ };
205
241
  /**
206
242
  * Creates a no-op policy for internal use only.
207
243
  * Don't export this function outside this module!
@@ -259,7 +295,7 @@ var purify = createCommonjsModule(function (module, exports) {
259
295
  */
260
296
 
261
297
 
262
- DOMPurify.version = '3.0.5';
298
+ DOMPurify.version = '3.0.6';
263
299
  /**
264
300
  * Array of elements that DOMPurify removed during sanitation.
265
301
  * Empty if nothing was removed.
@@ -274,11 +310,11 @@ var purify = createCommonjsModule(function (module, exports) {
274
310
  return DOMPurify;
275
311
  }
276
312
 
277
- const originalDocument = window.document;
278
- const currentScript = originalDocument.currentScript;
279
313
  let {
280
314
  document
281
315
  } = window;
316
+ const originalDocument = document;
317
+ const currentScript = originalDocument.currentScript;
282
318
  const {
283
319
  DocumentFragment,
284
320
  HTMLTemplateElement,
@@ -358,7 +394,7 @@ var purify = createCommonjsModule(function (module, exports) {
358
394
  * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.
359
395
  */
360
396
 
361
- let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {
397
+ let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {
362
398
  tagNameCheck: {
363
399
  writable: true,
364
400
  configurable: false,
@@ -482,10 +518,10 @@ var purify = createCommonjsModule(function (module, exports) {
482
518
  const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
483
519
  /* Parsing of strict XHTML documents */
484
520
 
485
- let PARSER_MEDIA_TYPE;
521
+ let PARSER_MEDIA_TYPE = null;
486
522
  const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];
487
523
  const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';
488
- let transformCaseFunc;
524
+ let transformCaseFunc = null;
489
525
  /* Keep a reference to config to pass to hooks */
490
526
 
491
527
  let CONFIG = null;
@@ -506,7 +542,9 @@ var purify = createCommonjsModule(function (module, exports) {
506
542
  // eslint-disable-next-line complexity
507
543
 
508
544
 
509
- const _parseConfig = function _parseConfig(cfg) {
545
+ const _parseConfig = function _parseConfig() {
546
+ let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
547
+
510
548
  if (CONFIG && CONFIG === cfg) {
511
549
  return;
512
550
  }
@@ -725,8 +763,6 @@ var purify = createCommonjsModule(function (module, exports) {
725
763
  const ALL_MATHML_TAGS = addToSet({}, mathMl$1);
726
764
  addToSet(ALL_MATHML_TAGS, mathMlDisallowed);
727
765
  /**
728
- *
729
- *
730
766
  * @param {Element} element a DOM element whose namespace is being checked
731
767
  * @returns {boolean} Return false if the element has a
732
768
  * namespace that a spec-compliant parser would never
@@ -882,8 +918,8 @@ var purify = createCommonjsModule(function (module, exports) {
882
918
 
883
919
  const _initDocument = function _initDocument(dirty) {
884
920
  /* Create a HTML document */
885
- let doc;
886
- let leadingWhitespace;
921
+ let doc = null;
922
+ let leadingWhitespace = null;
887
923
 
888
924
  if (FORCE_BODY) {
889
925
  dirty = '<remove></remove>' + dirty;
@@ -936,16 +972,16 @@ var purify = createCommonjsModule(function (module, exports) {
936
972
  return WHOLE_DOCUMENT ? doc.documentElement : body;
937
973
  };
938
974
  /**
939
- * _createIterator
975
+ * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.
940
976
  *
941
- * @param {Document} root document/fragment to create iterator for
942
- * @return {Iterator} iterator instance
977
+ * @param {Node} root The root element or node to start traversing on.
978
+ * @return {NodeIterator} The created NodeIterator
943
979
  */
944
980
 
945
981
 
946
- const _createIterator = function _createIterator(root) {
982
+ const _createNodeIterator = function _createNodeIterator(root) {
947
983
  return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise
948
- NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);
984
+ NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null);
949
985
  };
950
986
  /**
951
987
  * _isClobbered
@@ -959,15 +995,15 @@ var purify = createCommonjsModule(function (module, exports) {
959
995
  return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');
960
996
  };
961
997
  /**
962
- * _isNode
998
+ * Checks whether the given object is a DOM node.
963
999
  *
964
- * @param {Node} obj object to check whether it's a DOM node
1000
+ * @param {Node} object object to check whether it's a DOM node
965
1001
  * @return {Boolean} true is object is a DOM node
966
1002
  */
967
1003
 
968
1004
 
969
1005
  const _isNode = function _isNode(object) {
970
- return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';
1006
+ return typeof Node === 'function' && object instanceof Node;
971
1007
  };
972
1008
  /**
973
1009
  * _executeHook
@@ -1001,7 +1037,7 @@ var purify = createCommonjsModule(function (module, exports) {
1001
1037
 
1002
1038
 
1003
1039
  const _sanitizeElements = function _sanitizeElements(currentNode) {
1004
- let content;
1040
+ let content = null;
1005
1041
  /* Execute a hook if present */
1006
1042
 
1007
1043
  _executeHook('beforeSanitizeElements', currentNode, null);
@@ -1026,7 +1062,7 @@ var purify = createCommonjsModule(function (module, exports) {
1026
1062
  /* Detect mXSS attempts abusing namespace confusion */
1027
1063
 
1028
1064
 
1029
- if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) {
1065
+ if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) {
1030
1066
  _forceRemove(currentNode);
1031
1067
 
1032
1068
  return true;
@@ -1036,9 +1072,14 @@ var purify = createCommonjsModule(function (module, exports) {
1036
1072
 
1037
1073
  if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
1038
1074
  /* Check if we have a custom element to handle */
1039
- if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {
1040
- if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;
1041
- if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;
1075
+ if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
1076
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
1077
+ return false;
1078
+ }
1079
+
1080
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {
1081
+ return false;
1082
+ }
1042
1083
  }
1043
1084
  /* Keep content except for bad-listed elements */
1044
1085
 
@@ -1082,9 +1123,9 @@ var purify = createCommonjsModule(function (module, exports) {
1082
1123
  if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {
1083
1124
  /* Get the element's text content */
1084
1125
  content = currentNode.textContent;
1085
- content = stringReplace(content, MUSTACHE_EXPR, ' ');
1086
- content = stringReplace(content, ERB_EXPR, ' ');
1087
- content = stringReplace(content, TMPLIT_EXPR, ' ');
1126
+ arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
1127
+ content = stringReplace(content, expr, ' ');
1128
+ });
1088
1129
 
1089
1130
  if (currentNode.textContent !== content) {
1090
1131
  arrayPush(DOMPurify.removed, {
@@ -1126,7 +1167,7 @@ var purify = createCommonjsModule(function (module, exports) {
1126
1167
  if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND
1127
1168
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1128
1169
  // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
1129
- _basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND
1170
+ _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND
1130
1171
  // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1131
1172
  lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
1132
1173
  return false;
@@ -1140,14 +1181,16 @@ var purify = createCommonjsModule(function (module, exports) {
1140
1181
  return true;
1141
1182
  };
1142
1183
  /**
1143
- * _basicCustomElementCheck
1184
+ * _isBasicCustomElement
1144
1185
  * checks if at least one dash is included in tagName, and it's not the first char
1145
1186
  * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name
1187
+ *
1146
1188
  * @param {string} tagName name of the tag of the node to sanitize
1189
+ * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.
1147
1190
  */
1148
1191
 
1149
1192
 
1150
- const _basicCustomElementTest = function _basicCustomElementTest(tagName) {
1193
+ const _isBasicCustomElement = function _isBasicCustomElement(tagName) {
1151
1194
  return tagName.indexOf('-') > 0;
1152
1195
  };
1153
1196
  /**
@@ -1163,12 +1206,7 @@ var purify = createCommonjsModule(function (module, exports) {
1163
1206
 
1164
1207
 
1165
1208
  const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
1166
- let attr;
1167
- let value;
1168
- let lcName;
1169
- let l;
1170
1209
  /* Execute a hook if present */
1171
-
1172
1210
  _executeHook('beforeSanitizeAttributes', currentNode, null);
1173
1211
 
1174
1212
  const {
@@ -1186,17 +1224,18 @@ var purify = createCommonjsModule(function (module, exports) {
1186
1224
  keepAttr: true,
1187
1225
  allowedAttributes: ALLOWED_ATTR
1188
1226
  };
1189
- l = attributes.length;
1227
+ let l = attributes.length;
1190
1228
  /* Go backwards over all attributes; safely remove bad ones */
1191
1229
 
1192
1230
  while (l--) {
1193
- attr = attributes[l];
1231
+ const attr = attributes[l];
1194
1232
  const {
1195
1233
  name,
1196
- namespaceURI
1234
+ namespaceURI,
1235
+ value: attrValue
1197
1236
  } = attr;
1198
- value = name === 'value' ? attr.value : stringTrim(attr.value);
1199
- lcName = transformCaseFunc(name);
1237
+ const lcName = transformCaseFunc(name);
1238
+ let value = name === 'value' ? attrValue : stringTrim(attrValue);
1200
1239
  /* Execute a hook if present */
1201
1240
 
1202
1241
  hookEvent.attrName = lcName;
@@ -1234,9 +1273,9 @@ var purify = createCommonjsModule(function (module, exports) {
1234
1273
 
1235
1274
 
1236
1275
  if (SAFE_FOR_TEMPLATES) {
1237
- value = stringReplace(value, MUSTACHE_EXPR, ' ');
1238
- value = stringReplace(value, ERB_EXPR, ' ');
1239
- value = stringReplace(value, TMPLIT_EXPR, ' ');
1276
+ arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
1277
+ value = stringReplace(value, expr, ' ');
1278
+ });
1240
1279
  }
1241
1280
  /* Is `value` valid for this attribute? */
1242
1281
 
@@ -1305,9 +1344,9 @@ var purify = createCommonjsModule(function (module, exports) {
1305
1344
 
1306
1345
 
1307
1346
  const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
1308
- let shadowNode;
1347
+ let shadowNode = null;
1309
1348
 
1310
- const shadowIterator = _createIterator(fragment);
1349
+ const shadowIterator = _createNodeIterator(fragment);
1311
1350
  /* Execute a hook if present */
1312
1351
 
1313
1352
 
@@ -1343,17 +1382,17 @@ var purify = createCommonjsModule(function (module, exports) {
1343
1382
  * Public method providing core sanitation functionality
1344
1383
  *
1345
1384
  * @param {String|Node} dirty string or DOM node
1346
- * @param {Object} configuration object
1385
+ * @param {Object} cfg object
1347
1386
  */
1348
1387
  // eslint-disable-next-line complexity
1349
1388
 
1350
1389
 
1351
1390
  DOMPurify.sanitize = function (dirty) {
1352
1391
  let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1353
- let body;
1354
- let importedNode;
1355
- let currentNode;
1356
- let returnNode;
1392
+ let body = null;
1393
+ let importedNode = null;
1394
+ let currentNode = null;
1395
+ let returnNode = null;
1357
1396
  /* Make sure we have a string to sanitize.
1358
1397
  DO NOT return early, as this will return the wrong type if
1359
1398
  the user has requested a DOM object rather than a string */
@@ -1448,7 +1487,7 @@ var purify = createCommonjsModule(function (module, exports) {
1448
1487
  /* Get node iterator */
1449
1488
 
1450
1489
 
1451
- const nodeIterator = _createIterator(IN_PLACE ? dirty : body);
1490
+ const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);
1452
1491
  /* Now start iterating over the created document */
1453
1492
 
1454
1493
 
@@ -1513,9 +1552,9 @@ var purify = createCommonjsModule(function (module, exports) {
1513
1552
 
1514
1553
 
1515
1554
  if (SAFE_FOR_TEMPLATES) {
1516
- serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');
1517
- serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');
1518
- serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');
1555
+ arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
1556
+ serializedHTML = stringReplace(serializedHTML, expr, ' ');
1557
+ });
1519
1558
  }
1520
1559
 
1521
1560
  return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
@@ -1528,7 +1567,9 @@ var purify = createCommonjsModule(function (module, exports) {
1528
1567
  */
1529
1568
 
1530
1569
 
1531
- DOMPurify.setConfig = function (cfg) {
1570
+ DOMPurify.setConfig = function () {
1571
+ let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1572
+
1532
1573
  _parseConfig(cfg);
1533
1574
 
1534
1575
  SET_CONFIG = true;
@@ -1549,9 +1590,9 @@ var purify = createCommonjsModule(function (module, exports) {
1549
1590
  * Uses last set config, if any. Otherwise, uses config defaults.
1550
1591
  * isValidAttribute
1551
1592
  *
1552
- * @param {string} tag Tag name of containing element.
1553
- * @param {string} attr Attribute name.
1554
- * @param {string} value Attribute value.
1593
+ * @param {String} tag Tag name of containing element.
1594
+ * @param {String} attr Attribute name.
1595
+ * @param {String} value Attribute value.
1555
1596
  * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
1556
1597
  */
1557
1598
 
@@ -1614,7 +1655,6 @@ var purify = createCommonjsModule(function (module, exports) {
1614
1655
  /**
1615
1656
  * RemoveAllHooks
1616
1657
  * Public method to remove all DOMPurify hooks
1617
- *
1618
1658
  */
1619
1659
 
1620
1660
 
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const tttxTextareaCss = ".material-symbols-rounded.sc-tttx-textarea{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}.sc-tttx-textarea-h{display:block}.textarea-container.sc-tttx-textarea{position:relative}textarea.sc-tttx-textarea{font-family:\"Roboto\", serif;box-sizing:border-box;width:100%;padding:9px 16px;font-size:16px;line-height:19px;border:1px solid #d5d5d5;border-radius:4px;margin-top:8px;resize:none}textarea.no-label.sc-tttx-textarea{margin-top:0}textarea.sc-tttx-textarea~.errorBubble.sc-tttx-textarea{font-size:14px;line-height:16px;font-weight:normal;width:100%;font-family:\"Roboto\", sans-serif;color:#dc0000;display:flex;align-content:center;align-items:center;justify-items:center;margin-top:4px}textarea.sc-tttx-textarea~.errorBubble.sc-tttx-textarea:not(.visible){display:none}textarea.sc-tttx-textarea~.errorBubble.sc-tttx-textarea span.sc-tttx-textarea{color:#dc0000;font-size:16px;margin-right:4px}.secondarylabel.sc-tttx-textarea{color:#757575;font-size:14px;line-height:16px;font-weight:normal;display:flex;margin-top:4px}.optional.sc-tttx-textarea{color:#757575;font-weight:normal}";
3
+ const tttxTextareaCss = ".material-symbols-rounded.sc-tttx-textarea{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}.sc-tttx-textarea-h{display:block}label.sc-tttx-textarea{font-weight:500;font-size:16px;line-height:19px;color:#212121}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea{position:relative}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.sc-tttx-textarea{font-family:\"Roboto\", serif;box-sizing:border-box;width:100%;padding:9px 16px;font-size:16px;line-height:19px;border:1px solid #d5d5d5;border-radius:4px;margin-top:8px;resize:none}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.no-label.sc-tttx-textarea{margin-top:0}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.sc-tttx-textarea~.errorBubble.sc-tttx-textarea{font-size:14px;line-height:16px;font-weight:normal;width:100%;font-family:\"Roboto\", sans-serif;color:#dc0000;display:flex;align-content:center;align-items:center;justify-items:center;margin-top:4px}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.sc-tttx-textarea~.errorBubble.sc-tttx-textarea:not(.visible){display:none}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.sc-tttx-textarea~.errorBubble.sc-tttx-textarea span.sc-tttx-textarea{color:#dc0000;font-size:16px;margin-right:4px}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.sc-tttx-textarea:focus{border-color:#1479c6}label.sc-tttx-textarea .textarea-container.sc-tttx-textarea textarea.sc-tttx-textarea:focus-visible{outline:none}label.sc-tttx-textarea .secondarylabel.sc-tttx-textarea{color:#757575;font-size:14px;line-height:16px;font-weight:normal;display:flex;margin-top:4px}label.sc-tttx-textarea .optional.sc-tttx-textarea{color:#757575;font-weight:normal}";
4
4
 
5
5
  const TttxTextarea$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
6
  constructor() {