@copart/ops-tool-kit 1.10.21-alpha.1 → 1.10.22-alpha.0

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.
@@ -48,7 +48,7 @@ var ReactDOM__namespace = /*#__PURE__*/_interopNamespace(ReactDOM);
48
48
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
49
49
 
50
50
  const name$r = "@copart/ops-tool-kit";
51
- const version$6 = "1.10.21-alpha.1";
51
+ const version$6 = "1.10.22-alpha.0";
52
52
  const main$1 = "dist/ops-tool-kit.js";
53
53
  const style = "dist/ops-tool-kit.css";
54
54
  const files = [
@@ -5609,7 +5609,12 @@ var getPermissions = /*#__PURE__*/function () {
5609
5609
  };
5610
5610
  }();
5611
5611
  var getCoreAppPermissions = function getCoreAppPermissions() {
5612
- return getPermissions("ops_portal");
5612
+ if (process.env.STACK !== 'g') {
5613
+ return getPermissions("ops_portal");
5614
+ }
5615
+ if (process.env.STACK === 'g') {
5616
+ return getPermissions("cobalt_portal");
5617
+ }
5613
5618
  };
5614
5619
 
5615
5620
  var browserCookies = createCommonjsModule(function (module, exports) {
@@ -38057,20 +38062,16 @@ var AuthGuard = /*#__PURE__*/function (_React$PureComponent) {
38057
38062
  case 16:
38058
38063
  return _context.abrupt("return", this.allowAccess(PATH_NOT_FOUND));
38059
38064
  case 17:
38060
- if (!(process.env.STACK !== 'g')) {
38061
- _context.next = 23;
38062
- break;
38063
- }
38064
- _context.next = 20;
38065
+ _context.next = 19;
38065
38066
  return fetcher.getCoreAppPermissions();
38066
- case 20:
38067
+ case 19:
38067
38068
  if (!appTile.appAuthName) {
38068
- _context.next = 23;
38069
+ _context.next = 22;
38069
38070
  break;
38070
38071
  }
38071
- _context.next = 23;
38072
+ _context.next = 22;
38072
38073
  return fetcher.getPermissions(appTile.appAuthName, appTile.useAppScopes);
38073
- case 23:
38074
+ case 22:
38074
38075
  // If there are rules, evaluate and act accordingly.
38075
38076
  tileConfigAccess = userHasAccess(appTile);
38076
38077
  if (tileConfigAccess) {
@@ -38078,7 +38079,7 @@ var AuthGuard = /*#__PURE__*/function (_React$PureComponent) {
38078
38079
  } else {
38079
38080
  this.denyAccess(NO_TILE_PERMISSION);
38080
38081
  }
38081
- case 25:
38082
+ case 24:
38082
38083
  case "end":
38083
38084
  return _context.stop();
38084
38085
  }
@@ -71049,7 +71050,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
71049
71050
  });
71050
71051
 
71051
71052
  var purify = createCommonjsModule(function (module, exports) {
71052
- /*! @license DOMPurify 3.2.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.2.6/LICENSE */
71053
+ /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
71053
71054
 
71054
71055
  (function (global, factory) {
71055
71056
  module.exports = factory() ;
@@ -71082,12 +71083,18 @@ var purify = createCommonjsModule(function (module, exports) {
71082
71083
  };
71083
71084
  }
71084
71085
  if (!apply) {
71085
- apply = function apply(fun, thisValue, args) {
71086
- return fun.apply(thisValue, args);
71086
+ apply = function apply(func, thisArg) {
71087
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
71088
+ args[_key - 2] = arguments[_key];
71089
+ }
71090
+ return func.apply(thisArg, args);
71087
71091
  };
71088
71092
  }
71089
71093
  if (!construct) {
71090
- construct = function construct(Func, args) {
71094
+ construct = function construct(Func) {
71095
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
71096
+ args[_key2 - 1] = arguments[_key2];
71097
+ }
71091
71098
  return new Func(...args);
71092
71099
  };
71093
71100
  }
@@ -71116,8 +71123,8 @@ var purify = createCommonjsModule(function (module, exports) {
71116
71123
  if (thisArg instanceof RegExp) {
71117
71124
  thisArg.lastIndex = 0;
71118
71125
  }
71119
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
71120
- args[_key - 1] = arguments[_key];
71126
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
71127
+ args[_key3 - 1] = arguments[_key3];
71121
71128
  }
71122
71129
  return apply(func, thisArg, args);
71123
71130
  };
@@ -71128,12 +71135,12 @@ var purify = createCommonjsModule(function (module, exports) {
71128
71135
  * @param func - The constructor function to be wrapped and called.
71129
71136
  * @returns A new function that constructs an instance of the given constructor function with the provided arguments.
71130
71137
  */
71131
- function unconstruct(func) {
71138
+ function unconstruct(Func) {
71132
71139
  return function () {
71133
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
71134
- args[_key2] = arguments[_key2];
71140
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
71141
+ args[_key4] = arguments[_key4];
71135
71142
  }
71136
- return construct(func, args);
71143
+ return construct(Func, args);
71137
71144
  };
71138
71145
  }
71139
71146
  /**
@@ -71231,8 +71238,8 @@ var purify = createCommonjsModule(function (module, exports) {
71231
71238
  }
71232
71239
  return fallbackValue;
71233
71240
  }
71234
- const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
71235
- const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
71241
+ const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
71242
+ const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
71236
71243
  const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
71237
71244
  // List of SVG elements that are disallowed by default.
71238
71245
  // We still need to know them so that we can do namespace
@@ -71244,8 +71251,8 @@ var purify = createCommonjsModule(function (module, exports) {
71244
71251
  // even those that we disallow by default.
71245
71252
  const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
71246
71253
  const text = freeze(['#text']);
71247
- const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
71248
- const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
71254
+ const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
71255
+ const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
71249
71256
  const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
71250
71257
  const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
71251
71258
 
@@ -71354,7 +71361,7 @@ var purify = createCommonjsModule(function (module, exports) {
71354
71361
  function createDOMPurify() {
71355
71362
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
71356
71363
  const DOMPurify = root => createDOMPurify(root);
71357
- DOMPurify.version = '3.2.6';
71364
+ DOMPurify.version = '3.3.0';
71358
71365
  DOMPurify.removed = [];
71359
71366
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
71360
71367
  // Not running in a browser, provide a factory function
@@ -71465,6 +71472,21 @@ var purify = createCommonjsModule(function (module, exports) {
71465
71472
  let FORBID_TAGS = null;
71466
71473
  /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
71467
71474
  let FORBID_ATTR = null;
71475
+ /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
71476
+ const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
71477
+ tagCheck: {
71478
+ writable: true,
71479
+ configurable: false,
71480
+ enumerable: true,
71481
+ value: null
71482
+ },
71483
+ attributeCheck: {
71484
+ writable: true,
71485
+ configurable: false,
71486
+ enumerable: true,
71487
+ value: null
71488
+ }
71489
+ }));
71468
71490
  /* Decide if ARIA attributes are okay */
71469
71491
  let ALLOW_ARIA_ATTR = true;
71470
71492
  /* Decide if custom data attributes are okay */
@@ -71657,16 +71679,24 @@ var purify = createCommonjsModule(function (module, exports) {
71657
71679
  }
71658
71680
  /* Merge configuration parameters */
71659
71681
  if (cfg.ADD_TAGS) {
71660
- if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
71661
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
71682
+ if (typeof cfg.ADD_TAGS === 'function') {
71683
+ EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
71684
+ } else {
71685
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
71686
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
71687
+ }
71688
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
71662
71689
  }
71663
- addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
71664
71690
  }
71665
71691
  if (cfg.ADD_ATTR) {
71666
- if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
71667
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
71692
+ if (typeof cfg.ADD_ATTR === 'function') {
71693
+ EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
71694
+ } else {
71695
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
71696
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
71697
+ }
71698
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
71668
71699
  }
71669
- addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
71670
71700
  }
71671
71701
  if (cfg.ADD_URI_SAFE_ATTR) {
71672
71702
  addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
@@ -71974,7 +72004,7 @@ var purify = createCommonjsModule(function (module, exports) {
71974
72004
  return true;
71975
72005
  }
71976
72006
  /* Remove element if anything forbids its presence */
71977
- if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
72007
+ if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
71978
72008
  /* Check if we have a custom element to handle */
71979
72009
  if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
71980
72010
  if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
@@ -72046,12 +72076,12 @@ var purify = createCommonjsModule(function (module, exports) {
72046
72076
  (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
72047
72077
  XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
72048
72078
  We don't need to check the value; it's always URI safe. */
72049
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
72079
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ;else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
72050
72080
  if (
72051
72081
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
72052
72082
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
72053
72083
  // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
72054
- _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)) ||
72084
+ _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, lcTag)) ||
72055
72085
  // Alternative, second condition checks if it's an `is`-attribute, AND
72056
72086
  // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
72057
72087
  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 {
@@ -72130,7 +72160,12 @@ var purify = createCommonjsModule(function (module, exports) {
72130
72160
  value = SANITIZE_NAMED_PROPS_PREFIX + value;
72131
72161
  }
72132
72162
  /* Work around a security issue with comments inside attributes */
72133
- if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
72163
+ if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
72164
+ _removeAttribute(name, currentNode);
72165
+ continue;
72166
+ }
72167
+ /* Make sure we cannot easily use animated hrefs, even if animations are allowed */
72168
+ if (lcName === 'attributename' && stringMatch(value, 'href')) {
72134
72169
  _removeAttribute(name, currentNode);
72135
72170
  continue;
72136
72171
  }
@@ -72672,10 +72707,10 @@ var sharedStore = createCommonjsModule(function (module) {
72672
72707
  var SHARED = '__core-js_shared__';
72673
72708
  var store = module.exports = globalThis_1[SHARED] || defineGlobalProperty(SHARED, {});
72674
72709
  (store.versions || (store.versions = [])).push({
72675
- version: '3.44.0',
72710
+ version: '3.46.0',
72676
72711
  mode: 'global',
72677
- copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
72678
- license: 'https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE',
72712
+ copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',
72713
+ license: 'https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE',
72679
72714
  source: 'https://github.com/zloirock/core-js'
72680
72715
  });
72681
72716
  });